05.01.2014

Настройка Nginx c php-fpm, mysql, phpmyadmin, Memcached в Ubuntu 12.04



Как показала практика работы с ubuntu лучше использовать именно LTS дистрибутивы, основная причина моей любви к ним-придонная лень, все дело в том что если возится с этим дома, настраиваешь, потом перенастраиваешь, затем слегка допиливаешь, а потом все это сносишь и делаешь как нужно , то это интересно, но когда ты работаешь в крупной сети, то на такие эксперименты, обычно, нет времени т.к. других задач припасено на пару недель вперед. К тому же последняя версия ubuntu 13.10 мягко говоря не совсем доработанная, чего стоит только баг с переключением языков. В общем, все интересно делать самому, пока это не дошло до промышленных масштабов, а вот когда ты к ним пришел, то уже стараюсь максимально упростить и автоматизировать работу. Но все это лирика, переходим к практике.



При установке пакетов и программ будем использовать менеджер пакетов Aptitube. поэтому если у вас не установлен это  менеджер выполняем в терминале:

sudo su
sudo apt-get install aptitude

Установка Nginx

Для начала добавим репозиторий проекта Nginx:
nano /etc/apt/sources.list
Добавим туда, официальное зеркало Nginx, то в каком виде представлен данный пакет, отражает видение его разработчиков:
deb http://nginx.org/packages/ubuntu/ precise nginx
deb-src http://nginx.org/packages/ubuntu/ precise nginx

Теперь нам нужно скачать GPG ключ:
sudo wget http://nginx.org/keys/nginx_signing.key

Установим GPG ключ:
sudo apt-key add nginx_signing.key

Обновим список пакетов:
sudo aptitude update


Установим Nginx:
sudo aptitude install nginx

Установка PHP-FPM:

sudo aptitude install php5-cli php5-common php5-mysql php5-suhosin php5-gd php5-fpm php5-cgi php5-fpm php-pear curl libcurl3 libcurl3-dev php5-curl php5-mcrypt -y
Нам необходимо устранить уязвимость PHP:
sudo nano /etc/php5/fpm/php.ini


Находим строку:
;cgi.fix_pathinfo = 1
Приводим ее к виду:
cgi.fix_pathinfo = 0

Сохраняем изменения и перезапустим PHP-FPM:
 sudo /etc/init.d/php5-fpm restart

 

Пользователь и директории для работы с виртуальным хостом:

Чтобы не создавать не нужных пользователей будем использовать для настройки и работы с сервером текущего пользователя, под которым мы авторизовались в системе. В моем случае это пользователь korbax Создадим необходимые, для работы WEB сайта, директории:
sudo mkdir -p -m 755 /var/www/local/public
sudo mkdir -p -m 754 /var/www/local/logs
Предоставляем пользователю example права на них:
sudo chown -R korbax: /var/www/local/public/
sudo chown -R korbax: /var/www/local/logs/
Предоставим Nginx доступ в www директорию пользователя korbax, добавив пользователя www-data в группу korbax
sudo usermod -a -G korbax www-data

Устанавливаем MySQL и PhpMyAdmin:

sudo aptitude install mysql-server mysql-client mysql-common
sudo aptitude install phpmyadmin
При установке появится окно с просьбой выбрать используемый сервер, оставляем все поля пустыми: Установка PhpMyAdmin с Nginx в ubuntu

Далее при инсталляции PhpMyAdmin нам предложат создать базу данных, которая требуется для его работы: Установка PhpMyAdmin с Nginx в ubuntu

Указываем сначала пароль пользователя Root (Сервера MySQL), а затем пароль для базы данных PhpMyAdmin, на этом, установка данного пакета завершена.

 

Установка Memcached:

sudo aptitude install memcached php5-memcached
sudo /etc/init.d/php5-fpm restart
sudo /etc/init.d/nginx restart

 

Настройка nginx:

Для быстрой и красивой настройки nginx будем использовать форк проекта nginx-boilerplate, которые позволяет систематизировать и упорядочить файлы конфигурации, а значит упростит последующую поддержку сервера. Первым делом нужно установить git и с сделать клон проекта например в свою домашнюю директорию:
sudo apt-get install git
cd ~
git clone https://github.com/korbax/nginx-boilerplate.git
Теперь переименуем папку nginx с оригинальными файлами конфигурации, а вместо нее сделаем ссылку на проект который клонировали в домашнюю папку:
sudo mv /etc/nginx /etc/nginx-origin
cd /etc
sudo ln -s /home/!!!your user!!!/nginx-boilerplate/src nginx
Источник

Комментариев нет:

Отправить комментарий