Установка Nginx + PHP + MySQL на Astra Linux
Установка и настройка связки NGINX + PHP + MySQL на Astra Linux
Данную инструкцию можно использовать для любой операционной системы Linux на основе Debian.
Подготовка сервера
Заходим в систему под суперпользователем:
Настраиваем сеть. В Astra Linux это делается также как и в Ubuntu:
# vi /etc/network/interfaces |
auto eth0 address 192.168.0.15 netmask 255.255.255.0 gateway 192.168.0.1 dns-nameservers 192.168.0.1 192.168.0.2 |
* В данном примере мы настроили сетевой интерфейс eth0 (задали IP-адрес 192.168.0.15 маску 255.255.255.0 и шлюз по умолчанию 192.168.0.1)
Для применения настроек необходимо перезапустить сетевую службу:
# service networking restart |
В Astra Linux по умолчанию не настроены репозитории для установки пакетов, поэтому необходимо это сделать:
# vi /etc/apt/sources.list |
deb ftp://ftp.astra-linux.com/astra/current/orel/repository orel main contrib non-free |
* Эта строчка подключает официальный репозиторий Astra Linux.
Теперь нужно обновить список пакетов и обновить систему:
# apt-get update && apt-get upgrade && apt-get dist-upgrade |
Установим sshd для возможности удаленного управления нашим сервером:
# apt-get install openssh-server |
Для синхронизации времени установим пакет ntpdate, синхронизируем время и настроим автоматическое задание:
# apt-get install ntpdate |
Установка и настройка Nginx, PHP, MySQL
Устанавливаем пакет mysql-server:
# apt-get install mysql-server |
* Во время установки будет предложено ввести новый пароль для mysql-записи root
Запускаем демнон:
# service mysql start |
В официальных репозиториях Astra Linux нет Nginx, поэтому подключим официальный от nginx inc.:
# vi /etc/apt/sources.list |
deb http://nginx.org/packages/debian/ wheezy nginx |
* wheezy соответствует 7-й версии Debian. У вас может быть другая версия. Будьте внимательны.
Для успешного получения списка пакетов от нового репозитория, добавляем в систему PGP-ключ:
# wget http://nginx.org/keys/nginx_signing.key # apt-key add nginx_signing.key |
Теперь можем обновлять список пакетов и устанавливать веб-сервер nginx:
# apt-get update |
Демон запускается автоматически. Попробуйте открыть браузер и ввести IP-адрес сервера. Вы должны увидеть приветствие от Nginx.
Устанавливаем php и php-интерпретатор:
# apt-get install php5 php5-fpm |
В Astra Linux по умолчанию nginx работает от учетной записи nginx, а php-fpm — от www-data. В результате этого при попытке использовать веб-сервер с php-скриптами мы получим ошибку. Для решения этой проблемы необходимо поменять пользователя, от которого будет работать либо nginx, либо php-fpm. В данном примере, nginx:
# vi /etc/nginx/nginx.conf |
user www-data; |
* самая первая строчка — меняем nginx на www-data.
Настраиваем виртуальный домен для нового сайта:
# vi /etc/nginx/conf.d/site.local.conf |
server { listen 80; server_name site.local; set $root_path /var/www/site.local;
gzip on; client_max_body_size 128M; gzip_min_length 1000; gzip_vary on; gzip_proxied expired no-cache no-store private auth; gzip_types application/x-javascript text/plain application/xml text/css;
location / { allow 192.168.0.0/16; deny all; root $root_path; index index.php; } location ~ \.php$ { fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $root_path$fastcgi_script_name; include fastcgi_params; fastcgi_param DOCUMENT_ROOT $root_path; }
location ~* ^.+\.(jpg|jpeg|gif|png|css|zip|tgz|gz|rar|bz2|exe|tar|bmp|js)$ { root $root_path; expires modified +1w; } } |
* site.local необходимо заменить на домен вашего веб-приложения или сайта.
** /var/www/site.local — директория, в которую мы поместим файлы сайта.
*** allow 192.168.0.0/16 — подсеть, для которой мы разрешаем доступ к сайту. Если ограничивать не требуется, удалите строчку и следующую за ней deny all.
**** Остальные параметры я рекомендую изучить самостоятельно.
Создаем директорию для сайта, которую мы указали в конфигурационном файле:
# mkdir /var/www/site.local |
Создаем в нем файл index.php с функцией phpinfo:
# echo ‘<? phpinfo() ?>’ > /var/www/site.local/index.php |
Перезапускаем наши демоны:
# service php5-fpm restart && service nginx restart |
Проверьте работоспособность сервера, введя в адресной строке браузера IP-адрес сервера (в данном примере, 192.168.0.15). Сервер должен вернуть много параметров в различных таблицах.
Также в данных таблицах вы должны увидеть «MySQL Suppert — Enabled». Это говорит о том, что сервер готов к работе с базой MySQL.