Установка и настройка связки NGINX + PHP + MySQL на Astra Linux

Данную инструкцию можно использовать для любой операционной системы Linux на основе Debian.

Подготовка сервера

Заходим в систему под суперпользователем:

$ sudo su

Настраиваем сеть. В Astra Linux это делается также как и в Ubuntu:

# vi /etc/network/interfaces

auto eth0
iface lo inet 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
# ntpdate ru.pool.ntp.org
# mkdir -p /var/cron/tabs && echo '0 0 * * * /usr/sbin/ntpdate ru.pool.ntp.org' >> /var/cron/tabs/crontab && crontab /var/cron/tabs/crontab && crontab -l

Установка и настройка 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
# apt-get install nginx

Демон запускается автоматически. Попробуйте открыть браузер и ввести 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 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.

phpinfo при настройке apache php mysql на freebsd

#Linux #MySQL #NGINX #UNIX #Базы данных #Интернет #Настройки #Сервера
Фотография автора
Была ли полезна вам эта инструкция?

Да            Нет