Установка клиентской части решения

Настройка конфигурации 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 — вернитесь к этому разделу и проверьте.