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

# Настройка конфигурации 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`.

Найдите строку:

```none
server_name_in_redirect off;
```

После этой строки добавьте следующий код:

```nginx
# МаркетПро: клиентская часть — начало
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;
}
# МаркетПро: клиентская часть — конец
```


:::tip
В строке

```javascript
set $PORTNUXT 3000;
```

укажите порт, который был настроен в модуле решения **МаркетПро**. По умолчанию это порт 3000.

:::

 ![](https://docs.astdesign.ru/api/files.get?sig=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJrZXkiOiJ1cGxvYWRzLzQ0Yjc4ZmY0LTFiMDYtNDFhOS04MmMyLWYzMjdmNDVhZWIwOS80ZjgxNzMyZC0yNjliLTRiNjAtOTU0MC1kMmFmZDUzZjk2NWMvaW1hZ2UucG5nIiwidHlwZSI6ImF0dGFjaG1lbnQiLCJpYXQiOjE3OTMyNTgxMDAsImV4cCI6MTc5MzM0NDUwMH0.tKEZwZo0YSHY1N3kMV5aqu2A2QoIed7UH9_SP4UsdPY)

Первый блок отправляет все адреса сайта на клиентскую часть. Исключение — адреса, которые обслуживает 1С-Битрикс: `/bitrix/`, `/api/`, `/upload/`, `/local/`, `/php/`, `/static/`, `/.well-known/` и `restore.php`. Файлы из корня сайта клиентская часть не отдаёт: исходный код, настройки и служебные файлы снаружи не видны. Файлы, которые должны открываться по адресу сайта напрямую (`robots.txt`, файл подтверждения для Яндекс.Вебмастера), кладите в папку `frontend/static` — см. [Яндекс.Вебмастер](/s/marketpro/doc/yandeksvebmaster-C8eM2uYGEP).

Два блока `location = /.well-known/…` нужны мобильному приложению: по этим адресам Android и iOS проверяют, что ссылки сайта можно открывать в приложении. Файлы `assetlinks.json` и `apple-app-site-association` кладите в папку `frontend/static/.well-known`. Если приложения нет, эти блоки ничего не делают: файлов нет, адреса отдают «не найдено».

Строки `# МаркетПро: клиентская часть — начало` и `— конец` оставьте на месте: по ним блок находится при обновлении конфигурации.

Сохраните файл конфигурации.

Перейдите в виртуальную машину и выполните следующие команды:

В главном меню виртуальной машины нажмите **0**, чтобы перейти в режим командной строки.

Проверьте конфигурацию и перезапустите Nginx:

```bash
nginx -t
systemctl restart nginx
```

Если `nginx -t` сообщает об ошибке, сайт не перезапускайте: сверьте вставленный блок с текстом выше и исправьте ошибку.

# Мастер установки

После перезапуска Nginx выполните следующие команды:

```bash
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`.

 ![](https://docs.astdesign.ru/api/files.get?sig=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJrZXkiOiJ1cGxvYWRzLzQ0Yjc4ZmY0LTFiMDYtNDFhOS04MmMyLWYzMjdmNDVhZWIwOS9hNzVmMDc3NC1iZjMwLTQyNjMtYWUyOS04N2U4Njk2OWM0YWUvaW1hZ2UucG5nIiwidHlwZSI6ImF0dGFjaG1lbnQiLCJpYXQiOjE3OTMyNTgxMDAsImV4cCI6MTc5MzM0NDUwMH0.QvNUsbhsKx4oj8kysS6igoeTlCg_MQgdefr1O2PplcY)

Процесс установки может занять некоторое время в зависимости от производительности сервера. После завершения появится соответствующее сообщение.

 ![](https://docs.astdesign.ru/api/files.get?sig=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJrZXkiOiJ1cGxvYWRzLzQ0Yjc4ZmY0LTFiMDYtNDFhOS04MmMyLWYzMjdmNDVhZWIwOS9mNGFlNjZhZS1hNjk5LTQ1ZjAtYWE4NS1hMzA2MmU2ZjNlM2IvaW1hZ2UucG5nIiwidHlwZSI6ImF0dGFjaG1lbnQiLCJpYXQiOjE3OTMyNTgxMDAsImV4cCI6MTc5MzM0NDUwMH0.qBb7LHo9Z5y_ODWfmGdpUOK8RusBQEAmiOlsd52fI9w)

Если во время установки возникнет ошибка, будет показано красное сообщение. В этом случае рекомендуется обратиться в техническую поддержку: **support@astdesign.ru**, указав **sFTP доступ** к серверу для решения проблемы.

Если установка прошла без ошибок, решение успешно установлено, и вы можете зайти на ваш сайт.

# Проверка после установки

Убедитесь, что файлы сайта не отдаются наружу: откройте в браузере адрес `https://ваш-домен/urlrewrite.php`. Должна открыться страница «не найдено» вашего сайта, а не скачивание файла. Если файл скачивается, блок из раздела «Настройка конфигурации Nginx» вставлен не в тот файл конфигурации или стоит ниже других правил `location` — вернитесь к этому разделу и проверьте.

---

**Documents**

- [Установка решения](https://docs.astdesign.ru/s/marketpro/doc/ustanovka-resheniya-Z8Q6r79liU)
- [FAQ перед покупкой](https://docs.astdesign.ru/s/marketpro/doc/faq-pered-pokupkoj-HPgKP7mWDT)
- [Общая настройка](https://docs.astdesign.ru/s/marketpro/doc/obshaya-nastrojka-Io6HZQaGXf)
- [Шаблон](https://docs.astdesign.ru/s/marketpro/doc/shablon-ylLAFZV3o8)
- [Главная страница](https://docs.astdesign.ru/s/marketpro/doc/glavnaya-stranica-7PwYozaVVo)
- [Магазины (склады)](https://docs.astdesign.ru/s/marketpro/doc/magaziny-sklady-7rEEZJrA45)
- [Каталог](https://docs.astdesign.ru/s/marketpro/doc/katalog-FpnYzZr900)
- [Поиск](https://docs.astdesign.ru/s/marketpro/doc/poisk-xsDdFVh5h0)
- [Текстовые страницы](https://docs.astdesign.ru/s/marketpro/doc/tekstovye-stranicy-jVtNXZv3T5)
- [Реклама и маркетинг](https://docs.astdesign.ru/s/marketpro/doc/reklama-i-marketing-iZkaCoxr5b)
- [Региональность](https://docs.astdesign.ru/s/marketpro/doc/regionalnost-bCuM9AOBNO)
- [Корзина](https://docs.astdesign.ru/s/marketpro/doc/korzina-Mh27pZA7v9)
- [Оформление заказа](https://docs.astdesign.ru/s/marketpro/doc/oformlenie-zakaza-VyvQjOQxZo)
- [Авторизация](https://docs.astdesign.ru/s/marketpro/doc/avtorizaciya-5HwEb1oDJG)
- [SEO и аналитика](https://docs.astdesign.ru/s/marketpro/doc/seo-i-analitika-d1Hw6c4YAM)
- [Уведомления](https://docs.astdesign.ru/s/marketpro/doc/uvedomleniya-SKDyjYg14J)
- [Мобильное приложение](https://docs.astdesign.ru/s/marketpro/doc/mobilnoe-prilozhenie-F5E0hT7TnN)
- [Обновление решения](https://docs.astdesign.ru/s/marketpro/doc/obnovlenie-resheniya-RRRgtxV5uH)
- [Для разработчика](https://docs.astdesign.ru/s/marketpro/doc/dlya-razrabotchika-WJePeJCmpy)
- [Интеграции](https://docs.astdesign.ru/s/marketpro/doc/integracii-D3DqjYOZYm)
- [Что делать, если что-то не работает](https://docs.astdesign.ru/s/marketpro/doc/chto-delat-esli-chto-to-ne-rabotaet-Q8L8sTVJF8)