Creare un server web con GNU/Linux (Apache/MySQL/PHP)
Sommario:
In questo tutorial, ti spiegheremo come impostare gli host virtuali Apache su Debian 9.
Apache Virtual Hosts ti consente di ospitare più di un dominio su un singolo computer. Quando si utilizzano host virtuali, è possibile specificare una diversa radice del documento (la directory che contiene i file del sito Web) per ciascun dominio o sottodominio, creare una politica di sicurezza separata, utilizzare certificati SSL diversi e molto altro.
Sebbene questo tutorial sia scritto per Debian 9, le stesse fasi si applicano a tutte le distribuzioni basate su Debian.
Prerequisiti
Assicurati di aver soddisfatto i seguenti prerequisiti prima di continuare con questo tutorial:
- Avere un nome di dominio che punta all'indirizzo IP del server. In questo tutorial useremo
example.com
Avere Apache installato sul tuo server Debian. Accesso come utente con privilegi sudo.
Creare la struttura della directory
La radice del documento è una directory in cui i file del sito Web per un nome di dominio vengono archiviati e offerti in risposta alle richieste. È possibile impostare la radice del documento in qualsiasi posizione desiderata. In questa guida useremo la seguente struttura di directory:
/var/www/ ├── domain1.com │ └── public_html ├── domain2.com │ └── public_html ├── domain3.com │ └── public_html
Ogni dominio ospitato sul nostro server avrà la radice del documento impostata su
/var/www/ /public_html
/var/www/ /public_html
.
Iniziamo creando la directory radice del documento per il nostro primo dominio,
example.com
:
sudo mkdir -p /var/www/example.com/public_html
Creeremo anche un file
index.html
nella directory principale del documento di dominio che verrà mostrato quando visiti il dominio nel tuo browser.
Apri il tuo editor di testo preferito, crea un nuovo file e incolla quanto segue:
/var/www/example.com/public_html/index.html
Welcome to example.com Success! example.com home page!
Welcome to example.com Success! example.com home page!
Stiamo eseguendo i comandi come utente sudo e i file e le directory appena creati sono di proprietà dell'utente root.
Per evitare problemi di autorizzazione, cambieremo la proprietà della directory radice del documento di dominio e di tutti i file all'interno di quella directory all'utente apache (
www-data
):
sudo chown -R www-data: /var/www/example.com
Crea un host virtuale
Sui sistemi Debian, i file di configurazione degli host virtuali di Apache si trovano nella directory
/etc/apache2/sites-available
e possono essere abilitati creando collegamenti simbolici alla directory
/etc/apache2/sites-enabled
.
Apri il tuo editor di testo preferito e crea il seguente file di configurazione di base dell'host virtuale:
/etc/apache2/sites-available/example.com.conf
ServerName example.com ServerAlias www.example.com ServerAdmin [email protected] DocumentRoot /var/www/example.com/public_html Options -Indexes +FollowSymLinks AllowOverride All ErrorLog ${APACHE_LOG_DIR}/example.com-error.log CustomLog ${APACHE_LOG_DIR}/example.com-access.log combined
ServerName example.com ServerAlias www.example.com ServerAdmin [email protected] DocumentRoot /var/www/example.com/public_html Options -Indexes +FollowSymLinks AllowOverride All ErrorLog ${APACHE_LOG_DIR}/example.com-error.log CustomLog ${APACHE_LOG_DIR}/example.com-access.log combined
ServerName example.com ServerAlias www.example.com ServerAdmin [email protected] DocumentRoot /var/www/example.com/public_html Options -Indexes +FollowSymLinks AllowOverride All ErrorLog ${APACHE_LOG_DIR}/example.com-error.log CustomLog ${APACHE_LOG_DIR}/example.com-access.log combined
-
ServerName
: il dominio che deve corrispondere per questa configurazione dell'host virtuale. Questo dovrebbe essere il tuo nome di dominio.ServerAlias
: tutti gli altri domini o sottodomini che devono corrispondere anche per questo host virtuale, in genere il sottodominiowww
.DocumentRoot
: la directory da cui Apache servirà i file di dominio.Options
: questa direttiva controlla quali funzionalità del server sono disponibili in una directory specifica.-
-Indexes
: impedisce gli elenchi di directory.FollowSymLinks
: quando questa opzione è abilitata, Apache seguirà i collegamenti simbolici.
AllowOverride
: specifica quali direttive dichiarate nel file.htaccess
possono sovrascrivere le direttive di configurazione.ErrorLog
,CustomLog
: specifica il percorso per i file di registro. -
È possibile assegnare un nome al file di configurazione dell'host virtuale come desiderato, ma si consiglia di utilizzare il nome di dominio come nome del file di configurazione.
Per abilitare il nuovo file host virtuale, creare un collegamento simbolico dal file host virtuale alla directory
sites-enabled
per i
sites-enabled
, che viene letta da Apache durante l'avvio.
Nei sistemi Debian è possibile abilitare l'host virtuale usando uno script helper chiamato
a2ensite
:
sudo a2ensite example.com
L'altra opzione è quella di creare manualmente un link simbolico come mostrato di seguito:
sudo ln -s /etc/apache2/sites-available/example.com.conf /etc/apache2/sites-enabled/
Una volta abilitata la configurazione, verifica se la sintassi è corretta digitando:
sudo apachectl configtest
Se non ci sono errori vedrai il seguente output:
Syntax OK
Riavvia il servizio
apache2
per rendere effettive le modifiche:
sudo systemctl restart apache2
Per verificare che tutto funzioni come previsto, apri
http://example.com
nel tuo browser preferito e vedrai qualcosa del genere:
Conclusione
In questo tutorial, hai imparato come creare una configurazione dell'host virtuale Apache per ospitare più domini su un singolo server Debian. Puoi ripetere gli stessi passaggi per creare host virtuali aggiuntivi per gli altri tuoi domini.
apache debianQuesto post fa parte di How to Install LAMP Stack su Debian 9 series.
Altri post di questa serie:
• Come installare Apache su Debian 9 • Come installare PHP su Debian 9 • Come configurare host virtuali Apache su Debian 9 • Come installare MariaDB su Debian 9 • Apache sicuro con Let's Encrypt su Debian 9Le carte virtuali virtuali di Steam premiano per il tuo tempo ben sprecato
Steam ha annunciato un nuovo programma di carte virtuali che trasforma i momenti di gioco in premi.
Come configurare host virtuali apache su centos 7
In questo tutorial, forniremo istruzioni dettagliate su come configurare gli host virtuali Apache su un server CentOS 7. Apache Virtual Hosts consente l'esecuzione di più siti Web su un server Web.
Come configurare gli host virtuali di Apache su Ubuntu 18.04
In questo tutorial, forniremo istruzioni dettagliate su come configurare gli host virtuali Apache su Ubuntu 18.04. Apache Virtual Hosts ti consente di eseguire più di un sito Web su un singolo computer.