Установка Laravel 4 на сервер CentOS 6
Centos, Cloud Server, PHP | Комментировать запись
Laravel 4 – это PHP-фреймворк, основанный на архитектуре MVC (Model-view-controller, «модель-представление-контроллер»). Этот достаточно молодой фреймворк уже стал одним из наиболее популярных PHP-фреймворков и теперь активно поддерживается большим сообществом.
Примечание: Для запуска Laravel 4 нужен виртуальный выделенный сервер, PHP не ранее версии 5.3.7, а также PHP-расширение MCrypt.
Laravel 4 активно использует Composer, менеджер зависимостей PHP. Именно благодаря Composer Laravel 4 дает разработчику полную свободу в структурировании приложения. Просмотреть доступные пакеты Composer можно по этой ссылке.
Добавление репозиториев
Для начала установите репозитории Remi и Epel.
В 64-битной системе CentOS используйте команды:
rpm -Uvh http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
В 32-биной системе запустите:
rpm -Uvh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
Установка Apache
Теперь нужно установить веб-сервер Apache. Введите в терминал:
sudo yum --enablerepo=remi install httpd
После этого запустите виртуальный выделенный сервер:
sudo service httpd start
Чтобы убедиться, что сервер Apache установлен, направьте браузер на IP-адрес облачного сервера (например, http://11.22.33.444). На экране должна появиться тестовая страница Apache.
Уточнить IP-адрес облачного сервера можно при помощи команды:
ifconfig eth0 | grep inet | awk '{ print $2 }'
Установка PHP
Теперь установите PHP и расширение MCrypt. Введите в терминал следующее:
sudo yum --enablerepo=remi install php php-mysql
Затем проверьте версию PHP, чтобы убедиться, что установка прошла успешно:
php –v
PHP имеет большое количество расширений; чтобы узнать, какие расширения доступны, введите:
yum search php-
Как уже говорилось, для корректной работы фреймворка необходимо расширение MCrypt; для установки этого расширения введите:
sudo yum --enablerepo=remi install php-mcrypt
Установка MySQL
Скорее всего, сайту понадобится база данных; установите систему управления базами данных (СУБД) MySQL.
Введите следующее:
sudo yum --enablerepo=remi install mysql-server
После установки запустите сервер:
sudo service mysqld start
Теперь нужно установить пароль для пользователя root; в противном случае сервер будет подвержен серьезной опасности. Введите в терминал:
sudo /usr/bin/mysql_secure_installation
Будет запрошен текущий root-пароль MySQL; поскольку СУБД была установлена только что, такого пароля пока что нет, потому просто нажмите Enter:
Enter current password for root (enter for none):
OK, successfully used password, moving on...
MySQL спросит, хотите ли вы установить root-пароль; нажмите Y и следуйте инструкциям программы. CentOS автоматизирует процесс настройки MySQL, задав пользователю ряд вопросов. Проще всего ответить Y на все вопросы, это установит настройки по умолчанию. В завершение система MySQL будет перезагружена, чтобы активировать выбранные настройки.
By default, a MySQL installation has an anonymous user, allowing anyone
to log into MySQL without having to have a user account created for
them. This is intended only for testing, and to make the installation
go a bit smoother. You should remove them before moving into a
production environment.
Remove anonymous users? [Y/n] y
... Success!
Normally, root should only be allowed to connect from 'localhost'. This
ensures that someone cannot guess at the root password from the network.
Disallow root login remotely? [Y/n] y
... Success!
By default, MySQL comes with a database named 'test' that anyone can
access. This is also intended only for testing, and should be removed
before moving into a production environment.
Remove test database and access to it? [Y/n] y
- Dropping test database...
... Success!
- Removing privileges on test database...
... Success!
Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.
Reload privilege tables now? [Y/n] y
... Success!
Cleaning up...
All done! If you've completed all of the above steps, your MySQL
installation should now be secure.
Thanks for using MySQL!
Автоматический запуск сервисов
После установки Apache, PHP и MySQL настройте автоматический запуск этих программ при запуске выделенного сервера. Для этого введите:
sudo chkconfig httpd on
sudo chkconfig mysqld on
Теперь программный стек LAMP установлен и настроен, и можно приступать к установке Laravel.
Установка Composer
Сначала нужно установить менеджер зависимостей Composer; для этого запустите через терминал следующую команду:
curl -k -sS https://getcomposer.org/installer | php
Эта команда загрузит и установит Composer. Теперь нужно сделать Composer доступным в переменной PATH. Для этого введите:
echo $PATH
Поместите Composer в каталоге /usr/local/bin/:
sudo mv composer.phar /usr/local/bin/composer
Обратите внимание: данная команда не только перемещает файл composer.phar в другой каталог, но и переименовывает его в composer.
Установка Laravel
Итак, менеджер Composer установлен, теперь приступайте к установке фреймворка Laravel. Для этого запустите в терминале команду:
wget https://github.com/laravel/laravel/archive/develop.zip
Это загрузит zip-файл Laravel, который нужно распаковать. Убедитесь, что инструмент unzip установлен:
which unzip
Если он был установлен ранее, на экране появится путь к нему; в противном случае команда выведет ошибку. Чтобы установить unzip, используйте:
sudo yum install unzip
Чтобы разархивировать скачанный пакет фреймворка, введите:
unzip develop
Распакованный develop.zip создаст каталог laravel-develop. Чтобы проверить это, запустите следующее:
ls
Переместите этот каталог в каталог www:
mv laravel-develop /var/www/yoursite
Теперь каталог перемещен и переименован в yoursite. При необходимости замените условное название каталога более подходящим вам именем.
Теперь пакет develop.zip больше не нужен, удалите его:
rm -f develop
После этого Composer может установить зависимости проекта Laravel. Для начала перейдите в каталог сайта:
cd /var/www/yoursite
Затем используйте команду:
composer install
Примечание: Выполнение данной команды может занять некоторое время.
В завершение нужно изменить привилегии на каталог app/storage; Laravel должен иметь право на запись в этом каталоге.
chmod –R 775 /var/www/yoursite/app/storage
Создание виртуального хоста Apache
Осталось только создать виртуальный хост (англ. Virtual Host) Apache. Для этого нужно отредактировать файл httpd.conf; чтобы открыть httpd.conf для редактирования, введите:
sudo nano /etc/httpd/conf/httpd.conf
Внесите в файл следующий код и сохраните его:
<VirtualHost *:80>
ServerName yoursite.com
DocumentRoot /var/www/yoursite/public
<Directory /var/www/yoursite/public>
<IfModule mod_rewrite.c>
Options -MultiViews
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
</IfModule>
</Directory>
</VirtualHost>
Теперь виртуальный хост настроен, а из ссылок удален сегмент index.php. Перезапустите Apache, чтобы активировать внесенные изменения:
sudo service httpd restart
Заключение
Готово! Теперь надежный фреймворк Laravel установлен на сервер! Посетите свой сайт в браузере, и на экране появится логотип Laravel.
Tags: Apache, CentOS, CentOS 6, Composer, EPEL, LAMP stack, Laravel, Laravel 4, MCrypt, MVC, MySQL, PHP, REMI