Configuration des autorisations pour FTP et Apache

10

J'ai un serveur web (Apache2) auquel j'accède avec FileZilla.

Sur mon serveur Web, j'ai un répertoire / home / admin / www que je lie à / var / www. Je peux donc y accéder avec FTP. Cela fonctionne parfaitement!

Mais chaque fois que je redémarre mon serveur Web, je dois faire la liaison encore et encore. Je ne peux pas dire à mon serveur Web que ces cartes doivent toujours être liées? Je dois également réinitialiser toutes mes autorisations à chaque fois, que fais-je de mal?

Ontwikkelaar Bij débogué
la source

Réponses:

13

Une solution meilleure et plus sécurisée (je ne suis pas à l'aise avec Internet ayant accès à un dossier d'accueil des administrateurs!) Consiste à créer un dossier webroot dans /

Heure du terminal!

cd /
sudo mkdir /webroot
sudo groupadd webdev
sudo usermod -a -G webdev yourusername 
sudo chown www-data:webdev /webroot/

Pointez maintenant Apache vers votre nouveau document racine / webroot au bas de votre configuration Apache. Vous pouvez le trouver ici: /etc/apache2/apache2.conf

sudo nano /etc/apache2/apache2.conf

CTRL-O pour sauvegarder, CTRL-X pour sortir en nano si vous ne le connaissez pas.

Remplacez simplement DocumentRoot /var/www/par/webroot/

Copiez vos fichiers Web maintenant sur webroot.

sudo /etc/init.d/apache2 reload

Apache devrait maintenant avoir redémarré avec toutes les configurations chargées.

Cela a créé un répertoire racine appelé webroot, appartenant à apache2, et le propriétaire du groupe est le nouveau groupe webdev, auquel votre utilisateur est désormais ajouté en tant que membre (cela ne remplace aucun groupe!). Cela vous permettra d'éditer les fichiers dans le FTP!

Il s'agit d'une solution très simple pour un serveur Apache à un site Web. Plus de travail est nécessaire si vous prévoyez d'exécuter plusieurs sites (en créant des dossiers séparés pour eux dans webroot par exemple)

Les avantages de ceci sont que si quelqu'un trouve une vulnérabilité, il est verrouillé dans le dossier webroot, et non dans votre dossier personnel! De plus, si vous avez besoin d'autoriser d'autres utilisateurs à modifier le site, vous pouvez ajouter leur utilisateur au groupe webdev avecsudo usermod -a -G theirusername webdev

J'espère que cela t'aides!

Sincères amitiés

Laice
la source
Pas de problème :) cela vous dérange si je renomme le titre pour mieux refléter la réponse que j'ai donnée?
Laice
certainement pas :-)
Ontwikkelaar Bij Débogué
pour une raison quelconque, je n'obtenais pas un tel utilisateur webdev lorsque j'ai utilisé votre commande> sudo groupadd webdev. J'ai essayé cela et cela a semblé fonctionner. Bien ajouté l'utilisateur dans le fichier / etc / group de toute façon. sudo usermod -a wwwlogin -G webdev
Benaiah
C'était ma faute, dans ma réponse, j'ai inversé l'utilisateur et le groupe par inadvertance, cela a été corrigé par Damon, leçon apprise!
Laice
@Damon, je pense que vous devez définir les autorisations appropriées de sorte que le propriétaire (www-data) et le groupe (webdev) aient les mêmes autorisations que pour un répertoire: il devrait être 775 (au lieu de 755 par défaut) et 664 (au lieu de 644 ) pour les fichiers.
Eduardo B.