Я пытаюсь установить Prestashop на свой сервер Centos 7 с Nginx в качестве веб-сервера.
Вот шаги, которые я предпринял:
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
Но когда я пытаюсь получить доступhttps://example.comЯ получаю403 Запрещеноответ.
Вот мой/etc/nginx/sites-available/example.com.confсодержимое файла:
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
}
Спасибо за помощь ребята.
Ваше здоровье
пс:Я выполнил все эти команды как root.
п.с2:части Certbot в моем файле example.com.conf были добавлены автоматически Certbot (программное обеспечение, которое устанавливает SSL-сертификат)
Вот также логи ошибок nginx, которые я получаю после попытки доступа к своему сайту:
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" является частью URL моего веб-сайта, но я не знаю, чему соответствует lemeilleu$)
Выходls -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
И наконец,/etc/php-fpm.d/www.confфайл:
user = nginx
group = nginx
listen.owner = nginx
listen.group = nginx
listen = 127.0.0.1:9000
решение1
Я наконец нашел решение этой проблемы. Даже при запускеnginx-т, если все в порядке, это не значит, что это действительно касается содержимого вашего nginx.conf (иливашсайт.com.confсодержание).
Итак, моя проблема была наиболее распространенной, с которой я сталкивался при работе с Nginx и сообщением 403 Forbiden, т.е., как вы можете заметить в моем файле .conf, строка index index.html index.htm;
была размещена неудачно, она должна быть глобальной, поэтому за пределами и вышерасположениеслои, например так:
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;
}