Вводные данные:
- Система Debian 11
- 1С версия 8.3.17.2256
- Apache версия 2.4.52
Содержание
1. Подготовка системы.
На свежеустановленной системе для начала правим репозитории.
1 |
apt edit-sources |
1 2 3 4 5 6 7 8 9 10 |
#Debian 11 (Bullseye) deb http://deb.debian.org/debian bullseye main contrib non-free deb-src http://deb.debian.org/debian bullseye main contrib non-free deb http://deb.debian.org/debian-security/ bullseye-security main contrib non-free deb-src http://deb.debian.org/debian-security/ bullseye-security main contrib non-free deb http://deb.debian.org/debian bullseye-updates main contrib non-free deb-src http://deb.debian.org/debian bullseye-updates main contrib non-free |
1 |
apt update |
Ставим необходимые пакеты для работы 1С веб сервера
1 |
apt install curl sudo imagemagick unixodbc ttf-mscorefonts-installer gnupg make libc6-i386 pigz -y |
Теперь нужно подготовить locale для нашей системы
1 |
dpkg-reconfigure locales |
Нам нужно выбрать ru_RU.UTF-8 UTF-8. Так же убедитесь на всякий случай, что en_US.UTF-8 тоже выбрана. По умолчанию выбираем ее же — ru_RU.UTF-8 UTF-8 и перезапускаем систему.
Все готово для установки 1С и Apache
2. Установка 1С компонентов для веб сервера
Скачиваем с сайта https://releases.1c.ru/ архив с deb пакетами 1С сервера и передаем на наш сервер. Можно воспользоваться WinSCP если используете Windows, для Linux можно воспользоваться scp
1 |
scp deb64_8_3_17_2256.tar.gz user@10.21.2.167:/home/user |
Где:
deb64_8_3_17_2256.tar.gz — 1С архив
user@10.21.2.167 — Пользователь и адрес сервера куда передаем
:/home/user — Директория назначения
Архив лучше распаковать в отдельную директория
1 2 3 4 |
mkdir 1c-server mv deb64_8_3_17_2256.tar.gz 1c-server/ cd 1c-server/ tar xzvf deb64_8_3_17_2256.tar.gz |
Проверяем файлы которые распаковали
1 |
ls |
1 2 3 |
1c-enterprise83-common_8.3.17-2256_amd64.deb 1c-enterprise83-server_8.3.17-2256_amd64.deb 1c-enterprise83-ws-nls_8.3.17-2256_amd64.deb 1c-enterprise83-common-nls_8.3.17-2256_amd64.deb 1c-enterprise83-server-nls_8.3.17-2256_amd64.deb deb64_8_3_17_2256.tar.gz 1c-enterprise83-crs_8.3.17-2256_amd64.deb 1c-enterprise83-ws_8.3.17-2256_amd64.deb license-tools |
Для установки 1С компонентов с поддержкой русского языка вам нужны пакеты в названии которых не встречается nsl
Ставим 1С сервер и компоненты веб сервера. Сам сервер 1С выключаем
1 |
dpkg -i 1c-enterprise83-common_8.3.17-2256_amd64.deb 1c-enterprise83-server_8.3.17-2256_amd64.deb 1c-enterprise83-ws_8.3.17-2256_amd64.deb |
1 |
systemctl disable srv1cv83.service |
3. Установка Apache
Ну тут все тривиально и просто, сначала ставим apache
1 |
apt install apache2 -y |
Компания 1С рекомендует использовать модуль мультипроцессной обработки worker, поэтому следует выяснить с каким модулем работает ваш сервер, для этого выполним
1 |
apachectl -V | grep -i mpm |
Если это prefork или event, то их следует отключить
1 |
a2dismod mpm_prefork |
или
1 |
a2dismod mpm_event |
Теперь запускаем модуль и перезапускаем Apache
1 |
a2enmod mpm_worker |
1 |
service apache2 restart |
4. Настройка только для файловых баз
Для корректной работы с файловыми базами следует ограничить Apache одним рабочим процессом, в противном случае вы можете столкнуться с ошибкой Объект заблокирован. Чтобы избежать этого, откроем /etc/apache2/mods-available/mpm_worker.conf и установим следующие значения:
1 |
nano /etc/apache2/mods-available/mpm_worker.conf |
1 2 3 |
StartServers 1 MinSpareThreads 1 MaxSpareThreads 1 |
5. Лицензирование 1С Веб клиента
Рассмотрим несколько вариантов:
- У нас есть аппаратный ключ на 5 пользователей, сервера 1с у нас нет, а ключ надо как — то раздать, то вариант тут только один. Создаем директорию на нашем веб сервере.
1 |
mkdir /opt/1C/v8.3/x86_64/conf |
и добавляем файл со следующим содержимым
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
[NH_COMMON] NH_IPX = Disabled NH_NETBIOS = Disabled NH_TCPIP = Enabled [NH_IPX] [NH_NETBIOS] [NH_TCPIP] NH_SERVER_ADDR = тут ip адрес компа с ключом NH_PORT_NUMBER = 475 NH_TCPIP_METHOD = UDP NH_USE_BROADCAST = Disabled |
Теперь веб сервер будет спокойно отдавать лицензии пользователям 1с веб клиента так и тонком клиенте.
- Программные многопользовательские лицензии. Сама 1с заявляет и рекомендует, что можно активировать многопользовательскую лицензию на компьютер где установлен веб модуль 1с и он сам будет раздавать лицензии.
- Вариант с сервером 1с можно не рассматривать т.к. он сам раздает лицензии.
6. Публикация файловой базы
Для публикации файловой базы 1с на нужна сама база (не файл выгрузки базы), создаем каталог где будет храниться база
1 |
mkdir -p /opt/bases/buh |
Переносим туда базу и выставляем права доступа
1 |
chown -R www-data:www-data /opt/bases/ |
Теперь переходим в каталог где установлена 1с
1 |
cd /opt/1C/v8.3/x86_64/ |
и публикуем нашу базу
1 |
./webinst -publish -apache24 -wsdir buh -dir /var/www/buh -connstr "File=/opt/bases/buh;" -confpath /etc/apache2/apache2.conf |
Где:
- -publish — опубликовать базу (для удаления delete)
- -wsdir buh — наименование базы (будет добавлено в http:\\serverip\buh
- -dir /var/www/buh — путь публикации
- -connstr «File=/opt/bases/buh;» — путь до базы данных
- -confpath /etc/apache2/apache2.conf — расположения конфига Apache
После этого рестартуем Apache
1 |
systemctl restart apache2.service |
Теперь открываем в браузере http://serverip/buh и проверяем работу нашей базы
Использованы материалы: https://interface31.ru/