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


LEMP o Linux , Engine-x , MySQL e PHP stack è 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 MySQL/MariaDB del database.

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

Installazione del server HTTP Nginx

Nginx è un server HTTP e proxy 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 presenza 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 attivarlo all'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

A questo punto, il server Web Nginx dovrebbe essere attivo e in esecuzione, è inoltre possibile verificare lo stato utilizzando il comando netstat come mostrato.

$ sudo netstat -tlpn | grep nginx

Ora, dobbiamo testare 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 radice web. Abbiamo bisogno di creare un nuovo file index.html sotto la directory web root /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 firewalld, devi aprire la porta 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

Quindi, 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 dei database relazionale 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 

Quindi, avviare il servizio MariaDB per ora, quindi abilitarlo per l'avvio automatico all'avvio e controllare il suo stato.

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

Il prossimo passaggio critico in questa sezione è quello di proteggere l'installazione del server MariaDB. Quindi eseguire lo script di sicurezza fornito con il pacchetto MariaDB, come mostrato.

$ sudo mysql_secure_installation 

Dopo aver eseguito lo script, leggere attentamente la descrizione ad ogni passaggio. È necessario impostare una password utente root, rimuovere 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 daemon alternativo FastCGI per PHP con alcune funzionalità aggiuntive e progettato per gestire carichi elevati. Mantiene i pool ( worker che possono rispondere alle richieste PHP) per raggiungere questo obiettivo. È importante sottolineare che è più veloce rispetto ai metodi tradizionali 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 , è necessario 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 la modifica.

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

Decommentare la riga seguente al numero di riga 24 come mostrato.

error_log = log/php-fpm.log

Salva e chiudi il file.

Successivamente, è necessario 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 di processi all'utente e al gruppo Nginx. Fai questo cambiando i valori dei parametri utente e di gruppo da nobody a nginx .

user = nginx
group = nginx

Ora salva le modifiche al file e chiudilo.

Inoltre, c'è una configurazione più 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 cambialo in.

cgi.fix_pathinfo=0

Salva le modifiche nel file ed esci.

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

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

Configurare Nginx per funzionare con PHP-FPM

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

$ sudo vim /etc/nginx/nginx.conf

Quindi cerca la seguente sezione 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 seguente sezione (che dovrebbe essere commentata) e decommentala. Questa sezione è 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; 
       }

Salva le modifiche nel file ed esci.

Test di Nginx e PHP-FPM

Il prossimo passo è verificare se Nginx funzioni 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 è ok, procedi e riavvia i servizi Nginx e PHP-FPM per rendere effettive le modifiche recenti.

$ sudo systemctl restart nginx php-fpm

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

Installazione e configurazione di PhpMyAdmin

phpMyAdmin è uno strumento gratuito, semplice, facile da usare e popolare, scritto in PHP, creato per amministrare il server MySQL sul Web. Sopporta 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 . Una pagina di accesso phpMyAdmin dovrebbe essere visualizzata 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 , < forte> PHP-FPM e PhpMyAdmin sulle OpenSuse edizioni desktop/server. In caso di problemi durante l'installazione, fai le tue domande tramite un modulo di commento qui sotto.