Linux - instalace a nastavení Nginx, PHP a MySQL (LEMP)
Modelová situace: Máme Linux Ubuntu server a chceme na něm nainstalovat a zproznit webserver LEMP = Linux, Nginx, MySQL a PHP.
Postup instalace webserveru Nginx, PHP a MySQL na Linux může být následující:
#instalace nginx
#instalace MySQL serveru MariaDB
#průvodce nastavením MySQL
#instalace PHP 7
#nginx - založení virtual hostu
#povolit virtual host
#smazat default konfig
#nginx reload
A to je celé...
---------------------------------------------
#instalace phpMyAdmin
#nginx virtualhost phpMyAdmin na portu 81
#povolit virtual host
#nastavení vyjímky pro port 81 ve firewalld
#reload nginx
---------------------------------------------
#MariaDB doinstalace pluginu na kontrolu složitosti hesel
...
#nastavení vyjímky pro port 80 a 443 ve firewallu UFW
#test configu
#zahrnout konfiguraci sites-available do nginx.conf (např. na CentOS)
- na konec bloku http doplnit
ODPOVĚĎ
Postup instalace webserveru Nginx, PHP a MySQL na Linux může být následující:
#instalace nginx
apt install nginx
#instalace MySQL serveru MariaDB
apt install mariadb-server
#průvodce nastavením MySQL
mysql_secure_installation
#instalace PHP 7
apt install php-fpm php-mysql
#nginx - založení virtual hostu
vim /etc/nginx/sites-available/cloud.up4.cz
server {
listen 80;
root /var/www/cloud.up4.cz;
index index.php index.html;
server_name cloud.up4.cz;
location / {
try_files $uri $uri/ /index.php?q=$uri&$args;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
}
location ~ /\.ht {
deny all;
}
}
#povolit virtual host
ln -s /etc/nginx/sites-available/cloud.up4.cz /etc/nginx/sites-enabled/
#smazat default konfig
rm /etc/nginx/sites-enabled/default
#nginx reload
systemctl reload nginx
A to je celé...
---------------------------------------------
Nginx - nastavení phpMyAdmin
#instalace phpMyAdmin
apt install phpmyadmin
#nginx virtualhost phpMyAdmin na portu 81
vim /etc/nginx/sites-available/81_phpmyadmin
server {
listen 81;
root /usr/share/phpmyadmin;
index index.php index.html;
location / {
try_files $uri $uri/ =404;
client_max_body_size 100M;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
}
location ~ /\.ht {
deny all;
}
}
#povolit virtual host
ln -s /etc/nginx/sites-available/81_phpmyadmin /etc/nginx/sites-enabled/
#nastavení vyjímky pro port 81 ve firewalld
firewall-cmd --zone=public --permanent --add-port=81/tcp
firewall-cmd --reload
#reload nginx
systemctl reload nginx
---------------------------------------------
DODATEK:
#MariaDB doinstalace pluginu na kontrolu složitosti hesel
apt install mariadb-plugin-cracklib-password-check
mysql -u root
...
INSTALL SONAME 'cracklib_password_check';
#nastavení vyjímky pro port 80 a 443 ve firewallu UFW
ufw allow 80 && ufw allow 443
#test configu
nginx -t
#zahrnout konfiguraci sites-available do nginx.conf (např. na CentOS)
vim /etc/nginx/nginx.conf
- na konec bloku http doplnit
include /etc/nginx/sites-enabled/*.conf;