Introduzione
Nel mondo dello sviluppo web, impostare uno stack LAMP è un'abilità fondamentale che ogni sviluppatore dovrebbe possedere. Lo stack LAMP, che sta per Linux, Apache, MySQL e PHP, fornisce una piattaforma potente e versatile per lo sviluppo e l'hosting di applicazioni web. Questa guida ti guiderà attraverso il processo di installazione di uno stack LAMP su Amazon Linux 2, una scelta popolare per molti sviluppatori grazie alla sua stabilità e integrazione con i servizi AWS.
Prerequisiti
Prima di iniziare, assicurati di avere:
- Un account AWS
- Un'istanza in esecuzione di Amazon Linux 2
- Accesso SSH alla tua istanza
Passaggio 1: aggiorna il tuo sistema
Innanzitutto, connettiti alla tua istanza Amazon Linux 2 tramite SSH. Una volta effettuato l'accesso, è buona norma aggiornare il sistema ai pacchetti più recenti. Esegui il seguente comando:
sudo yum update -y
Passaggio 2: installa Apache
Apache è un software server Web ampiamente utilizzato che servirà la tua applicazione Web agli utenti. Per installare Apache, esegui:
sudo yum install httpd -y
Una volta completata l'installazione, ti consigliamo di avviare il servizio Apache e abilitarlo all'avvio all'avvio:
sudo systemctl start httpd
sudo systemctl enable httpd
Puoi verificare che Apache sia in esecuzione accedendo al DNS pubblico o all'indirizzo IP della tua istanza in un browser web. Dovresti vedere la pagina di test di Apache.
Passaggio 3: installa MySQL (MariaDB)
Amazon Linux 2 utilizza MariaDB, un fork di MySQL sviluppato dalla comunità, come sistema di gestione del database predefinito. Per installare MariaDB, utilizzare il seguente comando:
sudo yum install mariadb-server -y
Similmente ad Apache, avvia e abilita il servizio MariaDB:
sudo systemctl start mariadb
sudo systemctl enable mariadb
Per sicurezza, esegui lo script mysql_secure_installation:
sudo mysql_secure_installation
Segui le istruzioni visualizzate sullo schermo per configurare l'installazione di MariaDB, inclusa l'impostazione di una password di root e la rimozione di utenti anonimi.
Passaggio 4: installa PHP
PHP è un linguaggio di scripting server utilizzato per lo sviluppo web. Per installare PHP insieme ad alcune estensioni comuni, esegui:
sudo yum install php php-mysqlnd php-pdo php-gd php-mbstring -y
Dopo aver installato PHP, è necessario riavviare Apache per applicare le modifiche:
sudo systemctl restart httpd
Per testare la tua installazione PHP, crea un file PHP di prova nella directory root web:
echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/phpinfo.php
Passare a http://<your-public-dns-or-ip>/phpinfo.php in un browser web. Dovresti vedere la pagina delle informazioni PHP.
Passaggio 5: proteggi il tuo stack
La sicurezza è fondamentale. Assicurati che il tuo gruppo di sicurezza AWS consenta il traffico solo sulle porte necessarie (80 per HTTP, 443 per HTTPS e facoltativamente 22 per SSH). Prendi in considerazione la configurazione di un firewall con firewalld o iptables e mantieni sempre aggiornato il tuo software.
Passaggio 6: crea un host virtuale (facoltativo)
Un host virtuale ti consente di servire più siti Web da un singolo server Apache. Creeremo un host virtuale per un sito Web di esempio denominato example.com.
Crea una directory per il tuo sito web
Innanzitutto, crea una directory per contenere i file del tuo sito web. Sostituisci example.com con il tuo nome di dominio effettivo.
sudo mkdir -p /var/www/example.com/public_html
Imposta autorizzazioni
Successivamente, modifica le autorizzazioni per garantire che i file del tuo sito web siano accessibili al server web Apache.
sudo chown -R apache:apache /var/www/example.com/public_html
sudo chmod -R 755 /var/www
Crea una pagina di esempio
Crea un semplice file HTML per testare la configurazione dell'host virtuale.
echo "<h1>Welcome to example.com!</h1>" | sudo tee /var/www/example.com/public_html/index.html
Crea il file host virtuale Apache
Affinché Apache possa servire questo contenuto, è necessario creare un file host virtuale per example.com.
sudo vi /etc/httpd/conf.d/example.com.conf
Aggiungi la seguente configurazione, adattandola al nome del tuo dominio e ai percorsi:
<VirtualHost *:80>
ServerName example.com
ServerAlias www.example.com
DocumentRoot /var/www/example.com/public_html
ErrorLog /var/log/httpd/example.com-error.log
CustomLog /var/log/httpd/example.com-access.log combined
</VirtualHost>
Riavvia Apache
Applica le modifiche riavviando Apache.
sudo systemctl restart httpd
Il tuo host virtuale è ora configurato. L'accesso a http://example.com dovrebbe visualizzare la pagina di esempio che abbiamo creato.
Passaggio 7: Proteggiti con Let's Encrypt
Proteggere il tuo sito web con HTTPS è essenziale per la sicurezza e il SEO. Let's Encrypt fornisce certificati SSL gratuiti. Ecco come configurarne uno per il tuo nuovo host virtuale.
Installa Certbot
Certbot è uno strumento che automatizza il processo di ottenimento e rinnovo dei certificati SSL Let's Encrypt.
sudo yum install certbot python3-certbot-apache -y
Esegui Certbot
Esegui Certbot per ottenere automaticamente un certificato SSL e configurare il tuo host virtuale per utilizzarlo.
sudo certbot --apache -d example.com -d www.example.com
Seguire le istruzioni sullo schermo. Certbot modificherà la configurazione di Apache per utilizzare il certificato SSL e ricaricherà automaticamente il server.
Configurazione del rinnovo automatico
I certificati Let's Encrypt sono validi per 90 giorni. Certbot può rinnovarli automaticamente. Prova il rinnovo automatico con:
sudo certbot renew --dry-run
Se questo comando viene eseguito senza errori, il rinnovo automatico è impostato correttamente.
Conclusione
Hai installato correttamente uno stack LAMP su Amazon Linux 2. Questa configurazione fornisce una solida base per l'hosting di applicazioni Web. Da qui puoi distribuire le tue applicazioni, esplorare configurazioni più avanzate e iniziare a sviluppare con uno degli stack più popolari nello sviluppo web.
Ricorda, la gestione di un server Web e di siti Web è un processo continuo. Aggiorna regolarmente il tuo software, monitora le prestazioni del tuo server e assicurati che le tue applicazioni siano sicure. Con questi passaggi sei sulla buona strada per gestire con successo una presenza sul Web solida e sicura.