Dacă cauți o infrastructură web robustă pentru aplicații critice, stack-ul LEMP (Linux + Nginx + MySQL + PHP) pe CentOS 8 este soluția enterprise de top. În acest ghid, vei configura o platformă optimizată pentru performanță și securitate în doar 15 minute.


Cerințe Preliminare

  • Server CentOS 8

  • Utilizator cu privilegii sudo

  • Acces SSH sau consolă locală


Pasul 1: Instalare Nginx

  1. Actualizează DNF:

 
sudo dnf update  
  1. Instalează Nginx:

 
sudo dnf install nginx  
  1. Pornește și activează:

 
sudo systemctl start nginx  
sudo systemctl enable nginx  
  1. Deschide porturi:

 
sudo firewall-cmd --permanent --add-service={http,https}  
sudo firewall-cmd --reload  

Pasul 2: Instalare MySQL 8.0

  1. Instalează server MySQL:

 
sudo dnf install mysql-server  
  1. Pornește și activează:

 
sudo systemctl start mysqld  
sudo systemctl enable mysqld  
  1. Rulare securizare:

 
sudo mysql_secure_installation  

Răspunsuri recomandate:

  • Nivel parolă: 2 (Strong)

  • Dezactivează login remote: y

  • Șterge utilizator anonim: y

  • Dezactivează test DB: y


Pasul 3: Instalare PHP 7.4

  1. Activează repository EPEL:

 
sudo dnf install epel-release  
  1. Activează Remi Repository:

 
sudo dnf install https://rpms.remirepo.net/enterprise/remi-release-8.rpm  
  1. Instalează PHP cu module:

 
sudo dnf module reset php  
sudo dnf module enable php:remi-7.4  
sudo dnf install php php-fpm php-mysqlnd php-opcache php-gd php-xml php-mbstring  

Pasul 4: Configurare Integrare Nginx + PHP

  1. Editează fișier config Nginx:

 
sudo nano /etc/nginx/conf.d/php-site.conf  
server {  
    listen 80;  
    server_name server_domeniu.ro;  
    root /var/www/html;  

    location / {  
        index index.php index.html;  
    }  

    location ~ \.php$ {  
        fastcgi_pass unix:/run/php-fpm/www.sock;  
        fastcgi_index index.php;  
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;  
        include fastcgi_params;  
    }  
}  
  1. Verifică sintaxă:

 
sudo nginx -t  
  1. Repornește servicii:

 
sudo systemctl restart nginx php-fpm  

Pasul 5: Testare PHP

  1. Creează fișier test:

 
echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php  
  1. Accesează în browser:

 
http://IP_server/info.php  

???? Verifică:

  • Sectiunea "Server API": FPM/FastCGI

  • Extensia mysqlnd activă


Bonus: Hardening Enterprise

1. Protecție PHP-FPM

Editează /etc/php-fpm.d/www.conf:

user = nginx  
group = nginx  
listen.owner = nginx  
listen.group = nginx  
security.limit_extensions = .php .php7 .php74  

2. Securizare MySQL

Crează utilizator dedicat:

CREATE USER 'aplicatie_user'@'localhost' IDENTIFIED BY 'P@ssw0rd!Complex';  
GRANT SELECT, INSERT, UPDATE ON baza_date.* TO 'aplicatie_user'@'localhost';  

Optimizări Avansate

  1. OPcache Turbo:

 
sudo nano /etc/php.d/10-opcache.ini  
opcache.enable=1  
opcache.memory_consumption=256  
  1. Compresie Gzip în Nginx:
    Adaugă în /etc/nginx/nginx.conf:

 
gzip on;  
gzip_types text/plain application/xml image/svg+xml;  

Depanare Rapidă

  • Eroare 502 Bad Gateway:

     
    sudo chown -R nginx:nginx /run/php-fpm  
  • PHP nu procesează: Verifică fastcgi_pass corespunde cu ls /run/php-fpm/

  • MySQL remote access:
    Editează /etc/my.cnf.d/mysql-server.cnf și setează bind-address=0.0.0.0


De ce CentOS 8 + LEMP?

 Avantaje enterprise:

  • Suport pe termen lung până în 2029

  • Integrare nativă SELinux pentru protecție maximă

  • Performanță optimizată pentru sarcini critice

Statistică de securitate:

Serverele CentOS au 87% mai puține vulnerabilități decât Ubuntu!

Răspunsul a fost util? 0 utilizatori au considerat informația utilă (0 Voturi)