Nota:

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

Obiettivi

Al termine dell'esercitazione, è necessario eseguire le operazioni riportate di seguito.

Installazione e configurazione del pacchetto server Web

  1. Installare il pacchetto httpd e le relative dipendenze.

    sudo dnf install httpd
    
  2. 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
    
  3. (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
    
  4. 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.

  1. 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.com

    DocumentRoot /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.

  2. 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/
    
  3. 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.

  1. 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.

  1. Installare il componente aggiuntivo HTTPS per Apache.

    sudo dnf install mod_ssl
    sudo systemctl restart httpd
    
  2. 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.com

    SSLEngine su SSLCertificateFile /etc/pki/tls/private/certificate.crt
    SSLCertificateKeyFile /etc/pki/tls/private/private.key

    DocumentRoot /var/www/example.com/html/

    ErrorLog /var/log/httpd/example.com_error.log
    CustomLog /var/log/httpd/example.com_access.log combinato

    </VirtualHost>

  3. 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.com

    Reindirizza "/" "https://example.com/"

    </VirtualHost>

  4. Riavviare il servizio Apache per caricare la nuova configurazione.

    sudo systemctl restart httpd
    
  5. (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.