На нашем сайте мы используем cookie для сбора информации технического характера и обрабатываем IP-адрес вашего местоположения. Продолжая использовать этот сайт, вы даете согласие на использование файлов cookies. Здесь вы можете узнать, как мы пользуемся файлами cookies.
Я согласен
логотип upread.ru

Урок 5. Перенос проекта Lavarel на хостинг


На этом уроке из серии уроков по Laravel для начинающих мы научимся переносить созданный на рабочей машине проект сайта Laravel на сервер – для этого, собственно говоря, веб ресурс и создаются обычно. Рано, конечно, если судить по текущему проекту (так как мы ничего не сделали), но научиться на сервере размещать проще именно вначале – когда проект не оброс кучей зависимостей. Иными словами проще решать немного ошибок, чем много.

Оказалось 25 тысяч файлов для Lavarel 8. Немало, но справедливости ради в популярных CMS их ненамного меньше. Заливаем их по фтп, а также делаем дамп базы данных и его тоже импортируем через phpmyadmin (так проще, когда размер базы небольшой).

После заливки надо править файл конфига апача (/etc/apache2/sites-available), чтобы он указывал на папку public, а не public_html. Примерно так:

<VirtualHost *:80>
    ServerAdmin admin@upterm.ru
    ServerName mybotinok.ml
    ServerAlias www.mybotinok.ml
    DocumentRoot /var/www/mybotinok.ml/public
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

# vim: syntax=apache ts=4 sw=4 sts=4 sr noet
Ну и не забудем перезапустить апач:

sudo systemctl restart apache2
Теперь, затаив дыхание, переходим на главную страницу нашего сайта и видим надпись:

Composer detected issues in your platform: Your Composer dependencies require a PHP version ">= 7.3.0".
Вот первая ошибка, как я уже писал – серьезная разработка происходит в средах, максимально приближенных к реальным. В данном случае у меня уже установлен php 7.4, но я просто забыл ег овключить и выключить 7.0

sudo a2dismod php7.0 ; sudo a2enmod php7.4 ; sudo service apache2 restart
Пробуем и видим такую ошибку:



UnexpectedValueException
There is no existing directory at "D:\xampp\htdocs\new_project\storage\logs" and it could not be created: Permission denied
Ну что ж, как минимум наш ларавель запустился, что уже радует. А ошибки мы видим как минимум две. Для начала очищаем кэш

php artisan config:cache
Теперь ошибка изменилась:

UnexpectedValueException
The stream or file "/var/www/mybotinok.ml/storage/logs/laravel.log" could not be opened in append mode: failed to open stream: Permission denied
Теперь папке storage даем права 777 – и главная станица проекта заработала. А вот другие выдают ошибку 404. Меняем конфигурацию файла /etc/apache2/ apache2.conf следующим образом

<Directory /var/www/>
	Options Indexes FollowSymLinks
	AllowOverride All
	Require all granted
</Directory>
Возвращаемся к нашему SSH-клиенту, включаем модуль Apache - mod-rewrite и перезапускаем:

sudo a2enmod rewrite
sudo service apache2 restart
И теперь наконец-то видим все страницы нашего сайта. Чтобы работать с базой данных также не забудьте исправить параметры соединения (файл .env и database.php).



Автор этого материала - я - Пахолков Юрий. Я оказываю услуги по написанию программ на языках Java, C++, C# (а также консультирую по ним) и созданию сайтов. Работаю с сайтами на CMS OpenCart, WordPress, ModX и самописными. Кроме этого, работаю напрямую с JavaScript, PHP, CSS, HTML - то есть могу доработать ваш сайт или помочь с веб-программированием. Пишите сюда.



тегистатьи IT, уроки по Laravel, laravel, php, хостинг

Читайте также:




Как конвертировать swf (flash) в html5
Урок 14. Делегаты C#


© upread.ru 2013-2021
При перепечатке активная ссылка на сайт обязательна.
Задать вопрос
письмо
Здравствуйте! Вы можете задать мне любой вопрос. Если не получается отправить сообщение через эту форму, то пишите на почу up777up@yandex.ru
Отправляя сообщение я подтверждаю, что ознакомлен и согласен с политикой конфиденциальности данного сайта.