Содержание

Установка 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

Настройка портов

Обязательно откройте порты:

Остальные порты для ntlm, сервера мгновенных сообщений нужно открыть, если только они используются. Можно выбрать произвольные порты

Установка пакетов

Ниже приведен список всех пакетов, необходимых для установки коробочной версии Битрикс24. Для 1С-Битрикс: Управление сайтом список аналогичен, за исключением Push-сервера.

apt install apache2 apache2-dev -y
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
apt install nginx -y
apt -y install mariadb-server mariadb-client
apt install nodejs npm -y
apt install redis -y

Конфигурация Nginx

Настройте конфигурацию Nginx:

Чтобы скачать и распаковать на сервере файлы конфигурации, можно выполнить команды:

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/

В сервисе используются имена для проксирования:

Чтобы заработала конфигурация, пропишите имена в локальных адресах.

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/

В результате будут настроены следующие файлы:

Отключите листинг каталогов в 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/

В результате:

Запустите сервис:

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-сервера необходимы:

Выполните следующие действия:

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 исправьте (или добавьте, если их нет) следующие параметры:

Длина ключа не имеет значения. В ключе можно использовать только буквы латинского алфавита и цифры, спецсимволы запрещены. Рекомендуем использовать длинный ключ — простой и короткий небезопасен. Вы можете сгенерировать его в консоли с помощью команды:

cat /dev/urandom |tr -dc A-Za-z0-9 | head -c 128

Создайте пользователя:

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 производилось при конфигурировании сайта
Внимание! Установка и дальнейшая корректная работа продукта возможна только в корневой папке сайта на сервере.