Ubuntu Server + 1с сервер + БД postgres

Исходные данные:

  1. Ubuntu Server 14.04 x64
  2. 1с сервер 8.3.5-1625_amd64
  3. postgresql-contrib-9.4.2_amd64

Приступим.

// начиная с версии postgresql 9.3 настройку параметров разделяемой памяти производить не нужно.

//In 9.3, PostgreSQL has switched from using SysV shared memory to using Posix shared memory and mmap for memory management. This allows easier installation and configuration of PostgreSQL, and means that except in unusual cases, system parameters such as SHMMAX and SHMALL no longer need to be adjusted. We need users to rigorously test and ensure that no memory management issues have been introduced by the change. источник

Настроим параметры ядра, отвечающие за выделяемую системе память.

Параметр SHMMAX — это максимум памяти, выделяемой в одном запросе в байтах. Я для PQSQL выделил виртуалку с 10ГБ оперативки, поэтому установлю размер в 8ГБ: kernel.shmmax = 8589934592.

Параметр kernel.shmall – Общее количество доступной разделяемой памяти в страницах. Рассчитывается как shmmax/PAGE_SIZE. Как правило, размер страницы в системе — 4096 байт, уточнить можно запросом в консоли

Поэтому kernel.shmall = 8589934592/4096 или kernel.shmall = 2097152

Задаем локаль, естественно, UTF-8:

Ставим зависимости:

Устанавливаем PostgreSQL

И в этот момент мы получим ошибку

потому что версия нашего пакета libicu отличается от ожидаемой.
Придется этот пакет перепаковать, перевыпаковать или установить эту бибилиотеку. Она отсутствует в репозитории Ubuntu-server 14.04. Но есть в репозитории дебиана. тут или с этого сайта - libicu48. Во втором случае перепаковка пакета не нужна. Перепаковка:

Теперь открываем распакованный файл в редакторе

находим в строке Depends упоминание пакета libicu48 и меняем на libicu52, после чего сохраняем, перепаковываем пакет и снова устанавливаем:

Проверяем, что PostgreSQL установился:

Ответ должен быть таким:

и что он запущен: на команду

должен быть ответ

Затем создаем директорию для хранения баз 1С PostgreSQL и устанавливаем на нее права для пользователя postgres:

Инициализируем базу:

Перезапускаем сервис

и радуемся надписи

Самое главное — для корректной работы с базой из 1С базу необходимо создавать из 1С, а не в PgAdmin`е.

Источник

Ставим сервер 1с

Даем пользователям 1С сервера права на запись:

Перезапускаем сервер 1с:

Проверяем порты:

Так же можно для профилактики проверить, все ли процессы сервера запущены нормально:

Источник
ERROR: type “mvarchar” does not exist at character 31

Подключение вебморды

      

8 thoughts on “Ubuntu Server + 1с сервер + БД postgres

  1. ну вот зачем совершенно бездумно тащить к себе в блог информацию без какой либо предварительной проверки… Вы же, как сисадмин, должны думать, анализировать, а не тупо копипастить всё, что нашли в этих ваших интернетах… именно по этому интернет превратился в помойку, в которой с каждым годом становится все сложнее найти полезную информацию…
    начиная с версии PostgeSQL 9.3 для разделяемой памяти разработчики перешли с использования sysv на posix и на nmap для управления памятью, по этому использование параметров shmmax и shmall больше не имеет смысла

  2. Получится ли к такой конфигурации дать доступ через VPN, если openvpn сервер — настроен на этом же сервере? Или же придется использовать другой сервер, или виртуализацию?

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

  3. Добрый день. тоже установил сервер, но у меня одна проблема, прикрутил еще вебинтерфейс, и при входе с браузера пишет что база не найдена, хотя postgres запущен. вроде логин и пароль тоже указал при настройке 1с

    1. -connstr «Srvr=10.0.1.111;Ref=base1c;» — сервер 1с для подключения, с указанием IP и названия базы

      указывать надо именно 1с сервер, а не сервер postgre.

      в последней ссылке подробнее

  4. CTAPOMAK: спасибо за ответ,
    у меня 1с и база на одном сервере. или надо было их по отдельности?

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

Ваш адрес email не будет опубликован.