====== Установка 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 из корневого каталога сайта автоматически удаляется после распаковки дистрибутива.**