Apache mise en place d’un nouveau serveur virtuel (vhost)

Ce qui suit est ma méthode pour mettre en place un nouveau serveur virtuel pour un site web.

Il existe les panels (cPanel, Wenmin, Plesk, ISPConfig) web pour créer automatiquement tout ce qui suit, mais au cas où vous n’avez pas d’autre choix (comme l’absence d’une panel par exemple), vous passerez par cette méthode. Et puis cela ne fait pas de mal de connaître ce qui se passe sous le capot, afin d’être lus confiant quand vous rencontrerez des difficultés dans la gestion d’un serveur dédié.

Créer le répertoire qui va contenir les fichiers de votre site web:

Connecté en tant que user root

> useradd username

>passwd username

ensuite configurer le mot de passe.

Cette commande va créer (sous Centos et Debian) un répertoire pour le nouvel ustilisateur que vous venez de créer sous le répertoire home/.

 

Déclarer l’hôte virtuel (vhost) :

Tout se passe dans le fichier de configuration httpd.conf (ou apache2.conf selon les distributions de Linux). Dans ce fichier vous allez dire dans quel répertoire se trouve la racine du site web. Sous Debian c’est public_html qui est la racine. Sous CentOS, c’est www.

Utilisation de SuPHP:

SuPHP permet une gestion plus fine de qui a accès à la lecture d’un fichier php. Il est nécessaire car chaque sit web appartient à un user Linux différent. Ce qser n’est pas Apache qui a le droit d’exécuter des script php. Par contre nous allon smettre une directive dans le ficheir de configuration du vhost qui va permettre à ce user d’exécuter

En principe seul l’user apache peut exécuter les script php, le username que vous venez de créer ne peut pas exécuter el script PHP car SuPHP l’en empêche. C’est pour ça que vous devez ajouter une directive dans votre configuration du vhost pour indiquer explicitement à Apache d’exécuter à leur place.

Configurer les logs:

Ici il y a deux aspects, il y a les logs Apaches access_log et error_log, puis il y a la fréquence de journalisation. Si vous avez un site avec beaucoup de trafic, il faut un fichier de log par jour par exemple, pour les sites moins importants, c’est un par semaine.

Il est important de créer des nouveaux fichiers périodiquement, sinon le fichier risque d’être trop gros, et difficile à exploiter.

Autre chose, il y a deux écoles concernant le nombre de fichiers par site, soit un fichier pour tous les vhost, soit un fichier par vhost.

Pour ma part je préfère un fichier par vhost afin d’être plus clair et de pouvoir exploiter plus facilement les logs avec un logiciel si besoin.

 

 

 

Configurer le type de log Apache :

Typiquement dans un ficheir de configuration de log vous verrez la directive LogFormat.

Vous avec 4 à 5 type de log:

Logformat

Logformat

Logformat

Logformat

Logformat

Générer un nouveau fichier de log régulièrement se fait avec LogRotate.

 

 

Retour en haut