Question Changement du répertoire WWW LAMP en Dropbox, maintenant 403 Interdit


Je souhaite utiliser mon répertoire Dropbox / Web comme répertoire de serveur pour LAMP. J'ai cahnged /etc/apache2/sites-available/default

DocumentRoot /home/me/Dropbox/Web #changed from /etc/www
<Directory />
    Options FollowSymLinks
    AllowOverride None
</Directory>
<Directory /home/me/Dropbox/Web/> #changed from /etc/www
    Options Indexes FollowSymLinks MultiViews
    AllowOverride None
    Order allow,deny
    allow from all
</Directory>

Et maintenant je reçois

Forbidden

You don't have permission to access / on this server.

Apache/2.2.22 (Ubuntu) Server at localhost Port 80

2
2017-12-23 15:06


origine




Réponses:


www-data, le groupe / utilisateur Apache ne peut pas lire dans votre répertoire personnel.

Vous pouvez utiliser des autorisations régulières pour changer cela, comme l'expliquait gertvdijk dans sa réponse.

J'envisagerais d'utiliser acl au lieu d'autorisations régulières, permettant d'ajouter une autorisation à apache au lieu de remplacer le groupe dans le répertoire personnel ou de rendre le répertoire accessible au monde entier.

Pour cela, vous devez installer acl:

sudo apt-get install acl

Vous pouvez utiliser man setfacl avoir plus d'infos

Pour ajouter des autorisations à apache:

sudo setfacl -m d:g:www-data:X,g:www-data:X /home/me
sudo setfacl -m d:g:www-data:X,g:www-data:X /home/me/Dropbox
sudo setfacl -Rm d:g:www-data:rX,g:www-data:rX /home/me/Dropbox/Web

Les première et deuxième commandes permettront à Apache (www-data) de changer de répertoire uniquement via le chemin (sans autoriser d’autres sous-répertoires) dans votre maison. Ils ne sont probablement pas nécessaires si vous utilisez la configuration par défaut mais si vous avez déjà modifié les autorisations (ou que vous les modifierez ultérieurement) pour les désactiver other users pour lire chez vous, ils sont nécessaires.

La troisième est la commande qui permettra à Apache de lire et de modifier les répertoires dans Dropbox / web et les sous-répertoires.

Obs: majuscule X n'agira que sur les répertoires au lieu de minuscules x cela agirait à la fois sur les fichiers et les répertoires (de cette façon, l'utilisateur apache ne peut modifier que les répertoires, pas les fichiers exécutés).


4
2017-12-23 15:46



merci, fonctionne très bien - ilyo


Apache ne peut probablement pas lire depuis votre répertoire Dropbox. Dans Ubuntu, Apache est configuré pour s'exécuter en tant qu'utilisateur www-data. Assurez-vous de définir les autorisations sur votre système de fichiers pour permettre à Apache de lire l'intégralité du chemin.

Pour tester si c'est vraiment votre problème, essayez dans un terminal

sudo su -l www-data -s /bin/bash

et alors cd étape par étape dans votre dossier Dropbox:

cd /home
cd me
cd Dropbox
cd Web

Corrigez les autorisations, par exemple

  • chmod o+rx sur les annuaires et chmod o+r sur des fichiers, ou
  • changer de groupe sur des fichiers / répertoires chgrp www-data et autoriser seulement le www-data groupe à lire / accès: chmod g+r pour les fichiers et chmod g+rx pour les répertoires.

4
2017-12-23 15:14



en utilisant chmod g+rX ça ira +rx sur les annuaires et +r sur des fichiers réguliers. C'est beaucoup plus facile;) - laurent