Ricerca nel sito web

Installa LEMP - Nginx, PHP, MariaDB e PhpMyAdmin in OpenSUSE


Lo stack LEMP o Linux, Engine-x, MySQL e PHP è un software bundle composto da software open source installato sul sistema operativo Linux per l'esecuzione di applicazioni web basate su PHP alimentate dal server Nginx HTTP e dal sistema di gestione del database MySQL/MariaDB.

Leggi anche: Installa LAMP – Apache, PHP, MariaDB e PhpMyAdmin in OpenSUSE

Questo tutorial ti guiderà su come installare uno stack LEMP con Nginx, MariaDB, PHP, PHP-FPM e PhpMyAdmin sulle edizioni server/desktop OpenSuse.

Installazione del server HTTP Nginx

Nginx è un server proxy e HTTP veloce e affidabile in grado di gestire un carico maggiore di richieste HTTP. Utilizza un approccio asincrono basato sugli eventi per gestire le richieste e la sua architettura modulare basata sugli eventi può fornire prestazioni più prevedibili in caso di carichi elevati.

Per installare Nginx su OpenSuse, esegui il seguente comando.

sudo zypper install nginx

Una volta installato Nginx, puoi avviare il servizio per ora, quindi abilitarlo per l'avvio automatico all'avvio e verificare lo stato di Nginx eseguendo i seguenti comandi.

sudo systemctl start nginx
sudo systemctl enable nginx
sudo systemctl status nginx

Leggi anche: i 10 comandi Nginx più utilizzati che ogni utente Linux deve conoscere

A questo punto, il server web Nginx dovrebbe essere attivo e funzionante, puoi anche verificare lo stato utilizzando il comando netstat come mostrato.

sudo netstat -tlpn | grep nginx

Ora dobbiamo verificare se l'installazione di Nginx funziona correttamente. A differenza di altre distribuzioni Linux, in openSUSE, Nginx non ha un documento index.html standard nella cartella principale del web. Dobbiamo creare un nuovo file index.html nella directory web principale "/srv/www/htdocs" come mostrato.

echo "<h1>Nginx is running fine on openSUSE Leap</h1>" | sudo tee /srv/www/htdocs/index.html

Se hai installato il firewall, devi aprire le porte 80 e 443 per consentire il traffico web sul firewall.

sudo firewall-cmd --permanent --add-port=80/tcp
sudo firewall-cmd --permanent --add-port=443/tcp
sudo firewall-cmd --reload

Successivamente, apri un browser web e vai all'indirizzo http://localhost e verifica la pagina Nginx.

Installazione del server database MariaDB

MariaDB è un fork gratuito e open source del sistema di gestione di database relazionali MySQL. È sviluppato dagli sviluppatori originali di MySQL e destinato a rimanere open source. MariaDB è veloce, scalabile e robusto, con un ricco ecosistema di motori di archiviazione, plug-in e molti altri strumenti che lo rendono molto versatile per un'ampia varietà di casi d'uso.

Per installare MariaDB su OpenSuse, esegui il seguente comando.

sudo zypper install mariadb mariadb-client 

Successivamente, avvia per ora il servizio MariaDB, quindi abilitalo all'avvio automatico all'avvio e controllane lo stato.

sudo systemctl start mariadb 
sudo systemctl enable mariadb 
sudo systemctl status mariadb 

Il passaggio fondamentale successivo in questa sezione è proteggere l'installazione del server MariaDB. Pertanto esegui lo script di sicurezza fornito con il pacchetto MariaDB, come mostrato.

Nota: l'esecuzione dello script di sicurezza MariaDB e di tutte le sue parti è altamente consigliata per tutti i server MariaDB in produzione.

sudo mysql_secure_installation 

Dopo aver eseguito lo script, leggere attentamente la descrizione di ogni passaggio. Dovresti impostare una password utente root, rimuovere gli utenti anonimi, disabilitare l'accesso root remoto, rimuovere il database di test e accedervi e infine ricaricare la tabella dei privilegi.

Installazione e configurazione di PHP e PHP-FPM

PHP-FPM (abbreviazione di PHP FastCGI Process Manager) è un demone FastCGI alternativo per PHP con alcune funzionalità aggiuntive e progettato per gestire carichi elevati. Mantiene pool (lavoratori che possono rispondere alle richieste PHP) per raggiungere questo obiettivo. È importante sottolineare che è più veloce dei tradizionali metodi basati su CGI, come SUPHP, per ambienti PHP multiutente.

Per installare PHP e PHP-FPM insieme ai moduli necessari, esegui il seguente comando.

sudo zypper install php php-mysql php-fpm php-gd php-mbstring

Prima di procedere con l'avvio del servizio PHP-FPM, dobbiamo creare i file di configurazione richiesti dai file predefiniti forniti durante l'installazione e configurare il servizio pronto per le operazioni.

sudo cp /etc/php7/fpm/php-fpm.conf.default  /etc/php7/fpm/php-fpm.conf 
sudo cp /etc/php7/fpm/php-fpm.d/www.conf.default /etc/php7/fpm/php-fpm.d/www.conf

Quindi apri il file di configurazione principale php-fpm.conf per modificarlo.

sudo vim /etc/php7/fpm/php-fpm.conf 

Decommentare la riga seguente alla riga numero 24 come mostrato.

error_log = log/php-fpm.log

Salva e chiudi il file.

Successivamente, dobbiamo definire le impostazioni corrette per i pool configurati nel file di configurazione www.conf.

sudo vim /etc/php7/fpm/php-fpm.d/www.conf

Innanzitutto, configura il proprietario Unix e il proprietario del gruppo dei processi sull'utente e sul gruppo Nginx. Fallo modificando i valori dei parametri utente e gruppo da nobody a nginx.

user = nginx
group = nginx

Ora salva le modifiche al file ed esci.

Inoltre, c'è un'altra configurazione importante da eseguire, che protegge PHP-FPM nel file /etc/php/cli/php.ini.

sudo vim /etc/php7/cli/php.ini

Cerca la riga ;cgi.fix_pathinfo=1 e modificala in.

cgi.fix_pathinfo=0

Salvare le modifiche nel file ed uscire.

Successivamente, avvia per ora il servizio PHP-FPM, quindi abilitalo all'avvio automatico all'avvio e verificane lo stato.

sudo systemctl start php-fpm
sudo systemctl enable php-fpm
sudo systemctl status php-fpm

Configurazione di Nginx per funzionare con PHP-FPM

A questo punto, dobbiamo configurare Nginx per funzionare con PHP-FPM nel file di configurazione Nginx predefinito.

sudo vim /etc/nginx/nginx.conf

Quindi cerca la sezione seguente e aggiungi index.php nell'elenco dei file indice previsti.

location / { 
           root   /srv/www/htdocs/; 
           index  index.php index.html index.htm ; 
       }

Trova anche la sezione seguente (che dovrebbe essere commentata) e decommentala. Questa sezione viene utilizzata per passare gli script PHP al server FastCGI in ascolto su 127.0.0.1:9000.

location ~ \.php$ { 
       root           /srv/www/htdocs/; 
       fastcgi_pass   127.0.0.1:9000; 
       fastcgi_index  index.php; 
       fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name; 
       include        fastcgi_params; 
       }

Salvare le modifiche nel file ed uscire.

Testare Nginx e PHP-FPM

Il passaggio successivo è verificare se Nginx funziona bene insieme a PHP-FPM creando un nuovo file di test PHP nella directory DocumentRoot come mostrato.

echo "<?php phpinfo(); ?>" | sudo tee /srv/www/htdocs/info.php

Ora dobbiamo verificare se la configurazione di Nginx è corretta come segue, prima di procedere al riavvio del servizio.

sudo nginx -t

Se la sintassi di configurazione di Nginx è corretta, vai avanti e riavvia i servizi Nginx e PHP-FPM affinché le modifiche recenti abbiano effetto.

sudo systemctl restart nginx php-fpm

Ora apri un browser web e vai all'indirizzo http://localhost/info.php per verificare la configurazione PHP come mostrato nello screenshot seguente.

Installazione e configurazione di PhpMyAdmin

phpMyAdmin è uno strumento gratuito, semplice e popolare, facile da usare e scritto in PHP, creato per amministrare il server MySQL sul Web. Supporta un'ampia gamma di operazioni su MySQL e MariaDB.

Per installare phpMyAdmin su OpenSuse, esegui il seguente comando.

sudo zypper install phpMyAdmin

Una volta completata l'installazione, crea un nuovo file di configurazione vhost per accedere a phpMyAdmin come mostrato.

sudo vim /etc/nginx/vhosts.d/phpmyadmin.conf

Aggiungi la seguente configurazione al file.

server { 
   listen 80; 

   server_name localhost/phpMyAdmin; 

  root /srv/www/htdocs/phpMyAdmin; 

   location / { 
       try_files $uri /index.php?$args; 
   } 

   location ~ \.php$ { 
       try_files $uri =404; 
       fastcgi_pass 127.0.0.1:9000; 
       fastcgi_index index.php; 
       include fastcgi_params; 
   } 
} 

Salva le modifiche e chiudi il file. Quindi riavvia il servizio Nginx con il seguente comando.

sudo systemctl restart nginx

Ora vai al tuo browser web e digita l'indirizzo http://localhost/phpMyAdmin. Dovrebbe essere visualizzata una pagina di accesso phpMyAdmin come mostrato nello screenshot seguente. Inserisci le credenziali di accesso dell'utente root del database e fai clic su Vai.

È tutto! In questo tutorial ti abbiamo spiegato come installare uno stack LEMP con Nginx, MariaDB, PHP, PHP-FPM e PhpMyAdmin sulle edizioni server/desktop OpenSuse. Se riscontri problemi durante la configurazione, fai le tue domande tramite il modulo di commento qui sotto.