Информация Гайд настройка VPS для Prestashop 1.7 для новичков

Azarn1k

Постоялец
Регистрация
2 Сен 2012
Сообщения
165
Реакции
105
Методом проб и ошибок сервер был настроен.
Вожможно кому то пригодится этот Гайд.
В этом гайде VPS настраивался на Для просмотра ссылки Войди или Зарегистрируйся, вы можете использовать любой другой. Среди часто упоминаемых Для просмотра ссылки Войди или Зарегистрируйся, Для просмотра ссылки Войди или Зарегистрируйся.
Мы заказали и оплатили VPS на CentOS 7.

1. Общая настройка системы.
2. Установка PHP 7 и PHP-FPM
3. PHP + MariaDB (MySQL)
4. Установка phpMyAdmin
5. Установка Memcached
6. Установка Mcrypt, Zip, Curl, GD, PDO
7. Postfix
8. Конфигурация сервера
9. Создаем каталоги для сайта
10. Получение бесплатного сертификата Let's Encrypt

Тема будет редактироватся и наполнятся.
 
Последнее редактирование:
Общая настройка системы.

Обновляем CentOS:
Код:
yum update
Устанавливаем репозиторий EPEL:
Код:
yum install epel-release
Настраиваем время:
Код:
yum install ntpdate
ДЛЯ РОССИИ
Код:
\cp /usr/share/zoneinfo/Europe/Moscow /etc/localtime
Код:
ntpdate ru.pool.ntp.org
ДЛЯ УКРАИНЫ
Код:
\cp /usr/share/zoneinfo/Europe/Kiev/etc/localtime
Код:
ntpdate ua.pool.ntp.org
Настраиваем cron для автоматической синхронизации времени:
Код:
crontab -e
И настраиваем запуск задания ежедневно в 00:00:
ДЛЯ РОССИИ
Код:
0 0 * * * /sbin/ntpdate ru.pool.ntp.org
ДЛЯ УКРАИНЫ
Код:
0 0 * * * /sbin/ntpdate ua.pool.ntp.org
Отключаем SELinux:
Код:
sed -i "s/SELINUX=enforcing/SELINUX=disabled/" /etc/selinux/config
Код:
setenforce 0
Открываем необходимые порты в брандмауэре:
Код:
firewall-cmd --permanent --add-port=80/tcp
Код:
firewall-cmd --permanent --add-port=443/tcp
Код:
firewall-cmd --permanent --add-port=8080/tcp
Код:
firewall-cmd --permanent --add-port=20-21/tcp
Код:
firewall-cmd --permanent --add-port=40900-40999/tcp
Код:
firewall-cmd --permanent --add-port=25/tcp
Код:
firewall-cmd --permanent --add-port=465/tcp
Код:
firewall-cmd --permanent --add-port=587/tcp
Код:
firewall-cmd --reload
* 80, 443 и 8080 порты для веб-сервера; 20, 21 порты нужны для работы FTP; 40900-40999 также необходимы для работы FTP (динамические порты для пассивного режима); 25, 465 и 587 порты нужны для работы почтового сервера по SMTP; последняя команда перезапускает firewalld, чтобы применить новые правила.
Установка NGINX
Код:
nano /etc/yum.repos.d/nginx.repo
Код:
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/7/$basearch/
gpgcheck=0
enabled=1
Код:
yum install nginx
Внесем небольшую корректировку в файл nginx.conf:
Код:
nano etc/nginx/nginx.conf
Код:
http {
    ...
    server_names_hash_bucket_size 64;
    ....
}
* на практике, может встретиться ошибка could not build server_names_hash, you should increase server_names_hash_bucket_size: 32. Она возникает при большом количестве виртуальных серверов или если один из них будет иметь длинное название. Данная строка в конфиге исправит ситуацию.

Код:
systemctl enable nginx
Код:
systemctl start nginx

Проверим, что веб-сервер работает. Для этого открываем браузер и вводим в адресной строке IP-адрес сервера. В итоге мы должны увидеть заголовок «Welcome to nginx!»:
<-------------- добавлено через 65 сек. -------------->
Установка PHP 7 и PHP-FPM

Устанавливаем репозиторий на webtatic.com:
Код:
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
Теперь устанавливаем php7:
Код:
yum install php70w
Проверить рабочую версию php можно следующей командой:
Код:
php -v
Код:
yum install php70w-fpm php70w-opcache
Настройка связки NGINX + PHP
Код:
nano /etc/nginx/nginx.conf
В секции location редактируем параметр index на следующее значение:
Код:
    location / {
        index  index.php;
    }
А внутри секции server добавим следующее:
Код:
    location ~ \.php$ {
        set $root_path /usr/share/nginx/html;
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $root_path$fastcgi_script_name;
        include fastcgi_params;
        fastcgi_param DOCUMENT_ROOT $root_path;
    }
* где /usr/share/nginx/html — корневой путь хранения скриптов; 9000 — порт php-fpm.
Проверяем правильность настроек nginx:
Код:
nginx -t
И перезагружаем его:
Код:
systemctl restart nginx
Заходим в каталог хранения настроенного сайта:
Код:
cd /usr/share/nginx/html
Создаем index.php со следующим содержимым:
Код:
nano index.php
PHP:
<?php phpinfo(); ?>
Открываем в браузере IP-адрес нашего сервера. Теперь мы должны увидеть сводную информацию по PHP и его настройкам:
Установка MariaDB:
Устанавливаем MariaDB следующей командой:
Код:
yum install mariadb mariadb-server
* для установки mysql выполняем команду yum install mysql
Разрешаем автозапуск и запускаем СУБД:
Код:
systemctl enable mariadb
Код:
systemctl start mariadb
* для работы с mysql меняем mariadb на mysql.
Сразу создаем пароль для учетной записи root:
Код:
mysqladmin -u root password
<-------------- добавлено через 65 сек. -------------->
PHP + MariaDB (MySQL)

Для возможности подключаться к базе данных скриптами PHP необходимо установить следующие модули:

Код:
yum install php70w-mysql

После перезагружаем php-fpm:
Код:
systemctl restart php-fpm

И открываем наш сайт в браузере. В phpinfo появится новая секция MySQL.

* нас не должно смущать, что установили мы mariadb, а заголовок mysql. Если посмотреть в таблицу, можно увидеть ячейку Client API version, в которой указано, что используется именно mariadb.
<-------------- добавлено через 62 сек. -------------->
Установка phpMyAdmin

Для установки phpMyAdmin вводим следующую команду:
Код:
yum install phpmyadmin
Теперь создадим для него отдельный виртуальный домен в NGINX:

Код:
nano /etc/nginx/conf.d/phpmyadmin.conf

И добавим в него следующее содержимое:

Код:
server {
        listen       80;
        server_name  phpmyadmin.mydomain.com;
        set $root_path /usr/share/phpmyadmin;

        location / {
                root $root_path;
                index index.php;
        }

        location ~ \.php$ {
                fastcgi_pass 127.0.0.1:9000;
                fastcgi_index index.php;
                fastcgi_param SCRIPT_FILENAME $root_path$fastcgi_script_name;
                include fastcgi_params;
                fastcgi_param DOCUMENT_ROOT $root_path;
        }
}
* где phpmyadmin.dmosk.local — адрес для виртуального домена, именно этот адрес должен быть введен в адресную строку браузера, чтобы открылся нужный сайт. Поэтому есть нет возможность зарегистрировать домен и имя узла в DNS, можно воспользоваться локальным файлом hosts. /usr/share/phpmyadmin — это каталог, в который по умолчанию устанавливается phpMyAdmin.

После перезапускаем NGINX:

Код:
systemctl reload nginx
Также нужно перезапустить php-fpm, так как в процессе установки был добавлен модуль mbstring:
Код:
systemctl restart php-fpm

И открываем в браузере наш домен, в данном примере, phpmyadmin.mydomain.com. Откроется форма для авторизации — вводим логин root и пароль, который мы указали после установки и запуска mariadb.
<-------------- добавлено через 65 сек. -------------->
Установка Memcached

Для начала, выполняем установку пакетов:

Код:
yum install php70w-pecl-memcached

После разрешаем автозапуск и запускаем сервис кэширования:

Код:
systemctl enable memcached
Код:
systemctl start memcached

Перезапускаем php-fpm:

Код:
systemctl restart php-fpm
<-------------- добавлено через 60 сек. -------------->
Установка Mcrypt, Zip, Curl, GD, PDO

Код:
yum install php70w-mcrypt
Код:
yum install zip unzip
Код:
yum install php70w-common
Код:
yum install php70w-gd
Код:
yum install php70w-pdo
<-------------- добавлено через 67 сек. -------------->
Postfix

В CentOS 7 postfix уже установлен и запущен. Нам необходимо сделать несколько простых настроек:

Код:
nano /etc/postfix/main.cf

Код:
myorigin = $mydomain
smtp_generic_maps = hash:/etc/postfix/generic_map

* где myhostname — имя узла для почтового сервера (его он будет использовать в представлениях другим почтовым серверам); mydomain — домен сервера; myorigin — имя домена, которое будет подставляться всем отправляемым сообщениям без явного указания оного; smtp_generic_maps указывает на карту с общими правилами пересылки.

Открываем карту пересылки:

Код:
nano /etc/postfix/generic_map

И добавляем:

Код:
@mydomain.com    no-reply@mydomain.com

* данной настройкой мы будем подставлять всем отправляемым письмам без поля FROM адрес no-reply@mydomain.com

Создаем карту:

Код:
postmap /etc/postfix/generic_map
Для применения настроек перезагружаем почтовый сервер:
Код:
systemctl restart postfix
<-------------- добавлено через 64 сек. -------------->
Конфигурация сервера:

PHP

Открываем на редактирование следующий файл:

Код:
nano /etc/php.ini

И правим следующее:

Код:
upload_max_filesize = 256M
post_max_size = 256M
short_open_tag = On
date.timezone = "Europe/Moscow"

Перезапускаем php-fpm
Код:
systemctl restart php-fpm

NGINX

Открываем на редактирование следующий файл:

Код:
nano /etc/nginx/nginx.conf

И правим следующее:

Код:
worker_processes  auto;

И внутри секции http добавляем:

Код:
client_max_body_size 256M;

Код:
systemctl restart nginx

Подключаем домен магазина:

Создаем новый файл виртуального домена NGINX:
Код:
nano /etc/nginx/conf.d/prestashopstore.conf
* обязательно на конце должен быть .conf, так как только такие файлы веб-сервер подгружает в конфигурацию.

И добавляем следующее содержимое:

Код:
server {
    listen 80;
    listen [::]:80;
    server_name prestashopstore.com www.prestashopstore.com;
    root /var/www/prestashopstore/www;
    access_log /var/www/prestashopstore/log/nginx/access.log;
    error_log /var/www/prestashopstore/log/nginx/error.log;

    index index.php index.html;
   
    location ~ /.well-known {
    root /var/www/prestashopstore/www/;
    allow all;
    }
    location = /favicon.ico {
        log_not_found off;
        access_log off;
    }
    location = /robots.txt {
        auth_basic off;
        allow all;
        log_not_found off;
        access_log off;
    }
    location ~ /\. {
        deny all;
        access_log off;
        log_not_found off;
    }
    gzip on;
    gzip_disable "msie6";
    gzip_vary on;
    gzip_proxied any;
    gzip_comp_level 1;
    gzip_buffers 16 8k;
    gzip_http_version 1.0;
    gzip_types application/json text/css application/javascript;
   
    rewrite ^/[a-zA-Z][a-zA-Z]/(index\.php.*)$ /$1 last;
    rewrite ^/api/?(.*)$ /webservice/dispatcher.php?url=$1 last;
    rewrite ^/([0-9])(-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+.jpg$ /img/p/$1/$1$2$3.jpg last;
    rewrite ^/([0-9])([0-9])(-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+.jpg$ /img/p/$1/$2/$1$2$3$4.jpg last;
    rewrite ^/([0-9])([0-9])([0-9])(-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+.jpg$ /img/p/$1/$2/$3/$1$2$3$4$5.jpg last;
    rewrite ^/([0-9])([0-9])([0-9])([0-9])(-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+.jpg$ /img/p/$1/$2/$3/$4/$1$2$3$4$5$6.jpg last;
    rewrite ^/([0-9])([0-9])([0-9])([0-9])([0-9])(-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+.jpg$ /img/p/$1/$2/$3/$4/$5/$1$2$3$4$5$6$7.jpg last;
    rewrite ^/([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+.jpg$ /img/p/$1/$2/$3/$4/$5/$6/$1$2$3$4$5$6$7$8.jpg last;
    rewrite ^/([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+.jpg$ /img/p/$1/$2/$3/$4/$5/$6/$7/$1$2$3$4$5$6$7$8$9.jpg last;
    rewrite ^/([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+.jpg$ /img/p/$1/$2/$3/$4/$5/$6/$7/$8/$1$2$3$4$5$6$7$8$9$10.jpg last;
    rewrite ^/c/([0-9]+)(-[.*_a-zA-Z0-9-]*)(-[0-9]+)?/.+.jpg$ /img/c/$1$2$3.jpg last;
    rewrite ^/c/([a-zA-Z_-]+)(-[0-9]+)?/.+.jpg$ /img/c/$1$2.jpg last;
    location /admin-dev/ {
        if (!-e $request_filename) {
            rewrite ^/.*$ /admin-dev/index.php last;
        }
    }
    location / {
        if (!-e $request_filename) {
            rewrite ^/.*$ /index.php last;
        }
    }
    location ~ .php$ {
        fastcgi_split_path_info ^(.+.php)(/.*)$;
        try_files $uri =404;
        fastcgi_keep_conn on;
        include /etc/nginx/fastcgi_params;
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
   }
}
* где prestashopstore.com — домен, для которого создается виртуальный домен; /var/www/prestashopstore — каталог, в котором будет размещаться сайт.
** обратите внимание на выделения полужирным — здесь нужно подставить свои данные.
*** Заменить admin-dev на свой путь к панели управления.
<-------------- добавлено через 70 сек. -------------->
Создаем каталоги для сайта:

Код:
TMP_SITE=prestashopstore
* где prestashopstore — имя каталога. Нам будет намного удобнее копировать и вставлять команды с переменной (не придется править после копипасты).
Код:
mkdir -p /var/www/$TMP_SITE/{www,tmp}
Код:
mkdir -p /var/www/$TMP_SITE/log/{nginx}

Создаем индексный файл со следующим содержимым:

Код:
nano /var/www/$TMP_SITE/www/index.php

Код:
<?php echo "<h1>Hello from Prestashopstore</h1>"; ?>

Проверяем корректность настроек конфигурационных файлов:

Код:
nginx -t

Перезапускаем веб-сервер:
Код:
systemctl reload nginx

Открываем сайт в браузере.

Устанавливааем Prestashop.
<-------------- добавлено через 64 сек. -------------->
Получение бесплатного сертификата Let's Encrypt

Запрашивать сертификат Let's Encrypt проще всего с веб-сервера, на котором запущен сайт для домена. Возможен альтернативный вариант с монтирование сетевой папки, но его рассматривать не будем.

Устанавливаем утилиту certbot.

Код:
yum install certbot

Код:
certbot certonly --webroot --agree-tos --email postmaster@prestashopstore.com --webroot-path /var/www/prestashopstore/www -d prestashopstore.com -d www.prestashopstore.com

* где:

certonly — запрос нового сертификата;
webroot — проверка будет выполняться на основе запроса к корню сайта;
agree-tos — даем согласие на лицензионное соглашение;
email — почтовый адрес администратора домена;
webroot-path — каталог в системе Linux, который является корневым для сайта;
d — перечисление доменов, для которых запрашиваем сертификат.

После успешного выполнения команды, сертификаты будут созданы в каталоге /etc/letsencrypt/archive/prestashopstore.com, а также симлинки на них в каталоге /etc/letsencrypt/live/prestashopstore.com. При настройке приложений, стоит указывать пути до симлинков, так как при обновлении файлы в первом каталоге будут меняться, во втором — нет. Публичный ключ будет с именем cert.pem, а приватный — privkey.pem.

Автоматическое продление

Смотрим полный путь до скрипта certbot:

Код:
which certbot

Открываем на редактирование cron и добавляем следующее:

Код:
crontab -e


0 0 * * 1,4 /usr/bin/certbot renew

* в данном примере проверка и продление сертификата будет выполняться по понедельникам и четвергам (1,4) в 00:00. /usr/bin/certbot — путь, который мне выдала команда which certbot.

Команда certbot renew проверяет для всех наших сертификатов срок окончания, и если осталось менее 30 дней, запрашивает новый, сохраняет его в каталоге /etc/letsencrypt/archive/<домен> и обновляет симлинк.

Редактируем настройки виртуального домена
Код:
nano /etc/nginx/conf.d/prestashopstore.conf
После последней скобки добавляем конфигурацию:
Код:
server {
    listen 443 ssl http2;
    listen [::]:443 ssl http2;
    ssl on;
    ssl_certificate /etc/letsencrypt/live/prestashopstore/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/prestashopstore/privkey.pem;
    server_name prestashopstore.com www.prestashopstore.com;
    root /var/www/prestashopstore/www;
    access_log /var/www/prestashopstore/log/nginx/access.log;
    error_log /var/www/prestashopstore/log/nginx/error.log;

    index index.php index.html;
   
    location ~ /.well-known {
    root /var/www/prestashopstore/www/;
    allow all;
    }
    location = /favicon.ico {
        log_not_found off;
        access_log off;
    }
    location = /robots.txt {
        auth_basic off;
        allow all;
        log_not_found off;
        access_log off;
    }
    location ~ /\. {
        deny all;
        access_log off;
        log_not_found off;
    }
    gzip on;
    gzip_disable "msie6";
    gzip_vary on;
    gzip_proxied any;
    gzip_comp_level 1;
    gzip_buffers 16 8k;
    gzip_http_version 1.0;
    gzip_types application/json text/css application/javascript;
   
    rewrite ^/[a-zA-Z][a-zA-Z]/(index\.php.*)$ /$1 last;
    rewrite ^/api/?(.*)$ /webservice/dispatcher.php?url=$1 last;
    rewrite ^/([0-9])(-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+.jpg$ /img/p/$1/$1$2$3.jpg last;
    rewrite ^/([0-9])([0-9])(-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+.jpg$ /img/p/$1/$2/$1$2$3$4.jpg last;
    rewrite ^/([0-9])([0-9])([0-9])(-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+.jpg$ /img/p/$1/$2/$3/$1$2$3$4$5.jpg last;
    rewrite ^/([0-9])([0-9])([0-9])([0-9])(-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+.jpg$ /img/p/$1/$2/$3/$4/$1$2$3$4$5$6.jpg last;
    rewrite ^/([0-9])([0-9])([0-9])([0-9])([0-9])(-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+.jpg$ /img/p/$1/$2/$3/$4/$5/$1$2$3$4$5$6$7.jpg last;
    rewrite ^/([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+.jpg$ /img/p/$1/$2/$3/$4/$5/$6/$1$2$3$4$5$6$7$8.jpg last;
    rewrite ^/([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+.jpg$ /img/p/$1/$2/$3/$4/$5/$6/$7/$1$2$3$4$5$6$7$8$9.jpg last;
    rewrite ^/([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+.jpg$ /img/p/$1/$2/$3/$4/$5/$6/$7/$8/$1$2$3$4$5$6$7$8$9$10.jpg last;
    rewrite ^/c/([0-9]+)(-[.*_a-zA-Z0-9-]*)(-[0-9]+)?/.+.jpg$ /img/c/$1$2$3.jpg last;
    rewrite ^/c/([a-zA-Z_-]+)(-[0-9]+)?/.+.jpg$ /img/c/$1$2.jpg last;
    location /admin-dev/ {
        if (!-e $request_filename) {
            rewrite ^/.*$ /admin-dev/index.php last;
        }
    }
    location / {
        if (!-e $request_filename) {
            rewrite ^/.*$ /index.php last;
        }
    }
    location ~ .php$ {
        fastcgi_split_path_info ^(.+.php)(/.*)$;
        try_files $uri =404;
        fastcgi_keep_conn on;
        include /etc/nginx/fastcgi_params;
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
   }
}

Теперь Prestashop работает как по HTTP так и по HTTPS по протоколу HTTP2.
Переходим в Панель управления магазином. В настройках включаем SSL.
 
Один вопрос, почему(зачем) используете Машу вместо Мускуля?
 
Один вопрос, почему(зачем) используете Машу вместо Мускуля?
Сам не разбирался в чем особенности. Пишут что развивается быстрее, поддерживает все то же что и мускул. В гайде описано как вместо mariadb ставить mysql.
 
Спасибо, это супер-полезная тема!:beer:

А можно еще узнать, как назначить каждому домену свой ip?
И как правильно прописать конфиг для мультишопа?
И есть ли переадресация с www на без-www?
 
Пробежался краем глаза...

Устанавливаем репозиторий на webtatic.com:
Почему не взять Для просмотра ссылки Войди или Зарегистрируйся, имхо, он более предсказуем. Плюс php71, плюс есть смысл обновлять марию до 10.x

по протоколу HTTP2
Для HTTP2 нужно собирать nginx с Для просмотра ссылки Войди или Зарегистрируйся. Или искать готовый репозиторий - парочку публичных видел, но для себя, любимого, держу свой.

Есть смысл заменить на Для просмотра ссылки Войди или Зарегистрируйся

Да, и memcached сразу прибивать к 127.0.0.1 или к сокету, по дефолту он слушает везде и при открытом фаерволле (мало ли что бывает) может быть источником неприятностей. Например
Код:
PORT="11211"
USER="memcached"
MAXCONN="2024"
CACHESIZE="2096"
OPTIONS="-l 127.0.0.1"
 
Пробежался краем глаза...



Почему не взять Для просмотра ссылки Войди или Зарегистрируйся, имхо, он более предсказуем. Плюс php71, плюс есть смысл обновлять марию до 10.x


Для HTTP2 нужно собирать nginx с Для просмотра ссылки Войди или Зарегистрируйся. Или искать готовый репозиторий - парочку публичных видел, но для себя, любимого, держу свой.


Есть смысл заменить на Для просмотра ссылки Войди или Зарегистрируйся

Да, и memcached сразу прибивать к 127.0.0.1 или к сокету, по дефолту он слушает везде и при открытом фаерволле (мало ли что бывает) может быть источником неприятностей. Например
Код:
PORT="11211"
USER="memcached"
MAXCONN="2024"
CACHESIZE="2096"
OPTIONS="-l 127.0.0.1"

Я не говорю что это лучший мануал и 100% верный. Дело в том что если делать все по нему то магазин 100% работает.
На webstatic так же есть php 7.1. Пишут что 7.1 пока рановато использовать с prestashop 1.7 + есть нюансы с работой функционала магазина и сторонних модулей.
Я дополню гайд возможностью утсановки 7.1

По поводу HTTP2 и nginx. то с такой конфигурацией HTTP2 работает отлично и проходит успешно Для просмотра ссылки Войди или Зарегистрируйся.

Заменой на acme-client конфиг memcached дополню гайд позже.
 
Интересно а 1.6 взлетит по этому гайду или нет ?
 
Последнее редактирование:
Я не говорю что это лучший мануал
Это просто рекомендации.
И лучше заменить
Код:
    location / {
        if (!-e $request_filename) {
            rewrite ^/.*$ /index.php last;
        }
На
Код:
 location / {
try_files $uri $uri/ /index.php$uri&$args;
}
admin-dev аналогично
 
5. Установка Memcached

Сам пришел к примерно такой же конфигурации, методом проб и ошибок. Только у меня freebsd и mysql. Вопрос про Memcached, стоит ли ставить, заметен какой то прирост по скорости?
 
Назад
Сверху