Итак, у нас есть сервер на базе Ubuntu 16, есть задача быстро развернуть на нём рабочую платформу для хостинга сайтов. Для этого хочется использовать Nginx в связке с php7.0-fpm. Для баз данных — стандартный Mysql и привычный многим PhpMyAdmin.
Для начала установим собственный пароль для пользователя root. Используем команду:
sudo passwd
1. Устанавливаем и конфигурируем Nginx
Установку Nginx из официального репозитория можно провести, как было описано в прошлой статье по ссылке.
Либо альтернативным способом.
Добавляем репозиторий:
echo "deb https://nginx.org/packages/mainline/ubuntu/ `lsb_release -cs` nginx» >> /etc/apt/sources.list echo "deb-src https://nginx.org/packages/mainline/ubuntu/ `lsb_release -cs` nginx» >> /etc/apt/sources.list curl https://nginx.org/keys/nginx_signing.key | apt-key add —
Устанавливаем:
sudo apt update sudo apt install nginx
Залезаем в конфиг:
sudo nano /etc/nginx/conf.d/default.conf
Приводим его к следующему виду:
server { listen 80;
root /var/www; index index.php index.html index.htm; server_name example.com www.example.com;
location / { try_files $uri $uri/ /index.html; }
error_page 404 /404.html; error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/www; }
location ~ .php$ { try_files $uri =404; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } }
Редактируем второй:
sudo nano /etc/nginx/nginx.conf
До вида:
user www-data; worker_processes 2;
error_log /var/log/nginx/error.log warn; pid /var/run/nginx.pid;
events { worker_connections 1024; }
http { include /etc/nginx/mime.types; default_type application/octet-stream;
log_format main '$remote_addr — $remote_user [$time_local] "$request» ' '$status $body_bytes_sent "$http_referer» ' '"$http_user_agent» "$http_x_forwarded_for»';
access_log /var/log/nginx/access.log main;
sendfile on; #tcp_nopush on;
keepalive_timeout 65;
#gzip on;
include /etc/nginx/conf.d/*.conf; }
Перезапускаем сервис:
sudo service nginx restart
2. Устанавливаем Php
apt-get install php-cli php-common php-mysql php-gd php-fpm php-cgi php-fpm php-pear php-mcrypt
В файле «/etc/nginx» меняем пользователя на «www-data».
Редактируем конфиг:
sudo nano /etc/php/7.0/fpm/php.ini
Приводим строку к виду:
cgi.fix_pathinfo=0
Снова конфигурируем:
sudo nano /etc/php/7.0/fpm/pool.d/www.conf
Комментируем строку, добавляем свою:
#listen = /run/php/php7.0-fpm.sock listen = 127.0.0.1:9000
3. Время Mysql
Устанавливаем:
sudo apt install mysql-server
После установки рекомендуется выполнить команду и пройти настройку с помощью мастера:
sudo mysql_secure_installation
4. Устанавливаем PhpMyAdmin
sudo apt install phpmyadmin php-mbstring php-gettext
Теперь рассказываем Nginx, где искать PhpMyAdmin. Лучше располагать его по какому-нибудь не типичному адресу, например, вот так:
sudo ln -s /usr/share/phpmyadmin /usr/share/nginx/html/secret-phpmyadmin-dir
Напоследок перезагружаем сервисы:
sudo service nginx restart sudo service php7.0-fpm restart
Теперь PhpMyAdmin будет доступен из браузера по адресу «http://server_domain_or_IP/secret-phpmyadmin-dir».

Обсуждение
Пока тишина. Станьте первым!