Activation du service de publication Web dans les serveurs OSX 10.9

{0 Comments}

Une autre option sympathique passée à la trappe dans les dernières montagnes OSX est celle qui permettait de publier le dossier personnel « Site » des tous les comptes locaux ou opendirectory à l’aide du service web

Une fois cette option activée, tous les dossiers « Site » de tous les comptes étaient publiés à une adresse de type:

 http://mon_serveur/~mon_utilisateur

Cette option a été complètement désactivée dans la configuration du serveur web avec ses préférences d’activation dans les outils d’administrations.

S’il n’est plus possible de cliquer sur ce bouton magique, il nous reste notre ami apache et ses fichiers de configuration.

Dégainons, donc, notre terminal préféré et rétablissons ce service en trois petits passages.

1) Première opération: réactiver le module dédié à cette fonction et réattribuer le fichier de configuration spécifique

Cette opération s’effectue dans le fichier de configuration globale d’apache à la sauce OSX 10.9 –>

/Library/Server/Web/Config/apache2/httpd_server_app.conf

Pour réactiver le module et activer le fichier de configuration spécifique, decommentez dans httpd_server_app.conf les lignes suivantes avec votre éditeur en ligne de commande préféré:

LoadModule apple_userdir_module ${SERVER_INSTALL_PATH_PREFIX}/usr/libexec/apache2/mod_userdir_apple.so

et

Include /private/etc/apache2/extra/httpd-userdir.conf
2) Deuxième opération: dans le fichier de configuration dédié, indiquer les répertoires contenant les dossiers de départ et « Sites » de vos utilisateurs locaux et/ou distants

Toujours avec votre éditeur préféré, ouvrez le fichier

/etc/apache2/extra/httpd-userdir.conf

et ajoutez les entrées suivantes adaptées selon votre configuration des comptes (emplacement des dossiers de départ) afin de configurer le module précédemment activé:

<IfModule mod_userdir_apple.c>
UserDir disabled root
UserDir /Volumes/HD_Contenant_users/Homes/Utilisateurs_distants1/*/Sites /Volumes/HD_Contenant_users/Homes/Utilisateurs_distants2/*/Sites /Users/*/Sites
<Directory /Volumes/HD_Contenant_users/Homes/Utilisateurs_distants1/*/Sites>
DirectoryIndex index.php index index.html default.html default.htm
AllowOverride FileInfo AuthConfig Limit Indexes
</Directory>
<Directory /Volumes/HD_Contenant_users/Homes/Utilisateurs_distants2/*/Sites>
DirectoryIndex index.php index index.html default.html default.htm
AllowOverride FileInfo AuthConfig Limit Indexes
</Directory>
<Directory /Users/*/Sites>
DirectoryIndex index.php index index.html default.html default.htm
AllowOverride FileInfo AuthConfig Limit Indexes
</Directory>
</IfModule>

À noter que l’énoncé Userdir peut contenir autant d’entrées que nécessaire et qu’il vaut mieux désactiver cette fonction pour l’utilisateur root

3) Troisième opération: attribuer les permissions en lecture au compte _www pour les dossiers qu’on souhaite publier

Afin de garantir la possibilité à notre serveur apache de publier l’information contenue dans les dossiers « Sites », il est nécessaire d’attribuer les permissions adéquates sur la hiérarchie des fichiers jusqu’aux dossiers Sites

Il est possible d’accomplir cette opération par le biais du logiciel Server.app avec son onglet « Storage »: le compte _www d’Apache étant graphiquement indiqué comme « World Wide Web Server »

www

 

 

 

 

 

 

 

 

ou par ligne de commande.

(Vous trouverez un bon exemple des permissions souhaitables pour un dossier publié à cette adresse: http://stackoverflow.com/questions/2001881/correct-owner-group-permissions-for-apache-2-site-files-folders-under-mac-os-x )

 

Leave a Comment

Your email address will not be published.

*