Установка Laravel и Nginx на сервер Ubuntu 12.04 LTS

Published by Leave your thoughts

Laravel – это фреймворк для разработки веб-сайтов на языке PHP. Он позволяет быстро создать сайт путем упрощения общих задач, возникающих в большинстве веб-проектов (аутентификация, сессии и кэширование). Новейшая версия фреймворка, Laravel 4, основана на более старом фреймворке под названием Symfony, но имеет более точный синтаксис. Данный фреймворк устанавливается посредством менеджера зависимостей Composer, что позволяет разработчикам объединять еще больше PHP-проектов с открытым исходным кодом в один веб-проект. Чтобы получить общую информацию по Laravel, обратитесь к сайту проекта; также можно посетить сайт Composer.

Подготовка системы

Для начала обновите пакеты, установленные на выделенный сервер. Это устранит потенциальные проблемы совместимости программного обеспечения. Обратите внимание, все действия, описанные в руководстве, нужно выполнять с привилегиями root или sudo.

apt-get update && apt-get upgrade

Теперь приступайте к установке пакетов, необходимых для корректной работы Laravel; это Nginx и PHP. Поскольку Composer запускается из командной строки, нужно установить php5-cli; чтобы управлять соединениями между Nginx и PHP с помощью менеджера процессов FastCGI, понадобится php5-fpm. Кроме того, фреймворку Laravel нужен php5-mcrypt, а Composer нуждается в git.

apt-get install nginx php5-fpm php5-cli php5-mcrypt git

Установка займет некоторое время. После этого можно приступать к настройке Nginx и PHP.

Настройка Nginx

В данном разделе Nginx будет настроен с расчетом на то, что на нем будет запущен только Laravel, в основном принимая все запросы HTTP вне зависимости от содержания заголовков Host. Чтобы разместить на виртуальном сервере больше одного сайта, читайте данное руководство.

Создайте отдельную папку для сайта Laravel:

mkdir /var/www
mkdir /var/www/laravel

Откройте файл виртуального хоста по умолчанию.

nano /etc/nginx/sites-available/default

Конфигурации должны иметь такой вид:

server {
listen   80 default_server;
root /var/www/laravel/public/;
index index.php index.html index.htm;
location / {
try_files $uri $uri/ /index.php$is_args$args;
}
# pass the PHP scripts to FastCGI server listening on /var/run/php5-fpm.sock
location ~ \.php$ {
try_files $uri /index.php =404;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}

Сохраните и закройте файл.

Настройка PHP

В настройки PHP нужно внести небольшое изменение. Откройте файл php.ini:

nano /etc/php5/fpm/php.ini

Найдите строку cgi.fix_pathinfo=1 и измените ее значение на 0.

cgi.fix_pathinfo=0

Если оставить строку без изменений, интерпретатор PHP будет обрабатывать файлы, ближайшие к запрашиваемому файлу. Это серьезная угроза безопасности сервера. Если же задать этой строке значение 0, интерпретатор будет обрабатывать только точный путь к файлу, что гораздо безопаснее. Теперь сохраните файл и выйдите из текстового редактора.

Нужно внести еще одно небольшое изменение в конфигурации php5-fpm. Откройте www.conf:

nano /etc/php5/fpm/pool.d/www.conf

Найдите строку listen = 127.0.0.1:9000 и замените 127.0.0.1:9000 значением /var/run/php5-fpm.sock.

listen = /var/run/php5-fpm.sock

Сохраните и закройте файл.

Перезапуск PHP и Nginx

Теперь перезапустите оба сервиса.

service php5-fpm restart
service nginx restart

Установка Composer

Теперь нужно установить Composer. Чтобы скачать программу, запустите:

curl -sS https://getcomposer.org/installer | php

Затем установите ее глобально:

mv composer.phar /usr/local/bin/composer

Установка Laravel

Чтобы установить фреймворк Laravel, запустите:

composer create-project laravel/laravel /var/www/laravel/ 4.1

Примечание: серверу на 512МВ может понадобиться своп-файл.

Тестирование установки Laravel

Откройте в браузере IP-адрес облачного сервера и запустите:

/sbin/ifconfig|grep inet|head -1|sed 's/\:/ /'|awk '{print $3}'

Появится сообщение об ошибке. Дело в том, что для кэширования нужно установить правильные привилегии на папки.

Привилегии

Просто запустите:

chgrp -R www-data /var/www/laravel
chmod -R 775 /var/www/laravel/app/storage

Итоги

Готово! Теперь можно приступать к использованию Laravel на быстром бэк-энде Nginx. Чтобы вместе с Laravel использовать СУБД MySQL, просто выполните команду:

apt-get install mysql-server

Более подробную информацию о Laravel можно найти на официальном сайте проекта.

Tags: , , , , , , , , , , , , ,

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *


*

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>