web-dev-qa-db-fra.com

Autorisations correctes pour / var / www et wordpress

J'ai configuré un serveur LAMP et j'ai accès via SSH et à la page "ça marche" à partir d'un navigateur Web à partir de l'intérieur de mon réseau (via l'adresse IP) et de l'extérieur à l'aide de dyndns.

Nous avons quelques Wordpress projets situés dans des sous-répertoires dans/var/www/wordpress1/var/www/wordpress2, etc. Je ne peux pas accéder à ces sous-répertoires à partir d'un navigateur afin de configurer WP - ou ( Je suppose) pour voir le contenu sur un navigateur. Je reçois une erreur 403 Forbidden sur mon navigateur.

Je suppose que c'est un problème d'autorisations. Pouvez-vous s'il vous plaît me dire les paramètres appropriés pour les autorisations à:

  1. Autoriser les développeurs et moi à lire/écrire.
  2. permettre à WP de s'installer et de faire son travail
  3. Autoriser les visiteurs à accéder au (x) site (s) via le Web.

Je devrais également mentionner que les sous-dossiers sont en fait des liens simlinks vers des dossiers situés sur un autre disque dur interne. Je ne pense pas que cela fera une différence, mais j’ai pensé que je devrais divulguer.

total 12
drwxr-xr-x  2 root root 4096 2012-07-12 10:55 .
drwxr-xr-x 13 root root 4096 2012-07-11 20:02 ..
lrwxrwxrwx  1 root root   43 2012-07-11 20:45 admin_media ->     /root/Django_src/Django/contrib/admin/media
-rw-r--r--  1 root root  177 2012-07-11 17:50 index.html
lrwxrwxrwx  1 root root   14 2012-07-11 20:42 media -> /hdd/web/media
lrwxrwxrwx  1 root root   18 2012-07-12 10:55 wordpress -> /hdd/web/wordpress

Voici le résultat de l'utilisation de chown -R www-data:www-data /var/www

total 12
drwxr-xr-x  2 www-data www-data 4096 2012-07-12 10:55 .
drwxr-xr-x 13 root     root     4096 2012-07-11 20:02 ..
lrwxrwxrwx  1 www-data www-data   43 2012-07-11 20:45 admin_media -> /root/Django_src/Django/contrib/admin/media
-rw-r--r--  1 www-data www-data  177 2012-07-11 17:50 index.html
lrwxrwxrwx  1 www-data www-data   14 2012-07-11 20:42 media -> /hdd/web/media
lrwxrwxrwx  1 www-data www-data   18 2012-07-12 10:55 wordpress -> /hdd/web/wordpress

Je n'arrive toujours pas à accéder via un navigateur.

39
dpbklyn

Tout d'abord, vous devez vous assurer que votre nom d'utilisateur est inclus dans le groupe www-data. Sinon, vous pouvez ajouter votre nom d'utilisateur en tant que www-data group

Sudo adduser $USER www-data

Après cela, vous devriez changer la propriété de/var/www en votre nom d'utilisateur

Sudo chown $USER:www-data -R /var/www

Prochaine étape, pour la médecine générale, vous devez modifier l’autorisation en 755 (rwxr-xr-x), mais ne pas recommander de modifier l’autorisation en 777 pour des raisons de sécurité.

Sudo chmod u=rwX,g=srX,o=rX -R /var/www

Relatif à permission spécifique pour wordpress ou laravel ou à un autre framework, vous pouvez alors lire la documentation.

J'espère que ça aide...

80
metamorph

Apparemment, voici comment cela est recommandé dans le Guide du serveur Ubuntu:

Chapitre 11. Serveurs Web.

1.4. Autorisation d'écriture en partage

Pour que plusieurs utilisateurs puissent écrire dans le même répertoire, il sera nécessaire d'accorder une autorisation d'écriture à un groupe qu'ils partagent en commun. L'exemple suivant accorde une autorisation d'écriture partagée à/var/www/html au groupe "webmasters".

J'utilise www-data . Il suffit de remplacer "webmasters" avec votre groupe, assurez-vous d'ajouter l'utilisateur au groupe bien sûr.

Sudo chgrp -R webmasters /var/www/html
Sudo find /var/www/html -type d -exec chmod g=rwxs "{}" \;
Sudo find /var/www/html -type f -exec chmod g=rws "{}" \;

Je viens de le tester avec Dreamweaver à partir de mon bureau Mac. Les fichiers ajoutés, etc. ajoutés et remplacés, conservent les autorisations appropriées à une exception près. répertoire html conservent leur propriété en tant que root mais sont modifiables par l’utilisateur local.

$ls -l
$-rw-rw-r-- 1 localUser www-data 11505 May 28 09:56 index2.html
$-rw-rwSr-- 1 root  www-data 11535 May 28 09:58 index.html

J'espère que cela clarifie les choses et aide les lassés, car je sais que j'ai toujours été las de cette situation, mais maintenant, c'est clair pour moi.

Oh, et je recommande fortement d'utiliser sftp avec des clés pour accéder à votre ftp, cela fonctionne très bien pour moi et je n'ai pas besoin de PureFTP ni de toute autre méthode non sécurisée de transmission des fichiers sur le site Web. Il y a quelques bons tutoriels sur le site Digital Ocean concernant la sécurisation de votre serveur avec des clés ssh:

Comment configurer l'authentification par clé SSH sur un serveur Linux

3
MagicCamera

Lecture autour du guide d’installation pour Ubuntu ..

chown -R www-data /usr/share/wordpress

Peut-être serait-il plus facile de l'installer de cette façon au lieu d'essayer de décompresser les fichiers sur /var/www

https://help.ubuntu.com/community/WordPress ...

de toute façon wordpress fonctionne sur Apache ... non? si vous voulez le faire de cette façon .. vous montrez le faire en tant que @metamorph an puis donnez la permission sur Apache2 httpd.conf comme ceci:

<VirtualHost *:80>
        ServerName site
        ServerName site.domain
        DocumentRoot /srv/www/wordpress.site

        DirectoryIndex index.php

</VirtualHost>

et ensuite default-server.conf.

<Directory "/srv/www/wordpress.site">
        Options None
        AllowOverride None
        Order allow,deny
        Allow from all
</Directory>

Il est peut-être préférable de procéder étape par étape https://help.ubuntu.com/community/WordPress .

0
maniat1k

Vérifiez que Apache dispose des droits d'exécution pour /hdd/web/media et /hdd/web/wordpress.

Courir:

chmod o+x /root /root/site /root/site/about

De plus, Apache doit être configuré pour autoriser l'accès au répertoire sur le système de fichiers. Cela doit être fait par un administrateur système en insérant une directive dans les fichiers de configuration Apache (httpd.conf).

Comme le répertoire réel se trouve dans la racine Web, il doit être accessible, mais FollowSymLinks n'a peut-être pas été activé pour le répertoire; vous devez également l'ajouter à la directive.

Voir http://httpd.Apache.org/docs/2.0/mod/core.html#directory

0
jasmines