Установка клиентской части решения
Настройка конфигурации Nginx
Подключитесь к серверу с помощью файлового менеджера, поддерживающего sFTP (например, WinSCP для Windows или FileZilla), и выполните следующие шаги:
Перейдите в директорию /etc/nginx/bx/site_avaliable/.
Откройте конфигурационный файл сайта.
Название файла зависит не только от количества сайтов на сервере, но и от того, где расположен сайт:
если сайт расположен в
/home/bitrix/www, обычно используется файлs1.confдля HTTP илиssl.s1.confдля HTTPS;если сайт расположен в
/home/bitrix/ext_www/домен/, нужно открывать конфигурационный файл с названием домена, напримерbx_ext_example.com.confилиbx_ext_ssl_example.com.conf.
Для сайтов, работающих по HTTPS, обычно нужно редактировать файл с ssl в названии. Например:
/home/bitrix/www→ чаще всегоssl.s1.conf;/home/bitrix/ext_www/example.com→ чаще всегоbx_ext_ssl_example.com.conf.
Найдите строку:
server_name_in_redirect off;После этой строки добавьте следующий код:
# МаркетПро: клиентская часть — начало
set $PORTNUXT 3000;
location = /.well-known/apple-app-site-association {
alias $docroot/frontend/static/.well-known/apple-app-site-association;
default_type application/json;
}
location = /.well-known/assetlinks.json {
alias $docroot/frontend/static/.well-known/assetlinks.json;
default_type application/json;
}
location ~ ^\/(?:(?!(?:bitrix|api|upload|local|php|static|\.well-known)(?:\/|$)|restore\.php$)) {
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" always;
add_header X-Frame-Options "SAMEORIGIN";
add_header X-Cache-Status $upstream_cache_status;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_ignore_headers Set-Cookie Cache-Control;
proxy_http_version 1.1;
proxy_read_timeout 1m;
proxy_connect_timeout 1m;
proxy_pass http://127.0.0.1:$PORTNUXT;
}
set $webp_suffix "";
if ($http_accept ~* "webp") {
set $webp_suffix ".webp";
}
location ~* (.*)\.(png|jpg|jpeg)$ {
set $webp $1.$2.webp;
set $rootFile "${document_root}${webp}";
if ($http_accept ~* "webp"){set $test A;}
if (-f $rootFile) {set $test "${test}B";}
if ($test = AB) {
add_header Vary Accept;
rewrite (.*) $webp break;
}
error_page 404 /404.html;
expires 365d;
}
# МаркетПро: клиентская часть — конецВ строке
set $PORTNUXT 3000;укажите порт, который был настроен в модуле решения МаркетПро. По умолчанию это порт 3000.
Первый блок отправляет все адреса сайта на клиентскую часть. Исключение — адреса, которые обслуживает 1С-Битрикс: /bitrix/, /api/, /upload/, /local/, /php/, /static/, /.well-known/ и restore.php. Файлы из корня сайта клиентская часть не отдаёт: исходный код, настройки и служебные файлы снаружи не видны. Файлы, которые должны открываться по адресу сайта напрямую (robots.txt, файл подтверждения для Яндекс.Вебмастера), кладите в папку frontend/static — см. Яндекс.Вебмастер.
Два блока location = /.well-known/… нужны мобильному приложению: по этим адресам Android и iOS проверяют, что ссылки сайта можно открывать в приложении. Файлы assetlinks.json и apple-app-site-association кладите в папку frontend/static/.well-known. Если приложения нет, эти блоки ничего не делают: файлов нет, адреса отдают «не найдено».
Строки # МаркетПро: клиентская часть — начало и — конец оставьте на месте: по ним блок находится при обновлении конфигурации.
Сохраните файл конфигурации.
Перейдите в виртуальную машину и выполните следующие команды:
В главном меню виртуальной машины нажмите 0, чтобы перейти в режим командной строки.
Проверьте конфигурацию и перезапустите Nginx:
nginx -t
systemctl restart nginxЕсли nginx -t сообщает об ошибке, сайт не перезапускайте: сверьте вставленный блок с текстом выше и исправьте ошибку.
Мастер установки
После перезапуска Nginx выполните следующие команды:
rm -Rf prepare-marketpro.sh && wget https://astdesign.ru/prepare-marketpro.sh
chmod +x prepare-marketpro.sh && ./prepare-marketpro.shЭти команды запустят мастер установки клиентской части решения.
На первом шаге мастер-скрипт запросит путь до корневой папки сайта. По умолчанию это /home/bitrix/www. Если этот путь верен, просто нажмите Enter. Если путь другой, укажите его и нажмите Enter.
Процесс установки может занять некоторое время в зависимости от производительности сервера. После завершения появится соответствующее сообщение.
Если во время установки возникнет ошибка, будет показано красное сообщение. В этом случае рекомендуется обратиться в техническую поддержку: support@astdesign.ru, указав sFTP доступ к серверу для решения проблемы.
Если установка прошла без ошибок, решение успешно установлено, и вы можете зайти на ваш сайт.
Проверка после установки
Убедитесь, что файлы сайта не отдаются наружу: откройте в браузере адрес https://ваш-домен/urlrewrite.php. Должна открыться страница «не найдено» вашего сайта, а не скачивание файла. Если файл скачивается, блок из раздела «Настройка конфигурации Nginx» вставлен не в тот файл конфигурации или стоит ниже других правил location — вернитесь к этому разделу и проверьте.