Home > Developpement Web > Configurer son serveur Web en ligne de commande – Configuration de vHosts

Configurer son serveur Web en ligne de commande – Configuration de vHosts

Comme tout développeur web qui se respecte, vous souhaitez surement travailler sur votre propre serveur de développement dédié ou simplement proposé une prestation d’hébergement a vos clients.

Cet article a pour vocation de vous donner les bases vous permettant de créer des vHosts de façon simple et logique.  Avant de commencer, ce tutoriel n’est qu’une proposition de configuration de vos vHosts. Je vous suggère d’aller faire un tour sur la documentation officielle d’apache et sur la documentation apache d’ubuntu afin de compléter cet article.

Etape n°1 – Installation Apache

Pour commencer nous allons installer apache sur nos serveurs dédiés.

:~# apt-get install apache2

Etape n°2 – Création du répertoire vHosts

Une fois l’installation terminée nous allons pouvoir créer des vHosts. Vous pouvez choisir l’emplacement des vHosts selon votre choix (srv, var, ..) personnellement j’utilise le répertoire « var ».

:~# mkdir /var/www/vhosts/

Le répertoire que vous venez de créer est destiné à recevoir les différents vHosts que vous souhaitez créer. Vous pouvez maintenant créer votre premier vHost:

:~# mkdir /var/www/vhosts/votre-domaine.com

Afin d’avoir une meilleure visibilité sur les sessions, logs et autres répertoires propres au vHost. Je vous conseille de bien différencier le répertoire « public » destiné à recevoir votre site web, et les autres répertoires destiné aux logs, librairies etc…

:~# mkdir /var/www/vhosts/votre-domaine.com/public
:~# mkdir -P /var/www/vhosts/votre-domaine.com/logs/apache
:~# mkdir /var/www/vhosts/votre-domaine.com/logs/php
:~# mkdir /var/www/vhosts/votre-domaine.com/session
:~# mkdir /var/www/vhosts/votre-domaine.com/tmp
:~# mkdir /var/www/vhosts/framework

Comme vous pouvez le constater cette architecture permet de bien séparer les logs et de les organiser. Elle permet aussi si vous le souhaitez de créer un dossier de librairie qui ne sera pas publique comme par exemple un framework. Une fois votre répertoire créé nous pouvons maintenant passer a la configuration de votre vHost.

Etape n°3 – Configuration du vHost

Pour configurer votre vHost nous allons le créer dans le dossier « sites-available » d’apache.

:~# nano /etc/apache2/sites-available/votre-domaine.com

et vous pouvez appliquer cette configuration :

<VirtualHost *:80>

ServerName votre-domaine.com
ServerAlias www.votre-domaine.com
ServerAdmin thomas@votre-domaine.com
DocumentRoot "/var/www/vhosts/votre-domaine.com/public"

<Directory "/var/www/vhosts/votre-domaine.com/public">

Options Indexes FollowSymLinks MultiViews
AllowOverride FileInfo
Order allow,deny
Allow from all

</Directory>

# Active les logs d'erreurs Apache
ErrorLog /var/www/vhosts/votre-domaine.com/logs/apache/error.log

# Cree une variable d'environnement pour les requetes locales
SetEnvIf Remote_Addr "127\.0\.0\.1" loopback

# Cree un log d'acces a apache sauf pour les requetes locales
CustomLog /var/www/vhosts/votre-domaine.com/logs/apache/access.log combined env=!loopback

# Definie le dossier utilise pour l'upload de fichier. Ne peut etre surcharge
php_admin_value upload_tmp_dir /var/www/vhosts/votre-domaine.com/tmp/

# Place les fichiers de session PHP. Necessite des droits d'ecriture a PHP
php_value session.save_path /var/www/vhosts/votre-domaine.com/session/

# Place les fichiers de cache WSDL. Necessite des droits d'ecriture a PHP
php_value soap.wsdl_cache_dir /var/www/vhosts/votre-domaine.com/cache/

# Place les logs d'erreurs PHP. Le dossier doit avoir les droits en ecriture
php_value error_log /var/www/vhosts/votre-domaine.com/logs/php/error.log

</VirtualHost>

Etape n°4 – Activation de votre vHost

Une fois votre fichier de configuration créé vous pouvez maintenant activer votre vhost avec la commande suivante :

:~# a2ensite votre-domaine.com
:~# service apache2 restart

N’oubliez pas de donner les droits à apache et a php d’accéder à votre vHost avec la commande suivante :

:~# chown -R www-data:www-data /var/www/vhosts/votre-domaine.com/public

Vous avez maintenant accès à votre hosts en vous rendant à l’adresse indiquée sur votre configuration (Votre domaine doit pointer sur l’ip de votre serveur bien sûr). Nous verrons dans un prochain article la configuration d’un serveur FTP pour votre serveur vous permettant de profiter pleinement de vos vHost. En attendant amusez-vous bien sur vos serveurs !

 

Mots clefs menant à cette page :

About Thomas Ferney

Thomas Ferney
Etudiant en 5eme année d'informatique, Co-créateur d'horizonduweb, Auto entrepreneur passionné par le Web et les nouvelles technologies.

Voir aussi

Docker lance son édition Entreprise

Avec une édition Entreprise, Docker part davantage à la séduction des sociétés en proposant plusieurs gammes Docker ...

2 comments

  1. Hey Thomas !

    Quelques petites remarques (peut être que ma procédure interne n’est pas à jour non plus)

    – Il est préférable d’utiliser « service apache2 restart » plutôt que « /etc/init.d/apache2 restart »
    – La propriété « AllowOverride All » n’est pas conseillée sur une serveur mutualisé, « AllowOverride FileInfo » suffit largement
    cf http://httpd.apache.org/docs/2.2/fr/mod/core.html#allowoverride
    – Tu n’es pas obligé de faire un « mkdir /var/www/vhosts/votre-domaine.com/logs/ » si tu fais un « mkdir -P /var/www/vhosts/votre-domaine.com/logs/apache », le dossier de logs sera créé automatiquement
    – La commande « chown -R www-data:www-data /var/www/vhosts/votre-domaine.com » n’est pas non plus conseillée en terme de sécurité car en cas de faille, l’application peut écrire partout.
    – La ligne suivante place le framework dans le dossier du vhost « mkdir /var/www/vhosts/votre-domaine.com/framework », en le remontant d’un niveau, il pourrait être accessible et partagé par d’autres VHOSTS

    Voila pour ces quelques infos ^^
    A+
    PS : J’ai testé KewordLvu, on verra bien XD

    • Thomas Ferney

      Merci Arnaud pour tes précisions. j’ai rectifié les erreurs dans le tuto 🙂 au niveau des droits d’accès www:data ça n’est effectivement pas conseillé, un autre tuto sur les droits d’accès va suivre prochainement !

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Afin de vous remercier, Horizon Du Web utilise KewordLuv. Entrez votre_Nom@vos Mots Clefs dans le champ "Nom" pour bénéficier de cette option. Les commentaires constructifs, utiles et de plus de 400 caractères seront mis en dofollow.

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.

Lire les articles précédents :
Facebook Home - Home
Facebook Home prend le controle

Facebook Home c'est ainsi que Mark Zuckerberg a nommé sa dernière "trouvaille". Facebook serait-il en ...

Fermer