Zone de développement par utilisateur
Bonsoir,
Je suis dans un colloc avec des amis, et j'aimerai installer un serveur web en local sur lequel chacun d'entre nous pourrait développer ses propres sites, et sans pouvoir aller farfouiller dans les dossiers des autres. Ce que j'ai fait pour le moment, c'est de mettre en place un serveur SFTP : chacun d'entre nous a un accès à un répertoire perso sur le serveur, dans lequel ce trouve un dossier www/ où seront sauvegardés les fichiers de nos sites respectifs ; par exemple :
Code:
1 2
| /sftp/pierre/home/www
/sftp/jacques/home/www |
J'installe ensuite Apache et PHP. Ce que j'ai fait pour configurer le serveur comme exposé plus haut, c'est utilisé le module userdir, que j'ai configuré de la sorte :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| <IfModule mod_userdir.c>
# UserDir public_html
UserDir disabled root
UserDir /home/*/home/www
<Directory /home/*/home/www>
AllowOverride FileInfo AuthConfig Limit Indexes
Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
AuthType Basic
AuthName "Authentifiez-vous :"
AuthBasicProvider file
AuthUserFile "/home/pierre/passwd" #fichier dans lequel sont sauvegardés les couples (id;mdp) cryptés (1)
Require valid-user
</Directory>
</IfModule>
# vim: syntax=apache ts=4 sw=4 sts=4 sr noet |
Et j'ai mis dans /etc/apache2/apache2.conf :
Code:
1 2 3
| <Directory />
Require all denied
</Directory> |
Et ça marche presque ! Si je vais sur 192.168.*.*/~pierre, je tombe bien sur le fichier /sftp/pierre/home/www/index/php, après m'être identifier !
Le problème que je rencontre, c'est que si Pierre fais un petit bout de PHP pour aller fouiller dans les dossiers parents, rien ne l'en empêche... :/
Par exemple :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
| <?php
if($dossier=opendir('../../../../'))
{
echo 'Open ! <br/>';
while($fichier=readdir($dossier))
{
echo $fichier, '<br/>';
}
}
echo 'Done.<br/>';
echo realpath('index.php');
?> |
Ca affiche tout ce qu'il y a à la racine du serveur.
Comment borner l'accès de chaque utilisateur à sa zone ?
Merci beaucoup !