Как установить LARAVEL
Несмотря на то, что фреймворков для PHP не так уж и много, существует немало споров на тему выбора того самого фреймворка для работы, и уже опытные разработчики часто негативно отзываются о любом из них. Но, как показывает практика, это все лишь вопрос того момента, когда один из таких девелоперов не поставит себе один из существующих фреймворков и не оценит все удобства, что он предоставляет .
Именно поэтому, предлагаю перейти к ознакомлению с одним из PHP-фреймворков под названием Laravel.
Что такое Laravel?
Laravel — это бесплатный фреймворк для PHP с открытым исходным кодом, структура которого базируется на архитектурной модели MVC (Model, View, Controller). Говорят, что при разработке фреймворка, Тейлор отвели — основоположник Laravel, был вдохновлен присутствовать принципами и подходами к разработке в Ruby.
Сам фреймворк был выпущен 11 июня 2011 — Laravel 1, и с тех пор достиг большой популярности.
На данный момент, последней версии фреймворка является Laravel 5.6.
Установка laravel
Перед тем как перейти к непосредственной установки фреймворка, нам нужно будет настроить рабочую среду. В статье будет описано Установка Laravel 5.6 для Ubuntu 16.04.
Установка и настройка веб-сервера.
На официальном сайте Laravel описаны следующие требования для установки последней версии фреймворка (5.6), которые должны обязательно быть учтены при интсаляции:
- PHP> = 7.1.3
- OpenSSL PHP Extension
- PDO PHP Extension
- Mbstring PHP Extension
- Tokenizer PHP Extension
- XML PHP Extension
- Ctype PHP Extension
- JSON PHP Extension
Если у вас еще не установлен веб-сервер, рекомендую посмотреть статью — «Установка Apache2 + php + mysql + phpmyadmin на Ubuntu 16.04» со следующими правками:
- Вместо установления PHP-версии 5.6, нам, согласно требованиям официальной документации, потребуется версия 7.1. Именно поэтому, вместо команды
1sudo apt-get install php5.6
нам нужна будет команда
1sudo apt-get install php7.1 - Вместо старого перечня модулей:
1sudo apt-get install php5.6-mbstring php5.6-mcrypt php5.6-mysql php5.6-xml
Используем следующий перечень:
1sudo apt-get install php7.1-mbstring php7.1-mcrypt php7.1-mysql php7.1-xml php7.1-json php7.1-curl
В случае, если у вас уже есть установленный веб-сервер, убедитесь, что он соответствует всем требованиям, указанным выше.
Установка Composer
Composer — менеджер зависимостей для языка PHP, который позволяет легко и просто устанавливать пакеты (одним из которых и будет Laravel).
Если у вас уже установлен Composer, вы можете пропустить этот пункт и переходить к непосредственной установке фреймворка.
Для того чтобы установить Composer, вам нужно открыть терминал, и поочередно ввести следующие команды (желательно, чтобы у вас были все права на директорию, в которой вы находитесь, к примеру, вы можете перейти в директорию текущего пользователя с помощью команды cd ~):
- Загружаем composer-инсталлятор:
1php -r "copy ( 'https://getcomposer.org/installer", "composer-setup.php');" - Проверяем SHA-384 хэш инсталлятора. Перед тем как запускать команду, убедитесь, что SHA-384 хэш предоставлен на сайте Composer соответствует тому, что указан в команде ниже:
1php -r "if (hash_file ( 'SHA384", "composer-setup.php') === '544e09ee996cdf60ece3804abc52599c22b1f40f4323403c44d44fdfdd586475ca9813a858088ffbc1f233e9b180f061') {echo 'Installer verified";} else {echo "Installer corrupt'; unlink (" composer-setup. php ');} echo PHP_EOL; "
В результате должны получить следующее:
1Installer veryfied - Устанавливаем Composer в директорию/usr/local/bin и делаем его глобально доступным через команду composer:
1sudo php composer-setup.php --install-dir =/usr/local/bin -filename = composer
В результате, должны получить следующее:
1234567All settings correct for usingComposer Downloading 1.1.1 ...Composer successfully installed to: /usr/local/bin/composerUse it: php /usr/local/bin/composer - Удаляем инсталлятор:
1php -r "unlink (" composer-setup.php '); "
Если все прошло успешно, проверить себя можно простой командой composer -v, которая выведет список всех доступных команд Composer’a.
Установка Laravel 5.6
Если при настройке веб-сервера вы следовали нашей инструкции, то у вас, уже должна быть папка для вашего первого сайта, в противном случае, ее нужно создать и прописать настройки виртуальных хостов, а также в файле hosts.
Для установки Laravel нам нужно будет перейти в директорию, где находятся наши сайты (чаще всего это -/var/www) и выполнить команду:
1 |
composer create-project laravel/laravel your-project-name |
где your-project-name — название директории, в которой будет размещен ваш сайт, например laravel.loc
С помощью команды выше, будет установлена последняя на текущий момент версия Laravel. Если вы хотите установить старую версию, тогда вы можете использовать следующую команду:
1 |
composer create-project laravel/laravel your-project-name "5.5. *" |
где 5.5. * — версия Laravel
Результат успешного выполнения вышеупомянутых команд можно увидеть на скринах ниже:
PS Если в конце у вас автоматически не исполнилось команда php artisan key: generate, ее нужно будет выполнить вручную. Для этого:
- Перейдите в папку с вашим проектом (например — cd /var/www/your-project-name) и выполните команду
1php artisan key: generate - В результате вы должны получить следующий ответ (сгенерированный ключ будет отличаться):
1Application key [base64: dhtyupBtreytyurtubt+ eryvetuW1n + rgWw =] set successfully.
Настройка .htaccess
Без предварительной настройки .htaccess, ваша индексная страница будет доступна по ссылке your-domain/public. Если вас это не устраивает, эту проблему можно решить в несколько простых действий:
- В корневой директории сайта (стандартно — cd /var/www/your-project-name) добавляем файл .htaccess
- В вновь файл добавляем следующее:
123RewriteEngine OnRewriteRule ^ (. *) $ Public/$ 1 [L]
После нескольких простых шагов, все запросы будут автоматически переадресовываться на your-domain/public и теперь любая страница будет доступна по привычной адресу, например — your-domain/example-page
Исправление ошибок, связанных с правами доступа
Наверное, каждый пользователь Ubuntu сталкивался с проблемами доступа к отдельным директориям или файлов. Если ваш сайт установлен в директорию /var/www, то, почти с 99% вероятностью можно сказать, что ваш первый проект на Laravel встретит вас похожей ошибкой:
1 |
"The stream or file"/var/www/your-project-name/storage/logs/laravel.log "could not be opened: failed to open stream: Permission denied" |
Если вы только установили проект, тогда, скорее всего, в ошибки выше есть как минимум 2 причины:
- Не настроены авторизационные данные для подключения к базе данных;
- Все ошибки, возникающие в Laravel, фреймворк пытается записывать в файл laravel.log, но, как сообщает нам дебаггер, у него нет доступа к этому файлу — Permission denied
Настройка подключения к базе данных мы рассмотрим чуть ниже, а вот ошибку с правами доступа попробуем решить прямо сейчас.
Все свои действия PHP-скрипт выполняет через стандартного пользователя Ubuntu — www-data, однако, при установке проекта, все наши файлы были записаны под текущим пользователем. Именно поэтому, нам нужно изменить его для определенных файлов проекта.
Системными каталогами, необходимые для нормального функционирования Laravel является bootstrap & storage, именно для них мы и будем менять владельца с помощью следующих команд:
1 |
sudo chown -R www-data: www-data storage/ |
1 |
sudo chown -R www-data: www-data bootstrap/ |
Настройка подключения к БД
Конечным этапом установления Laravel будет настройки подключения к базе данных. Для этого вам нужно будет:
- С помощью PHPMyAdmin или других инструментов для работы с БД создать саму базу данных, например — laravel
- Найти в корневом каталоге файл .env (если такого файла нет, переименуйте присутствующий файл .env.example в .env) и откройте его с помощью любого текстового редактора
- Файл .env представляет собой перечень основных настроек вашего проекта. Для настройки подключения к базе данных, нас будет интересовать исключительно следующее:
123456DB_CONNECTION = mysql //тип подключения к БДDB_HOST = 127.0.0.1 //хост БДDB_PORT = 3306 //порт для подключения БДDB_DATABASE = homestead //название БДDB_USERNAME = homestead //пользователь БДDB_PASSWORD = secret //пароль от БД
Выыод
Если вы успешно прошли все вышеуказанные шаги, необходимые для установки PHP-фреймворка Laravel, в результате, на своем сайте вы увидите следующее: