Поднимаем сервер 1С на UBUNTU и PostgreSQL за 20 минут

13.10.21

Администрирование - Сервера

Краткое, но рабочее описание, как развернуть сервер Postgresql и сервер 1С на Ubuntu быстро и без лишних размышлений.

Рассматривать, как установить UBUNTU на сервер, тут нет никакого смысла, поэтому начнем непосредственно с установки нужных компонент для Postgresql и 1С сервер.

1. Первым делом на сервер под управлением OS UBUNTU я установил удаленный доступ через SSH. Сделать это очень легко, просто в терминале вводим команду  sudo apt install openssh-server и затем добавим эту службу в автозагрузку командой sudo systemctl enable sshd. 

Теперь мы можем удаленно подключиться к серверу через SSH клиент, например, такой, как PUTTY. Еще я использовал удобный файловый менеджер WinSCP, чтобы загрузить на сервер необходимые дистрибутивы с компьютера под управлением OS windows.

2. Скачиваем все необходимые дистрибутивы с официального сайта 1С, а именно дистрибутив патченной postgresql  в моем случае(10.5) и дистрибутив Cервер 1С:Предприятия (64-bit) для DEB-based Linux-систем нужной версии. 

Затем предварительно распаковав архивы, при помощи файлового менеджера перекачиваем их на наш сервер с Linux.

3. Приступим к установке Postgresql. Первым делом выполняем команду sudo apt update и затем sudo apt upgrade. Тем самым мы обновляем систему до актуального состояния.

Далее необходимо установить локаль системы, это необходимо для корректной работы Postgresql  с базами 1С. Для этого выполним команду sudo dpkg-reconfigure locales .

Затем в открывшемся списке наводим курсор на локаль ru_RU.UTF-8 UTF-8 и нажимаем пробел. Далее наводим курсор на ОК и нажимаем ВВОД.

 

 

Теперь можем приступить к установке вспомогательных компонент для субд.

Первым делом нужно установить компоненту libssl1.0. 

Для этого выполняем команды по очереди:

cd /tmp

wget http://archive.ubuntu.com/ubuntu/pool/main/o/openssl1.0/libssl1.0.0_1.0.2n-1ubuntu5_amd64.deb

dpkg -i ./libssl1.0.0_1.0.2n-1ubuntu5_amd64.deb

Затем нужно установить компоненту libicu55, Для этого выполняем команды:

wget http://archive.ubuntu.com/ubuntu/pool/main/i/icu/libicu55_55.1-7_amd64.deb

sudo dpkg -i libicu55_55.1-7_amd64.deb

Теперь еще установим компоненту postgresql-common при помощи команды sudo apt install postgresql-common.

4. Приступим к установке непосредственно субд. Для этого нужно перейти в директорию куда мы скинули распакованные архивы с дистрибутивами при помощи команды cd /<путь к распакованным файлам из архива postgresql> в этой директории должно быть 3 файла, установим их строго в заданной последовательности (библиотека,клиент,сервер).

sudo dpkg -i libpq5_10.3-2.1C_amd64.deb

sudo dpkg -i postgresql-client-10_10.3-2.1C_amd64.deb

sudo dpkg -i postgresql-10_10.3-2.1C_amd64.deb

В результате должно появиться что-то подобное 

 

 

Если видим такое сообщение, значит, все делали правильно и радуемся. Мы установили postgresql.

5. Теперь приступим к настройке Postgresql.

Установим пароль пользователя postgres. Для этого выполним команду sudo nano /etc/postgresql/10/main/pg_hba.conf.

Листаем файл вниз и находим строчку 

local all postgres peer

 меняем ее на: 

local all postgres trust

Затем нажимаем Ctrl+X затем ставими нажимаем ввод.

Кроме этого можно открыть файл sudo nano /etc/postgresql/10/main/postgresql.conf и проверяем в нем строку:

listen_addresses = '*' это значит что субд будет обрабатывать запросы со всех ip адресов. 

Затем также нажимаем Ctrl+X затем ставими нажимаем ввод.

После необходимо перезапустить службу postgresql командой sudo service postgresql restart

Теперь у нас есть возможность поменять пароль суперпользователя postgres:

Выполним команду psql -U postgres -d template1 -c "ALTER USER postgres PASSWORD 'Пароль'"

 

Затем снова открываем файл sudo nano/etc/postgresql/10/main/pg_hba.conf и меняем в нем строку:

local all postgres trust

на:

local all postgres md5

В заключении еще раз перезапускаем сервер: sudo service postgresql restart

На этом настройка Postgresql закончена приступим к установке сервера 1С.

6. Установим необходимые компоненты:

sudo apt-get install imagemagick

sudo apt-get install unixodbc

sudo apt-get install ttf-mscorefonts-installer

sudo apt-get install libgsf-1-114

sudo apt-get update

7. Теперь переходим в директорию куда загрузили распакованный архив дистрибутива 1С сервера cd /<путь к файлам дистрибутива 1С>

Там обычно 6 файлов, нужно их установить в строгой последовательности

sudo dpkg -i 1c-enterprise83-common_8.3.14-1694_amd64.deb

sudo dpkg -i 1c-enterprise83-common-nls_8.3.14-1694_amd64.deb

sudo dpkg -i 1c-enterprise83-server_8.3.14-1694_amd64.deb

sudo dpkg -i 1c-enterprise83-server-nls_8.3.14-1694_amd64.deb

sudo dpkg -i 1c-enterprise83-ws_8.3.14-1694_amd64.deb

sudo dpkg -i 1c-enterprise83-ws-nls_8.3.14-1694_amd64.deb

Пакеты с приставкой «-nls» нужны для поддержки дополнительных языков и не являются обязательными к установке. Пакеты с приставкой «-ws» нужны для работы веб-клиента и также не являются обязательными, но если на нашем сервере планируется еще развернуть и веб сервер , тогда ставить их обязательно.

Теперь можем запустить сервер sudo service srv1cv83 start.

Проверяем что сервер запустился командой sudo service srv1cv83 status.

На этом установка завершена. Пробуем подключаться и создавать базу!

 

 

Если необходимо опубликовать базу на Веб сервере тогда делаем следующее:

Установим дистрибутив веб сервера apache : sudo apt-get install apache2

Откроем файл с настройками веб сервера: sudo nano /etc/apache2/ports.conf

Исправляем строку Listen 80 на Listen <Нужный порт> 

Затем также нажимаем Ctrl+X затем ставими нажимаем ввод.

 

Переходим в директорию установленной платформы: cd /opt/1C/v8.3/x86_64/

И публикуем базу:

sudo ./webinst -publish -apache24 -wsdir <ИМЯ ПУБЛИКАЦИИ> -dir /var/www/<ИМЯ ПУБЛИКАЦИИ> -connstr “Srvr=<ИМЯ СЕРВЕРА;Ref=<ИМЯ БАЗЫ>” -confpath /etc/apache2/apache2.conf

где нужно заменить:

ИМЯ ПУБЛИКАЦИИ – на произвольное имя публикации

ИМЯ СЕРВЕРА – на адрес сервера 1С:Предприятие

ИМЯ БАЗЫ – на имя базы, совпадающим с именем базы зарегистрированной в кластере

Затем перезапускаем службу веб сервера: sudo service apache2 restart

Теперь все готово. Надеюсь, кому-то эта статья поможет сэкономить время и нервы на поисках всего этого в сети.

См. также

Запуск сервера хранилища конфигураций и сервера удаленного управления на Linux, посредством systemd

Linux Сервера Платформа 1С v8.3 Абонемент ($m)

Сказ о том, как сделать "кошерный" запуск серверов хранилища конфигураций (вдруг еще кто-то до сих пор пользуется) и удаленного администрирования под GNU/Linux с использованием systemd

1 стартмани

07.09.2023    4078    Sloth    0    

23

Первый день архитектора 1С на новой работе

Мониторинг Сервера Администрирование СУБД Бесплатно (free)

Как быстро познакомиться с системой на новой работе или если вас пригласили провести аудит контура на 1С? О том, какие инструменты использовать для быстрой проверки настроек сервера 1С, сервера MS SQL и общей оценки инфраструктуры на производительность, на конференции Infostart Event 2021 Post-Apocalypse рассказал архитектор 1С Юрий Былинкин.

01.06.2023    10563    ardn    19    

78

Путь самурая. Ставим локальный Сервер взаимодействия

Сервера Администрирование веб-серверов Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Подробная пошаговая инструкция (как делал я) установки Сервера взаимодействия версия 22.0.26 на Windows Server 2022. Установка собственного объектного хранилище с помощью системы MinIO (https://min.io/). Настройка Сервера взаимодействия для обмена файлами в сообщениях.

1 стартмани

07.04.2023    11717    VPanin56    39    

70

Быстрое конфигурирование серверов с Ansible

Администрирование веб-серверов Сервера Бесплатно (free)

Всю рутину по обновлению платформы, настройке веб-серверов и серверов хранилищ на всем парке серверов компании можно автоматизировать с помощью удобочитаемых YAML-скриптов Ansible. О том, как написать сценарии такой автоматизации, чтобы запускать их параллельно для группы серверов, на митапе «Инструменты автоматизации рутины в 1С-разработке» рассказал ведущий разработчик компании ПИК Digital Павел Комаров.

26.01.2023    4508    lopatrik    4    

22

Жизнь платформы 1C:Предприятие в кластере Kubernetes

Сервера DevOps и автоматизация разработки Облачные сервисы, хостинг Бесплатно (free)

Во многих сферах запуск приложений в Kubernetes является де-факто стандартом архитектуры, так как это позволяет быстро и эффективно задействовать ресурсы, не затрачивая на это большие деньги. Но с платформой 1С:Предприятие не все так просто, но потенциально возможно. Руслан Жданов на митапе «DevOps в 1С: CI/CD. Непрерывная интеграция и поставка решений на 1С» рассказал про то, как с помощью Kubernetes организовать в облаке управление кластером из серверов 1С и реализовать там тестирование приложений на 1С или запуск скриптов на OneScript.

24.01.2023    9242    ZhdanovR    3    

26

Замена имени сервера в файле ibases.v8i у пользователей в домене через GPO

Сети Сервера Платформа 1С v8.3 Абонемент ($m)

При переезде на новый сервер 1С возникла необходимость подготовить всех пользователей (а их 300+) к этому переезду и желательно не мешая их работе. А если быть точнее, то заменить в их списках информационных баз имя сервера. Итак, что имеем в условии.  Есть сервер 1С с именем  WIN2016.  Необходимо перенастроить всех пользователей на новый сервер с именем SRV1C. Для этого придется либо руками у каждого пользователя исправить записи по каждой базе через открытие 1С, либо поправить файл ibases.v8i, который находится в папке профиля пользователя. Второй вариант более интересен, но лезть на 300+ компьютеров не наш метод.

1 стартмани

30.11.2022    3107    0    dungeonkeeper    13    

5

Трое в лодке, не считая собаки - Автономный сервер 1С

Сервера 8.3.14 Конфигурации 1cv8 Бесплатно (free)

Краткая шпаргалка по Автономному серверу 1С. Описаны основные параметры настройки и быстрый алгоритм развертки на ПК.

17.11.2022    4471    AntoShiK86    9    

26
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. cdiamond 233 13.10.21 08:12 Сейчас в теме
Тема с Ubuntu в общем-то заезженная. Гораздо интереснее было бы то же самое но на Oracle Linux, поднявшего флаг упавшего Центоса. 10 лет техподдержки против 5.
2. Lichi001 74 13.10.21 10:28 Сейчас в теме
Согласен, но в сети почти не реально найти цельную рабочую инструкцию в одном источнике. Задача этой статьи сэкономить время на поисках.))
makskov; pr0t; Мах; +3 Ответить
3. capitan 2453 14.10.21 09:09 Сейчас в теме
(2)
сети почти не реально найти цельную рабочую инструкцию в одном источнике

Это только для тех, кого в гугле забанили
gigapevt; erplab; Sh00rick; SerVer1C; +4 Ответить
4. Viska 14.10.21 11:33 Сейчас в теме
"дистрибутив postgresql в моем случае(10.5)" - чем обусловлен такой выбор? Методичка, которую вы нашли в инете сильно устарела. Все давно сидят на 12, 13 postgresql .
5. Viska 14.10.21 11:51 Сейчас в теме
https://infostart.ru/1c/articles/805266/
Тут более свежие версии и развернутая статья
baracuda; Мах; xoxaru; Sh00rick; Lichi001; +5 Ответить
6. malikov_pro 1286 14.10.21 15:31 Сейчас в теме
nls_ можно не ставить, если ставите все подряд то можно и sudo dpkg -i 1c-enterprise83-*.deb

лучше бы разобрали установку 8.3.18+ и отдельно 8.3.20, там интересностей хватает, откройте для себя ansible, которым можно данное поделие ставить за 5 мин.

Пример по установке сервера хранилище конфигурации

- name: "1C Install a .deb package"
  ansible.builtin.apt:
    deb: "{{ disr_url }}/1c-enterprise-{{ version_1c_dot }}-{{ item }}_{{ version_1c }}_amd64.deb"
  loop:
    - common
    - server
    - ws
    - crs
- name: "Service config"
  ansible.builtin.copy:
    src: "files/crserver.service"
    dest: "/etc/systemd/system/crserver.service"

- name: "Add storage directory"
  ansible.builtin.file:
    path: /home/usr1cv8/storage
    state: directory
    recurse: yes

- name: Start service crserver
  ansible.builtin.systemd:
    daemon_reload: yes
    state: started
    name: crserver
    enabled: yes

- name: Stop service srv1cv83
  ansible.builtin.systemd:
    state: stopped
    name: srv1cv83
    enabled: no
Показать
Dach; Lichi001; +2 Ответить
7. avbolshakov 15.10.21 10:13 Сейчас в теме
По ssh удобно подключаться через новый терминал виндовс + wsl2+та же убунта. Те прям что-то линуксовое сделать не покидая винды
Lichi001; +1 Ответить
9. starik-2005 3013 18.10.21 14:51 Сейчас в теме
(7)
По ssh удобно подключаться через новый терминал виндовс + wsl2+та же убунта
ssh есть в повершелле - я через него теперь подтыкаюссь. там ваще много что есть теперь в этом повершелле из линуха.
8. starik-2005 3013 18.10.21 14:43 Сейчас в теме
А чито, и на 21.04 тоже можно таким вот образом поставить 1С? А как быть с библиотекой имиджмэйджика 3.0.0, которая не ставится на 21.04, при этом 1С слинкована с ней?

Статья бессмысленная и беспощадная. Тем более 14-й релиз, который уже в списке минимально возможных для последних БСП, при том рекомендованный уже 16-й релиз. Сначала даже не поверил - пришлось отдельно внимательно посмотреть на дату публикации. В общем я поражен...
user624610_rt0107; Kalam; oldcopy; +3 Ответить
10. dvsidelnikov 63 23.10.21 09:59 Сейчас в теме
2. Скачиваем все необходимые дистрибутивы с официального сайта 1С, а именно дистрибутив патченной postgresql в моем случае(10.5) и дистрибутив Cервер 1С:Предприятия (64-bit) для DEB-based Linux-систем нужной версии.


Этот пункт достоин особого внимания если речь идёт про работу в терминальном режиме (без GUI)
11. I_Qwes 18.02.22 13:28 Сейчас в теме
Здравствуйте.
Может есть специалисты, кто подскажет, что у меня недоделано?
Хочу попробовать перейти на postgre
Установил на ubuntu PosgreSQL 14 с сайта 1c, а 1c агент не стал ставить - пытаюсь подключиться с другого сервера на серверной винде.
При попытке создать базу данных выдает ошибку "Сервер баз данных не обнаружен authentication method 10 not supported"
Кроме этого можно открыть файл sudo nano /etc/postgresql/10/main/postgresql.conf и проверяем в нем строку:
listen_addresses = '*'
- это сделал
Затем снова открываем файл sudo nano/etc/postgresql/10/main/pg_hba.conf и меняем в нем строку:
local all postgres trust
на:
local all postgres md5
- это тоже. и вобще везде в этом файле md5 поставил.
Сначала пока IP не поменял на 0.0.0.0/0 он по другому ругался, потом поменял и вот...
12. rintik 19 18.02.22 13:33 Сейчас в теме
(11) возможно firewall port postgres.
13. I_Qwes 18.02.22 13:49 Сейчас в теме
(12)
firewall port postgres


а как это проверить? ufw если что отключен
14. rintik 19 18.02.22 14:05 Сейчас в теме
(12) по этой фразе "firewall port postgres" загуглить.

Does your PostgreSQL database run on a Linux server with the firewall enabled (like the [[https://sourceforge.net/projects/project-open/files/project-open/V5.0/|CentOS 7 ]project-open[ virtual appliance]])?

In this case you will have to poke a hole (as root):

# firewall-cmd --zone=public --add-port=5432/tcp --permanent
success
# firewall-cmd --reload
success

Также может поможет погуглить
selinux ubuntu postgres
15. I_Qwes 18.02.22 14:24 Сейчас в теме
(14)
irewall port postgres

sudo iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination

Chain FORWARD (policy ACCEPT)
target prot opt source destination

Chain OUTPUT (policy ACCEPT)
target prot opt source destination

я так понимаю что у меня все открыто. И pgAdmin через браузер подключается
16. I_Qwes 18.02.22 16:07 Сейчас в теме
в общем почитал - вроде пишут, что libpq надо новее поставить, которая понимает SCRAM. Я не стал заморачиваться пока что, а просто скопировал из таблицы pg_authid зашифрованный пароль пользователя postgres от старой БД и вставил его в новую БД. Пока что заработало.
17. info1i 223 14.07.22 14:03 Сейчас в теме
Тип аутентификации 10 файл pg_hba.conf / The authentication type 10 is not supported. Postgres sql
https://youtu.be/6ZFYXzhttpw
Оставьте свое сообщение