web-dev-qa-db-fra.com

Nginx 502 dans Administrateur

Je viens de transférer mon installation de Joomla sur DigitalOcean et je tourne sous nginx. Le site semble fonctionner correctement, mais lorsque je me connecte à la partie administrateur et que je tente de mettre à jour quelque chose dans la configuration globale, l'erreur suivante apparaît:

2014/06/26 10:08:38 [error] 19654#0: *1035 FastCGI sent in stderr: "PHP message: PHP Warning:
file_put_contents(/usr/share/nginx/projects/hoopsforu/configuration.php): failed to open stream
: Permission denied in /usr/share/nginx/projects/hoopsforu/libraries/joomla/filesystem/file.php
 on line 426" while reading response header from upstream, client: 70.208.86.53, server: hoopsf
oru.com, request: "POST /administrator/index.php?option=com_config HTTP/1.1", upstream: "fastcg
i://127.0.0.1:9000", Host: "hoopsforu.com", referrer: "http://hoopsforu.com/administrator/index
.php?option=com_config"
2014/06/26 10:08:38 [error] 19654#0: *1035 upstream sent invalid status "0 Could not write to t
he configuration file" while reading response header from upstream, client: 70.208.86.53, serve
r: hoopsforu.com, request: "POST /administrator/index.php?option=com_config HTTP/1.1", upstream
: "fastcgi://127.0.0.1:9000", Host: "hoopsforu.com", referrer: "http://hoopsforu.com/administra
tor/index.php?option=com_config"

Voici à quoi ressemble ma configuration:

server {
    listen 80;
    server_name  hoopsforu.com www.hoopsforu.com;
    server_name_in_redirect off;

    root           /usr/share/nginx/projects/hoopsforu;
        index index.php index.html index.htm default.html default.htm;
        # Support Clean (aka Search Engine Friendly) URLs
        location / {
                        try_files $uri $uri/ /index.php?$args;
        }

        # deny running scripts inside writable directories
        location ~* /(images|cache|media|logs|tmp)/.*\.(php|pl|py|jsp|asp|sh|cgi)$ {
                        return 403;
                        error_page 403 /403_error.html;
        }

        location ~ \.php$ {
                fastcgi_pass  127.0.0.1:9000;
                fastcgi_index index.php;
                include fastcgi_params;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                include /etc/nginx/fastcgi.conf;
        }

        # caching of files
        location ~* \.(ico|pdf|flv)$ {
                        expires 1y;
        }

        location ~* \.(js|css|png|jpg|jpeg|gif|swf|xml|txt)$ {
                        expires 14d;
        }
}
4
hanleyhansen

Assurez-vous que vos autorisations sont définies sur 644 et 755 pour les fichiers et les dossiers, respectivement. Plus d'informations sur les autorisations peuvent être trouvées ici: https://joomla.stackexchange.com/a/133/19

Assurez-vous également que l'utilisateur ou le groupe est défini sur nginx afin que nginx soit autorisé à écrire dans ces fichiers/répertoires.

4
ContextSwitch