Добрый день.
Пора кончать с мелкомягкими и опять рубить хардкор. Вспоминаем консоль. Кто не сталкивался - изучаем, привыкаем.
Ставить галки и нажимать "далее" это конечно хорошо, но иногда неплохо потренировать извилины. Ну и пальцы на руках.
1 Сначала тюним Убунту
sudo dpkg-reconfigure locales
выбираем ru_RU.UTF-8 UTF-8
2. Для корректной работы приложений необходимо установить шрифты из состава Microsoft Core Fonts:
sudo apt install ttf-mscorefonts-installer fontconfig
3. Устанавливаем утилитку для работы с изображениями. В интрнетах и на фурумах пишут, что она 1С нужна.
sudo apt install imagemagick curl
Установка PostgreSQL Pro
Переходим по ссылке на сайт Постгри
https://api.vc.ru/v2.8/redirect?to=https%3A%2F%2F1c.postgres.ru%2F%3Fref%3Dvc.ru&postId=587130
Я выбрал 18 версию, вот такими действиями:
Обратите внимание, что команды должны выполняться от пользователя с правами суперпользователя.
wget https://repo.postgres.ru/1c/1c-18/keys/pgpro-repo-add.sh
Устанавливаем утилитку gnupg2 (без нее будет ошибка у 1С)
apt-get install gnupg2
Запускаем скрипт, скачаный выше
sh pgpro-repo-add.sh
устанавливаем сам субд
Если Postgres единственный на вашей машине и вы хотите сразу получить готовую к употреблению базу:
apt-get install postgrespro-1c-18
Если у вас уже установлен другой Postgres и вы хотите чтобы он продолжал работать параллельно (в том числе и для апгрейда с более старой major-версии):
apt-get install postgrespro-1c-18-contrib /opt/pgpro/1c-18/bin/pg-setup initdb /opt/pgpro/1c-18/bin/pg-setup service enable /opt/pgpro/1c-18/bin/pg-setup service start
Проверим состояние сервера Postgre:
systemctl status postgrespro-1c-18
должен быть active
Настройка PostgreSQL Pro
Добавляем службу в автозагрузку:
systemctl enable postgrespro-1c-18
Сразу вхожу под новым узером postgres:
sudo -u postgres psql
Новый пароль пользователю postgres. Я использовал такой же, как пользователь. Но вы придумайте сложный и запомните. Через год два придется вспоминать.
\password postgres
Теперь правим hba_file
ищем его расположение
SHOW hba_file;
Выдал:
/var/lib/pgpro/1c-18/data/pg_hba.conf (1row)
Редактируем его
nano /var/lib/pgpro/1c-13/data/pg_hba.conf
Ищем строку:
host all all 127.0.0.1/32 md5
правим ее или же комментим и ниже добаваляем:
host all all 192.168.1.22/24 md5
где 192.168.1.22 - ip адрес моего сервера (он же у вас статический? Если забыли, то сейчас же пропишите его).
Или скажите вашему маршрутизатору, чтоб маку всешей сетевой карты выдавал именно этот адрес. А то будете днём с огнём искать, а что же 1с перестала коннектиться к базе.
сохраняем.
Проверим в начале c какого IP принимаются подключения, и какой порт слушает сервис PostgreSQL.
sudo ss -tulnp | grep postgres
Далее, чтоб избежать ошибок подключения в будущем, правим postgresql.conf
Ищем строку #listen_addresses = ‘localhost’
раскомментим ее и правим следующим образом
listen_addresses = ‘*’
Чтобы СУБД принимала запросы и с других компов.
далее перезапустим службу
systemctl restart postgrespro-1c-18
Далее открываем порты:
iptables -A INPUT -i eth0 -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -i eth0 -p udp --dport 80 -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --dport 5432 -j ACCEPT
iptables -A INPUT -i eth0 -p udp --dport 5432 -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --dport 443 -j ACCEPT
iptables -A INPUT -i eth0 -p udp --dport 443 -j ACCEPT
iptables -I INPUT 1 -p tcp --dport 1540:1541 -j ACCEPT
iptables -I INPUT 1 -p tcp --dport 1560 -j ACCEPT
Или же
sudo ufw allow 80/tcp
и далее по списку.
Перезапустим сервер, стартует ли всё автоматом.
должно быть active.
Далее пробуем цепануться к нашей базе postgres c помощью Dbeaver
База данных-Создать новое соединение, выбираем PostgreSQL(Слоник) - далее
Пишем имя хоста или ip 192.168.1.22
База данных: postgres
Пользователь: postgres
Пароль: postgres
У меня сразу цепанулось. Ура!
Можно проверить telnet-ом
telnet 192.168.1.22 1541
должно подключиться. Если выдал сбой, то проверяйте открыты ли порты.
Установка дополнительных компонентов
Помимо шрифтов нужны доп. компоненты.
sudo apt-get install imagemagick
sudo apt-get install unixodbc
sudo apt-get install libgsf-1-114
sudo apt-get update
Установка сервера 1С
Теперь скачиваем дистриб с оф сайта 1с Технологическая платформа 1С:Предприятия (64-bit) для Linux. Думаю, все в курсе. "Кто знает, тот в курсе", как говорил Михаил Яковлев.
2. Кидаем архив мыслимыми и немыслимыми способами на свой Linux сервер. Я буду использовать свежескачанный и установленный Ubuntu Server 26 с поднятой самбой. (Я пока не готов к астре.). Копирую вставляю в расшареную самба папку.
3. Распаковываем архив deb64_8_3_27_2214.zip в папку /tmp:
sudo unzip deb64_8_3_27_2214.zip /tmp
ls
видим много *.deb файлов
Устанавливаем все deb пакеты
sudo apt install ./*.deb
Для регистрации юнита службы выполним команду:
sudo systemctl link/opt/1cv8/x86_64/8.3.27.2214/srv1cv8-8.3.27.2214@default.service
Затем добавим сервис в автозагрузку:
sudo systemctl enable srv1cv8-8.3.27.2214@
Для управления службой «Сервера 1С» мы можем использовать стандартные команды systemd:
sudo systemctl start srv1cv8-8.3.27.2214@default – Запуск службы
sudo systemctl stop srv1cv8-8.3.27.2214@default – Остановка службы
sudo systemctl restart srv1cv8-8.3.27.2214@default – Перезапуск службы
sudo systemctl status srv1cv8-8.3.27.2214@default – Состояние службы
Установка Технологической платформы
Установка технологической платформы на клиент
Снова идем в https://releases.1c.ru и скачиваем файл Технологическая платформа 1С:Предприятия (64-bit) для своей ОС. (На картинке версия не как у меня в статье, скриншоты не мои, у меня старая версия просто потому, что она у меня была диске)
Внимание! Берем установщик именно полной технологической платформы. Ибо если у вас есть просто тонкий клиет - 1С скажет, что не может понять какой версии ваш сервер. При этом установщик платформы для клиента, должен совпадать с версией вашего сервера. У меня сервак 8.3.27.2214 и техплатформа под виндой тоже 8.3.27.2214.
Запускаем установщик. Из скачанного архива windows64full.... запускаем. setup.exe.
Внимание! В данном окне обязательно выбираем установку Администрирование сервера 1С:Предприятия. Остальное можно оставить по умолчанию, или ставить по вашим потребностям.
Делее прожимаем "далее", и оставляем все по умолчанию. После установки в меню пуск находим ссылку Регистрация утилиты администрирования серверов (версия) и запускаем ее от имени администратора (лично я в пуске нашел):
Открылась CMD и сразу закрылась, теперь у нас на компе есть доступ к панели Администрирования серверов 1С.
Ищем и запускаем утилиту Администрирование серверов 1С Предприятия:
В открывшемся окне кликаем правой кнопкой мыши по Central 1C:Enterprise 8.3 servers - выбираем: "Создать" -> "Центральный сервер 1С:Предприятие 8.3" - Пишем имя сервера 1С или его IP-адрес:
Пишем IP-адрес сервера (адрес бубунты, на которой крутиться наш сервак):
... и нажимаем OK. В панели управления появится подключение — переходим в раздел: "Кластеры" -> "Локальный кластер" -> кликаем правой кнопкой по Информационные базы: выбираем: "Создать" -> "Информационная база".
Заполняем параметры для создания новой базы:
* в данном примере нами были заполнены:
- Имя — задаем произвольное имя для подключения к базе.
- Сервер баз данных — имя или IP-адрес базы. Задаем ip, нашей бубенты, где крутиться сервак 1С.
- Тип СУБД — выбираем PostgreSQL.
- База данных — имя базы данных.
- Пользователь сервера БД — пользователь, под которым будет выполняться подключение к базе. В нашем примере postgres.
- Пароль пользователя БД — пароль для базы, который мы задали после установки СУБД.
- Создать базу данных в случае ее отсутствия — ставим галочку, чтобы база была создана.
База должна создастся, изначально я создал базу с именем Damo1 (накосячил с названием, ночь все таки) и сразу проверил, что она есть на сервере PostgreSQL. Посмотреть можно через DBeaver или PGAdmin.
Теперь запускаем 1С клиент и добавляем новую базу - при добавлении выбираем Добавление в список существующей информационной базы:
Указываем произвольное имя информационной базы, а также выбираем тип расположения базы На сервере 1С:Предприятия:
Нажимаем Далее и Готово. Запускаем конфигуратор, загружаем базу и пользуемся, хотел бы я сказать - но увидел сообщение о том что моя лицензия (клиентская) протухла.
А еще я познал новую боль - время отладки одной команды - заняло пару минут
Заменил сообщить на ПоказатьОповещениеПользователя и пусто.
Мне не нравиться, что команда ПоказатьОповещениеПользователя("Привет, мир!",,"В самом деле привет!"); - не работает. Поэтому я снова на сервере переустановил шрифты (оказалось, что шрифты реально не были установлены, все таки кривые руки дают о себе знать)
Выполнил на Бубунте:
Запустил конфигурацию, сообщения - нет. Ребутнул Убунту - сообщения нет ). Перезапустил клиент - сообщения нет ). Сделал три удара в бубен - сообщения нет (обычно бубен с ошибками в 1С, магическим образом их решал)
Заменил ПоказатьОповещениеПользователя предупреждение, и о чудо есть сообщение - бубен помог.