Uno stack LAMP è un'insieme di software open source che solitamente vengono installati insieme per consentire ad un server di hostare siti web dinamici. Il termine LAMP è un'acronimo che rappresenta il sistema operativo Linux, il web server Apache, il database MySQL dove vengono conservati i dati del sito e infine del linguaggio PHP, che processa il contenuto dinamico.
In questa guida vedremo come installare lo stack LAMP su una VPS con il sistema operativo CentOS 7, una distribuzione Linux.
Prima di iniziare a seguire tutti i procedimenti, dovreste avere un account separato non-root sul tuo server!
Installazione Apache
Il web server Apache è attualmente il più popolare web server nel mondo, il che lo rende ottimo per hostare un sito web.
Possiamo installare Apache, utilizzando il packet manager yum
di CentOS utilizzando il seguente comando:
sudo yum install httpd
Dato che stiamo utilizzando la parola sudo prima del comando, tutti i comandi verranno eseguiti con i privilegi di root, quindi verrà richiesta la password.
Dopo aver installato il web server, possiamo avviare Apache sulla VPS:
sudo systemctl start httpd.service
Puoi controllare che tutto sia stato installato correttamente inserendo l'indirizzo IP del tuo server nel browser e vedere la pagina di Apache predefinita. Dovrebbe assomigliare a questa:
Se vedi questa pagina, Apache è stato installato correttamente.
Ora dovrai solamente impostare l'avvio automatico di Apache al boot del sistema, con il seguente comando:
sudo systemctl enable httpd.service
Installare MySQL (MariaDB)
Dopo aver installato il web server, dobbiamo installare MariaDB, un sostituto di MySQL. MariaDB è una fork di MySQL sviluppata dalla community.
Anche in questo caso possiamo utilizzare yum per l'installazione. Inoltre, aggiungeremo a MariaDB un pacchetto ausiliario, che ci aiuterà a far comunicare meglio tra loro i componenti.
sudo yum install mariadb-server mariadb
Una volta completata l'installazione, possiamo avviare MariaDB con questo comando:
sudo systemctl start mariadb
Ora che il nostro database MySQL è in esecuzione, possiamo eseguire un semplice script di sicurezza che si occuperà di rimuovere alcune impostazioni predefinite pericolose e di limitare l'accesso al nostro database. Avvia lo script con questo comando:
sudo mysql_secure_installation
Appena avviato, lo script chiederà la password root corrente. Siccome avete appena installato MySQL, molto probabilmente non ce ne sarà una, quindi potete semplicemente lasciare in bianco e premere Invio. A questo punto lo script chiederà di impostare una password root. Procedi premendo Y
e seguendo le istruzioni.
Per il resto delle domande, premete semplicemente "Invio" per accettare i valori predefiniti. Questo rimuoverà utenti e database di prova, disabilità l'accesso root remoto e caricherà queste regole in modo che MySQL rispetti i cambiamenti che abbiamo appena effettuato.
L'ultima cosa da fare, come per Apache, è quella di impostare l'avvio automatico di MariaDB al boot di sistema utilizzando il seguente comando:
sudo systemctl enable mariadb.service
Installare PHP
PHP è il componente che si occuperà di processare il codice e mostrare il contenuto dinamico delle pagine. Può eseguire scripts, connettersi ai database MySQL per leggere e scrivere informazioni e infine passare il contenuto processato al web server per essere visualizzato.
Ancora una volta utilizziamo yum
per l'installazione di PHP. Nel seguente comando andremo anche ad includere il pacchetto php-mysql
.
sudo yum install php php-mysql
Dopo aver installato PHP, dobbiamo riavviare Apache in modo da consentire al web server di lavorare con il nuovo installato. Per farlo utilizziamo il comando:
sudo systemctl restart httpd.service
Installare moduli PHP
Per aumentare le funzionalità di PHP, è possibile installare alcuni moduli opzionali. Per vedere quali moduli sono disponibili, usa questo comando:
yum search php-
Il risultato sarà una lista di componenti opzionali che potete installare. Oltre al nome ci sarà anche una breve descrizione per ogni componente. Se volete ulteriori informazioni sul pacchetto potete utilizzare il comando yum info
seguito dal nome del pacchetto. Per esempio:
yum info php-fpm
Se dopo aver letto le informazioni, decidete di installare il pacchetto, utilizzate il comando:
sudo yum install php-fpm
Potete anche installare più di un pacchetto con lo stesso comando, basterà separare i nomi con uno spazio, come abbiamo visto in alcuni esempi precedenti.
A questo punto lo stack LAMP è stato installato e configurato. Ora dobbiamo testare PHP.
Testare PHP
Per essere sicuri che il nostro sistema sia configurato correttamente per PHP, creeremo uno script base.
Questo script lo chiameremo info.php e perché Apache trovi il file e lo visualizzi correttamente, deve essere posizionato in una directory specifica, chiamata "web root". Su CentOS 7, questa directory si trova su /var/www/html/.
Ora, con il seguente comando, possiamo creare il file info.php
sudo vi /var/www/html/info.php
Dopo aver eseguito il comando, verrà aperto un file vuoto, all'interno del quale possiamo mettere del codice PHP. In questo caso scriveremo semplicemente questa riga di codice:
<?php phpinfo(); ?>
Una volta finito, salva e chiudi il file seguendo le indicazioni presenti sullo schermo.
Se stai usando un firewall, ricordati di eseguire i seguenti comandi per consentire il traffico HTTP e HTTPS.
sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload
Giunti a questo punto non ci rimane che verificare se effettivamente il nostro web server appena configurato è in grado di visualizzare o no il contenuto generato da uno script PHP. Per farlo, come prima, ci basterà visitare la seguente pagina web, inserendo ovviamente l'indirizzo IP del nostro server.
http://indirizzo_ip_server/info.php
La pagina che viene caricata dovrebbe assomigliare a questa:
Questa pagina consente di visualizzare alcune informazioni sul vostro server riguardanti PHP. Si può rivelare molto utile per verificare che le vostre impostazioni siano state applicate correttamente.
Dopo aver verificato che il tuo server funzioni correttamente, forse vorrai rimuovere questa pagina dato che rivela informazioni sul tuo server a potenziali utenti non autorizzati. Per farlo utilizza questo comando:
sudo rm /var/www/html/info.php
Conclusione
Ora che hai installato lo stack LAMP, puoi fare moltissime cose. Hai a disposizione una piattaforma che ti permetterà di installare la maggior parte di software web, come WordPress o Drupal, solo per citarne alcuni, ma anche moltissimi siti web scritti in PHP.