Archives par mot-clé : public_html

Serveur Web local dans son répertoire utilisateur sur Ubuntu

Pour des besoins divers, notamment afin de tester une solution Web avant sa mise en production, ou bien afin de développer son propre site Internet, il peut être pratique de disposer d’un serveur Web sur son poste de travail. Lorsqu’on est plusieurs personnes à utiliser un même ordinateur ou un même serveur, ou bien pour se simplifier les accès en lecture et écriture dans l’arborescence dudit site, on peut avoir besoin de disposer de son propre espace de travail.

Sur les systèmes GNU/Linux, il est coutume d’utiliser une entrée dans le répertoire utilisateur (le fameux « home user », « ~ » ou encore $HOME pour les aficionados). Généralement, celui-ci est un répertoire à la racine de $HOME nommé « public_html ».

Depuis de nombreuses années, Mandriva Linux dispose du Centre de Contrôle Mandriva permettant de configurer de manière extrêmement simple et intuitive ces sites Web par utilisateur (cf. ce vieux didacticiel plus du tout à jour). Du côté d’Ubuntu il n’en est rien, aussi faut-il mettre un peu les mains dans le cambouis. Après une ou deux petites tentatives et le survol de cet article (allergiques à l’anglais, s’abstenir), voici la recette qui m’a permis d’y parvenir.

Installation du serveur Apache et de PHP :

sudo apt-get install apache2 php5

Création du répertoire dans le dossier utilisateur courant :

mkdir ~/public_html

Activation des modules Apache nécessaires (via un lien symbolique dans le répertoire « mods-enabled » :

cd /etc/apache2/mods-enabled
sudo ln -s ../mods-available/userdir.conf userdir.conf
sudo ln -s ../mods-available/userdir.load userdir.load

Mise en commentaire du module PHP empêchant l’utilisation du répertoire public_html :

sudo vi /etc/apache2/mods-available/php5.conf
<IfModule mod_php5.c>
 <FilesMatch ".ph(p3?|tml)$">
 SetHandler application/x-httpd-php
 </FilesMatch>
 <FilesMatch ".phps$">
 SetHandler application/x-httpd-php-source
 </FilesMatch>
 # To re-enable php in user directories comment the following lines
 # (from <IfModule ...> to </IfModule>.) Do NOT set it to On as it
 # prevents .htaccess files from disabling it.
 #<IfModule mod_userdir.c>
 #    <Directory /home/*/public_html>
 #        php_admin_value engine Off
 #    </Directory>
 #</IfModule>
</IfModule>

Redémarrage du serveur Web :

sudo /etc/init.d/apache2 restart

Au final, la manipulation n’a rien de bien compliqué, encore faut-il le savoir. Voilà qui est réparé !