Краткая инструкция по настройке сервера на Ububntu, Nginx, Mysql, php7.0-fpm, PhpMyadmin

Краткая инструкция по установке и настройке базового сервера с помощью Ubuntu, Nginx, Php, Mysql и PhpMyAdmin.

Настройка типичного серера на Ububntu, Nginx, Mysql, php7.0-fpm, PhpMyadmin

Итак, у нас есть сервер на базе 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».

Прокомментировать в Telegram-чате

Фото автораАвтор: Андрей "zeleboba" Матвеев
Шатаюсь, слушаю и наблюдаю. Пишу тексты.

Поговорить?

Читайте нас где удобно

Ещё на эту тему было

Для тех, кто долистал

Ай-ти шуточка бонусом. А вы никогда не задумывались, что кровать - это беспроводная зарядка для человека?