Яндекс

Установка сервера 1с (x86) на AstraLinux 1.8

Установка сервера 1с (x86) на AstraLinux 1.8

(3 Votes)

Установка сервера 1с x86 на AstraLinux 1.8

Представляем Вашему вниманию наше уникальное разработанное решение, которое возникло в ходе решения задачи перехода на отечественное ПО.

В чем его уникальность?

Мы решили несколько важных задач:

  1. Применили высвободившиеся серверные 32битные лицензии 1С.
  2. Установили и сконфигурировали 32 разрядный сервер 1С на 64 разрядную ОС Астра Линукс.
  3. Решили проблему получения клиентских лицензий на рабочих местах, подключенных к нашему 32разрядному серверу с сервера лицензирования х64 на ОС Windows.

Установка сервера 1с будет осуществляться версии x86 (32 битная) на сервер AstraLinux 1.8 x64. Лицензию использовать для 1с сервера x86 и подключение к серверу лицензирования на MS Windows x64

Установка сервера 1с на Astra Linux 1.8 (с отдельным сервером БД)

Стенд:

  • 1. Сервер БД на базе Astra Linux 1.8.1.12
    • 1.1. Отдельный раздел под базу данных postgres
    • 1.2. Отдельный раздел под резервные копии базы данных
  • 2. Сервер 1с на базе Astra Linux 1.8.1.12
  • 3. Сервер лицензирования MS Windows 2008 R2

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

ВАЖНО! Данная инструкция работает на версии 1С 8.3.24.1586 и работает только до версии ОС 1.8.1.12, выше не работает или если обновить, то служба падает. Версия 8.3.27.1688 работает начиная с 1.8.2.X - 1.8.3.X. Все остальные версии 1С не пробовал, но по идеи новые версии должны так же работать и на 1.8.1, а вот если у Вас 1.8.2 или 1.8.3 то лучше использовать свежии версии 1С.

УСТАНОВКА

Сервер 1с

1) Начнем с установки пакетов для 32-х разрядной версии 1с.

sudo apt install -y libc6-i386 ia32-libs gstreamer1.0-plugins-bad

2) Ставим для 1.8 дополнительные пакеты библиотек

sudo apt install libgxps2 libstdc++6-amd64-cross libwebkit2gtk-4.0-37 -fy

3) Теперь так же для 1.8 решаем проблему с evince (просмотрщик pdf)

Загружаем необходимые пакеты:

mkdir /tmp/evince
sudo wget -O /tmp/evince/evince-common_43.1-2_all.deb http://ftp.ru.debian.org/debian/pool/main/e/evince/evince-common_43.1-2_all.deb
sudo wget -O /tmp/evince/evince_43.1-2+b1_amd64.deb http://ftp.de.debian.org/debian/pool/main/e/evince/evince_43.1-2+b1_amd64.deb
sudo wget -O /tmp/evince/libevview3-3_43.1-2+b1_amd64.deb http://ftp.ru.debian.org/debian/pool/main/e/evince/libevview3-3_43.1-2+b1_amd64.deb
sudo wget -O /tmp/evince/libevdocument3-4_43.1-2+b1_amd64.deb http://ftp.ru.debian.org/debian/pool/main/e/evince/libevdocument3-4_43.1-2+b1_amd64.deb
sudo apt install -y /tmp/evince/*.deb

Загружаем 1с x86 и после загрузки, кидаем в /tmp

P.S.: в моем случае версия 8.3.24.1586! В командах не забываем заменять на свою версию!

cd /tmp
unzip /tmp/server32_8_3_24_1586.zip

Тут два варианта установки (в графике или терминале), рассмотрим оба, но приоритетней в терминале

Терминал:

sudo /tmp/setup-full-8.3.24.1586-i386.run --mode unattended --enable-components server,ws,client_full

Графика (опционально):

Запускаем в графике installAsRoot Ставим галки:

  • 1. 1С:Предприятие
  • 2. Зависимости
  • 3. Установить ярлыки
  • 4. Сервер 1С:Предприятия 8
  • 5. Администрирование сервера 1С:Предприятия
  • 6. Сервер хранилища конфигураций 1С:Предприятия
  • 7. Дополнительные функции администрирования

4) Переименовываем системные библиотеки, чтобы брал с системы

sudo mv /opt/1cv8/i386/8.3.24.1586/libstdc++.so.6 /opt/1cv8/i386/8.3.24.1586/libstdc++.so.6.old

sudo mv /opt/1cv8/common/libstdc++.so.6 /opt/1cv8/common/libstdc++.so.6.old

5) Накидываем права на 1с

sudo chown -R usr1cv8:grp1cv8 /opt/1cv8

6) Создаем службу

sudo systemctl link /opt/1cv8/i386/8.3.24.1586/srv1cv8-8.3.24.1586@.service

sudo systemctl enable srv1cv8-8.3.24.1586@

sudo systemctl start Адрес электронной почты защищен от спам-ботов. Для просмотра адреса в браузере должен быть включен Javascript.

sudo systemctl status Адрес электронной почты защищен от спам-ботов. Для просмотра адреса в браузере должен быть включен Javascript.

На этом установка сервера 1с завершена. Переходим к базе данных.


Установка базы данных

0) У меня созданы два раздела (/data и /backup). 

/data - новый раздел под базу данных
/backup - раздел под резервные копии баз

1) Ставим пакет rsync

sudo apt install -y rsync

2) Ставим postgrespro-17

Загружаем сборку postgres 17 - Здесь

Вводим данные на сайте, получаем ссылку на загрузку postgres 17. После загрузки распаковываем архив и ставим все deb пакеты в нем. Вот мой пример, но у меня уже был архив, только назвал его по другому.

tar -xvf /tmp/pg17.tar.gz -C /tmp
sudo apt install -y /tmp/pg17/*.deb

Проверяем работоспособность postgres

sudo systemctl status postgrespro-1c-17.service

3) Перенесем нашу базу данных в раздел /data

Тормозим службу postgrespro

sudo systemctl stop postgrespro-1c-17.service

sudo vim /opt/pgpro/1c-17/bin/pg-setup

Заменяем путь к базе данных на новый каталог PGDATA=/data

sudo vim /etc/default/postgrespro-1c-17

Заменяем путь к базе данных на новый каталог PGDATA=/data

Задаем права на новом каталоге

sudo chmod 750 -R /data

sudo chown -R postgres:postgres /data

Копируем postgresql в новый каталог с сохранением меток, для этого пригодится rsync

sudo rsync -av /var/lib/pgpro/1c-17/data/ /data/

sudo vim /data/postgresql.conf

Ищем параметр listen_addresses '*' - ставим звездочку что бы слушать ВСЕ

sudo vim /data/pg_hba.conf

комментируем строчку ipv6,

добавляем подключение к БД только сервера 1с
host all postgres АЙПИ_АДРЕС_1с/32 md5

Переименовываем старую версию базы данных в old

sudo mv /var/lib/pgpro/1c-17 /var/lib/pgpro/1c-17_old

Включаем базу данных

sudo systemctl start postgrespro-1c-17.service

sudo systemctl status postgrespro-1c-17.service

Если статус выдает ошибку, значит где-то накосячили, смотрим инструкцию еще раз.

4) Задаем пароль postgres

Даем 63 права postgres
Переходим в root

sudo -i

pdpl-user -i 63 postgres

su postgres

psql

Задаем пароль postgres

\password postgres

Выходим

\q

Проверяем корректность симлинков

pg_dump

Если ошибок нет, то выходим exit
Если есть, то правим симплинки (слетают после pgadmin)

ln -s /opt/pgpro/1c-17/bin/* /usr/bin/ -f

sudo systemctl enable postgrespro-1c-17.service

На этом настройка сервера базы данных завершена.


Получение лицензии

1) В файле /etc/hosts на машине пользователя, кто будет работать с 1с незабываем прописать наш сервер 1с

sudo vim /etc/hosts

Прописываем запись такого плана IP-адрес HOSTNAME.DOMAIN HOSTNAME

Пример: 192.168.1.50 1c-app.entnet.ru 1c-app

Сохраняем и выходим.

2) Теперь открываем 1с (если первый запуск 1с на клиенте, то предложит сразу добавить информационную базу, соглашаемся на создание новой информационной базы), нажимаем добавить информационную базу и далее создать.

Выбираем создание информационной базы без конфигурации для разработки новой конфигурации...

Вводим название нашего соединения (может быть любое) и ставим галку "На сервере 1С:Предприятия"

Вводим данные сервера 1с, так как в моем случае, сервер 1с и база данных на разных серверах, я прописываю разные ip адреса базы и сервера 1с, если у вас на одном сервере, то указываем 1 ip адрес

 

  • Кластер серверов 1С:Предприятия:ВАШ_IP_СЕРВЕРА_1С
  • Имя информационной базы в кластере: любое название, но лучше использовать одинаковые названия с именем базы данных.
  • Тип СУБД: PostgreSQL
  • Сервер базы данных: IP там где база данных развернута
  • Имя базы данных: новое имя базы данных, как будет называться
  • Пользователь базы данных: по умолчанию postgres (либо свою, если создавали отдельно)
  • Пароль пользователя: (пароль от учетной записи postgres или своей, которую создавали в базе данных учетной записи)

 

3) Новая база в 1с создалась, теперь давайте к ней подключимся.

При попытке к ней подключитьсчя, получаем сообщение, что лицензия отсутствует. Нажимаем кнопку Получить лицензию.

Нажимаем кнопку "Дополнительно" и вводим IP адрес сервера 1С.

Полученный файл лицензии, он сразу отправит на наш сервер и пропишет его в нужное место. То есть мы запрашиваем лицензию для удаленной машины (сервера) используя свою машину в качестве посредника.

Далее необходимо ввести регистрационный номер и пин-код активации комплекта поставки, снимаем галку с "Автоматическое получение" если сервер не под интернетом и нажимаем далее.

Далее в зависимости от нашей ситуации, выбираем "Первый запуск" или "Восстановление". В моем случае "Первый запуск"

Далее необходимо ввести сведения об организации.

ВАЖНО! Запишите (распечатайте) и сохраните данные сведения в комплекте с документациейй на программный продукт. При повторной активации продукта необходимо ввести регистрационные данные в точности как при первой активации (до каждого символа).

Следующим этапом будет предложен выбор привязки программной лицензии.
ВАЖНО! При выборе привязки к аппаратному ключу необходимо обеспечить его постоянную доступность в сети, а так же наличие на нем не менее 1 свободной лицензии!

После подтверждения выбора необходимо сохранить файл запроса лицензии (если без доступа в инетнет) - выбираем пункт "На электронном носителей (через файл)". Если через интернет, то выбираем "Автоматически"

ВАЖНО! Обратите внимание, что в дальнейшем восстановить лицензию можно только тем способом, которым она активирована.

Сохраняем файл запроса лицензии на компьютер путем нажатия "Сохранить".

Сохраненный файл запроса лицензии переносим на носитель и перемещаемся на интернет. Отврываем сайт центра лицензирования 1С (Если выбрали "На электронном носителе").

4) Объединяем файл ответа с файлом запроса через клиента "1С:Предприятия".

5) Файл лицензии устанавливается на свое место на сервере "1С" (Astra Linux 1.8), но сервер лицензирования его не видит, а вот сервер "1С" его видит и работает. Лицензии с сервера лицензирования не получает из-за того, что не может увидеть лицензию. Вся проблема в правах на файл.

Чтобы получить специальные права нужно:

  • 1) либо ввести sudo chmod 2664 /var/1C/licenses/FILE(ВАШ_ФАЙЛ).lic
  • 2) либо переустановить сервер 1с, в момент переустановки накинет нужные права на файл с лицензией.

 

Права должны быть: -rw-rwSr-- usr1cv8 grp1cv8

6) После всех манипуляций, вводим сервер 1с в домен.


Снятие бэкапа и восстановление (бонусом)

Ни один сервер не может обходиться без бэкапов, по этому здесь, в качестве бонуса, рассмотрим самый примитивный, рабочий способ снятия и восстановления бэкапов.

Так как у меня отдельный раздел под backup, то и бэкапить я буду туда.

pg_dump -h localhost -U ВАША_УЗ(в моем случае postgres) ВАШЕ_НАЗВАНИЕ_БАЗЫ_ДАННЫХ | gzip -c --best > /backup/backup_db_NAME_DB_2025-07-11__21-23-20.sql.gz

Вот простой пример команды с подставленными параметрами:

pg_dump -h localhost -U postgres fin_base | gzip -c --best > /backup/backup_db_fin_base_2025-07-11__21-23-20.sql.gz

Отлично, но и самое главное, какой бэкап без его восстановления.

psql -h localhost -U ВАША_УЗ(в моем случае postgres) -d ВАШЕ_НАЗВАНИЕ_БАЗЫ_ДАННЫХ -f /backup/ИМЯ_БЭКАПА.sql

Но, для восстановления бэкапа в новую базу, необходимо создать ее с правильной локалью:

- Переходим в учетную запись postgres

su postgres

- После этого создаем новую базу

createdb --username postgres -T template0 -E UTF8 -l ru_RU.UTF-8 НОВОЕ_НАЗВАНИЕ_БАЗЫ

- Потом восстанавливаем в нее бэкап

psql -h localhost -U postgres -d НОВОЕ_НАЗВАНИЕ_БАЗЫ -f /backup/backup_db...sql

Добавить комментарий

Будьте взаимовежливы и корректны.

Все сообщения проходят премодерацию.

Рекламные сообщения и комментарии с ссылками, не несущими смысловую нагрузку по тематике материала будут удаляться.


На развитие проекта

Вход