Установка веб-сервера на Linux Nginx Mysql Php на Ubuntu 20.04
Установка MySQL
apt install mysql-server
mysql_secure_installation
На первый вопрос обязательно отвечаем "N", иначе будет проблема с паролями из-за проверки их сложности.
Установка PHP
apt install software-properties-common
add-apt-repository ppa:ondrej/php
apt install php7.4-fpm php7.4-mysql php7.4-mbstring php7.4-xml php7.4-gd
Устанавливаем "open_short_tag = On" в /etc/php/7.4/fpm/php.ini
open_short_tag = On
Повторяем несколько раз с заменой версии если необходимо установить несколько версий паралельно.
Установка NGINX
apt install nginx
Создаем временный самоподписанный сертификат
sudo mkdir /etc/nginx/ssl
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/nginx/ssl/site.com.key -out /etc/nginx/ssl/site.com.crt
Создаем конфиг nano /etc/nginx/sites-available/site.com.conf
server {
listen *:80;
server_name site.com www.site.com;
return 301 https://$server_name$request_uri;
}
server {
server_name site.com www.site.com;
listen *:443 ssl;
ssl_certificate /etc/nginx/ssl/site.com/site.com.pem;
ssl_certificate_key /etc/www/nginx/ssl/site.com/site.com.key;
root /var/www/site.com/public;
location ~ .php$ {
include /etc/nginx/fastcgi_params;
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $request_filename;
client_max_body_size 128M;
fastcgi_ignore_client_abort off;
}
include snippets/phpmyadmin.conf;
}
Создаем ссылку:
ln -s /etc/nginx/sites-avalible/og-studio.ru.conf /etc/nginx/sites-enabled/
Установка PhpMyAdmin
apt install phpmyadmin
Создаем файл /etc/nginx/snippets/phpmyadmin.conf со следующим содержимым:
location /phpmyadmin {
root /usr/share/;
index index.php index.html index.htm;
location ~ ^/phpmyadmin/(.+.php)$ {
try_files $uri =404;
root /usr/share/;
fastcgi_pass unix:/run/php/php7.4-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PHP_VALUE mbstring.func_overload=0;
include /etc/nginx/fastcgi_params;
}
location ~* ^/phpmyadmin/(.+.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
root /usr/share/;
}
}
Создаем веб-каталог сайта и назначем владельца
mkdir -p /var/www/site.com/public
chown www-data:www-data /var/www -R
Меняем домашнюю директорию, shell и создаем пароль для www-data
usermod -d /var/www www-data
usermod --shell /bin/bash www-data
passwd www-data
Перезагружаем
shutdown -r 0
Для работы с сайтом подключаемся под пользователем www-data по протоколу sFTP
← Назад