GNU/Linux >> Linux Esercitazione >  >> Debian

Come configurare gli host virtuali Apache su Debian 9

In questo tutorial, ti illustreremo come configurare gli host virtuali Apache su Debian 9.

Apache Virtual Hosts ti consente di ospitare più di un dominio su una singola macchina. Quando si utilizzano host virtuali, è possibile specificare una radice del documento diversa (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, gli stessi passaggi si applicano a tutte le distribuzioni basate su Debian.

Prerequisiti #

Assicurati di aver soddisfatto i seguenti prerequisiti prima di continuare con questo tutorial:

  • Disponi di un nome di dominio che punta all'indirizzo IP del tuo server. In questo tutorial useremo example.com .
  • Avete installato Apache sul vostro server Debian.
  • Acceduto come utente con privilegi sudo.

Crea 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 serviti in risposta alle richieste. Puoi impostare la radice del documento in qualsiasi posizione desideri. In questa guida utilizzeremo 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/<domain_name>/public_html .

Iniziamo creando la directory principale dei documenti per il nostro primo dominio, example.com :

sudo mkdir -p /var/www/example.com/public_html

Creeremo anche un index.html file all'interno della 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
<!DOCTYPE html>
<html lang="en" dir="ltr">
  <head>
    <meta charset="utf-8">
    <title>Welcome to example.com</title>
  </head>
  <body>
    <h1>Success! example.com home page!</h1>
  </body>
</html>

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 principale del documento di dominio e 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 Apache si trovano in /etc/apache2/sites-available directory e può essere abilitato creando collegamenti simbolici al /etc/apache2/sites-enabled directory.

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
<VirtualHost *:80>
    ServerName example.com
    ServerAlias www.example.com
    ServerAdmin [email protected]
    DocumentRoot /var/www/example.com/public_html

    <Directory /var/www/example.com/public_html>
        Options -Indexes +FollowSymLinks
        AllowOverride All
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/example.com-error.log
    CustomLog ${APACHE_LOG_DIR}/example.com-access.log combined
</VirtualHost>
  • ServerName :il dominio che dovrebbe corrispondere a questa configurazione dell'host virtuale. Questo dovrebbe essere il tuo nome di dominio.
  • ServerAlias :anche tutti gli altri domini o sottodomini che dovrebbero corrispondere a questo host virtuale, in genere www sottodominio.
  • DocumentRoot :la directory da cui Apache servirà i file di dominio.
  • Options :questa direttiva controlla quali funzioni 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 .htaccess può sovrascrivere le direttive di configurazione.
  • ErrorLog , CustomLog :specifica la posizione per i file di registro.

Puoi nominare il file di configurazione dell'host virtuale come vuoi, ma si consiglia di utilizzare il nome di dominio come nome del file di configurazione.

Per abilitare il nuovo file host virtuale, crea un collegamento simbolico dal file host virtuale a sites-enabled directory, che viene letta da Apache durante l'avvio.

Nei sistemi Debian puoi abilitare l'host virtuale usando uno script di supporto chiamato a2ensite :

sudo a2ensite example.com

L'altra opzione è creare manualmente un collegamento 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 apache2 servizio 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:


Debian
  1. Come configurare gli host virtuali Apache su Ubuntu 18.04

  2. Come configurare un ambiente virtuale Python su Debian 10 Buster

  3. Come configurare gli host virtuali Apache su Ubuntu 20.04

  4. Come configurare gli host virtuali Apache su CentOS

  5. Impostare un IP statico su Debian 11 - Come farlo?

Come impostare un IP statico su Debian 11

Come configurare l'host virtuale Apache su Debian 10

Come installare il server Apache e configurare host virtuali su Ubuntu 22.04

Come configurare gli host virtuali Apache su Debian 11

Come configurare gli host virtuali Apache su Ubuntu 18.04

Come configurare gli host virtuali Apache su Ubuntu 20.04