Поднимаем сервер 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

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

См. также

Администрирование веб-серверов Сервера Системный администратор Программист Абонемент ($m)

WEB приложение для управления сеансами сервера 1С, имеет адаптивный web интерфейс. Возможности: удаление сеансов; завершение rphost процессов; запуск службы 1С сервера (если остановлена). Используется авторизация BasicAuth с защитой от брутфорса. Поддерживает работу по http https протоколам.

1 стартмани

08.11.2024    388    6    gortrex    2    

3

Облачные сервисы, хостинг Linux Тестирование QA Сервера Системный администратор Программист Платформа 1С v8.3 Бесплатно (free)

Завершающая публикация цикла "В облако на работу:.. Рецепты от Капитана", в ходе которых был собран полнофункциональный рабочий контур 1С в сети на отечественной Ред ОС. С веб-серверами, доменной авторизацией, архивированием, отказоустойчивостью и прочая, прочая... В этой статье мы определяемся с быстродействием системы, проводим нагрузочное тестирование и отпускаем ее в свободное плавание (зачеркнуто) выпускаем ее в продуктовый контур, где, конечно же, придется отлавливать ошибки, мониторить состояние и т.п.

31.10.2024    1308    capitan    0    

0

Сервера Системный администратор Бесплатно (free)

На первый взгляд, добавление второго сервера в кластер 1С не должно вызывать проблем – все просто должно работать. Но на практике дело обстоит иначе. Несмотря на то, что все действительно работает, многие при этом сталкиваются с трудностями. Расскажем, когда нужно задуматься о втором сервере 1С в кластере, какие особенности работы второго сервиса с файлами и сервисами, и какие настройки ТНФ можно сделать для лицензий ПРОФ и КОРП.

31.10.2024    7737    a.doroshkevich    20    

66

Сервера Системный администратор Программист Бесплатно (free)

Отдельный сервер лицензирования упрощает администрирование лицензий в сложных структурах с несколькими кластерами и тысячами пользователей. Расскажем о том, как настроить резервирование лицензий для крупной компании с высокими требованиями к доступности SLA 99.98% и автоматизировать переактивацию лицензий в случае возможных сбоев.

29.10.2024    1922    jul.dolganova    6    

16

Облачные сервисы, хостинг Linux Сервера Системный администратор Программист Платформа 1С v8.3 Бесплатно (free)

Одна из завершающих публикаций цикла "В облако на работу:.. Рецепты от Капитана", в ходе которых был собран полнофункциональный рабочий контур 1С в сети на отечественной Ред ОС. С веб-серверами, доменной авторизацией, архивированием и прочая, прочая... На закуску разбираемся с отказоустойчивостью. В этой публикации для серверов 1С заодно попробуем подобно сериалу «Разрушители легенд» подтвердить или опровергнуть пару устойчивых мифов о требованиях назначения функциональности.

18.10.2024    1701    capitan    5    

12

Сервера Системный администратор Россия Бесплатно (free)

Основные критерии, на которые необходимо обратить внимание.

31.07.2024    2341    EFSOL_oblako    2    

0
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. cdiamond 235 13.10.21 08:12 Сейчас в теме
Тема с Ubuntu в общем-то заезженная. Гораздо интереснее было бы то же самое но на Oracle Linux, поднявшего флаг упавшего Центоса. 10 лет техподдержки против 5.
2. Lichi001 80 13.10.21 10:28 Сейчас в теме
Согласен, но в сети почти не реально найти цельную рабочую инструкцию в одном источнике. Задача этой статьи сэкономить время на поисках.))
makskov; pr0t; Мах; +3 Ответить
3. capitan 2507 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 1324 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 3087 18.10.21 14:51 Сейчас в теме
(7)
По ssh удобно подключаться через новый терминал виндовс + wsl2+та же убунта
ssh есть в повершелле - я через него теперь подтыкаюссь. там ваще много что есть теперь в этом повершелле из линуха.
8. starik-2005 3087 18.10.21 14:43 Сейчас в теме
А чито, и на 21.04 тоже можно таким вот образом поставить 1С? А как быть с библиотекой имиджмэйджика 3.0.0, которая не ставится на 21.04, при этом 1С слинкована с ней?

Статья бессмысленная и беспощадная. Тем более 14-й релиз, который уже в списке минимально возможных для последних БСП, при том рекомендованный уже 16-й релиз. Сначала даже не поверил - пришлось отдельно внимательно посмотреть на дату публикации. В общем я поражен...
user624610_rt0107; Kalam; oldcopy; +3 Ответить
10. dvsidelnikov 73 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 236 14.07.22 14:03 Сейчас в теме
Тип аутентификации 10 файл pg_hba.conf / The authentication type 10 is not supported. Postgres sql
https://youtu.be/6ZFYXzhttpw
Оставьте свое сообщение