Nginx 403 Verboten während der Prestashop-Installation

Nginx 403 Verboten während der Prestashop-Installation

Ich versuche, Prestashop auf meinem Centos 7-Server mit Nginx als Webserver zu installieren.

Hier sind die Schritte, die ich unternommen habe:

wget https://download.prestashop.com/download/releases/prestashop_1.7.4.2.zip

unzip prestashop_1.7.4.2.zip  ((gives 3 files, including prestapshop.zip))

unzip prestapshop.zip -d /var/www/example.com/public_html

chmod 755 /var/www/example.com/public_html/ -R

chown nginx:nginx * /var/www/example.com/public_html -R

Aber wenn ich versuche, zuzugreifenhttps://example.comIch bekomme ein403 VerbotenAntwort.

Hier ist mein/etc/nginx/sites-available/example.com.confDateiinhalt:

 server{
   root /var/www/example.com/public_html;

   server_name example.com www.example.com MY_SERVER_IP;

   location / {
      index index.html index.htm;
      #try_files $uri $uri/ =404;
   }

    location ~ \.php$ {
        try_files $uri =404;
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }

   error_page 500 502 503 504 /50x.html;
   location = /50x.html {
      root html;
   }


    listen 443 ssl; # managed by Certbot
    ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; # managed by Certbot
    include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot


}
 server{
    if ($host = www.example.com) {
        return 301 https://$host$request_uri;
    } # managed by Certbot


    if ($host = example.com) {
        return 301 https://$host$request_uri;
    } # managed by Certbot



   listen 80;

   server_name example.com www.example.com MY_SERVER_IP;
    return 404; # managed by Certbot


}

Danke für eure Hilfe, Leute.

Prost

ps:Ich habe alle diese Befehle als Root ausgeführt

p.s2:Die Certbot-Teile in meiner Datei example.com.conf wurden automatisch von Certbot (Software, die SSL-Zertifikate installiert) hinzugefügt.

Hier sind auch die Nginx-Fehlerprotokolle, die ich beim Versuch, auf meine Website zuzugreifen, erhalte:

2018/08/30 05:53:04 [error] 27114#0: *6 directory index of "/var/www/example.com/public_html/install/" is forbidden, client: MY_SERVER_IP, server: lemeilleur$
2018/08/30 05:53:56 [error] 27114#0: *9 directory index of "/var/www/example.com/public_html/install/" is forbidden, client: MY_SERVER_IP, server: lemeilleur$
2018/08/30 06:30:26 [error] 27114#0: *12 directory index of "/var/www/example.com/public_html/install/" is forbidden, client: MY_SERVER_IP, server: lemeilleu$

( „lemeilleu“ ist ein Teil der URL meiner Website, aber ich weiß nicht, was lemeilleu$ entspricht)

Ausgabe vonls -Z /var/www/example.com/public_html/

drwxr-xr-x nginx nginx ?                                admin
drwxr-xr-x nginx nginx ?                                app
-rwxr-xr-x nginx nginx ?                                autoload.php
drwxr-xr-x nginx nginx ?                                bin
drwxr-xr-x nginx nginx ?                                cache
drwxr-xr-x nginx nginx ?                                classes
-rwxr-xr-x nginx nginx ?                                composer.lock
drwxr-xr-x nginx nginx ?                                config
drwxr-xr-x nginx nginx ?                                controllers
-rwxr-xr-x nginx nginx ?                                docker-compose.yml
drwxr-xr-x nginx nginx ?                                docs
drwxr-xr-x nginx nginx ?                                download
-rwxr-xr-x nginx nginx ?                                error500.html
-rwxr-xr-x nginx nginx ?                                images.inc.php
drwxr-xr-x nginx nginx ?                                img
-rwxr-xr-x nginx nginx ?                                index.php
-rwxr-xr-x nginx nginx ?                                init.php
drwxr-xr-x nginx nginx ?                                install
-rwxr-xr-x nginx nginx ?                                INSTALL.txt
drwxr-xr-x nginx nginx ?                                js
-rwxr-xr-x nginx nginx ?                                LICENSES
drwxr-xr-x nginx nginx ?                                localization
drwxr-xr-x nginx nginx ?                                mails
drwxr-xr-x nginx nginx ?                                modules
drwxr-xr-x nginx nginx ?                                override
drwxr-xr-x nginx nginx ?                                pdf
-rwxr-xr-x nginx nginx ?                                robots.txt
drwxr-xr-x nginx nginx ?                                src
drwxr-xr-x nginx nginx ?                                themes
drwxr-xr-x nginx nginx ?                                tools
drwxr-xr-x nginx nginx ?                                translations
drwxr-xr-x nginx nginx ?                                upload
drwxr-xr-x nginx nginx ?                                var
drwxr-xr-x nginx nginx ?                                vendor
drwxr-xr-x nginx nginx ?                                webservice

Und schließlich die/etc/php-fpm.d/www.confDatei:

user = nginx

group = nginx

listen.owner = nginx

listen.group = nginx

listen = 127.0.0.1:9000

Antwort1

Ich habe endlich eine Lösung für dieses Problem gefunden. Selbst beim Laufennginx -t, wenn alles in Ordnung ist, bedeutet das nicht, dass es tatsächlich um den Inhalt Ihrer nginx.conf geht (oderIhreSite.com.confInhalt).

Mein Problem war also das häufigste, das man bei Nginx und der 403 Forbiden-Meldung findet. Wie Sie in meiner .conf-Datei sehen können, index index.html index.htm;war die Zeile nicht richtig platziert. Sie muss global sein, also außerhalb und über demStandortEbenen, etwa so:

 server{
   root /var/www/example.com/public_html;

   server_name example.com www.example.com MY_SERVER_IP;

   index index.php index.html index.htm;

   location / {
      #try_files $uri $uri/ =404;
   }

verwandte Informationen