In questo tutorial, ti mostreremo come installare LEMP su CentOS 7. Per quelli di voi che non lo sapessero, uno stack software LEMP è un gruppo di software open source che è tipicamente installati insieme per consentire a un server di ospitare siti web dinamici e app Web. Questo termine è in realtà un acronimo che rappresenta il sistema operativo Linux, con il webserver Nginx (che sostituisce il componente Apache di uno stack LAMP).I dati del sito sono archiviati in un database MySQL (usando MariaDB) e il contenuto dinamico viene elaborato da PHP.
Questo articolo presuppone che tu abbia almeno una conoscenza di base di Linux, sappia come usare la shell e, soprattutto, che ospiti il tuo sito sul tuo VPS. L'installazione è abbastanza semplice. Lo farò mostra l'installazione passo passo di LEMP (Linux, Nginx, MariaDB e PHP) sul server CentOS 7.
Installa LEMP su CentOS 7
Passaggio 1. Prima di tutto, assicurati che tutti i pacchetti siano aggiornati.
yum -y update
Passaggio 2. Installazione e configurazione di NGINX in CentOS 7.
Nginx non è ancora disponibile nei repository ufficiali di CentOS 7, quindi dobbiamo aggiungere/installare il repository Nginx yum eseguendo il comando seguente:
rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm yum install nginx
Avvia Nginx e aggiungilo per avviarlo automaticamente all'avvio del tuo sistema usando:
systemctl restart nginx systemctl enable nginx
Puoi verificare che Nginx sia realmente in esecuzione aprendo il tuo browser web preferito e inserendo l'URL http://indirizzo-del-tuo-server, se è installato, quindi vedrai questo:
Passaggio 3. Configura il server web Nginx.
Diciamo che hai un dominio mydomain.com e ti piace usarlo per ospitare un'applicazione web basata su PHP in /var/www/mydomain.com
come WordPress, Joomla. Per impostare Nginx serve richieste per mydomain.com e servire gli script PHP in /var/www/mydomain.com dovresti creare un blocco server in /etc/nginx/conf.d/mydomain.com.conf
che assomiglierebbe a questo:
### nano /etc/nginx/conf.d/mydomain.com.conf server { server_name mydomain.com; listen 80; root /var/www/mydomain.com; access_log /var/log/nginx/mydomain.com-access.log; error_log /var/log/nginx/mydomain.com-error.log; index index.php; location / { try_files $uri $uri/ /index.php?$args; } location ~* \.(jpg|jpeg|gif|css|png|js|ico|html)$ { access_log off; expires max; } location ~ /\.ht { deny all; } location ~ \.php { try_files $uri = 404; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; include /etc/nginx/fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } }
Testa e riavvia Nginx usando:
nginx -t systemctl restart nginx
Passaggio 4. Installazione e configurazione di PHP su CentOS 7.
Installa PHP su CentOS 7 con il seguente comando per iniziare l'installazione:
yum install php-fpm php-mysql php-mcrypt
Puoi installare alcune altre estensioni PHP richieste dalle tue applicazioni. Di seguito è riportato un elenco dei moduli PHP disponibili:
php-bcmath : A module for PHP applications for using the bcmath library php-cli : Command-line interface for PHP php-common : Common files for PHP php-dba : A database abstraction layer module for PHP applications php-devel : Files needed for building PHP extensions php-embedded : PHP library for embedding in applications php-enchant : Enchant spelling extension for PHP applications php-fpm : PHP FastCGI Process Manager php-gd : A module for PHP applications for using the gd graphics library php-intl : Internationalization extension for PHP applications php-ldap : A module for PHP applications that use LDAP php-mbstring : A module for PHP applications which need multi-byte string handling php-mysql : A module for PHP applications that use MySQL databases php-mysqlnd : A module for PHP applications that use MySQL databases php-odbc : A module for PHP applications that use ODBC databases php-pdo : A database access abstraction module for PHP applications php-pear.noarch : PHP Extension and Application Repository framework php-pecl-memcache : Extension to work with the Memcached caching daemon php-pgsql : A PostgreSQL database module for PHP php-process : Modules for PHP script using system process interfaces php-pspell : A module for PHP applications for using pspell interfaces php-recode : A module for PHP applications for using the recode library php-snmp : A module for PHP applications that query SNMP-managed devices php-soap : A module for PHP applications that use the SOAP protocol php-xml : A module for PHP applications which use XML php-xmlrpc : A module for PHP applications which use the XML-RPC protocol
Riavvia Nginx in modo che tutte le modifiche abbiano effetto:
systemctl restart nginx systemctl restart php-fpm systemctl enable php-fpm
Per testare PHP, crea un file di prova chiamato info.php con il contenuto seguente. Salva il file, quindi cercalo per vedere se PHP funziona:
nano /var/www/html/info.php
<?php phpinfo(); ?>
Passaggio 5. Installazione e configurazione di MariaDB su CentOS 7.
Installa MariaDB con il seguente comando per iniziare l'installazione:
yum install mariadb mariadb-server mysql
Dopodiché aggiungilo all'avvio del tuo sistema e avvia il server MariaDB usando i seguenti comandi:
systemctl restart mariadb systemctl status mariadb systemctl enable mariadb
Per impostazione predefinita, MariaDB non è protetto. Puoi proteggere MariaDB usando lo script mysql_secure_installation. dovresti leggere attentamente e sotto ogni passaggio che imposterà una password di root, rimuovere anonimo utenti, non consentire l'accesso root remoto e rimuovere il database di test e l'accesso per proteggere MySQL:
mysql_secure_installation
Per accedere a MariaDB, usa il comando seguente (nota che è lo stesso comando che useresti per accedere a un database MySQL):
mysql -u root -p
Passaggio 6. Configura IPTables o firewall.
firewall-cmd --permanent --zone=public --add-service=http firewall-cmd --permanent --zone=public --add-service=https firewall-cmd --reload
Congratulazioni! Hai installato con successo lo stack LEMP. Grazie per aver utilizzato questo tutorial per l'installazione di LEMP (Linux Nginx, MariaDB e PHP) nel sistema CentOS 7. Per ulteriore aiuto o informazioni utili, ti consiglio di controllare i siti Web ufficiali di Nginx, MariaDB e PHP.