Nota:
- Questa esercitazione richiede l'accesso a Oracle Cloud. Per iscriversi a un account gratuito, vedere Inizia a utilizzare Oracle Cloud Infrastructure Free Tier.
- Utilizza valori di esempio per le credenziali, la tenancy e i compartimenti Oracle Cloud Infrastructure. Al termine del laboratorio, sostituire questi valori con quelli specifici del tuo ambiente cloud.
Installare il server Web Apache
Introduzione
Apache è in sviluppo attivo dal 1993 e nel corso del tempo è diventato uno dei server Web più popolari al mondo. Il server Web Apache è un componente chiave dello stack software LAMP (Linux, Apache, Oracle MySQL e Perl/PHP) e continua a essere ampiamente utilizzato oggi.
Il server Web Apache è disponibile direttamente dal repository Application Streams disponibile in Oracle Linux 8 o versioni successive ed è semplice da distribuire e configurare.
Prerequisiti
- Qualsiasi sistema con Oracle Linux 8 installato
Obiettivi
Al termine dell'esercitazione, è necessario eseguire le operazioni riportate di seguito.
- Installare e configurare il pacchetto Apache
- Configurare il firewall
- Applica configurazioni Apache
- Protezione servizi Web
Installazione e configurazione del pacchetto server Web
-
Installare il pacchetto
httpd
e le relative dipendenze.sudo dnf install httpd
-
Abilitare e avviare il servizio
httpd
.Questo comando abilita e avvia il servizio
httpd
per un uso immediato, nonché avvia il servizio automaticamente dopo un reboot del sistema.sudo systemctl enable --now httpd.service
Per controllare lo stato del servizio, digitare:
sudo systemctl status httpd
-
(Facoltativo) Se si utilizza un profilo firewall personalizzato o un'istanza di Oracle Cloud Infrastructure, aprire la porta firewall per il Web Service Apache (80).
Questi comandi consentono la porta firewall per il servizio Web Apache e ricaricano il servizio firewall predefinito:
sudo firewall-cmd --add-service=http --permanent sudo firewall-cmd --reload
-
Eseguire il test della distribuzione.
Con il browser Web, immettere il nome di dominio o l'indirizzo IP del sistema, ad esempio http://myserver.example.com. Il server Web Apache apre la pagina di test predefinita.
Configurazione di Apache
Per modificare il percorso radice del server Web, non modificare direttamente il file /etc/httpd/conf/httpd.conf
. In alternativa, come metodo preferito, creare un file di configurazione specifico del sito nella directory /etc/httpd/conf.d
.
Nell'esempio seguente, il file /etc/httpd/conf.d/example.com.conf
viene creato per contenere configurazioni per gli host virtuali.
-
Creare host virtuali aggiungendo le seguenti informazioni in
/etc/httpd/conf.d/example.com.conf
:Ascolta *:80
<VirtualHost *:80>
ServerName example.com
ServerAlias www.example.comDocumentRoot /var/www/example.com/html/
ErrorLog /var/log/httpd/example.com_error.log
CustomLog /var/log/httpd/example.com_access.log combinato</VirtualHost>
ServerName e ServerAlias possono essere i nomi host, i nomi di dominio o gli indirizzi IP che è possibile utilizzare per accedere al servizio.
-
Creare la cartella radice del documento.
La cartella radice ospita le pagine Web fornite da Apache ai browser.
sudo mkdir -p /var/www/example.com/html sudo echo "example.com" > /var/www/example.com/html/index.html sudo chown -R apache:apache /var/www/example.com/html
Nei sistemi in cui SELinux è abilitato in modalità di applicazione e le pagine non vengono fornite da
/var/www directory
, è necessario applicare il contesto di sicurezza corretto alla directory DocumentRoot. Ad esempio, per utilizzare le pagine Web dalla directory/mnt/example.com
, digitare:sudo semanage fcontext -a -t httpd_sys_content_t "/mnt/example.com(/.*)?" sudo restorecon -Rv /mnt/example.com/
-
Applicare la configurazione.
sudo systemctl restart httpd
Protezione del servizio Web
Come best practice, proteggere tutte le comunicazioni tra un browser Web e il server Apache utilizzando HTTPS. Per un'impostazione sicura, è necessario un certificato TLS.
- Configurare i certificati TLS/SSL.
Nota:
Oracle consiglia di utilizzare un certificato TLS firmato da un'autorità di certificazione esterna (CA, Certificate Authority). Per ulteriori informazioni, vedere Oracle Linux: Gestione dei certificati e dell'infrastruttura con chiave pubblica.
-
Installare il componente aggiuntivo HTTPS per Apache.
sudo dnf install mod_ssl sudo systemctl restart httpd
-
Aggiornare la configurazione Apache. Ad esempio, in
/etc/httpd/conf.d/example.com.conf
aggiungere la configurazione seguente:Ascolta *:443
<VirtualHost *:443>
ServerName example.com
ServerAlias www.example.comSSLEngine su SSLCertificateFile /etc/pki/tls/private/certificate.crt
SSLCertificateKeyFile /etc/pki/tls/private/private.keyDocumentRoot /var/www/example.com/html/
ErrorLog /var/log/httpd/example.com_error.log
CustomLog /var/log/httpd/example.com_access.log combinato</VirtualHost>
-
Reindirizza le richieste HTTP a HTTPS.
Sostituire la configurazione HTTP VirtualHost esistente con un reindirizzamento, come indicato di seguito.
<VirtualHost *:80>
ServerName example.com
ServerAlias www.example.comReindirizza "/" "https://example.com/"
</VirtualHost>
-
Riavviare il servizio Apache per caricare la nuova configurazione.
sudo systemctl restart httpd
-
(Opzionale) Configurare il firewall.
Questi comandi consentono la porta firewall 443 per il servizio HTTPS Apache e ricaricano il servizio firewall predefinito:
sudo firewall-cmd --add-service=https --permanent sudo firewall-cmd --reload
Altre risorse di apprendimento
Esplora altri laboratori su docs.oracle.com/learn o accedi a più contenuti di apprendimento gratuito sul canale Oracle Learning YouTube. Inoltre, visitare education.oracle.com/learning-explorer per diventare Oracle Learning Explorer.
Per la documentazione del prodotto, visitare il sito Oracle Help Center.