Guida non verificata da molto tempo. Può contenere informazioni utili per la versione Ubuntu Pro 18.04 - Clicca qui!

Problemi in questa pagina? Segnalali in questa discussione

Introduzione

In questa guida verrà spiegato come installare e configurare il Server Web Apache e come abilitare il supporto a php e MySql.

Definizione di Server Web:

Intallazione

Installare il pacchetto apache2.

Aprire il proprio browser e accedere all'indirizzo http://127.0.0.1 oppure http://localhost. Se l'installazione è andata a buon fine sarà possibile leggere il messaggio:

It works!

This is the default web page for this server.

The web server software is running but no content has been added, yet.

Configurazione

Di seguito verranno elencati i file e le cartelle presenti all'interno di /etc/apache2 che sono necessari per la configurazione del server Apache:

File di configurazione aggiuntivi possono essere impostati attraverso la direttiva Include. Per esempio, la direttiva

Include /etc/apache2/conf.d/

farà in modo che il server Apache importi le impostazioni presenti all'interno della cartella /etc/apache2/conf.d/.

Per rendere effettive le modifiche sui file di configurazione è necessario riavviare il server digitando con permessi di amministrazione il seguente comando in una finestra di terminale:

sudo service apache2 restart

Configurazione di Base

In questa sezione vengono fornite e commentate le direttive più importanti per il funzionamento e la configurazione del server Apache. Per ulteriori informazioni, fare riferimento alla documentazione ufficiale.

Personalizzare il proprio sito

In via predefinita, Apache utilizza un unico file di configurazione globale per la gestione dei VH. Si tratta del file /etc/apache2/sites-available/default. Se il server dovrà servire un unico sito è possibile mantenere questa configurazione, personalizzando i campi necessari. In particolare:

Per gli ultimi due esempi, assicurarsi di avere configurato correttamente il file /etc/hosts.

Creare un nuovo sito

Utilizzare il file di configurazione di default come base. Fare riferimento al paragrafo Hosting Virtuale per avere informazioni più dettagliate.

  1. Creare una copia del file di configurazione di default digitando con permessi di amministrazione il seguente comando in una finestra di terminale:

    sudo cp /etc/apache2/sites-available/default /etc/apache2/sites-available/miosito

    miosito sarà il file di configurazione del nuovo sito che si vuole impostare;

  2. Personalizzare la configurazione di miosito utilizzando le direttive necessarie;

  3. Abilitare il sito con il comando

    sudo a2ensite miosito
  4. Riavviare il server Apache per rendere effettive le modifiche con il comando:

    sudo service apache2 restart
  5. Per disabilitare un sito precedentemente abilitato utilizzare il comando:

    sudo a2dissite miosito

Altre direttive utili

Molte altre direttive possono esse impostate per ogni sito che si ha la necessità di configurare. Per un elenco completo si può fare riferimento alla documentazione ufficiale. Alcune di queste, che possono risultare utili vengono riportate di seguito:

Autorizzazione basata sull'Utente

Per configurare l'autenticazione a livello utente procedere come segue:

  1. Creare file per utenti: /usr/local/apache/conf/htuser

  2. Creare utenti in /usr/local/apache/conf/htuser con comando:

    htpasswd -c htuser <nomeutente>
  3. Creare gruppo htusers nel file /usr/local/apache/conf/htgroup. Il formato del file è il seguente:

    Groupname: user1 user2 user3 ..
  4. Inserire nel file /etc/apache2/sites-available/default le seguenti direttive:

    AuthUserFile conf/htuser
    AuthGroupFile  conf/htgroup
  5. Impostazioni controllo accesso:

    Require user username1 username2  
    Require group groupname1 groupname2 
    Require valid-user 
    • la prima direttiva consente l'accesso a username1 username2..

    • la seconda direttiva consente l'accesso a groupname1 groupname2..

    • la terza direttiva consente l'accesso solo agli utenti definiti in htuser

Hosting virtuale

Un singolo server può ospitare più siti. La gestione dei siti può essere fatta nei seguenti modi:

È possibile identificare tre tipi di hosting virtuale :

Per scegliere tra le diverse configurazioni si possono seguire i punti successivi come linee guida:

VH Host based

Si utilizza la direttiva <VirtualHost> da specificare all'interno del file /etc/apache2/sites-availabe/miosito e all'interno delle opzioni di directory come nell'esempio riportato:

</VirtualHost>
BindAddress 0.0.0.0
Port 80
DocumentRoot /usr/local/apache/htdocs
ServerName site1.example.com
<VirtualHost 192.168.1.2>
DocumentRoot /usr/local/apache/htdocs2
ServerName site2.example.com
...
</VirtualHost> 

In questo caso il sito web di default serve site1.example.com, mentre l'IP 192.168.1.2 serve il sito site2.example.com.

VH Name based

Esempio:

Listen 192.168.1.232
NameVirtualHost 192.168.1.232
<VirtualHost 192.168.1.232>
DocumentRoot /home/httpd/ex1
ServerName www1.example.com
..
</VirtualHost>
..
<VirtualHost 192.168.1.232>
DocumentRoot /var/apache/htdocs2
ServerName www2.example.com
..
</VirtualHost>

In questo caso si ha un unico IP ma due nomi server distinti (due nomi nel DNS,di cui uno sarà un alias name) che servono due siti distinti.

Server HTTPS

Il modulo ssl fornisce al server Apache la capacità di criptare la comunicazione con il client. Quando questo tipo di comunicazione criptata è attivo, l'URL del sito che si sta visitando è preceduto dal prefisso https://. Per utilizzare questa estensione è sufficiente:

  1. Abilitare il modulo digitando in una finestra di terminale, il comando:

    sudo a2enmod ssl
    • Con l'installazione base di Apache viene fornito un sito, chiamato default-ssl, utilizzabile come base di partenza per la configurazione del proprio sito protetto con SSL. Come configurazione di partenza, questo sito utilizza una chiave ed un certificato generati automaticamente dal pacchetto ssl-cert.

  2. Abilitare il sito default-ssl con il comando

    sudo a2ensite default-ssl
  3. Modificare le direttive
    • SSLCertificateFile;
    • SSLCertificateKeyFile;
    in modo che puntino alle directory dove sono collocati i file relativi al certificato e alla chiave del vostro sito;
  4. Riavviare il server Apache con il comando

    sudo service apache2 restart

Controllo dei file di log

Tutti i file di log si trovano nella directory /var/log/apache2. In via predefinita, sono:

Forniscono utili informazioni per il debugging dei problemi che si possono presentare.

Supporto PHP e MySQL

PHP

Installare i pacchetti libapache2-mod-php, php-cli, php-common, php-cgi.

Riavviare Apache digitando in una finestra di terminale:

sudo service apache2 restart

MySQL

Fare riferimento alla relativa guida.

Installazione All-in-One

Se si vogliono installare comtamporaneamente i pacchetti Apache2 con supporto PHP e MySQL, ovvero se si vuole disporre di un server LAMP (Linux-Apache-MySql-Php) è possibile procedere in modo veloce con la seguente procedura:

  1. Installare il pacchetto tasksel

  2. Installare il server LAMP con il comando

    sudo tasksel install lamp-server

Ulteriori risorse


CategoryServer CategoryDaRevisionare

Server/Apache (l'ultima modifica è del 29/05/2022 17.21.13, fatta da ivantu)