В общем долго возился и победил наконец. Решил настрочить мануал, с командами которые надергал с разных статей в сети. На эталон ваще не претендую но PostgreSQL + 1c 8.3 + Ubuntu Server 22 работает.
Мне надо было собрать сервер в облаке vcloud director и дать доступ через NSX Edge.
Поскольку сервер с убунту я могу развернуть только из шаблона виртуальной машины с разделом в 1ТБ (такой цод
достался), придется расширять раздел после создания вм из шаблона.
Для управления разделами пользуемся тулзой cfdisk (тыкаем на нужный sda который надо расширить и внизу resize -> write):
# sudo cfdisk
После того, как вы увеличили физический раздел, нужно увеличить размер логического раздела Ubuntu. Проверяем что используется используются тома LVM:
# sudo lsblk
Проверяем свободное место в группе томов LVM:
# sudo vgdisplay
Для расширения раздела LVM нужно сначала увеличить PV (Physical Volume):
# sudo pvresize /dev/sda3
Увеличиваем логический том за счет всего доступного свободного места:
# sudo lvextend -l +100%FREE /dev/mapper/ubuntu--vg-ubuntu--lv
Расширяем файловую систему для ext2, ext3 и ext4 выполните:
# sudo resize2fs /dev/mapper/ubuntu--vg-ubuntu--lv
Проверяем свободное место командой
df -h
Ставим дополнительные шрифты
sudo apt install ttf-mscorefonts-installer fontconfig
Далее что бы вся эта "балалайка" заработала нужно реконфигурировать локаль, выбираем ru RU UTF-8, затем перезайти, менюшки в MC к примеру должны стать на русском.
sudo dpkg-reconfigure locales
Обновляемся
sudo apt update
sudo apt upgrade
Далее выкачиваем с 1с ИТС "суповой набор"
postgresql_15.4_1.1C_amd64_deb.tar.bz2
postgresql_15.4_1.1C_amd64_addon_deb.tar.bz2
deb64_8_3_23_1912.tar.gz
Patch_SUBD_PostgreSQL_15.4_1.1C.tar.bz2
Сразу скажу, вот это #овно не заработало и не устанавливалось никак. Пробовал 14 версию - тоже самое.
postgresql_15.4_1.1C_amd64_deb.tar.bz2
postgresql_15.4_1.1C_amd64_addon_deb.tar.bz2
Есть сборка PostgreSQL от фирмы 1С, которую можно загрузить с
официального сайта. Ее в инструкции не рассматриваем.
Далее обновляем доступные репозитории пакетов согласно инструкции. (
1с заработала только с этой сборкой постгрес, хз почему)
И устанавливаем PostgreSQL версии 14.
apt-get install postgrespro-1c-14
Чтобы найти имя демона PostgreSQL выполним команду.
systemctl --type=service | grep postgres
Теперь останавливаем сервис и удаляем созданный по умолчанию кластер.
Останавливаем PostgreSQL
sudo systemctl stop postgrespro-1c-14
Удаляем файлы ранее созданного при установке кластера
Вместо 1c-14 может быть другое название каталога, в зависимости от версии.
rm -r /var/lib/pgpro/1c-14/data/*
Инициализируем новый кластер для 1С с нужной локалью (не обязательно, если по умолчанию локаль в системе "ru_RU.UTF-8").
sudo /opt/pgpro/1c-14/bin/pg-setup initdb --tune=1c --locale=ru_RU.UTF-8
Запускаем PostgreSQL
sudo systemctl start postgrespro-1c-14
Ставим 1с сервер
Вы получите единый установщик setup-full-8.3.23.1912-x86_64.run, который содержит все пакеты для сервера 1С. Запускаем его в пакетном режиме с некоторыми параметрами:
# chmod +x setup-full-8.3.23.1912-x86_64.run
# ./setup-full-8.3.23.1912-x86_64.run --mode unattended --enable-components server,ws
Регистрируем unit systemd для управления службой 1С:
# systemctl link /opt/1cv8/x86_64/8.3.23.1912/srv1cv8-8.3.23.1912@.service
Запускаем Сервер 1С и сразу добавляем в автозагрузку:
# systemctl start srv1cv8-8.3.23.1912@.default
# systemctl daemon-reload
# systemctl enable srv1cv8-8.3.23.1912@.service
Смотрим что все запущено по части postgres и 1csrv
systemctl list-units --type service --state running
systemctl list-unit-files | grep enabled
Проверим, все ли службы запустились:
# netstat -tulnp | grep "rphost\|ragent\|rmngr"
Открываем порты
iptables -I INPUT 1 -p tcp --dport 1540:1541 -j ACCEPT
iptables -I INPUT 1 -p tcp --dport 1560 -j ACCEPT
И сохраняем правила с помощью iptables-persistent:
apt-get install iptables-persistent
netfilter-persistent save
Задаем пароль юзера postgres в постгрес
$ sudo -u postgres psql
psql
postgres=# \password postgres
Enter new password:
Enter it again:
Узнать версию постгрес
pg_config --version