Un’altra guida su come installare un server LAMP
Su un VPS Aruba
Installare il sistema operativo, io ho installato Linux Ubuntu 24.04 LTS
… e quindi la L l’abbiamo già fatta
A questo punto possiamo installare il server web Apache2
In questa guida supporrò sempre di essere utente di root, se così non fosse occorre far precedere tutti i comandi da “sudo”.
Per installare Apache2 digitare: apt install apache2 -y
Per verificarne la corretta installazione possiamo digitare: systemctl status apache2

Ora proviamo a digitare la URL: http://<indirizzo IP del server>/
Se la pagina di Apache non viene raggiunta, poichè il server non è raggiungibile, probabilmente occorrerà aprire le porte sul firewall del server stesso.
Verifichiamo se abbiamo il pacchetto net-tools con il comando
dpkg -l | grep net-tools

se quindi il pacchetto è installato possiamo aprire la porta 80 con il comando
ufw allow 80

Visto che ci siamo apriamo anche la porta 443 che ci servirà per il protocollo HTTPS
ufw allow 443
Installiamo ora MySql
apt install mysql-server
Verifichiamone lo stato con
service mysql status

l server è attivo, ma la configurazione utilizzata è quella di default, la sicurezza è scarsa, è consigliato eseguire lo script di configurazione del DBMS per settare le autenticazioni e rimuovere gli accessi anonimi
mysql_secure_installation
La prima impostazione richiesta è il VALIDATE PASSWORD COMPONENT cioè il plugin per il controllo sulla robustezza delle password. Se si risponde Yes si avrà un errore nel caso di uso di una password debole.
La seconda domanda è sulla rimozioni degli account anonimi, qui rispondere sicuramente Yes.
Altra domanda sulla possibilità di effettuare login da remoto come root, rispondere Yes cioè disabilitare la login da remoto.
Rimuovere il database di test? Rispondere Yes.
Effettuiamo il reload delle tabelle dei privilegi, in modo da applicare le nostre modifiche immediatamente. Rispondere Yes.
Possiamo ora accedere a MySql con
mysql -u root
Per accedere da remoto, come per esempio con un client come MySql Workbench, ci occorre settare una password di root di MySql
Innanzitutto occorre impostare il database: per vedere i data base presenti sul sistema appena installato digitiamo
show databases;
otterremo:

ciò che ora a noi interessa è il database mysql, quindi digitiamo:
use mysql;
a questo punto possiamo impostare la password di root di MySql con uno dei due seguenti comandi:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'LA_MIA_PASSWORD';
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'LA_MIA_PASSWORD';
e poi un FLUSH PRIVILEGES che non fa mai male.
Accertiamoci del buon esito con la seguente query:
select user, host, plugin, authentication_string from user;

A questo punto possiamo uscire da MySql con exit e provare a rientrare, Verifichiamo che non riusciamo più a farlo con il solo comando mysql e che ora occorrerà fornire la password impostata dopo il comando
mysql -u root -p
Installiamo PHP
Usiamo il comando seguente per installare PHP e i moduli necessari per far interagire PHP con Apache e MySql.
apt install php libapache2-mod-php php-mysql
Per permettere al web server Apache di eseguire i file index.php prima dei file index.html e degli altri occorre modificare il file /etc/apache2/mods-enabled/dir.conf come segue:
DirectoryIndex index.php index.html index.cgi index.pl index.xhtml index.htm
Riavviamo il server Apache per rendere effettive le modifiche.
Una nota: se vengono creati degli altri utenti di sistema e non funziona il collegamento in SSH con i chiave, verificare i permessi e i proprietari delle cartelle dove è contenuta la chiave.
