Linux - instalace a nastavení Nginx, PHP a MySQL (LEMP)

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.

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;

Jak se ti článek líbil?

Komentáře (0)

Přidat komentář