Ajout d'un domaine

Retour à la liste des tutoriels

Configurer Apache pour qu'il délivre le contenu de votre site internet à vos visiteurs.
Une version automatisée (script bash) du tutoriel existe.
Je vous conseille de créer votre premier domaine en suivant ce tutoriel afin de comprendre la configuration d'Apache.
Prérequis
  • FIXME Avoir installé nano.
  • FIXME Avoir créé un répertoire spécifique au domaine par default ou l'avoir désactivé (faille de sécu)


Configuration d'un domaine

Afin qu'Apache soit capable de délivrer le contenu de notre site, il faut lui indiquer l'existence de ce dernier.

Création des répertoires du domaine

Il convient de créer les répertoires qui contiendront le site avant de le déclarer à Apache.

Je vais créer un répertoire au nom du domaine que je souhaite ajouter :

mkdir /var/www/anael.eu

Puis je vais créer le répertoire www qui contiendra le contenu du site, et le répertoire logs qui contiendra les logs. <codebash >mkdir /var/www/anael.eu/www mkdir /var/www/anael.eu/logs</code>

Apache, à son installation, créée un domaine par défaut qui sera affiché lorsqu'un visiteur accédera à votre serveur via son adresse IP (http://88.191.122.115 par exemple).

Le contenu délivré correspond au répertoire /var/www/ par défaut. Ce qui signifie qu'une personne demandant la page http://adresse_ip/anael.eu pourrait afficher le contenu du répertoire, ce qui revient à une faille de sécurité.

Pour simplifier, nous allons désactiver le domaine par défaut :

a2dissite default
/etc/init.d/apache2 reload

Création d'un fichier de déclaration du domaine

La définition des sites existants sur le serveur se passe dans le répertoire /etc/apache2/sites-availables .

Chaque domaine possède son propre fichier de configuration dans ce répertoire.

Je vais éditer un nouveau fichier de configuration apache :

nano /etc/apache2/sites-availables/anael.eu
<VirtualHost *:80>

Nous déclarons que le site peut-être accédé par n'importe quelle adresse IP sur le port 80 (utile dans le cas de plusieurs cartes réseaux sur la machine)

	ServerAdmin webmaster@an*el.eu

L'adresse e-mail de l'administrateur du serveur, pourra apparaître sur les pages d'erreurs du site. (Mettez une adresse valide, pas comme dans cet exemple !)

	ServerName anael.eu

Nom (URL) du site que nous souhaitons mettre en ligne

	ServerAlias www.anael.eu

On définit un alias afin que http://anael.eu et http://www.anael.eu pointent sur le même contenu.

Vous pouvez définir autant d'alias que vous voulez, tant que vous respectez la syntaxe précédente.

	DocumentRoot /var/www/anael.eu/www

Chemin (sur le serveur) où sont présents les fichiers du site.

	<Directory /var/www/anael.eu/www/>

On va définir ce qui se passe dans le répertoire /var/www/anael.eu/www/

		Options -Indexes FollowSymLinks

On définit les options globales pour le site : pas de listage des fichiers si pas de fichier index.* , suivi des liens symboliques
Doc. Apache

		AllowOverride AuthConfig Options

J'autorise l'utilisation des fichiers de type .htaccess afin de modifier certaines valeurs de la configuration d'Apache.
Doc. Apache

		Order allow,deny
		allow from all

Par défaut, tous les visiteurs peuvent voir le site.

	</Directory>

Fin de la configuration spécifique au répertoire /var/www/anael.eu/www/

	ErrorLog /var/www/anael.eu/logs/error.log

Chemin vers le fichier de logs des erreurs (de scripts, page non trouvée, problème de configuration du serveur…)

	# Possible values include: debug, info, notice, warn, error, crit,
	# alert, emerg.
	LogLevel warn

Définition du niveau de log.
Doc. Apache

	CustomLog /var/www/anael.eu/logs/access.log combined

Définition spécifique du format des logs d'accès : j'intègre 3 informations en plus : referrer, user_agent et cookie.
Doc. Apache
Doc. sur combined

Si vous utilisez l'open_basedir, vous devez rajouter
	<IfModule mod_php5.c>
		php_admin_value open_basedir /var/www/anael.eu/www/:/tmp/
	</IfModule>
</VirtualHost>

Fichier de configuration final

anael.eu
<VirtualHost *:80>
	ServerAdmin webmaster@an*el.eu
	ServerName anael.eu
	ServerAlias www.anael.eu
 
	DocumentRoot /var/www/anael.eu/www
	<Directory /var/www/anael.eu/www/>
		Options -Indexes FollowSymLinks
		AllowOverride AuthConfig Options
		Order allow,deny
		allow from all
	</Directory>
 
	ErrorLog /var/www/anael.eu/logs/error.log
 
	# Possible values include: debug, info, notice, warn, error, crit,
	# alert, emerg.
	LogLevel warn
 
	CustomLog /var/www/anael.eu/logs/access.log combined
 
	<IfModule mod_php5.c>
		php_admin_value open_basedir /var/www/anael.eu/www/:/tmp/
	</IfModule>
</VirtualHost>

Mise en service du fichier de déclaration

Afin qu'Apache prenne en compte notre configuration, il faut créer un lien symbolique vers notre fichier de configuration dans le répertoire /etc/apache2/sites-enabled.

Une commande spécifique est prévue pour cela

a2ensite anael.eu

DNS

Mettez à jour les DNS de votre domaine, chez votre registrar (le prestataire auprès duquel vous avez acheté le nom de domaine).

Il vous faut faire pointer le nom de domaine vers l'@ IP de votre serveur (dans mon cas : 88.191.122.115) .

Les DNS fonctionnent sur un principe de cache (conserver l'information en mémoire). Il faut compter de 10 minutes à 48h pour que l'ensemble de vos visiteurs puissent accéder à votre site internet.

Mettre en production

On relance Apache afin qu'il prenne en compte nos modifications :

service apache2 restart

Si votre fichier de configuration est correct, vous devriez voir apparaître ceci :

Restarting web server: apache2 ... waiting .

Si ce n'est pas le cas, vérifiez votre fichier de configuration !

Vous pouvez maintenant visiter votre site via votre navigateur web : http://www.anael.eu !


Liens