Содержание
Установка 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 в браузере, заменив строку <ваш сайт> на реальный адрес вашего сайта. В браузере отобразится страница загрузки дистрибутива.
}} >Внимание! Убедитесь, что веб-сервер обладает достаточными правами для создания и записи файлов на хостинге. * В поле Выбор дистрибутива выберите нужный дистрибутив и с помощью выпадающего списка укажите редакцию продукта, которую вы хотите установить. * Укажите версию продукта, которая вам необходима: демонстрационная или коммерческая. Если вы выбрали коммерческую версию, то введите лицензионный ключ в поле Лицензионный ключ. * Нажмите кнопку Загрузить. Начнется процесс загрузки и распаковки дистрибутива на сайт. * С помощью скрипта BitrixSetup будет установлено соединение вашего сервера непосредственно с сервером компании «1C-Битрикс». Дистрибутив выбранной редакции продукта будет скопирован в корневую директорию сайта на сервере, автоматически распакован, а затем в браузере откроется окно Мастера установки продукта (например «1C-Битрикс: Управление сайтом» или «Битрикс24 в коробке»). С помощью кнопки Назад можно вернуться в раздел Выбор дистрибутива, чтобы изменить значения параметров загрузки (например, редакцию дистрибутива). >Важно! В целях безопасности скрипт bitrixsetup.php из корневого каталога сайта автоматически удаляется после распаковки дистрибутива.