====== Установка Bitrix24 на Astra Linux ====== ===== Установка и настройка ОС ===== Скачайте и установите дистрибутив Astra Linux с минимальным набором ПО, остальное будет установлено по сети во время настройки. В процессе установки выберите «сервер с минимальной настройкой», иначе получите десктопную версию. ---- >Все последующие шаги описаны для сервера с минимальной настройкой. Примеры команд в уроках даны для суперпользователя **root**. ---- В Astra Linux применяется система управления программными пакетами **apt/apt-get**. С ее помощью установите обновления до последней стабильной версии и перезапустите систему. ==== Настройка репозиториев ==== nano /etc/apt/sources.list Добавьте следующие строки в конец файла: deb https://dl.astralinux.ru/astra/stable/1.8_x86-64/main-repository/ 1.8_x86-64 main contrib non-free deb https://dl.astralinux.ru/astra/stable/1.8_x86-64/extended-repository/ 1.8_x86-64 main contrib non-free ==== Обновите систему ==== apt update && apt-get dist-upgrade -y ==== Настройка портов ==== Обязательно откройте порты: * 22 — ssh доступ, * 80 / 443 — http / https web-сервер. Остальные порты для ntlm, сервера мгновенных сообщений нужно открыть, если только они используются. Можно выбрать произвольные порты * 8890 / 8891 — http/https ntlm, * 8893 / 8894 — http/https сервер мгновенных сообщений. ===== Установка пакетов ===== Ниже приведен список всех пакетов, необходимых для установки коробочной версии Битрикс24. Для 1С-Битрикс: Управление сайтом список аналогичен, за исключением Push-сервера. * Apache — версия 2.4.57 apt install apache2 apache2-dev -y * PHP — версия 8.2 apt install php php-cli php-common php-dev php-gd php-imap php-ldap php-mbstring php-mysql php-opcache php-pspell php-xml php-zip php-amqp php-apcu php-pear -y * Nginx — версия 1.22 apt install nginx -y * MariaDB-сервер — версия 10.11.6 apt -y install mariadb-server mariadb-client * Node и NPM (Push-сервер) — версия 18.19.0 apt install nodejs npm -y * Redis — 7.0.15 apt install redis -y ===== Конфигурация Nginx ===== ===== Настройте конфигурацию Nginx: ===== * рабочий каталог для сайта — **/var/www/html/bx-site**, * пользователь для web-окружения — **www-data**, группа — **www-data**. Чтобы скачать и распаковать на сервере файлы конфигурации, можно выполнить команды: cd /opt wget https://dev.1c-bitrix.ru/docs/chm_files/astra.zip unzip astra.zip Скопируйте файлы конфигурации в папку /etc/nginx/. rsync -av /opt/astra/nginx/ /etc/nginx/ В сервисе используются имена для проксирования: * httpd — проксирование запросов на Apache, * push — проксирование запросов на Push-сервер. Чтобы заработала конфигурация, пропишите имена в локальных адресах. echo "127.0.0.1 push httpd" >> /etc/hosts Если сервисы расположены на другом хосте, укажите правильный IP-адрес. По умолчанию в Astra сервер Apache использует 80 порт и поставлен на автозапуск. Поэтому перед запуском сервера Nginx на время выключите Apache (на данный момент он еще не настроен). Остановите Apache. systemctl stop apache2 Запустите Nginx. systemctl --now enable nginx ===== Конфигурация PHP ===== ---- >файлы конфигурации загружены при конфигурации Nginx (wget https://dev.1c-bitrix.ru/docs/chm_files/astra.zip) ---- После того, как файлы конфигурации загружены на сервер , выполните команды: cd /opt/astra/php.d/ cat opcache.ini >> /etc/php/8.2/apache2/conf.d/bitrix.ini cat zbx-bitrix.ini >> /etc/php/8.2/apache2/conf.d/bitrix.ini mkdir /var/log/php chown -R www-data:www-data /var/log/php ===== Конфигурация Apache ===== ---- >файлы конфигурации загружены при конфигурации Nginx (wget https://dev.1c-bitrix.ru/docs/chm_files/astra.zip) ---- После того, как файлы конфигурации загружены на сервер , выполните команду: rsync -av /opt/astra/apache2/ /etc/apache2/ В результате будут настроены следующие файлы: * ports.conf — изменено значение порта Listen на 8090, * sites-available/000-default.conf — заданы настройки сайта, * mods-available/php.conf — выполнена конфигурация PHP модуля, * apache2/apache2.conf - выключен AstraMode. Отключите листинг каталогов в Apache: a2dismod --force autoindex Включите модуль rewrite: a2enmod rewrite Включите PHP модуль: a2enmod php8.2 Запустите сервис: systemctl --now enable apache2 ===== Конфигурация MariaDB ===== ---- >файлы конфигурации загружены при конфигурации Nginx (wget https://dev.1c-bitrix.ru/docs/chm_files/astra.zip) ---- После того, как файлы конфигурации загружены на сервер , скопируйте их в папку /etc/mysql/. rsync -av /opt/astra/mysql/ /etc/mysql/ В результате: * в файле my.cnf добавлена загрузка настроек из каталога /etc/mysql/my-bx.d/, * настройки, указанные выше, прописаны в my-bx.d/zbx-custom.cnf. Запустите сервис: systemctl --now enable mariadb systemctl restart mariadb Настройте сервис через //mysql_secure_installation//. mysql_secure_installation ... Switch to unix_socket authentication [Y/n] n ... skipping. Change the root password? [Y/n] y New password: Re-enter new password: Password updated successfully! Reloading privilege tables.. ... Success! Remove anonymous users? [Y/n] y ... Success! Disallow root login remotely? [Y/n] y ... Success! ===== Конфигурация Redis ===== ---- >файлы конфигурации загружены при конфигурации Nginx (wget https://dev.1c-bitrix.ru/docs/chm_files/astra.zip) ---- После того, как файлы конфигурации загружены на сервер , выполните команду: rsync -av /opt/astra/redis/redis.conf /etc/redis/redis.conf Настройте права доступа: usermod -g www-data redis chown -R redis:www-data /etc/redis /var/log/redis /var/lib/redis [[ ! -d /etc/systemd/system/redis-server.service.d ]] && mkdir /etc/systemd/system/redis-server.service.d echo -e '[Service]\nGroup=www-data' > /etc/systemd/system/redis-server.service.d/custom.conf systemctl daemon-reload Запустите сервис Redis: systemctl enable redis-server.service systemctl restart redis-server.service ===== Конфигурация Push-server ===== Nginx проксирует запрос на Push-сервис выбранного типа. Запросы получения сообщений **sub** — публичные, проксируются со стандартных портов 80/443. Запросы публикации **pub** — доступны только с внутреннего адреса сервера. ==== Nodejs-процессы делятся на два типа. ==== 1. Процессы, отвечающие за подключение пользователя к выбранному каналу и получение им сообщений. Слушают порты 8010-8015. 2. Процессы, отвечающие за отправку сообщения в канал. Слушают порты 9010-9011. Для запуска Push-сервера необходимы: * nodejs & npm, * Элемент ненумерованного спискаархив сервиса и его модулей. ==== Выполните следующие действия: ==== * Скачайте и установите архив **push-server-0.4.0.tgz**: cd /opt wget https://repo.bitrix24.tech/vm/push-server-0.4.0.tgz npm install --omit=dev ./push-server-0.4.0.tgz Установка закончится строкой: added 1 package in 8s 16 packages are looking for funding run `npm fund` for details Для удобства дальнейшей работы выполните команду: ln -sf /opt/node_modules/push-server/etc/push-server /etc/push-server ==== Скопируйте файлы сервиса и основную конфигурацию: ==== cd /opt/node_modules/push-server cp etc/init.d/push-server-multi /usr/local/bin/push-server-multi mkdir /etc/sysconfig cp etc/sysconfig/push-server-multi /etc/sysconfig/push-server-multi cp etc/push-server/push-server.service /etc/systemd/system/ ln -sf /opt/node_modules/push-server /opt/push-server В конфигурационном файле ///etc/sysconfig/push-server-multi// исправьте (или добавьте, если их нет) следующие параметры: * **SECURITY_KEY** — секретный ключ для подписи соединения между клиентом и Push-сервером, Длина ключа не имеет значения. В ключе можно использовать только буквы латинского алфавита и цифры, спецсимволы запрещены. Рекомендуем использовать длинный ключ — простой и короткий небезопасен. Вы можете сгенерировать его в консоли с помощью команды: cat /dev/urandom |tr -dc A-Za-z0-9 | head -c 128 * **RUN_DIR** — директория для хранения PID файлов процесса, * **USER/GROUP** — пользователь, под которым будет запущен сервис, * **REDIS_SOCK** — сокет, который использует сервис Redis. === Создайте пользователя: === useradd -g www-data bitrix === Создайте каталог логов: === [[ ! -d /var/log/push-server ]] && mkdir /var/log/push-server chown bitrix:www-data /var/log/push-server Каждый nodejs-процесс будет запущен как отдельный процесс. Сгенерируйте конфигурационные файлы: /usr/local/bin/push-server-multi configs pub /usr/local/bin/push-server-multi configs sub Создайте каталог через tmpfiles.d. echo 'd /tmp/push-server 0770 bitrix www-data -' > /etc/tmpfiles.d/push-server.conf systemd-tmpfiles --remove --create Измените пользователя и путь к скрипту запуска в конфигурационном файле сервиса ///etc/systemd/system/push-server.service//: [Service] User=bitrix Group=www-data ExecStart=/usr/local/bin/push-server-multi systemd_start ExecStop=/usr/local/bin/push-server-multi stop ... Переконфигурируйте: systemctl daemon-reload Запустите сервис: systemctl --now enable push-server ===== Конфигурация сайта ===== ==== Создайте рабочий каталог и загрузите скрипт BitrixSetup: ==== mkdir /var/www/html/bx-site cd /var/www/html/bx-site wget https://www.1c-bitrix.ru/download/scripts/bitrixsetup.php chown www-data:www-data /var/www/html/bx-site -R Аналогичным образом можно скачать нужный дистрибутив и установить его в каталог /var/www/html/bx-site. ==== Получите доступ к оболочке БД. Создайте базу данных и пользователя: ==== mysql -u root -p CREATE DATABASE portal; CREATE USER 'bitrix'@'localhost' IDENTIFIED BY 'PASSWORD'; GRANT ALL PRIVILEGES ON portal.* TO 'bitrix'@'localhost'; FLUSH PRIVILEGES; exit ---- >Примечания: >portal можно заменить на имя своей базы данных >Замените 'PASSWORD' на надежный пароль для пользователя bitrix >Команда FLUSH PRIVILEGES применяет изменения прав >Если вам нужно разрешить подключение не только с localhost, замените 'localhost' на '%' (но это менее безопасно) ---- ===== Установка продукта с помощью BitrixSetup ===== >Загрузка **BitrixSetup** производилось при конфигурировании сайта >**Внимание! Установка и дальнейшая корректная работа продукта возможна только в корневой папке сайта на сервере.** * Элемент ненумерованного спискаОткройте страницу http://<ваш сайт>/bitrixsetup.php в браузере, заменив строку <ваш сайт> на реальный адрес вашего сайта. В браузере отобразится страница загрузки дистрибутива. {{:vji:bitrix:bitrix.png?400|{{:vji:bitrix:bitrix.png?400|}}}} >Внимание! Убедитесь, что веб-сервер обладает достаточными правами для создания и записи файлов на хостинге. * В поле **Выбор дистрибутива** выберите нужный дистрибутив и с помощью выпадающего списка укажите редакцию продукта, которую вы хотите установить. * Укажите версию продукта, которая вам необходима: **демонстрационная или коммерческая**. Если вы выбрали коммерческую версию, то введите лицензионный ключ в поле **Лицензионный ключ**. * Нажмите кнопку **Загрузить**. Начнется процесс загрузки и распаковки дистрибутива на сайт. * С помощью скрипта **BitrixSetup** будет установлено соединение вашего сервера непосредственно с сервером компании «1C-Битрикс». Дистрибутив выбранной редакции продукта будет скопирован в корневую директорию сайта на сервере, автоматически распакован, а затем в браузере откроется окно **Мастера установки продукта** (например «1C-Битрикс: Управление сайтом» или «Битрикс24 в коробке»). С помощью кнопки **Назад** можно вернуться в раздел **Выбор дистрибутива**, чтобы изменить значения параметров загрузки (например, редакцию дистрибутива). >**Важно! В целях безопасности скрипт bitrixsetup.php из корневого каталога сайта автоматически удаляется после распаковки дистрибутива.**