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 à:
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.
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...
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
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 .
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