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;
}