Come configurare Apache 2.0

Per configurare il nostro Web server, dobbiamo innanzitutto modificare il seguente file di configurazione: /etc/apache2/sites-available/default, il quale contiene informazioni riguardanti i vari "domini" che vengono gestiti in esso.
Eseguire i seguenti comandi come root:

user@:\$ vi /etc/apache2/sites-available/default

il file avrà un contenuto simile a questo:

<VirtualHost 127.0.0.1:80>
 ServerAdmin webmaster@localhost
 ServerName localhost

 DocumentRoot /var/www/
  <Directory />
   Options FollowSymLinks
   AllowOverride None
  </Directory>

  <Directory /var/www/>
   Options Indexes FollowSymLinks MultiViews
   AllowOverride None
   Order allow,deny
   allow from all
   # This directive allows us to have apache2's
   # default start page in /apache2-default/, but
   # still have / go to the right place
   # RedirectMatch ^/$ /apache2-default/
  </Directory>

  ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
  <Directory "/usr/lib/cgi-bin">
   AllowOverride None
   Options ExecCGI -MultiViews +SymLinksIfOwnerMatch
   Order allow,deny
   Allow from all
  </Directory>

  ErrorLog /var/log/apache2/error.log
  # Possible values include: debug, info, notice, warn,
  # error, crit, alert, emerg.
  LogLevel warn
  CustomLog /var/log/apache2/access.log combined
  ServerSignature On

 Alias /doc/ "/usr/share/doc/"
 <Directory "/usr/share/doc/">
  Options Indexes MultiViews FollowSymLinks
  AllowOverride None
  Order deny,allow
  Deny from all
  Allow from 127.0.0.0/255.255.255.0
 </Directory>
</VirtualHost>

Questo file mostra che il Virtual Host è sull'indirizzo IP 127.0.0.1 sulla porta 80(porta sulla quale i Web server sono configurati abitualmente) e cioé che il Web server accetta connessioni a tale indirizzo IP e tale porta.
Alla terza riga vediamo ServerName localhost il che significa che possiamo fare una richiesta del dominio localhost e il Web server risponderà, mostrando come risultato il contenuto della path DocumentRoot /var/www/.

Un'ulteriore cosa da notare è ErrorLog /var/log/apache2/error.log, che indica, banalmente, il nome del file in cui vengono scritti i log, livello dei quali viene deciso della riga indicante LogLevel warn.
Esistono altre possibili impostazioni da definire come per esempio la gesione dell'accesso sicuro, che viene discusso nelle pagine di configurazione SSL su Apache. A questo punto possiamo già pensare di modificare il file di configurazione nel seguente modo, lanciando i seguenti comandi(eliminando sudo se siamo root):

user@:\$ sudo cp /etc/apache2/sites-available/default /etc/apache2/sites-available/personale

possiamo ora modificare il file personale a nostro piacimento.
Innanzitutto potremmo modificare il ServerName scrivendo ad esempio www.miodominio.it, sostituire la DocumentRoot scrivendo al posto di /var/www/, /var/www/miodominio/ ed infine, modificare il nome del file di log sostituendolo con miodominio_error.log.
Salviamo il file e usciamo perché abbiamo bisogno di creare la directory che abbiamo scelto come DocumentRoot. Eseguiamo i seguenti comandi:

user@:\$ sudo mkdir /var/www/miodominio/

In questo path possiamo copiare il codice che vogliamo mostrare in caso venga richisto il dominio www.miodominio.it. , abbiamo così aggiunto al Web server il dominio, per rendere le modifiche effettive, dobbiamo eseguire le ultime due operazioni:

user@:\$ a2ensite personale

, che non fa altro che aggiungere il nostro file di configurazione tra i file che vengonno caricati in fase di reload.
Ovviamente ora, per rendere attive le nostre impostazioni, dobbiamo solo fare il reload del web server:

user@:\$ sudo /etc/init.d/apache2 reload