Установка сервера 1с на linux. Ошибка при выполнении операции с информационной базойserver_addr=NAME descr=11001(0x00002AF9): Этот хост неизвестен

Предупреждение: Никаких подробных инструкций не будет! Только последовательность действий, необходимые шаги и наводки. Это руководство только для опытных администраторов Линукс!

Примеры некоторых моих конфигов прилагаются...

Замечание: эта статья написана на основе экспериментов с 32-битным CentOS 6.3 (Для сервера необходимо использовать 64-битную ОС. Но так получилось, что на доступном мне для экспериментов железе 64-битный CentOS не установился.) Однако разницы для методики установки нет (32 vs 64bit) - она только в суффиксах дистрибутивных файлов: либо i686 (или i386), либо x86_64…

Содержание:

  • 2) Настраиваем Сеть
  • 5) Настраиваем Samba-сервер
  • Литература (использованная и дополнительно рекомендуемая)




0) Подготавливаем серверное железо



Конкретных рекомендаций по выбору серверного железа (какой мощности железо требуется) давать не буду - нет личного опыта. Смотрите официальные «Рекомендации по выбору оборудования для работы с 1С: Предприятием 8» от v8.1c.ru и неофициальные «Требования к компьютеру для работы с программой 1С: Предприятие 8» от 1c.xxi.kiev.ua…
И рекомендую брать железо с запасом мощности, чем рекомендуемое (потому что «на вырост» потребностей предприятия; и потому что Платформа 1С тоже постоянно «растёт и оптимизируется» - значит потребляет от релиза к релизу всё больше ресурсов).

Вдобавок, в двух словах, наиболее выгодна следующая стратегия:

  • Разнести два сервера (сервер 1С и сервер СУБД Postgres) по двум разным машинам - мощность наращивается в два раза, а лишних лицензий покупать не надо. Это и дешёвое решение: Линукс бесплатен, а стоимость железа не в счёт (железо всегда дешевле лицензий).
  • Примечание: учтите, что «кластер серверов 1С» ещё очень глючный. Причём, каждая дополнительная отдельная машина под «Сервер 1С в составе кластера» - требует покупки отдельной «Лицензии на Сервер»! Поэтому, со всех сторон, под «Сервер 1С» выгоднее всего использоватьТОЛЬКО ОДНУ МАШИНУ - купите под сервер только одну машину, с достаточно мощным железом, которое способно тянуть всю нагрузку...
  • В сервер СУБД установить аппаратный RAID10 (файлы БД резервированы, а объём дискового пространства наращивать по необходимости).
    Причём: В бюджетных рещениях, вполне достаточно использовать Чипсетный RAID-контроллер, встроенный во многие современные материнские платы , чем покупать отдельный и дорогой Аппаратный RAID-контроллер (цена которых от $250). Встроенные чипсетные RAID-контроллеры уже имеют широкий функционал ; поддерживаютнеобходимые режимы RAID (0, 1, 5, 10) и автоматизированную миграцию между ними, с сохранением данных.
    Есть только одна но существенная ложка дёгтя: плохая поддержка аппаратных RAID-контроллеров в ОС Linux . И к тому же, встроенный в материнскую плату чипсетный SATA-RAID не является полностью аппаратным : управление данными происходит не на уровне самого «железа», а на уровне микрокода BIOS через драйвер ОС - отсюда и такие понятия как «драйвера на SATA-RAID» (Intel Matrix Storage Driver), без которых RAID видится как отдельные диски - отсюда и проблемы поддержки… Под Linux - традиционно используются программные RAID-массивы , поддержка которых уже давно реализована и отлажена!
  • Оба сервера конечно поднимать на ОС windows/linux 64bit (т.к. поддерживают много ОЗУ и большую мощность). А «сервер 1С» купить и установить 32bit (потому что «Сервер 1С 64bit» стоит в 2 раза больше, а прирост производительности при прочих равных условиях даёт лишь +5%!!! неофициально умельцы тестировали ...)




1) Устанавливаем Операционную Систему (ОС)



Установить линукс CentOS 6.x (последний релиз), лучше 64bit.
Причины выбора дистрибутива CentOS: Это серверный дистрибутив линукс. Это свободный (бесплатный, «Community Edition») дистрибутив. Это дистрибутив основанный на ядре RedHat, который 1С декларирует как «поддерживаемый».

Образы дистрибутива CentOS качаются отсюда (с любого из зеркал) .
Удобнее выкачать iso, прожечь на болвань (DVDRW) и с неё ставить.
Для установки, как правило, достаточно только первого диска из двух компонуемых (на втором диске - всякий второстепенный софт).
А потом установочные дистки уже не нужны - всё равно весь софт нужно обновлять и доставлять через Интернет...


Замечание: Пользователь root в системе CentOS нелогинный (должен быть)!
Вся работа в системе CentOS ВСЕГДА осуществляется из сеанса обычного пользователя, в т.ч. и установка/настройка системы. И только для некоторых действий каждый раз запрашиваются привилегии «суперпользователя» (нечто подобное появилось и в Windows7).
Поэтому для выполнения правки конфигов, установки пакетов и прочих «админских» действий - открыв консоль в сеансе обычного пользователя, сразу выполняем команду «su», которая переключит текущую консоль в режим «суперпользователя» (фича CentOS):

Bash# su Пароль: <вводим пароль root>


Далее эта консоль bash# используется для разных привилигированных действий. Например, можно запустить «mc» и править конфиги в /etc/…


2) Настраиваем Сеть



Настроить сетевые адаптеры, имя хоста, gateway и DNS…
Подключиться к Интернет и обновить все базовые пакеты до последних версий…
Все дальнейшие действия будем делать только при наличии подключения к Интернет, считаем что оно постоянно!

Настройка сети осуществляется стандартно… Но есть распространённые Грабли, которые надо обойти :

2a)


Первое – имя нашего сервера должно без проблем разрешаться в IP-адрес.

В файле /etc/sysconfig/network проверяем значение параметра hostname («имя компьютера» севера), при необходимости меняем, что бы новые параметры вступили в силу нужно перезапустить систему.

Bash# cat /etc/sysconfig/network NETWORKING=yes NETWORKING_IPV6=no HOSTNAME=delldev GATEWAY=192.168.10.2


(Последняя строчка - шлюз по-умолчанию, указывать необязательно. Если не указан - он будет браться из конфигов ifcfg или по DHCP...)

В файле /etc/hosts не должно быть записей формата localhost.localdomian или относящихся к IPv6, в случае отсутствия DNS-сервера в нем должно быть прописано четкое соответствие IP-адрес сервера – FQDN имя – короткое имя. Пример правильного файла hosts:

Bash# cat /etc/hosts 127.0.0.1 localhost delldev



Проверка: пингует ли сервер сам себя? Введите в консоли:

Bash# ping delldev



2b)


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

Bash# chkconfig iptables off bash# service iptables stop



2c)


Третье – необходимо также отключить SELinux policy!

Причины:
1) Ранее SELinux был причиной ошибки Segmentation Fault.
2) Со включенным SELinux не работают шары Samba (удалённые пользователи в шары заходят, но файлы не видят… или файлы видятся, но не читаются… и т.п. глюки)
3) Кроме того, плюсы от использования SELinux на высоко-нагруженном сервере, находящемся в пределах локальной сети, - выглядят крайне туманно.

Как отключить:

Редактируем конфиг /etc/selinux/config строку SELINUX=enforcing меняем на SELINUX=disabled перегружаем машину...



2d)


У интернет провайдера «Укртелеком/Украина» есть ещё такие грабли: глючные DNS сервера - поэтому нужно использовать вспомогательные (лучше от Google)… А ещё возможно мой DSL-роутер оказался плохо совместим с ОС Линукс…

Симптом: при работе с Интернет, резолвинг каждого DNS-имени происходит очень долго (несколько [десятков] секунд таймаута), работать очень плохо…
Решение: Поэтому я сервера DNS не получал автоматически через DHCP, а статически прописал в настройках адаптера (в конфиге /etc/sysconfig/network-scripts/ifcfg-eth0) следующие адреса: 213.179.249.151, 213.179.249.152, 8.8.8.8, 8.8.4.4 (первые два - новые Укртелекомовские, следущие два - от Google) .


3) Настраиваем менеджер пакетов (yum)


Примечание: подробный мануал по использованию yum - смотри в статье «Управление пакетами в RHEL6. Yum»...

3a)


Настраиваем источники софта (репозитории):

включаем стандартные репозитории (в конфиге репозитария пропишем enabled=1, или установим галочки через графический интерфейс...):
   CentOS-6 - Base
   CentOS-6 - Contrib
   CentOS-6 - Extras
   CentOS-6 - Plus
   CentOS-6 - Updates

И (без них очень грустно, т.к. стандартные репозитории содержат преимущественно серверный софт, причём устаревшие хотя и сверхотлаженные версии).

Примечание: В большинстве случаев, для облегчения подключения новых репозиториев, владельцы репозиториев подготовили RPM-пакеты для автоматической конфигурации - эти пакеты нужно только скачать и установить. Причём, выбирайте пакеты правильной версии: для соответствующей версии репозитария и предназначенные для соответствующего вашему релиза Линукс. При установке этого псевдопакета автоматически сгенерируются необходимые конфиги, сконфигурируется yum и т.п.

Рекомендации:
   Use «cat /etc/redhat-release» to find which release of EL you are using (у меня говорит: «CentOS release 6.3» - т.е. «el6»)
   Use «uname -a» to find your processor architecture (у меня говорит: «i686 i386»)
   Use «rpm -ivh package-filename» to install the rpmforge-release package (also works with URLs)

RPMforge
   инструкции по установке: repoforge.org и
packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.i686.rpm "

EPEL
   инструкции по установке: fedoraproject.org
   рабочий пример установки: su -c "rpm -Uvh download.fedoraproject.org/pub/epel/6/i386/epel-release-6-7.noarch.rpm "

ATrpms
   инструкции по установке: atrpms.net
   рабочий пример установки: su -c "rpm -Uvh dl.atrpms.net/all/atrpms-repo-6-5.el6.i686.rpm "

3b)


Концепция: главное - не нарушить функциональность базового ядра системы .
Стандартные репозитарии CentOS (особенно «CentOS-6 - Base») составляют специально обученные люди, которые обеспечивают наличие в каждый момент времени в репозитарии среза совместимых друг с другом пакетов и библиотек. (CentOS - система серверная, которая установлена на самых дорогих Продакшн серверах, которые работают в режиме автоапдейта. Глюк в репозитарии сломает много серверов, ну то есть у админов будет много гемора и кредит доверия к CentOS подорвётся… Этого не допускают.)
Но если играться с третьими левыми дистрибутивами, то в них всегда новые (и нестабильные) версии библиотек появляются ранее - они могут быть автоматически установлены в систему при автоапдейте, породив несовместимость для сервисов ядра. Плохо!

Для того чтобы на сервер устанавливался именно самый отлаженный софт, а из дополнительных репозитариев устанавливался только софт отсутствующий в базовых (пакеты развязываются по «зависимостям») - нужно настроить/использовать систему приоритетов:

Для управления приоритетами - нужно установить дополнительные плагины для yum (полезно установить все три):

  • yum-protect-packages (позволяет защитить указанные пакеты от удаления; по умолчанию защищён сам yum и его цепочка зависимости)
  • yum-plugin-protectbase (позволяет защитить пакеты из указанного репозитария от обновления из незащищённых репозитариев) - ЕГО ПРОЩЕ НАСТРАИВАТЬ.
  • yum-plugin-priorities (позволяет назначить приоритеты различным репозиториям; пакеты из репозитория с более низким значением приоритета не могут быть обновлены из репозитория с высоким значением приоритета - это другой вид защиты, более продвинутый и гибкий) - ОН ЛУЧШЕ!


(Примечание: для yum есть ещё много интересных плагинов, но эти самые необходимые...)

Настройки репозитариев yum хранит в: /etc/yum.repos.d/
конфиги, которые можно редактировать, называются: *.repo
остальные файлы служебные - их не трогаем.

Нужно дописать в текстовые конфиги (как минимум для всех репозитариев с enabled=1): строки с параметрами protect=… и priority=… (примечание: чем меньше значение priority - тем репозиторий главнее)



3c)


Ещё рекомендую установить использовать графическую оболочку к менеджеру пакетов: Yum Extender (бинарь называется yumex) - он гораздо продвинутей стандартного GUI!


4) Устанавливаем дополнительный софт, не относящийся к системе 1С



Теперь можно проинсталировать (через консоль управления менеджером пакетов yum, конечно):
   поддержку ntfs
   wine (эмулятор для запуска простых приложений windows)
и другие полезные локальные приложения…


5) Настраиваем Samba-сервер



Нужно установить (через yum) и настроить сервер Samba (службы «smb» и «nmb») - это поддержка протокола Microsoft NetBIOS под Линукс, т.н. «Сетевое окружение»…

Причём Samba рекомендую поднять, даже если вы не будете предоставлять файловые шары на этом сервере для других клиентов локальной сети, чтобы этот сервер появился в «сетевом окружении» у всех Windows клиентов и других серверов сети, сканировался стандартным API, резолвил своё «сетевое имя машины» - чтобы на него можно было ссылаться как-то типа ¨\\MyLinuxServer¨. Для удобства, настройте Samba так, чтобы Сервер 1С был виден в вашей WORKGROUP…

Примечание по поводу: Нужен ли Samba-сервер для работы 1С:Предприятия или нет?



Для настройки Samba советую:
создать и настроить шаровые папки так:

Mkdir /home/samba mkdir /home/samba/вседругие... chown -R samba /home/samba chgrp -R samba /home/samba chmod -R a+rw /home/samba


создать нелогинного пользователя/группу: samba/samba
назначить этому пользователю домашнюю папку: /home/samba

Настройка службы Samba:
   Конфиги лежат в /etc/samba/
   см. man smb.conf
   см. smb-conf.ru
   Для простой настройки - см. статью «Простая установка и конфигурация сервера SAMBA в CentOS»...

Важно: Кроме службы «smb» (основной), также следует «включить» и «запустить» службу «nmb» (которая отвечает за публикацию NetBIOS имени компьютера в локальной сети - Сервер станет виден в «Сетевом окружении»):

Chkconfig --level 2345 smb on chkconfig --level 2345 nmb on service smb start service nmb start


Совет: Режим работы Служб лучше всего настраивать через графическую оснастку «GNOME / Система / Администрирование / Службы»…


6) Достаём и готовим дистрибутивы 1С: Предприятие… Откуда всё взять?



Пиратские дистрибутивы 1С (и кряки) можно скачать с обменников (ссылки не привожу, найдёте на forum.ru-board.com в разделе «Варезник»)…

Итак, добыли/скачали дистрибутив «1С: Платформа 8.2 релиз 8.2.16.368 от 05.10.12» -> из него берём «Cервер 1С: Предприятия (32bit) для RPM-based Linux-систем», файл «8_2_16_368_rpm.tar.gz» (169.07 MB) -> после распаковки архива получим 8 RPM-файлов дистрибутива…

Готовые сборки «PostgreSQL от 1С релиз 9.0.3-3.1C от 17.01.12» нам не подойдут, не установятся по зависимостям (там пакеты собраны для CentOS 5.x, а не для 6.x.).
Нам нужны исходные коды PostgreSQL, патченные 1С, для самостоятельной сборки! Из дистрибутива «PostgreSQL от 1С релиз 9.0.3-3.1C от 17.01.12» -> берём только файл «PG90331_Patch903.rar» -> из архива берём только файл «postgresql-9.0.3-3.1C.src.rpm» (это RPM-пакет c исходными кодами PostgreSQL версии 9.0.3, УЖЕ ВКЛЮЧАЮЩИЙ ВСЕ НЕОБХОДИМЫЕ ПАТЧИ для обеспечения совместимости с сервером 1С: Предприятия 8.1 и 1С: Предприятия 8.2)
Примечание: Кроме того, исходные коды для самостоятельной сборки СУБД PostgreSQL, поддерживаемой 1С: Предприятием 8, проще всего скачать с оф.сайта напрямую...

Замечания: Какую платформу выбрать?

  1. сервер 1С бывает: и х64, и х86
  2. клиентские программы 1С бывают: только х86, на сегодняшний момент (повторюсь: х64 бывает только сервер 1C)
  3. известно что на ОС х64 можно ставить программы х86 (это касается не только 1С)
  4. клиентские программы 1С (толстый и тонкий клиенты) работают только под Windows!

    Дополнительная информация...




7) Сборка и Установка «СУБД PostgreSQL от 1С (релиз 9.0.3-3.1C от 17.01.12)» на Линукс CentOS (6.3)



Первым делом, чтобы не было конфликтов в системе, нужно деинсталлировать все другие/предыдущие версии СЕРВЕРА PostgreSQL, если таковые установлены (проверьте).

Вредный совет: Чтобы не было путаницы из-за программной несовместимости, я также деинсталировал клиента «postgresql-8.4.13» (установленный изначально, из стандартного репозитария CentOS 6.3)… Некоторые пакеты (например, «postgresql-libs-8.4.13» и др.) сейчас пришлось оставить, т.к. от них зависят многие другие пакеты в системе - однако их можно будет деинсталировать потом, после установки PostgreSQL 9.0.3 (забегая вперёд, мне это удалось)…
Тем не менее, есть смысл оставить эти стандартные пакеты в системе (особенно «postgresql-libs-8.4.13») - на тот случай, если в будущем вам прийдётся деинсталировать PostgreSQL 9.0.3. Потому что сейчас у меня сложилась такая ситуация, что все системные пакеты теперь зависят только от пакета «postgresql-libs-9.0.3-3.1C» и менеджер пакетов не даёт деинсталировать последний не снеся заодно половину систему (крах).


К сожалению, в базовых репозитариях CentOS 6.3, т.е. в текущей системе, имеются не все необходимые библиотеки (зависимости) для использования готовой сборки «PostgreSQL от 1С». Кроме того, следует иметь в виду, что для работы сервера 1С: Предприятия 8.2 требуется версия PostgreSQL не ниже 8.3.8 .

Я перепробовал разные дистрибутивы...



Итак, лучше всего подходит версия «PostgreSQL от 1С релиз 9.0.3-3.1C», но собранные RPM-пакеты из дистрибутива «PG90331_setuppln903.rar» нам не подойдут: не установятся по зависимостям (там пакеты собраны для CentOS 5.x, а не для 6.x.)…

Неправильный подход: Апгрейдить вручную существующие старые библиотеки - это геморно и опасно (от них зависит куча софта из базового и стабильного ядра CentOS)! Ещё можно было бы вставить костыли-хаки в виде символических ссылок (с именами требуемых библиотек, ссылающиеся на существующие версии), но это совсем плохо на Production-сервере…


Поэтому чтобы не нарушать целостность ядра CentOS, нужно пересобрать сам PostgreSQL из исходных кодов , пропатчив его патчами 1C (так он будет базироваться на наших существующих библиотеках). Патченные исходники PostgreSQL берём из дистрибутива «PostgreSQL от 1С релиз 9.0.3-3.1C» -> нам понадобится только файл «PG90331_Patch903.rar» -> а из архива берём только файл «postgresql-9.0.3-3.1C.src.rpm»… или скачиваем этот файл напрямую с оф.сайта…

7a)


Примечание: Я не опытен в сборке из исходников, поэтому далее идёт слегка модифицированный рецепт из блога «Админа-маньяка» на alsigned.ru (автору респект).



Перед PostgreSQL, необходимо установить (или убедиться что уже установлена) - она необходима для работы PostgreSQL версии от 1С. Установить можно вручную из RPM-пакета (но не нужно)… Или с помощью yum, из стандартного репозитария (что лучше):

Yum install icu libicu libicu-devel



Устанавливаем также пакеты необходимые для компиляции и сборки:

Yum install rpm-build wget glibc-devel bison flex readline-devel zlib-devel openssl-devel pam-devel gettext gcc make



7b)


Загружаем с сайта 1с исходники PostgreSQL 9.0.3:

Wget http://v8.1c.ru/overview/postgresql_patches/9-0-3/postgresql-9.0.3-3.1C.src.rpm


и устанавливаем пакет с исходниками (будут созданы разные папки в системе и по ним раскиданы исходные файлы):

Rpm -ihv postgresql-9.0.3-3.1C.src.rpm



Открываем для редактирования файл /usr/lib/rpm/macros и меняем в нем уровень подгона пачей _default_patch_fuzz на 2:

%_default_patch_fuzz 2


Примечание: Раньше подобные действия приходилось делать только на Fedora 12 и выше, при сборке софта не поддерживающего обработку пачей новыми скриптами, а начиная с 6-ой версии новые скрипты пришли и в CentOS.

Создаем символические ссылки на библиотеки libicu:

Ln -s /usr/lib/libicui18n.so /usr/local/lib/libicui18n.so.46 ln -s /usr/lib/libicudata.so /usr/local/lib/libicudata.so.46 ln -s /usr/lib/libicuuc.so /usr/local/lib/libicuuc.so.46



Переходим к сборке PostgreSQL:

Rpmbuild -bb --define "runselftest 0" ~/rpmbuild/SPECS/postgresql-9.0-1C.spec


Примечание: Установкой параметра «runselftest 0» мы отказываемся от инициализации тестовой базы и проверки работоспособности PosgreSQL во время сборки, для того что бы тестирование прошло успешно его нужно выполнять из-под ограниченного пользователя, иначе процесс сборки будет остановлен.

Процесс сборки займёт некоторое время…

Наконец, просмотрим список собранных RPM-пакетов (т.к. у меня ОС Линукс 32-битная, то и пакеты PostgreSQL были собраны тоже 32-битной версии):

Bash# ls -1 ~/rpmbuild/RPMS/i686 postgresql-9.0.3-3.1C.i686.rpm postgresql-contrib-9.0.3-3.1C.i686.rpm postgresql-debuginfo-9.0.3-3.1C.i686.rpm postgresql-devel-9.0.3-3.1C.i686.rpm postgresql-docs-9.0.3-3.1C.i686.rpm postgresql-libs-9.0.3-3.1C.i686.rpm postgresql-server-9.0.3-3.1C.i686.rpm postgresql-test-9.0.3-3.1C.i686.rpm



7c)


Установка патченного сервера СУБД PostgreSQL от 1С:

Совсем необязательно устанавливать все пакеты… для нормальной работы PostgreSQL вполне достаточно четырёх: postgresql-libs, postgresql, postgresql-server, postgresql-contrib. Переходим в директорию /root/rpmbuild/RPMS/i686 (на 64-битной ОС - в /root/rpmbuild/RPMS/x86_64) и устанавливаем пакеты…

порядок установки пакетов следующий:

Postgresql-libs-9.0.3-3.1C.i686.rpm postgresql-9.0.3-3.1C.i686.rpm postgresql-server-9.0.3-3.1C.i686.rpm postgresql-contrib-9.0.3-3.1C.i686.rpm


Необязательно но полезно (для разработчиков) затем ещё установить следующие пакеты:

Postgresql-docs-9.0.3-3.1C.i686.rpm postgresql-devel-9.0.3-3.1C.i686.rpm postgresql-debuginfo-9.0.3-3.1C.i686.rpm postgresql-test-9.0.3-3.1C.i686.rpm



Но чтобы не заморачиваться с порядком установки - лучше установить все пакеты скопом (yum сам разберётся с зависимостями):
   rpm -ihv postgresql-9.0.3-3.1C.i686.rpm postgresql-contrib-9.0.3-3.1C.i686.rpm postgresql-debuginfo-9.0.3-3.1C.i686.rpm postgresql-devel-9.0.3-3.1C.i686.rpm postgresql-docs-9.0.3-3.1C.i686.rpm postgresql-libs-9.0.3-3.1C.i686.rpm postgresql-server-9.0.3-3.1C.i686.rpm postgresql-test-9.0.3-3.1C.i686.rpm

Грабли: при установке пакета «postgresql-contrib-9.0.3-3.1C.i686.rpm» возникает ошибка?

ошибка: распаковка архива не удалась на файле /usr/pgsql/lib/libicudata.so.46;4e9327cc: cpio: Digest mismatch

ошибка: postgresql-contrib-9.0.3-3.1C.i686: install failed


Решение: Запускаем rpm без проверки digest и md5

Rpm --nodigest --nomd5 -ihv postgresql-contrib-9.0.3-3.1C.i686.rpm





После этого в операционной системе появится пользователь «postgres», который будет владеть всеми файлами СУБД и в сеансе которого будет запускаться сервер (не путайте его с одноимённым суперпользователем самой СУБД).
Будет создан скрипт /etc/init.d/postgresql для старта и остановки СУБД.
Бинарные файлы клиента и сервера PostgreSQL 9.0.3 находятся в /usr/pgsql/bin/…


7d)


Инициализируем кластер баз данных PostgreSQL (так называется директория, обычно /var/lib/pgsql/data, в которой хранятся данные всех баз этой установки СУБД PostgreSQL):

Примечание: в предыдущих версиях Postgres проходил трюк, когда мы просто запускали сервер СУБД, и он при первом запуске не обнаруживая директории с файлами БД - сам инициировал initdb… Но сейчас это не работает -
нужно запускать initdb явно и с правильными параметрами. При этом, нужно явно указать системного пользователя в сеансе которого происходит запуск сервера СУБД (командой «su postgres»). Также явно указываем локаль в которой работает сервер (locale=ru_RU.UTF-8).

Bash# su postgres -c "/usr/pgsql/bin/initdb -D /var/lib/pgsql/data --locale=ru_RU.UTF-8"



При выполнении этой команды, её консольный вывод подтвердит заданные параметры (в консоли появится текст):

   Файлы, сопутствующие этой системе баз данных, будут принадлежать пользователю «postgres». Этот пользователь также должен быть владельцем процесса сервера.
   Кластер баз данных будет инициализирован с локалью ru_RU.UTF-8. Кодировка базы по умолчанию установлена в UTF8. Конфигурация полнотекстового поиска по умолчанию установлена в «russian».



В результате будет создана база данных, размещенная в каталоге /var/lib/pgsql/data (примечание: тут же и конфиги сервера PostgreSQL).

Грабли: если во время инициализации кластера баз данных выпадает ошибка?

FATAL: could not create shared memory segment…
HINT: This error usually means that PostgreSQL"s request for a shared memory segment exceeded your kernel"s SHMMAX parameter. You can either reduce the request size or reconfigure the kernel with larger SHMMAX. To reduce the request size (currently 35233792 bytes), reduce PostgreSQL"s shared_buffers parameter (currently 3584) and/or its max_connections parameter (currently 104).


Решение: Необходимо увеличить значение параметра kernel.shmmax, для этого добавляем в файл /etc/sysctl.conf строчку:

Kernel.shmmax = 40000000


Затем обновляем параметры sysctl следующей командой:

Bash# sysctl -p


Примечание: Обычно эта проблема характерна для 32-битных версий… Но у меня на CentOS 6.3 32bit такой проблемы не возникло - здесь уже установлен параметр kernel.shmmax = 4294967295


7e)


Настройка сервиса PostgreSQL:

Добавляем в автозагрузку и запускаем сервис PostgreSQL:

Bash# chkconfig postgresql on bash# service postgresql start



Бинарные файлы клиента и сервера PostgreSQL 9.0.3 находятся в /usr/pgsql/bin/… Создадим символические ссылки на необходимые бинари, чтобы они запускались без указания пути (особенно это нужно для Консольного клиента PostgreSQL):

Ln -s /usr/pgsql/bin/psql /usr/local/bin/psql и др.



При первом запуске PostgreSQL, для контроля привилегий доступа к сущностям БД, в СУБД создаётся учётная запись суперпользователя «postgres» с паролем «postgres» (не путайте её с учётной записью ОС Линукс). Первое что нужно сделать – сменить стандартный пароль… Задаем пароль для суперпользователя СУБД «postgres» командой:

Bash# psql -U postgres -c "ALTER USER postgres PASSWORD "newpassword""


Примечание: теперь этот пароль будет использоваться при соединении клиентов к СУБД: login=«postgres» password=«newpassword».

7f)


Настраиваем сервер PostgreSQL для работы с «Сервером 1С: Предприятие» (правим конфиги):
См. описание параметров конфигов на русском...

В файле /var/lib/pgsql/data/postgresql.conf - настройки сервера. Нужно указать параметры (раскомментировать строки или если этих параметров нет, то ввести их вручную):

Default_with_oid = on



По умолчанию, Автовакуум в PostgreSQL 9.0.3 отключён… Если вы хотите включить «Автоматическую сборку мусора (Automatic Vacuuming)» в БД (что полезно для слабонагруженных серверов, чтобы админу не требовалось делать процедуру «упаковки БД» периодически и вручную, а просто установить и забыть) - то установите такие параметры:

Track_counts = on autovacuum = on


Примечание: в предыдущих версиях СУБД был параметр «stats_row_level»… но в PostgreSQL 9.0.3 этот параметр устарел и вошёл в новый параметр «track_counts».

В файле /var/lib/pgsql/data/pg_hba.conf настраивается политика доступа и идентификации пользователей (т.е. допустимые параметры подключения к PostgreSQL-серверу)… Убедитесь, что в конце этого файла указана незакомментированная такая строчка (что означает «разрешить подключения к серверу с любых хостов, пароли при логине хешируются md5»):

Host all all 0.0.0.0/0 md5


Примечание: если в строке политики заменить «md5» на «trust», то пароль при подключении проверяться не будет! (полезно для восстановления/изменения забытого пароля суперпользователя) Также обратите внимание, что политика по-умолчанию для клиентских подключений с localhost: пароли не проверяются...

Примечание: Эти параметры вы сможете конфигурировать и позднее. А когда убедитесь, что всё включая клиента 1С работает - имеет смысл, в целях безопасности, ограничить подключения только локальным хостом localhost (или точнее хостами «кластера серверов 1С», если они отделены)...

Наконец, перезапустите сервер PostgreSQL:

/etc/init.d/postgresql restart




8) Установка «Сервера 1С: Предприятие 32bit для RPM-based Linux-систем (8.2.16.368)» на Линукс CentOS (6.3)



Дистрибутив серверной части 1С: Предприятия 8 для Linux представлен в виде нескольких rpm-пакетов:

  • 1C_Enterprise-common - общие компоненты 1С: Предприятия 8;
  • 1C_Enterprise-server - компоненты сервера 1С: Предприятия 8;
  • 1C_Enterprise-ws - адаптер для публикации Web-сервисов 1С: Предприятия 8 на веб-сервере на основе Apache HTTP Server 2.0 или Apache HTTP Server 2.2;
  • 1C-Enterprise-crs - компоненты сервера хранилища конфигурации 1С: Предприятия 8.
  • Пакеты, содержащие в названии суффикс "-nls" - это дополнительные национальные ресурсы для соответствующего пакета.


Пакеты 1C_Enterprise-server и 1C_Enterprise-ws не зависят друг от друга. Соответственно, они могут быть установлены на одном компьютере как вместе, так и по отдельности (т.е. «сервер 1С» и «Web-сервер» можно разнести по разным машинам, как и отделить сервер СУБД, для разгрузки «сервера 1С»)…

Примечание от 2014.01.15: замечено, что код пакета «1C_Enterprise-ws» всё-таки зависит от пакета «1C_Enterprise-server», но это не принципиально...



Установка должна выполняться от имени пользователя root...

При установке следует учитывать следующие зависимости между пакетами (чтобы успешно установить пакет, предварительно нужно установить все пакеты, от которых он зависит) - поэтому порядок установки следующий:

Rpm -ihv 1C_Enterprise82-common-8.2.16-368.i386.rpm rpm -ihv 1C_Enterprise82-common-nls-8.2.16-368.i386.rpm rpm -ihv 1C_Enterprise82-server-8.2.16-368.i386.rpm rpm -ihv 1C_Enterprise82-server-nls-8.2.16-368.i386.rpm rpm -ihv 1C_Enterprise82-ws-8.2.16-368.i386.rpm rpm -ihv 1C_Enterprise82-ws-nls-8.2.16-368.i386.rpm rpm -ihv 1C_Enterprise82-crs-8.2.16-368.i386.rpm rpm -ihv 1C_Enterprise82-crs-nls-8.2.16-368.i386.rpm



Затем сервер следует запустить в режиме демона:

/etc/rc.d/init.d/srv1cv82 stop /opt/1C/v8.2/i386/ragent -daemon /etc/rc.d/init.d/srv1cv82 restart



Все вышеперечисленные действия должны выполняться от имени пользователя root.

В процессе установке компонент сервера 1C: Предприятия 8 создается пользователь операционной системы с именем usr1cv82, под учетной записью которого будут исполняться серверные процессы 1С: Предприятия 8.

8a)


После установки всех требуемых пакетов, нужно запустить скриптовую утилиту диагностики и инициализации графической подсистемы в 1С v8.2 и выполнить её рекомендации, если таковые возникнут. (Утилита проверяет систему на наличие в ней требуемых для графической подсистемы в 1С v8.2 компонентов и настроек, и выдаёт рекомендации, если 1С ещё что-то требуется.)

/opt/1C/v8.2/i386/utils/config_server



Дополнительная информация про утилиту «config_server»: на nefrit.arvixe.ru и blog.unixstyle.ru …

Порядок настройки системы с помощью утилиты «config_server» будет примерно следующий (некоторые из этих этапов у вас могут отсутствовать - пропустите) :

Установка должна выполняться от имени пользователя root...

1) После первого запуска утилиты «config_server» - должна вылететь ошибка: «Can not detect font directory, please specify it!»
Решение: ставим отсутствующие TTF-шрифты по рецепту linewb.ru FAQ и .
Примечание: система папок ~/rpmbuild/ у вас уже должна существовать (они были созданы ранее, при сборке дистрибутива PostgreSQL).
В итоге, для установки шрифтов, достаточно примерно следующих действий:

Yum install rpm-build cabextract wget http://corefonts.sourceforge.net/msttcorefonts-2.5-1.spec rpmbuild -bb msttcorefonts-2.5-1.spec rpm -ivh ~/rpmbuild/RPMS/noarch/msttcorefonts-2.5-1.noarch.rpm



2) Повторно запускаем утилиту «config_server» - должна вылететь ошибка: «No truetype conversion utility found! Please install ttf2afm or ttf2pt1!»
Решение: ставим утилиту ttf2pt1 (доступна в репозитарии EPEL):

Yum install ttf2pt1



3) Третий раз запускаем утилиту «config_server» - cистема задумается подольше и все будет отлично: больше ошибок в консоль не выдаст…

Наконец, нужно перегрузить «Сервер 1С» (или целиком всю машину):

/etc/init.d/srv1cv82 restart



Все вышеперечисленные действия должны выполняться от имени пользователя root.

8b)


Все, установка «Сервера 1С» на ОС Линукс завершена!
Остается подключиться к этому «Серверу 1С» через MMC-консоль «Администрирование сервера 1С: Предприятие 8.2» и создать «информационные базы» конфигураций. Об этом ниже…

Примечание: MMC-консоль устанавливается в составе «Технологической платформы 1С: предприятия 8.2» - на другом хосте, и только под управлением Windows. (Хотя в версии «1С: Предприятие 8.3» обещают, что уже реализовано ПО администрирования и под Линукс...)

8c)


Настраиваем поддержку web-клиентов 1С через вебсервер Apache:

Подготовка: Мы будем использовать локальный вебсервер Apache, установленный на этой же линукс-машине, что и «Сервер 1С». Если у вас ещё не установлен вебсервер Apache - то выполните действия из раздела «Task: Install Apache/httpd under Fedora Core/Cent OS Linux» статьи «How to install and start the Apache or httpd service under Linux» :

Yum install httpd chkconfig httpd on /etc/init.d/httpd start



Далее, действуем как сказано в разделе «2. Публикация web-клиента» статьи «Ставим 1C web-клиент на Apache»...

Предположим, у вас на «Сервере 1С» есть информационная база с названием «test1c» (фактически она будет создана поздже, после инициализации кластера и создания БД в postgreSQL… но публикацию можно выполнить спекулятивно и сейчас, т.к. фактически к ИБ мы обращаться не будем, а просто поправим конфиги Apache и создадим на вебсервере заглушку, некоторые папки/файлы). Процедура публикации очень простая и автоматизированная (каждый шаг подробно описан в вышеназванной статье, поэтому тут не повторяюсь) - нужно исполнить следующие команды:

Cd /opt/1c/v8.2/i386 ./webinst -apache22 -wsdir test1c -dir "/var/www/html/test1c/" -connStr "Srvr="delldev";Ref="test1c"" -confPath /etc/httpd/conf/httpd.conf chown apache:apache /var/www/html/test1c/default.vrd chkconfig httpd on service httpd start


Всё, информационная база «test1c» опубликована! Когда вы до конца настроите «кластер серверов 1С» и информационную базу, то к ней можно будет подключиться через броузер, введя адрес http:// delldev/test1c (где delldev - имя хоста под управлением CentOS, с «Сервером 1С» и «вебсервером Apache», который мы сейчас настраиваем)...

Помните: чтобы веб-клиент заработал - также необходимо: к хосту, на котором работает «Сервер 1С» или «Web-сервер Apache» (в данном случае он один), подключить пакет «Сетевых клиентских лицензий» (ключ защиты можно подключить локально или настроить доступ к «менеджеру лицензий»); и включить в «Свойствах» Информационной Базы пункт «Выдавать лицензии сервером приложения» (настраивается через оснастку «Администрирование серверов»).

8d)


Дополнительно: следует знать как включить «Технологический журнал» (он же «логи», он же «log»)…

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

8e)


Дополнительно: если вдруг понадобится… для удаления «Сервера 1С», следует выполнить такие шаги:

Перед удалением необходимо завершить работу кластера серверов:

/etc/rc.d/init.d/srv1cv82 stop


Затем, удаляем пакеты в порядке, обратном установке, чтобы зависимый пакет удалялся до того пакета, от которого он зависит:

Rpm -e 1C_Enterprise82-crs-nls-8.2.16-368.i386.rpm rpm -e 1C_Enterprise82-crs-8.2.16-368.i386.rpm rpm -e 1C_Enterprise82-ws-nls-8.2.16-368.i386.rpm rpm -e 1C_Enterprise82-ws-8.2.16-368.i386.rpm rpm -e 1C_Enterprise82-server-nls-8.2.16-368.i386.rpm rpm -e 1C_Enterprise82-server-8.2.16-368.i386.rpm rpm -e 1C_Enterprise82-common-nls-8.2.16-368.i386.rpm rpm -e 1C_Enterprise82-common-8.2.16-368.i386.rpm



Или также можно выполнить удаление всех rpm-пакетов одной универсальной командой, которая удалит все установленные пакеты, которые начинаются с префикса «1C_», а зависимости будут отслежены автоматически:

Rpm -e`rpm -qa|grep 1C_`




9) Установка защитных ключей (лицензирование 1С)



Подключить ключи к «Серверу 1С» - просто. Нужно скачать драйвер с сайта производителя ключа, распаковать его и выполнить установку двойным кликом…

Советы по выбору драйвера -

Rpm -ihv haspd-3.3-eter4scientific.i586.rpm haspd-modules-3.3-eter4scientific.i586.rpm



Далее, нужно вставить в USB-порт этого сервера два аппаратных ключа: «ключ на сервер 1С: Предприятие» и «ключ на X сетевых пользовательских лицензий» (все ключи в одной физической «флешке»). И всё должно заработать: клиенты будут получать клиентские лицензии через сервер…

Примечание: Ключи нужны только для «Сервера приложений 1С: Предприятие» и для «защищённых клиентских приложений 1С». с СУБД PostgreSQL проблем нет - это opensource и не требует ни лицензий, ни ключей (в отличие от СУБД «MS SQL Server», но мы её не используем).

Примечание: Некоторые версии 1С работали и без ключей (беты)...

Внимание: Нелицензионный «Сервер 1С» (т.е. даже без «серверного ключа») нормально работает с небольшим числом клиентских подключений (до ~12 подключений). Вероятно это сделано для облегчения задач администрирования: начального конфигурирования и мониторинга в случае проблем… Но при превышении этого административного лимита - Сервер начинает отвергать новые подключения и требовать ключ.

По результатам эксперимента...


Примечание: однако «клиентские ключи» (локальные или сетевые) требуются для «защищённых клиентских приложений 1С», в любом случае - что для первого подключения к серверу, что для сотого! инструкции по установке «Технологической платформы для Windows» (в картинках и с видео)…

Запускаем инсталлятор «Технологическая платформа для Windows версии 8.2.16.368» (в версии 8.2 бывает только 32-битная) - там все программы в одном флаконе. При установке выбираем следующие компоненты:

  • «1С: Предприятие» (Основные компоненты «1С: Предприятия», включая компоненты для администрирования, конфигурирования, толстый и тонкий клиент)
  • «1С: Предприятие - Тонкий клиент» (Компоненты тонкого клиента только для работы в клиент-серверном варианте, без возможности работы с файловым вариантом)
  • «Администрирование сервера 1С: Предприятия» (MMC-консоль для администрирования кластера серверов)
  • «Интерфейсы на различных языках: английский, русский...» (по-умолчанию)



Подчёркиваю, мы не ставим следующие компоненты (они не нужны в этом клиент/серверном варианте использования 1С):

  • «1С: Предприятие - Тонкий клиент, файловый вариант» (Компоненты тонкого клиента, включая компоненты для работы с файловым вариантом информационной базы )
  • «Сервер 1С: Предприятие» (на этой машине он не нужен , т.к. он уже установлен на другом хосте под ОС Линукс… Хотя если у вас в будущем будет гетерогенный «кластер серверов 1С»: в которых будут входить машины под управлением не только Линукс, но и Widows - только тогда этот пункт вам понадобится...)
  • «Модули расширения веб-сервера» (работают только под Windows: «Сервер 1С» под Windows + web-сервер IIS под Windows, можно на разных машинах… Эти модули позволяют просто реализовать сайт, на котором будет интерфейс 1С-клиента встроен прямо в web-страничку. Тяжёлый неповоротливый сайт, потому что соединение из модулей веб-сервера к «серверу 1С» - через DCOM… Но польза сомнительна: эта хрень требует на каждое подключение удалённого веб-клиента по отдельному полноценному «клиентскому ключу»! Поэтому такой сайт никак не может быть массовым... )
  • «Сервер хранилища конфигураций 1С: Предприятия» (Используется если конфигурация хранится не в реляционной СУБД, а файлово - оптимизирует работу с ней многопользователей, сервера 1С или Web-сервера Apache. По отзывам: глючная фигня, и походу 1С забила на её развитие... )
  • «Конвертер ИБ 1С: Предприятия 7.7» (нужен только разработчикам)



«Установку HASP-драйвера» производим в том случае, если 1С на данном компьютере будем использовать лицензионную: либо к USB-порту будет присоединяться аппаратный ключ защиты, либо лицензия будет браться из сети с «менеджера лицензий»… (Напоминаю: если будете использовать кряк/эмулятор, то при инсталляции не ставьте «HASP-драйвер защиты»!)

Совет: Чтобы ничего не глючило, убедитесь в правильных настройках DCOM НА КАЖДОЙ МАШИНЕ под управлением ОС Windows, которую вы используете для работы с 1С.
DCOM настраиваются через оснастку dcomcnfg, как показано в инструкции... (Примечание: в инструкции говорится не только про DCOM, а про установку 1Сv8+MSSQL… Но в ней также наглядное описание в картинках, куда кликать чтобы настроить DCOM.)

10b)


Теперь переходим непосредственно к эксплуатации установленного пакета программ:

Запускаем MMC-консоль: Пуск -> Программы -> 1С: Предприятие 8.2 -> Дополнительно -> Администрирование серверов 1С: Предприятие.

Через консоль, последовательно создаем объекты: «Центральный сервер», «Кластер», «Рабочий сервер», «Рабочий процесс», «Информационная база» - как описано и показано в статье «Администрирование серверов 1С Предприятия»...

Следующие статьи немного устарели и неполные (изменился вид MMC-консоли, порядок создания и параметры компонент), но тоже могут быть полезны для иллюстрации, что требуется сделать на этом этапе: дальше без ключей работа невозможна! Другие варианты ключей и вопросы с ними здесь не рассматриваю - они уже выходят за рамки данной статьи… Ещё можно активировать программные лицензии через email/телефон (если линукс драйвер их поддерживает?), или настройте эмуляторы/кряки (но замечу, что под линукс эмуляторов ещё не реализовали , и вряд ли сделают, т.к. особо не нужны)...

После того как, через MMC-консоль администрирования сервера, [уже была] создана «Информационная база» (пока пустая) - к ней можно подключиться «Толстым клиентом» в режиме «Конфигуратора» и начать создание/настройку прикладной Конфигурации… Сделайте это сейчас:

  1. Подключитесь к ИБ Конфигуратором (при первом запуске клиента, нужно добавить ИБ в список: кнопка «Добавить» / «Добавление в список существующей информационной базы» / «На Сервере 1С: Предприятия» / «Кластер серверов» = delldev (имя хоста сервера); «Имя ИБ в кластере» = test1c);
  2. Загрузите Конфигурацию («Конфигурация / Загрузить конфигурацию из файла (.cf)»… затем пройдёт длительный процесс слияния конфигураций и перестройки БД, с запросами подтверждений);
  3. Импортируйте реальные учётные данные (пункт меню «Администрирование / Загрузить информационную базу» - это когда данные были предварительно выгружены в «файловый вариант ИБ», используется для сервисных нужд);
    Примечание: не путайте этот пункт с «восстановлением базы данных PostgreSQL из регулярной резервной копии» - этот процесс делается на сервере СУБД PostgreSQL, для всего кластера баз данных целиком, т.е. для всех информационных баз хранящихся на текущем сервере СУБД… Это операция грубая и грандиозная, делается в случае сбоев сервера или при миграции существующего сервера на новое железо...
  4. Настройте Пользователей системы и их Роли (пункт меню «Администрирование / Пользователи»… обязательно создайте пользователя «Администратор» и включите ему все возможные Роли).



А когда прикладная Конфигурация будет загружена и настроена - к ней можно будет подключаться разными клиентами (толстым, тонким, web) для использования и решения прикладных задач…

На этом всё! Спасибо за внимание!


«1C: Предприятие на Ubuntu 10.04 / Установка PostgreSQL 9.0» , тут , …

Установка 1С на Ubuntu Linux не требует специальных знаний операционной системы или опыта программирования. Достаточно внимательно ознакомиться с данной инструкцией и следовать всем рекомендациям по вводу команд и работе с терминалом, описанным ниже. Перед тем как начать саму установку клиента и сервера 1С под Ubuntu Linux, необходимо скачать дополнительные DEB пакеты (библиотеку и защиту hasp от Etersoft). Если у вас нет локальной сети, то необходимо ее настроить.

Локальная сеть

Откройте главное меню, найдите и запустите системную утилиту «сетевые соединения».

Для дальнейшей конфигурации перейдите на «проводное соединение» - «изменить» - «Параметры IPv4».

Измените способ настройки на «вручную», пропишите IP адрес. Для примера укажем: 192.168.128.40. Данные маски сети по умолчанию: 255.255.255.0.

Для доступа к интернету укажите DNS сервера. Вы можете использовать данные по умолчанию или ввести следующий рабочий адрес DNS - 8.8.8.8.

После этого можно приступить к загрузке дистрибутивов.

Запустите интернет браузер и перейдите на сайт поддержки пользователей 1С - «www.users.v8.1c.ru». С него мы будем скачивать сами дистрибутивы клиента и сервера 1С для Ubuntu Linux.

Нажмите - «скачать обновления», введите данные своей учетной записи (логин, пароль).

После этого, найдите «технологическая платформа 8.3» и выберите самую последнюю версию.

Здесь выберите «клиент 1С предприятия для DEB Linux систем». Помимо самого клиента, необходимо скачать «сервер 1С для Deb Linux систем». Без него вы не сможете установить сам клиент 1C для Ubuntu Linux.

Дополнительные DEB пакеты

Для полноценной работы программы мало скачать и установить сервер и клиент 1С. Все файлы необходимо загружать в одну папку «загрузки». Чтобы не путаться, удалит оттуда все лишнее. Затем, для более комфортной установки, мы переместим все скачанные дистрибутивы.

Необходимо загрузить дополнительные файлы: etersoft (терминальный сервер 1С под Linux или hasp) и бесплатную библиотеку libwebkitgtk. Для установки библиотеки перейдите по ссылке ниже, а затем найдите последнюю версию дистрибутива.

Для устройств на базе 32-разрядного процессора необходимо скачивать DEB пакет i386, для 64-разрядного - amd64.

Следующее, что понадобится - терминальный сервер 1C для Ubuntu (HASP защита). Скачать его дистрибутив можно с официального сайта Etersoft по ссылке ниже. В нашем случае это DEB пакеты для Ubuntu 12.04. Если вы пользуетесь другой версией Linux или Ubuntu, вернитесь в каталог и выберите необходимую вам.

Загрузить нужно все DEB пакеты hasp. Другие файлы не нужны.

Подготовка к установке

Дальнейшую установку клиента и сервера на Ubuntu продолжим при помощи терминала Linux. Чтобы не вводить длинные названия файлов и директорий вручную, рекомендуем скопировать их и вставить по инструкции ниже.

Если вам уже приходилось работать с Linux Ubuntu и устанавливать через терминал DEB файлы, то данный этап можно пропустить и приступить к следующему.

  • В домашней папке создайте новую - 1С;

  • откройте только что созданную директорию, создайте здесь еще две: hasp, server;

  • все DEB файлы hasp переместите в созданную папку «hasp» по адресу «домашняя папка» «1С» - «hasp»;
  • вернитесь в папку «загрузки», и распакуйте дистрибутив клиента;
  • в итоге у вас должна появиться папка с распакованными в ней файлами клиента 1С для Ubuntu;
  • переместите из нее все файлы, в директорию «доимашняя папка» - «1С»;

  • откройте папку «загрузки», распакуйте из архива дистрибутив сервера;
  • скопируйте все файлы в папку «server»;

  • оставшийся дистрибутив - в папку «1С».

После этого можно приступать к установке клиента и сервера 1С на Ubuntu Linux. Мы будем делать это при помощи терминала, т.к. в этом случае появляется возможность проследить за всеми ошибками, которые могут возникнуть в процессе. Например, из-за отсутствующих библиотек или дистрибутивов в системе.

Внимание! Перед тем как установить клиент 1С под Ubuntu Linux, проверьте, что его версия совпадает с версией сервера 1С.

Работа с терминалом

Запустите главное меню и откройте терминал. Здесь мы будем вводить все рабочие команды.

Если вы не пользовались операционной системой Linux, то рекомендуем выполнять установку DEB пакетов и ввод команд строго в той последовательности, в которой они ниже. Так вы сможете заметить и устранить все возможные ошибки терминала, скачать отсутствующие библиотеки.

Введите команду «cd 1c» для перехода по каталогу, а затем нажмите «enter» и впишите команду «sudo dpkg -i», скопируйте название первого DEB файла из каталога 1С и вставьте его в терминал нажатием правой кнопкой мыши или сочетанием клавиш «shift+ctrl+V».

Нажмите «Enter». Для выполнения команды, терминал запросит пароль администратора, введите его.

После этого должен выпасть список сообщений об ошибке, в которых будет указана их причина - зависимость. Например, что DEB пакет 1С зависит от библиотеки libwebkit (которую мы уже скачали). Или отсутствие 1С сервера.

Внимание! Если в списке ошибок нет зависимости от библиотеки, то устанавливать ее второй раз не нужно.

Установка библиотеки

Для установки библиотеки, введите команду «sudo dpkg -i», а затем скопируйте и вставьте название DEB пакета libwebkitgtk. Нажмите Enter.

Если в процессе возникнет какая-то ошибка, запустите центр приложений Ubuntu, а на любые запросы системы - нажмите «да». Введите пароль администратора.

Вернитесь в терминал, введите команду «sudo dpkg -i» для установки DEB пакета. Чтобы второй раз не вводить длинную команду и не копировать название файла, Linux запоминает введенные команды. И их можно перебирать нажатие клавиши «вверх» (стрелочки) на клавиатуре.

Настройка сервера

Для установки сервера 1С на Ubuntu Linux, в самом терминале необходимо перейти в каталог «1С» - «server».

Поэтому, введите следующую команду в терминале: «cd server», а затем загрузите все, что есть в директории. Чтобы не пришлось вводить все «вручную», пропишите «sudo dpkg -i *.deb». После этого загрузятся все DEB пакеты из каталога «server».

Установка клиента 1С для Linux

Чтобы вернуться на уровень из каталога «1С» - «server» в корень, введите: «cd/home/1c/server», а затем «cd ../» и нажмите «enter».

После этого при помощи команды «sudo dpkg -i» установите клиент 1С. Для этого не забудьте скопировать и вставить название DEB пакета и нажмите Enter. Если в процессе не возникло ошибок, то все было сделано правильно.

Установите оставшиеся дистрибутивы из каталога 1С (для быстрой работы используйте кнопку «вверх» на клавиатуре, а затем просто изменяйте название дистрибутивов).

HASP

Так как сейчас мы находимся по адресу «/home/1c/», то для установки защиты hasp достаточно ввести следующую команду: «cd hasp» (чтобы перейти в каталог hasp из директории 1С), а затем «sudo dpkg -i *.deb» (чтобы установить все пакеты из каталога «hasp»).

После этого можно воткнуть в сервер ключ защиты HASP и ввести несколько дополнительных команд, для разрешения зависимостей. На вопрос терминала «продолжить установку», вводите «д» (да) или «y» (yes).

Список команд для установки hasp под Ubuntu Linux:

  1. «sudo apt-get install imagemagick»;
  2. «sudo apt-get install unixodbc»;
  3. «sudo apt-get install libgsf-bin»;
  4. «sudo apt-get install t1utils».

Чтобы запустить 1С, перейдите в главное меню, затем введите название программы. Перед вами появится несколько видов клиента. То есть все, что необходимо для работы с программой. Чтобы вам не пришлось постоянно искать клиент для запуска в меню, скопируйте «1С: Enterprise» на рабочий стол Ubuntu. После этого запустите приложение, создайте базу данных и начинайте работу с системой и конфигурациями.

Версия 1С для Linux вышла уже достаточно давно и поэтому уже давно пора рассказать об установке 1С в Linux. Я расскажу об установке 1С на Ubuntu (deb-based) и Fedora (rpm-based).

Итак, приступим.

Все начинается со скачивания всех необходимых дистрибутивов, скачать их можно по адресу users.v8.1c.ru . Нам потребуется «Клиент для 1С: Предприятия для Linux-систем» и «Сервер 1С: Предприятия для Linux-систем». В зависимости от операционной системы выбираем DEB или RPM, также выбираем 32-х или 64-х битный вариант.

Распаковав архивы мы получим приблизительно такой список файлов:

  • sudo dpkg -i <название пакета> — в Ubuntu;
  • yum -y <название пакета> — в Fedora.

Устанавливать пакеты нужно в следующем порядке:

  1. 1c-enterprise83-common;
  2. 1c-enterprise83-common-nls;
  3. 1c-enterprise83-server;
  4. 1c-enterprise83-server-nls;
  5. 1c-enterprise83-ws;
  6. 1c-enterprise83-ws-nls;
  7. 1c-enterprise83-crs;
  8. 1c-enterprise83-client;
  9. 1c-enterprise83-client-nls.

С установкой на Fedora никаких проблем не возникло, а вот Ubuntu потребовал libwebkitgtk-1.0-0, проблема была решена так:

apt-get install libwebkitgtk-1.0-0

apt-get -f install

Если есть необходимость, можно установить HASP, скачать дистрибутив можно . Устанавливать нужно в следующем порядке:

  1. haspd;
  2. haspd-modules;
  3. dkms-aksparlnx.

После установки каталог 1С будет находиться по адресу /opt/1C/.

А результат будет выглядеть примерно так:



При запуске 1С поругается на отсутствие шрифтов и предупредит, что внешний вид может отличаться от ожидаемого.

Кроме всего прочего можно провести некоторую дополнительную настройку (в том числе и шрифтов).

Для начала нужно установить следующие пакеты:

  1. imagemagick;
  2. unixodbc;
  3. libgsf-bin;
  4. t1utils.

А после этого выполнить вот такую команду:

sudo /opt/1C/v8.3/i386/utils/config_system /usr/share/fonts

После этого можно добавлять базу и работать.

Если Вы нашли ошибку или неточность, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter .

Так же во время установки, надо не забыть отметить чекбокс напротив устанавливать ssh-сервер (если нужен) и samba-server (нужен 1С-у) :)

1) Подготовка:

Настроем сеть, будем использовать статическую адресацию:

Sudo vi /etc/network/interfaces

Auto eth0 iface eth0 inet static address 192.168.1.8 netmask 255.255.255.0 broadcast 192.168.1.255 gateway 192.168.1.1 dns-nameservers 192.168.1.4 192.168.1.6

где, auto eth0 — говорит системе, что интерфейс eth0 необходимо включать автоматически при загрузке системы с нижеуказанными параметрами.

iface eth0 inet static — указывает на то, что eth0 использует статический интерфейс. Если используется DHCP-сервер, то пишем вместо static — dhcp.

С 12.04 за конфигурацию DNS отвечает программа resolvconf (вместо файла /etc/resolv.conf ) поэтому, если не используется DHCP-сервер, DNS-сервера для статических интерфейсов необходимо вносить в /etc/network/interfaces используя параметры dns-nameservers, dns-search и dns-domain, соответствующиепараметрам nameserver , search и domain в resolv.conf.

Рестарт службы:

Sudo /etc/init.d/networking restart

Обновляемся:

Sudo apt-get update

Sudo apt-get dist-upgrade

Ставим Midnight Commander (mc)

Sudo apt-get install mc

2. Установка и настройка сервера баз данных PostgreSQL

Для удобства, что бы не набирать каждый раз sudo перейдем в режим рута:

Ставим пакеты необходимые для правильной работы PostgreSQL :

Apt-get install libicu-dev libxslt1.1 libxml2 libossp-uuid16 libreadline5

Качаем последнию стабильную версию PostgreSQL отсюда .

Ставим пакеты командой:

После этого в системе появится пользователь postgres, будет создан скрипт /etc/init.d/postgresql для старта и остановки СУБД.

После, даем права на папку pgsql пользователю и группе postgres:

Chown postgres:postgres /var/lib/pgsql

Задаем пароль пользователю postgres:

Passwd postgres

Редактируем /etc/group, где существующий id группы tape:x:26: меняем на какой-нибудь другой, например 27:). В итоге, должны быть следующие строки:

Postgres:x:26: tape:x:27:

Стартуем сервис командой, указываем значение переменной LANG. Необходимо для первичного создания базы:

LANG=ru_RU.utf-8 service postgresql start

Может ругнутся, что текущее значения Shmmax слишком мало для запуска PostgreSQL и предложить указать своё, но мы поступим умнее и воспользуемся следующим скриптом , который посчитает и выведет нужный размер Shmmax и Shmall в байтах.

SHMMAX — это максимальный размер (в байтах) на сегменте shared memory равный половине всей доступной памяти на сервере.

SHMALL — общее количество разделяемой памяти (в страницах), какое все процессы на сервере могут использовать.

Затем пропишем полученные значения с помощью команды:

Echo "kernel.shmmax = 521981952" >> /etc/sysctl.conf echo "kernel.shmall = 127437" >> /etc/sysctl.conf

Или пропишем в /etc/sysctl.conf вручную. Для того что бы изменения вступили в силу, набираем:

Alter user postgres with password "YOUR_PASSWORD";

Набираем \q что бы выйти из консоли.

Файл /var/lib/pgsql/data/pg_hba.conf приводим к виду:

#IPv4 local connections: host all postgres 0.0.0.0/0 md5

Главный конфиг /var/lib/pgsql/data/postgresql.conf редактируем в соответствии со следующими данными: Усредненная настройка наиболее важных параметров:

Shared_buffers = 1/8 RAM или больше (но не более 1/4) work_mem = в 1/20 RAM maintenance_work_mem = в 1/4 RAM max_fsm_relations = в планируемое кол-во таблиц в базах * 1.5 max_fsm_pages в max_fsm_relations * 2000; fsync = true wal_sync_method = fdatasync commit_delay = от 10 до 100 commit_siblings = от 5 до 10 effective_cache_size = 0.9 от значения cached, которое показывает free random_page_cost = 2 для быстрых cpu, 4 для медленных cpu_tuple_cost = 0.001 для быстрых cpu, 0.01 для медленных cpu_index_tuple_cost = 0.0005 для быстрых cpu, 0.005 для медленных

Для оптимизации настроек рассчитанных на максимальную производительность, можно попробовать воспользоваться утилитой pgtune .

Wget http://pgfoundry.org/frs/download.php/2449/pgtune-0.9.3.tar.gz

Tar xvfz *.tar.gz

Переходим в каталог с pgtune, выполняем команду:

./pgtune −i $PGDATA/postgresql.conf −o $PGDATA/postgresql.conf.pgtune

-i — путь до входного, текущего файла настроек postgresql.conf,

-o — путь до выходного, нового файла настроек postgresql.conf.

В результате выполнения команды получим идентичный исходному файл настроек, за исключением нескольких новых pg_tune-параметров в самом конце файла.

$PGDATA — переменная указывающая на /var/lib/pgsql/data . Если не задана, указать можно в /etc/environment .

Более полную информацию по настройке postgresql.conf смотрим у Etersoft или применительно к 1С на сайте Вечеслава Гилева. Для тех, кто хочет углубится более подробно в процесс изучения PostgreSQL существует замечательный, подробный мануал от Алексея Васильева. :)

Наиболее часто используемые команды Postgresql:

Изменить root-пароль:

ALTER USER postgres WITH PASSWORD ‘newpassword’;

3. Установка 1С Предприятие 8

Для правильной работы сервера 1С Предприятие, установим следующие пакеты:

Sudo apt-get install imagemagick libglib2.0-dev libgsf-1-dev texlive-base ttf-mscorefonts-installer libfreetype6 libfreetype6-dev unixodbc unixodbc-dev

Качаем технологическую платформу 1С8.2 для Linux (Debian/Ubuntu) с сайта 1С .

Установку пакетов необходимо производить в следующем порядке, т.к. существуют зависимости.

Если устанавливать всё сразу по маске, могут возникнуть ошибки.

1) 1c-enterprise82-common_8.2.15-319_amd64.deb // общие компоненты сервера
2) 1c-enterprise82-common-nls_8.2.15-319_amd64.deb // национальные ресурсы для общих компонент
3) 1c-enterprise82-server_8.2.15-319_amd64.deb // сервер 1С:предприятие 8.2 для Linux
4) 1c-enterprise82-server-nls_8.2.15-319_amd64.deb // Национальные ресурсы для сервера 1С
5) 1c-enterprise82-ws_8.2.15-319_amd64.deb // адаптер для публикации Web-сервисов 1С:Предприятия 8 на веб-сервере на основе Apache HTTP Server 2.0 или Apache HTTP Server 2.2;
6) 1c-enterprise82-ws-nls_8.2.15-319_amd64.deb // Национальные ресурсы для компонент веб-сервисов 1с8.2

Добавляем в автозагрузку:

Update-rc.d srv1cv82 defaults

Пользователю usr1cv82 разрешаем писать в /opt/1C и /home/usr1cv82

Chown -R usr1cv82:grp1cv82 /opt/1C

Chown -R usr1cv82:grp1cv82 /home/usr1cv82

Перезапускаем сервер. Проверяем корректность старта службы:

Service srv1cv82 status

Должно высветится:

Init script: STARTED Ragent: RUNNING

На файрволе, если используется, для работы сервера 1С должны быть открыты следующие порты: tcp:1540 - агент сервера (ragent) tcp:1541 - главный менеджер кластера (rmngr) tcp:1560-1591 - диапазон сетевых портов для динамического распределения рабочих процессов. (достаточно открыть tcp:1560)

A INPUT -p tcp -m state --state NEW -m tcp --dport 1540 -j ACCEPT -A INPUT -p tcp -m state --state NEW -m tcp --dport 1541 -j ACCEPT -A INPUT -p tcp -m multiport --dports 1560:1591 -j ACCEPT

Проверка работоспособности рабочих процессов сервера:

Netstat -tlnp | grep:15

Должны получить примерно такую картинку:

Tcp 0 0 0.0.0.0:1560 0.0.0.0:* LISTEN 2814/rphost tcp 0 0 0.0.0.0:1540 0.0.0.0:* LISTEN 2799/ragent tcp 0 0 0.0.0.0:1541 0.0.0.0:* LISTEN 2802/rmngr

Но, получаем следующее:

Tcp 0 0 0.0.0.0:1540 0.0.0.0:* LISTEN 960/ragent

Так же просмотреть запущенные процессы можно с помощью команды:

Должны получить примерно следующее:

Usr1cv82 931 0.0 1.8 338376 18612 ? Ssl Jul04 0:41 /opt/1C/v8.2/x86_64/ragent -daemon usr1cv82 935 0.1 3.0 790496 31376 ? Sl Jul04 2:31 /opt/1C/v8.2/x86_64/rmngr -port 1541 -range 1560:1591 usr1cv82 948 0.4 11.5 720804 117412 ? Sl Jul04 6:21 /opt/1C/v8.2/x86_64/rphost -range 1560:1591 -reghost ubuntus12 -re

Но запускается только ragent:

Usr1cv82 931 0.0 1.8 338376 18612 ? Ssl Jul04 0:41 /opt/1C/v8.2/x86_64/ragent -daemon

К сожалению танцы с бубном ни к чему не привели, и права выставлены везде корректно и сеть настроена должны образом. Нагуглил, что с 15 релизом у многих похожие проблемы, а у меня как раз 8.2.15-319. А 318 Помнится работал:) Решил попробовать самый последний на момент написания обзора 8.2.16.362 и о чудо, с первого раза все завелось как надо.

Теперь необходимо проверить корректность установки компонентов, которые мы установили в самом начале с помощью проверяющего скрипта:

/opt/1C/v8.2/x86_64/utils/*config_server

Если, не получаем не каких сообщений, а в директории /opt/1C/v8.2/x86_64/conf/grcmncfg появился файлик type.xml то значит все ок, в моем случае, скрипт выдает кучу ошибок. В первом сообщение говорится, что невозможно получить доступ к какому-то файлу libc.

Cannot access /lib/libc-*.so: No such file or directory Cannot access /lib64/libc-*.so: No such file or directory

Посмотрим, где этот файл на самом деле сидит:

Find / -name "libc-*.so" -print

Получаем следующий выхлоп:

/lib/x86_64-linux-gnu/libc-2.15.so

Неудивительно что скрипт его не находит, делаем поочередно два симлинка:

Ln -s /lib/x86_64-linux-gnu/libc-2.15.so /lib/libc-2.15.so ln -s /lib/x86_64-linux-gnu/libc-2.15.so /lib64/libc-2.15.so

После чего, снова запускаем скрипт. Ошибка с «доступом» исчезает, но остается следующая:

./config_server: line 193: [: too many arguments ./config_server: line 193: [: too many arguments ./config_server: line 193: [: too many arguments ./config_server: line 193: [: too many arguments ./config_server: line 193: [: too many arguments

В 193 строке содержится следующая запись, которая указывает на опрос переменной $SYSTEM_LIB_PATH, где видимо должны содержаться нужные 1су библиотеки.

[ ! -e $aliasFullName ] && return 1

Посмотрим, что конкретно не может обнаружить скрипт, запускаем:

Echo $aliasFullName

Получаем:

Can"t detect SYSTEM_LIB_PATH, please set this environment variable manually!/libWand.so Can"t detect SYSTEM_LIB_PATH, please set this environment variable manually!/libfreetype.so Can"t detect SYSTEM_LIB_PATH, please set this environment variable manually!/libgsf-1.so Can"t detect SYSTEM_LIB_PATH, please set this environment variable manually!/libglib-2.0.so Can"t detect SYSTEM_LIB_PATH, please set this environment variable manually!/libodbc.so

Как я понял, SYSTEM_LIB_PATH должен обнаруживать искомые файлы в трех возможных директориях:

/usr/lib /usr/lib32 /usr/lib64

Так же, необходимо вручную задать SYSTEM_LIB_PATH в /etc/environment. Например пускай ищет библиотеки только в /usr/lib/

SYSTEM_LIB_PATH="/usr/lib"

Перезапускаем сервер, снова запускаем скрипт, получаем следующее:

/usr/lib/libWand.so /usr/lib/libfreetype.so Please install following package: FreeType /usr/lib/libgsf-1.so /usr/lib/libglib-2.0.so Please install following package: libglib /usr/lib/libodbc.so Please install following package: UnixODBC

Файлы libWand.so и libgsf-1.so находятся там где нужно. Остальные файлы libfreetype.so , libglib-2.0.so и libodbc.so находятся в /usr/lib/x86_64-linux-gnu. Соответственно снова делаем смлинки:

Ln -s /usr/lib/x86_64-linux-gnu/libfreetype.so /usr/lib/libfreetype.so ln -s /usr/lib/x86_64-linux-gnu/libglib-2.0.so /usr/lib/libglib-2.0.so ln -s /usr/lib/x86_64-linux-gnu/libodbc.so /usr/lib/libodbc.so

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

/usr/lib/libWand.so /usr/lib/libfreetype.so /usr/lib/libgsf-1.so /usr/lib/libglib-2.0.so /usr/lib/libodbc.so

На клиенте, если Windows, заходим в консоль управления 1CV8 Servers (Администрирование серверов 1С Предприятия). Жмем, добавить Центральный сервер 1С:Преприятия 8.2, добавляем по имени. Во вкладке рабочие серверы должна появится запись. Создаем новую базу, либо прямо с помощью консоли управления, либо в самом клиенте 1С выбираем опцию:

Добавить новую информационную базу.

Запускаем 1С. Тест Гилева выдает 13,05 балов.

По поводу HASP-ключей, если до 12 пользователей то нужен только сетевой ключ с маркировкой типа NETXX ORGL8, где XX - количество клиентских лицензий. Если более 12 пользователей, но необходим так же локальный ключ для сервера. Фиолетовый ключ HASP HL с маркировкой типа ENSR8 для 32x-битного сервера или зеленый ключ HASP HL Max маркировкой ENS8SA для 64-битного. Ключ HASP HL Max поддерживает так же 32-битный сервер.

Для нормальной работы HASP-ключей необходимо установить два пакета включающих драйвер ключа aksusbd и менеджер лицензий hasplm. Имеет смысл ставить модифицированные варианты драйверов от Entersoft . Для нормальной работы haspd, требуются поддержка 32-битных программ.

Поэтому добавляем ее установкой пакета ia32-libs.

Apt-get install ia32-libs

Теперь сам HASP и менеджер лицензий:

Dpkg -i http://download.etersoft.ru/pub/Etersoft/HASP/stable/x86_64/Ubuntu/12.04/

Вставляем ключ, перегружаем сервер. Работоспособность ключей проверяем командой:

Sudo service haspd status

Должны быть запущенны: aksusbd, winehasp, hasplm, hasplmd.

4. Публикация на веб-сервере

Ставим apache:

Apt-get install apache2

Редактируем /etc/apache2/apache2.conf , где задаем директиву ServerName указывающую на имя сервера.

ServerName "ubuntus12"

В противном случае при запуске apach’a получим сообщение:

Httpd: Could not reliably determine the server"s fully qualified domain name, using 127.0.0.1 for ServerName

В корневом каталоге сайта, создаем директорию base, где base — имя базы к которой мы будем предоставлять доступ.

Mkdir /var/www/base

Теперь нам необходимо, запустить специальный скрипт для публикации базы на веб-сервере:

Переходим в /opt/1C/v8.2/x86_64/ Запускаем скрипт со следующими параметрами:

./webinst -apache22 -wsdir base -dir "/var/www/base" -connStr "Srvr="ubuntus12";Ref="base";" -confPath /etc/apache2/httpd.conf

Проверяем корректность внесенных изменений. В /etc/apache2/httpd.conf должны быть следующие строки:

LoadModule _1cws_module "/opt/1C/v8.2/i386/wsap22.so" # 1c publication Alias "base" "/var/www/base/" AllowOverride None Options None Order allow,deny Allow from all SetHandler 1c-application ManagedApplicationDescriptor "/var/www/base/default.vrd"

В /var/www/base/ так же должен появится файл default.vrd две последние строчки которого должны выглядеть примерно так:

Base="/base" ib="Srvr="ubuntus12";Ref="base";

Выдаем права на директорию, перезапускаем Apache:

Chown -R www-data:www-data /var/www/base

Service apache2 restart

Заходим браузером, предварительно отключив всплывающие окна.

Http://ubuntus12/base

И получаем следующее сообщение:

Оно, и понятно, без специального сетевого ключа, работать не будет:)

5. Резервное копирование и восстановление:

Даем права пользователю postgres на тут папку куда будем выгружать backup.

Chown postgres:postgres /mnt/net

В /mnt/net у меня смонтирована виндовая шара, с помощью команды:

Mount -t smbfs -o username=test,password=11111111,iocharset=utf8 //192.168.1.8/distr /mnt/net

Отмонтировать, принудительно закрыв все подключения, если нужно:

Umount -l /mnt/net

Резервное копирование (Backup):

Pg_dump -U postgres -Fc -Z9 dbname -f /mnt/net/Backup/Base/dbname.dump

U (пользователь)
-F (формат извлекаемого файла)
с (custom — внутренний формат сжатия pg_dump, возможны так же варианты tar и plain text)
-Z (установить режим сжатия)
0 — 9 (0 — без сжатия, 9 — максимальный режим)
-f (извлекать в этот файл)

Если выгружаем на виндовую шару, необходимо полный доступ для Users.

Востановление (только из под пользователя postgres): В новую базу:

Createdb -T template0 newdb

#!/bin/sh BKPDIR="/mnt/net/PostgreSQL" DATEYMD=`date "+%Y-%m-%d"` pg_dump -Fc -Z9 mydb -f "${BKPDIR}/${DATEYMD}-mydb-PostgreSQL.dump"

Запись в crontab (из под пользователя postgres):
su postgres
crontab -e //добавить задание
crontab -l //просмотр заданий
crontab -r //удалить задание

# запустить в 18:50 минут

50 18 * * * sh /home/scripts/backup.sh

# запускать каждые 15 минут

*/15 * * * * sh /home/scripts/backup.sh