Установка сервера 1с предприятия на Linux становится все более и более популярной, особенно радует возможность отказа от не дешевого Microsoft SqlServer. Однако многих отпугивает сложность установки и по-сути отсутствие документации со стороны 1с. В данной статье описывается пошаговая установка и настройка.

В статье используются операционная система Fedora 14 x64, имя сервера 1csrv.mydomain.local, текущий релиз сервера 1с предприятия 8.2.13.205, релиз PostgreSQL сервера 9.0.1.

Если вы хотите использовать Postgresql 8.4.1, то подробное описание сборки и установки можно найти здесь.

1. Сборка и установка Postgresql 9.0

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

[root@localhost ~]# yum install rpm-build gcc make glibc-devel bison flex python-devel tcl-devel readline-devel zlib-devel openssl-devel  krb5-devel  e2fsprogs-devel gettext pam-devel openldap-devel icu libicu libicu-devel

Загружаем и устанавливаем исходники postgresql 9.0

[root@localhost ~]# wget http://v8.1c.ru/overview/postgresql_patches/9-0-1/postgresql-9.0.1-1.1C.src.rpm
[root@localhost ~]# rpm -i postgresql-9.0.1-1.1C.src.rpm

Исправляем в файле /usr/lib/rpm/macros параметр %_default_patch_fuzz, для чего меняем значение с 0 на 2

%_default_patch_fuzz    2

В файле/root/rpmbuild/SOURCES/postgresql.init меняем

PGENGINE=/usr/pgsql/bin
PGDATA=/var/lib/pgsql/data
PGLOG=/var/lib/pgsql/pgstartup.log

В файле спецификации  /root/rpmbuild/SPECS/postgresql-9.0-1C.spec в нижеуказанных строчках меняем значения postgresql-9.0 на postgresql

525 chkconfig --add postgresql
530 sbin/service postgresql condstop >/dev/null 2>&1
531 chkconfig --del postgresql
537 /sbin/service postgresql condrestart >/dev/null 2>&1

На всякий случай выкладываю исправленные postgresql.init и postgresql-9.0-1C.spec

Добавляем мягкие ссылки на библиотеки icu

[root@localhost ~]# ln -s /usr/lib64/libicuuc.so /usr/local/lib64/libicuuc.so.34
[root@localhost ~]# ln -s /usr/lib64/libicui18n.so /usr/local/lib64/libicui18n.so.34
[root@localhost ~]# ln -s /usr/lib64/libicudata.so /usr/local/lib64/libicudata.so.34

Собираем

[root@localhost ~]# rpmbuild -ba --define 'runselftest 0' /root/rpmbuild/SPECS/postgresql-9.0-1C.spec

Здесь параметр runselftest можно убрать, но тогда сборку пакетов придется делать из под ограниченного пользователя, postgresql не сможет создать тестовую базу из под su. По завершении устанавливаем собранные пакеты:

[root@localhost ~]# rpm -i /root/rpmbuild/RPMS/x86_64/*.rpm

Инициализируем базу данных postgresql:

[root@localhost ~]# su postgres
bash-4.1$ /usr/pgsql/bin/initdb -D /var/lib/pgsql/data --locale=ru_RU.UTF-8
The files belonging to this database system will be owned by user "postgres".
This user must also own the server process.
 
.........
 
Success. You can now start the database server using:
 
/usr/pgsql/bin/postgres -D /var/lib/pgsql/data
or
/usr/pgsql/bin/pg_ctl -D /var/lib/pgsql/data -l logfile start
 
bash-4.1$ exit

Включаем в автозагрузку и запускаем сервис postgresql:

[root@localhost ~]# chkconfig postgresql on
[root@localhost ~]# service postgresql start
Starting postgresql service:                               [  OK  ]

Добавляем мягкую ссылку на библиотеку libpq.so.5 -она понадобится для работы psql

[root@localhost ~]# ln -s /usr/pgsql/lib/libpq.so.5 /usr/lib64/libpq.so.5

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

[root@localhost ~]# su postgres
bash-4.1$ psql postgres
could not change directory to "/root/rpmbuild/SPECS"
psql (9.0.1)
Type "help" for help.
 
postgres=# alter user postgres with password '123456';
ALTER ROLE
postgres=# \q
bash-4.1$ exit
exit

На этом установку PostgreSQL-9.0.1 можно считать завершенной.

2. Установка 1c

Отключаем SELinux, для этого открываем файл /etc/sysconfig/selinux и меняем значение параметра SELINUX на disabled. Для применения настроек необходим перезапуск системы.

Очень важно правильно прописать имя хоста в файле /etc/hosts, во время первичной установки это имя будет прописано как имя сервера в файле 1CV8Reg.lst, в случае несоответствия сервер 1с предприятия попросту не запустится и все параменты в этом файле придется прописывать вручную.

127.0.0.1       localhost 1csrv 1csrv.mydomain.local
192.168.1.132   1csrv 1csrv.mydomain.local

Заодно проверяем соответствие параметра HOSTNAME с именем сервера в файле /etc/sysconfig/network

NETWORKING=yes
HOSTNAME=1csrv.mydomain.local

Чтобы применить изменения в имени хоста необходимо перезапустить сервис network и перелогиниться для смены переменных среды.

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

Берем с диска ИТС или с сайта обновлений установочные пакеты сервера 1с предприятия для Linux и переносим их на наш сервер удобным способом:

1C_Enterprise82-common-8.2.13-205.x86_64.rpm
1C_Enterprise82-server-8.2.13-205.x86_64.rpm
1C_Enterprise82-ws-8.2.13-205.x86_64.rpm
1C_Enterprise82-common-nls-8.2.13-205.x86_64.rpm
1C_Enterprise82-server-nls-8.2.13-205.x86_64.rpm
1C_Enterprise82-ws-nls-8.2.13-205.x86_64.rpm

Устанавливаем вышеуказанные пакеты, в конце установки сервере 1с предприятия запустится автоматически:

[root@localhost 8.2.13.205]# rpm -i 1C_Enterprise82-common-8.2.13-205.x86_64.rpm 1C_Enterprise82-server-8.2.13-205.x86_64.rpm 1C_Enterprise82-ws-8.2.13-205.x86_64.rpm 1C_Enterprise82-common-nls-8.2.13-205.x86_64.rpm 1C_Enterprise82-server-nls-8.2.13-205.x86_64.rpm 1C_Enterprise82-ws-nls-8.2.13-205.x86_64.rpm
Starting 1C:Enterprise 8.2 server: OK

Теперь установку можно считать завершенной – подключаемся к серверу консолью управления, создаем базу и работаем.

3. Заключение

Установка сервера 1с предприятия проходит в штатном режиме – главная затычка правильно прописать имя сервера и отключить SELinux. Но когда дело касаться сборки Postgresql от версии к версии натыкаешься на все новые и новые “грабли”, и скажем для новичка даже при наличии достаточно подробного описания установка превращается в одно сплошное гугление, которое отнюдь не всегда заканчивается успехом.

Отсюда появилась идея создать репозиторий с собранным и готовым к установке пакетами PostgreSQL-1С для Fedora/RHEL/CentOS.

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

Обсудить статью на форуме http://forum.alsigned.ru/viewtopic.php?f=4&t=8.

Проблемы при настройке 1с предприятия http://forum.alsigned.ru/viewforum.php?f=5.

184 Коммент. : “Установка 1С 8.2 и Postgresql 9.0 на Linux”

  1. ser22 пишет:

    клиентская есть. Файловая работает.

  2. ser22 пишет:

    конфигуратор нормально, а рабочий не хочет

  3. Alsigned пишет:

    @ser22
    Через консоль управления сервером 1с предприятия в свойствах базы нужно отключить “Разрешить выдачу лицензий сервером “1С:Предприятия”.

  4. Rezen пишет:

    Возможно ли установить ключ с лицензиями на другую физическую машину? Планируется установка сервера 1C v8.2 на виртуальную платформу CentOS 5.5 i386. А вот ключик хочется разместить на другой реальной машине с Linux.

  5. Alsigned пишет:

    @Rezen
    Клиентский ключ можно разместить где угодно, а серверный все-равно придется ставить непосредственно на сервер 1с предприятия.
    Какая платформа для виртуализации? На сколько я помню Xen и KVM умеют пробрасывать USB-порты в гостевую ОС.

  6. ser22 пишет:

    vmware. Клиетский стоит. Серверный не нужен на 10 пользователей. Может клиентский особый?

  7. Rezen пишет:

    RHEL6 x86_64 + Xen , гостевые CentOS 5.5 i386. Я читал везде пишут что достаточно разместить USB ключ на любом компе в сети. И еще якобы существует “программный ключ” защиты.

  8. Rezen пишет:

    Всё установилось, но при запуске толстого/тонкого клиента и конфигуратора требует лицензию. Те без клиенсткой лицензии он вообще не будет работать?

  9. Alsigned пишет:

    @Rezen
    Нет не будет.

    Если нужно потестировать в интернете можешь найти эмулятор ключа под Windows, но его использование является прямым нарушением лицензионного соглашения, по-моему с некоторой оговоркой как раз в случае если на сервере нет USB портов.

    Клиентский USB-ключ и правда можно разместить на любом компьютере в сети и раздавать его при помощи License Manager. Серверный ключ – не производится в сетевом исполнении и должен устанавливаться непосредственно на сервер.

    PS: Я за то что бы труды разработчиков были вознагрждены, те предлагаю платить деньги за платный софт ;)

  10. PolAvto пишет:

    Здравствуйте
    Как запусить клиента, толстого или тонкого, на машине с Fedora 14?

  11. Alsigned пишет:

    @PolAvto
    Клиент 1с 8.2 вполне может работать под Wine,

    Я тестировал на Ubuntu 10.4 c wine-1.3 клиента 1с 8.2.13.199, устанавливается и запускается прямо из коробки. В конфигурации “Управление торговлей” работает все, кроме внешних обработок. “Зарплата и управление персоналом” просто вылетает при открытии 50% документов. Большинство трудностей решаются установкой Internet Explorer 7 на тот же wine, но увы это нарушение лицензионного соглашения:

    Корпорация Майкрософт предоставляет вам данное дополнение к лицензии.  Вы можете использовать копию этого дополнения с каждой лицензионной копией программного обеспечения Microsoft Windows XP SP2 and Windows Server 2003 SP1.  Вы не имеете права использовать дополнение, если у вас нет лицензии на программное обеспечение.

    Есть так же платный WINE@Etersoft с ним вышеупомянутые конфигурации работают без проблем, в версии Local он стоит около 500р.

    PS: Все вышеперечисленное вполне справедливо и для Fedora 14.

  12. PolAvto пишет:

    Здравствуйте
    24 мая (вчера) вышла новая Fedora 15
    Как по Вашему переустановка 1С на новую Fedora15 имеет практический смысл?
    Или же видимых улучшений в работе бухгалтерии и связанных с ними задач в киент-серверном исполнении не стоит ожидать?

  13. Alsigned пишет:

    @PolAvto
    Бывают ситуации когда новый релиз показывает лучшую производительность из-за более свежего ядра и драйверов устройств. Но есть и минусы:

    1. Fedora по сути служит для тестирования нового ПО, которое впоследствии используется в RHEL. И раз это дистрибутив для тестов, то стопроцентной стабильности ждать от него не приходится, особенно в свежих версиях.

    2. Новый дистрибутив выходит раз в полгода, и полностью переставлять ОС с такой периодичностью ради возможного прироста производительности в 2 процента – как минимум не практично.

    Поэтому, если есть желание переставить ОС, то лучше дождаться выхода CentOS 6.0, установить туда сервер 1с предприятия + PostgreSQL и не трогать его ближайшие года 3 ;)

  14. PolAvto пишет:

    Здравствуйте
    Всё-таки поставил Fedora15 и всё собрал. Всё сразу запустилось(были некоторые изменения в названиях файлов для мягких ссылок), кроме WEB клиента. Потребовалось обновление, случайно недосмотрел и вместе со всеми пакетами обновились пакеты PostgreSQL. И всё. PostgreSQL не стартует, 1с не стартует, крах …
    Возвращаюсь на Fedora14 и буду ждать CentOS 6.0.
    Есть вопрос:
    1.Толстый клиент при подключении к серверу несколько раз утверждает что не найдена лицензия, но потом соглашается что лицензия есть и успешно запускается.
    2.Обмен между компом клиента и сервера настолько медленный, что пришлось для проверки ставить их рядом и ничего не изменилось (были бредовые подозрения на медленный канал связи). Обновление конфигурации аж полчаса на 100Мб сети, при этом сеть и процессоры обоих компов не сильно-то и загружены.
    Теперь вопрос: может эти два события связаны и какие-то настройки 1С надо делать дополнительно? Скажем время отклика, приоритет заданий, какие-то внешние проверки отключить или включить?
    Подскажите в каком направлении бежать? Как проверить производительность всей системы и найти слабые места?

  15. Alsigned пишет:

    @PolAvto
    Вот видишь, как я и говорил, с Fedora 15 чувствуешь себя как на пороховой бочке, yum update и жди приключений ;) Судя по описанию ничего страшного не произошло – либо NM в /etc/hosts все перезаписал, либо SELinux включился, странно правда что PostgreSQL обновился.

    1. Это может происходить если не правильно прописан или не прописан сервер лицензий на клиентских компьютерах или в свойствах базы установлена галка «Разрешить выдачу лицензий сервером «1С:Предприятия».

    2. Универсального рецепта по увеличению производительности нет, очень многое зависит от объема оперативной памяти и скорости файловой системы. Какое железо на сервере и клиенте? Какая конфигурация и объем информационной базы?

  16. PolAvto пишет:

    1. Бухг. работают из разных мест, с работы и из дома, у них у каждого свой ключ. Настройкой сервера лицензий никто не занимался. Если бы вообще не работал клиентский доступ – было бы понятно. Но доступ есть к серверу, коннектится непредсказуемо, иногда с первого раза без проблем. Я им рекомендовал тыкать пока не соединится – они и тыкают безропотно. Но я думаю это неправильно.
    2. Железо на сервере HP380 2х3.2 4G объём базы 100М. Конфигурация 219.22. Клиентские – ноутбуки ASUS свежие, и обычные компы, тоже достаточно свежие. Большие файлы, почта там и прочая …ень летают с компов на сервер и обратно. Но как только включается 1с – всё впадает в тупой ступор. Не знаю что ещё надо, как будто через пуп земли пешком идут байты.
    А насчёт CentOS. Установка сильно отличается от Fedora? Может пока нет 6.0 потренироваться на 5.5?

  17. Alsigned пишет:

    @PolAvto
    1. В свойствах базы нужно отключить пункт «Разрешить выдачу лицензий сервером «1С:Предприятия».

    2. HP380 2х3.2 4G бывают разными ;) Какой Generation? RAID и винты?

    DL380G3 – 1с 8 не будет на нем хорошо работать.
    DL380G4 – при объеме базы в 250Мб обновление конфигурации проходит где-то за 8 мин.
    DL380G5/G6 – стоит серьезно задуматься на тему, а подцепились ли дрова или что может быть не так.

    Для начала можно проверить:

    а) Хватает ли серверу оперативной памяти, те не начинает ли он писать информацию в swap. Я для этого обычно использую утилиту htop.

    б) Производительность файловой системы
    hdparm -tT /dev/sda
    /dev/sda – жесткий диск или раздел на RAID.

    Дальше по результатам ;)

  18. Alsigned пишет:

    @PolAvto
    Установка и настройка CentOS фактически ничем не отличается от Fedora, единственное пакеты постарей. Если есть возможность, почему бы не поэксперементировать ;)

  19. andru пишет:

    Попробовал собрать пакеты под centos 5.5 – нормально собрались, не ставил пока т.к. сразу возник вопрос, –prefix=/usr/pgsql как то напрягает не совсем LSB имхо. Может spec файл поправить все же, ну и /usr/local/lib64 как то тоже. В \etc\ld.so.conf.d\postgresql-9.0-libs.conf путь указывает на /usr/pgsql-9.0/libs которого нет.

  20. Зачем ставить в данном контексте пакеты: krb5-devel e2fsprogs-devel ?

  21. @hatifnatt
    все понятно ставятся как зависимости, но так сразу и не догадаться что за чем тянется :)

  22. Alsigned пишет:

    @andru

    Если тебя напрягает префикс – ты вполне можешь его поменять.
    Хочешь дополнительно поправить путь в файле /etc/ld.so.conf.d/postgresql-9.0-libs.conf, как это описано несколькими комментариями выше – пожалуйста.
    При желании можно самому пропачить исходники, как предложил repairman в коментах к статье http://www.alsigned.ru/?p=329.

    Кстати, что такое LSB имхо? И какое практическое применение оно будет иметь в данном случае?

  23. Alsigned пишет:

    @hatifnatt

    Спасибо за ценные дополнения ;)

  24. andru пишет:

    @Alsigned

    Обычно если я устанавливаю rpm – то уверен что все библиотеки будут найдены и не нужно будет лазить по форумам и выяснять что нужно еще поправить /etc/ld.so.conf.d/postgresql-9.0-libs.conf. Ну и бинарники будут лежать в /usr/bin, библиотеки в /usr/lib/pgsl в отличии от /usr/pgsql/bin и /usr/pgsql/lib. Статья полезная, спасибо а spec файл для себя поправить недолго.

  25. mishanya79 пишет:

    @Alsigned
    Установил Postgre 9 и 1С сервер 8.2 по вашим рекомендациям на CentOS 5.6 64bit.
    При запуске линукс старт процессов postgresql и 1c 8.2 ОК. SE Linux выключил. Порты 1540,1541,1560,1561,1562,1590 добавлил.
    На Windows клиенте запускаю добавление базы на сервер 1С прописываю IP adress вместо имени 192.168.0.132 получаю в ответ:
    Ошибка при создании информационной базы:
    Сервер 1С Предприятия не обнаружен
    Не запущен ни один рабочий процесс. Соединение с информационной базой невозможно

  26. Alsigned пишет:

    Привет @mishanya79

    Порты 1540,1541,1560,1561,1562,1590 добавлил.

    Добавил до установки сервера 1с предприятия или после? Порты рабочих процессов с 1562 по 1590 (если по умолчанию).

    1. На время пуско-наладки предлагаю отключить файрвол
    service iptables stop

    2. Посмотреть какие порты слушаются сервером 1с предприятия
    netstat -ltunp

    Дальше по результатам ;)

  27. mishanya79 пишет:

    @Alsigned
    Спасибо всё заработало. Всплыла другая проблема. HASP. В сервер воткнул 2 ключа, серверный и сетевой на 20 пользователей. Установил драйвер aksusbd-1.15.1-i386, установил haspd-3.2-eter3centos.x86_64.rpm Ключ виден до перезагрузки сервера. На service haspd status выдаёт kernel module aksparlnx is not loaded. При этом всё работает, а если после перезагрузки удалить и заново поставить haspd-3.2, то тоже всё хорошо. Какой загрузить aksparlnx или что прописать в hasp.conf, чтобы не переустанавливать каждый раз модуль? Прошу прощения за сумбур, не очень много опыта в linux.

  28. mishanya79 пишет:

    @Alsigned
    Если Вам не трудно, дайте пожалуйста Ваш E-mail для более подробного описания наших проблем. Мой адрес: mishanya79@yandex.ru. Заранее спасибо, с уважением, Михаил.

  29. Ave пишет:

    И все же интересно, если не отключать SELinux какие нужно сделать настройки для него, чтобы сервер 1С корректно работал?

  30. polavto пишет:

    @Alsigned
    Здравствуйте
    При установке клиента на Fedore под Wine получил такое сообщение:

    Aladdin Device Driver
    Service could not be started
    ErrorCode: 30, 5 370 1053
    0x1e0000 0×10006 0x1e0000

    (соответственно при запуске толстого клиента не находится ключ)
    Не подскажете, к чему бы это?

  31. Alex_24rus пишет:

    Супер, все получилось.
    CentOS-5.5 i386

  32. Alex_24rus пишет:

    Alex_24rus :
    Супер, все получилось.
    CentOS-5.5 i386

    Как оказалось не все.
    Ругается на графическую подсистему.
    Гуглю

  33. Alsigned пишет:

    Привет, @Alex_24rus
    На ошибку графической подсистемы ругается web-клиент.

    Лечится эта проблема установкой ImageMagick и tetex-afm, дальше запускаем из директории 1с

    ./config_server /usr/share/fonts/microsoft-core

    Более подробно о установке web-клиента можно почитать http://www.alsigned.ru/?p=416.

  34. mishanya79 пишет:

    @Alsigned
    Всё заработало, но поймал проблему как у @PolAvto, через какое то время сервер 1С становится недоступным/ Рабочих процессов аж 11 штук создал (у сервака 2 XEON 5620), не помогает. Вариант с service srv1cv82 restart работает, но как Вы правильно заметили не годится. В консрли управления сервером видно, что соединение рабочего процесса блокируется приложением планировщик заданий “Соединение (ServerJobExecuterContex,1csrv.mydomain.local, JobSheduler). Что за приложение планировщик заданий и как его отключить? Кстати спасибо за Ваш титанический труд.

  35. Alsigned пишет:

    Привет, @mishanya79

    2xXeon 5620 – конфигурация хорошая, но этой информации недостаточно – многое зависит еще и от количества пользователей, объема оперативной памяти, скорости файловой подсистемы, размера информационной базы.

    В случае когда помогает перезапуск севера 1с предприятия проблема скорее всего кроется в недостатке оперативной памяти. Один процесс может съедать до 500-600мб следовательно 11 процессов скушают как минимум 5Гб, а как только закончится оперативная память ОС начнет писать в swap и начнутся тормоза.

    Думаю нет смысла создавать слишком много рабочих процессов – в реальной ситуации на 100 чел пользователей вполне хватает всего 4-х рабочих процессов и 1-го резервного. Все делается из простого расчета 1 рабочий процесс на 20-25 человек пользователей и обязательно 1-2 резервных.

    PS: Планировщик заданий вещь очень полезная, и отключать его не стоит. Например, у меня в организации он используется для ночного проведения БД ;)

  36. mishanya79 пишет:

    @Alsigned
    Оперативки 24Gb, 4 винта 1Тв объеденил в Raid 10, получилось 2 Тв, 500 на всю систему, 1500 Тв папка /home. Ключ на 20 прользователей, и используется специальная конфа ЭнергоСбыт (биллинг) с Катрановским ключом на 5 пользователей(ключ стоит в компьютере с Виндой, дров под Centos для Катран не нашел. Удалил лишние процессы, оставил 5 штук. А как создать резервный процесс? По умолчанию консоль администрирования 1 С предлагает создать только обычные рабочие процессы?

  37. Alsigned пишет:

    @mishanya79

    В свойствах процесса есть параметр “Использовать” который может иметь три значения “Использовать”, “Использовать как резервный”, “Не использовать” – в принципе он должен быть доступен и при создании процесса.

  38. mishanya79 пишет:

    @Alsigned
    Огромное спасибо, всё работает 4-ый день и не одного рестарта! Мы (кампания) можем Вас как-то отблагодарить?

  39. Alsigned пишет:

    @mishanya79
    Рад, что смог помочь ;) А так, все есть, спасибо.

  40. mishanya79 пишет:

    @Alsigned
    Будете в Волгограде, приглашаю на хорошую рыбалку. ;-)

  41. Mc.nick пишет:

    @Alsigned
    Огромное спасибо вроде все заработало с первого раза, начинаю тестить на живую. огромное Спасибо!!!

  42. mishanya79 пишет:

    @Alsigned
    Вышел Centos 6.0, может быть пора обновить статью, или новую написать? Готов помочь чем могу, в выходные буду у себя обновлять систему.

  43. Сашец82 пишет:

    Солидарен с mishanya79. Мне как “студенту с талмудами” хотелось бы увидеть ман по установке связки 1C 8.2 + Apache 2 + PGSQL 9.0.3 на CentOS 6. Помочь могу только тестированием всего этого и отписыванием в коментах.

  44. BDen пишет:

    в postgresql.conf не забываем установить

    escape_string_warning = off

    в противном случае в pg_log получаем лог очень неприятного размера

  45. BDen пишет:

    На CentOS 6 по этой инструкции все устанавливается и работает без проблем.

  46. Alsigned пишет:

    Привет, @mishanya79 и @Сашец82

    Я думаю не стоит так торопить события, хотя мне уже многие говорят “CentOS 6.0 на дворе” ;) Да, соглашусь CentOS 6.0 долгожданная система, но нужно смотреть реально на вещи – она вышла всего 2 недели назад и устанавливать ее на реальные рабочие сервера следует в лучшем случае месяца через 3.

    Потом если мы хотим обновлять ОС до нового релиза, мне кажется нужно в первую очередь ответить на вопрос: А чем новая ОС лучше старой? Говоря проще обновляя версию операционной системы с установленными Posgresql + 1с с CentOS 5.6 до CentOS 6.0 – мы не получаем абсолютно ничего, ни прироста производительности, ни улучшения стабильности работы (за исключением конечно единичных случаев когда в 5.6 не было подходящих драйверов).

    В отношении статьи я полностью согласен с @BDen
    – не изменилось совершенно ничего. Новая статья конечно будет, но немного позже.

  47. Сашец82 пишет:

    при попытке установить PGSQL 9.0.3 на CentOS 6 32bit
    fatal error blah-blah-blah
    install: cannot stat `/usr/local/lib/libicuuc.so.46
    exit code 1
    9.0.1 нормально

    а можно простенький вопрос по PGSQL?
    папка где будут базы зависит от параметра -D /var/lib/pgsql/data и нужно ли в файле postgresql.init менять этот параметр заранее, если я например хочу чтобы все базы были на одном разделе, а логи на другом?

  48. vano пишет:

    Сашец82 для исправления ” install: cannot stat `/usr/local/lib/libicuuc.so.46″ поправь символические ссылки

  49. Сашец82 пишет:

    centos 6 32bit
    [root@localhost ~]# ln -s /usr/lib/libicuuc.so /usr/local/lib/libicuuc.so.46
    [root@localhost ~]# ln -s /usr/lib/libicui18n.so /usr/local/lib/libicui18n.so.46
    [root@localhost ~]# ln -s /usr/lib/libicudata.so /usr/local/lib/libicudata.so.46

  50. Галина Ивановна пишет:

    подскажите, плиз, у меня пишет ошибку на федоре 12

    install: cannot stat `/usr/local/lib/libicuuc.so.46′: No such file or directory
    error: Bad exit status from /var/tmp/rpm-tmp.prVa6H (%install)

    Перед этим делаю

    [root@localhost ~]# ln -s /usr/lib64/libicuuc.so /usr/local/lib64/libicuuc.so.34
    [root@localhost ~]# ln -s /usr/lib64/libicui18n.so /usr/local/lib64/libicui18n.so.34
    [root@localhost ~]# ln -s /usr/lib64/libicudata.so /usr/local/lib64/libicudata.so.34

    rpmbuild -ba –define ‘runselftest 0′ /root/rpmbuild/SPECS/postgresql-9.0-1C.spec

  51. delusive пишет:

    Стоит ли переходить на PGSQL 9.0.3 с 9.0.1 ?
    Есть ли повышение производительности?

  52. ignaqui пишет:

    ОТ: блокировки на CentOS 5.6, 1С 8.1.15 + PostgreSQL 8.3.8, УПП 1.2

    Здравствуйте!

    При работе более 15 пользователей работа становится крайне некомфортной из-за постоянных блокировок.
    “Полечится” ли это поведение при обновлении платформы и СУБД? Либо же дело в необходимости донастройки конфигурации?

  53. Alsigned пишет:

    Приветствую, @Галина Ивановна

    Я вижу что ссылки вы делаете на 64-битные библиотеки, а при компиляции система не находит 32-битную, что неправильно.

    Какая операционная система 32 бит или 64? Что говорит uname -m?

  54. Alsigned пишет:

    Привет, @delusive

    Переходить с PGSQL 9.0.1 на 9.0.3 смысла нет, заметных улучшений в производительности не будет – это точно. Я как-то проводил сравнительное тестирование между 8.4 и 9.0 – по результатам 9.0 выиграл правда уж с больно небольшим отрывом. ;)

  55. Alsigned пишет:

    Привет, @ignaqui
    Честно говоря сомневаюсь, что тебе кто-то ответит так навскидку на этот вопрос ;) По своему опыту скажу что 11 человек работаю в УПП на 1с 8.2 + PgSQL 9.0 и не жалуются на блокировки. Поэтому рекомендую все-таки обновиться.

  56. Peka пишет:

    Установил Федора 14 (i386). Устанавливаю Постргрес 903 1С.
    Прошу помочь решить 2 проблемы:

    [root@Home800 Postgres903]# su postgres -c ‘initdb –locale=ru_RU.utf8 -D /var/lib/pgsql/data’
    bash: initdb: команда не найдета.

    libcrypto.so.4 нужет для postgresql-9.0.3-3.1C.i386
    libssl.so.4 нужен для postgresql-9.0.3-3.1C.i386

  57. Alsigned пишет:

    Привет, @Peka

    1с-овский Postgresql находится по немного нестандартному пути, поэтому initdb нужно делать с указанием полного пути к запускаемому файлу:

    [root@localhost ~]# su postgres -c '/usr/pgsql/bin/initdb -D /var/lib/pgsql/data --locale=ru_RU.UTF-8'

    Библиотеки libcrypto.so libssl.so принадлежат пакету openssl и в первую очередь предлагаю проверить установлен ли он у тебя:

    [root@localhost ~]# rpm -qa | grep openssl
  58. Peka пишет:

    [root@Home800 Peka]# rpm -qa|grep openssl
    openssl-1.0.0a-2.fc14.i686

    [root@Home800 Peka]# ls -la /lib/libcryp*
    -rwxr-xr-x. 1 root root 34360 Окт 19 2010 /lib/libcrypt-2.12.90.so
    lrwxrwxrwx. 1 root root 19 Авг 5 19:02 /lib/libcrypto.so.10 -> libcrypto.so.1.0.0a
    -rwxr-xr-x. 1 root root 1596676 Июн 30 2010 /lib/libcrypto.so.1.0.0a
    lrwxrwxrwx. 1 root root 19 Авг 6 18:19 /lib/libcrypto.so.4 -> libcrypto.so.1.0.0a
    lrwxrwxrwx. 1 root root 22 Авг 5 19:14 /lib/libcryptsetup.so.1 -> libcryptsetup.so.1.0.0
    -rwxr-xr-x. 1 root root 92376 Июл 3 2010 /lib/libcryptsetup.so.1.0.0
    lrwxrwxrwx. 1 root root 19 Авг 5 18:57 /lib/libcrypt.so.1 -> libcrypt-2.12.90.so
    [root@Home800 Peka]# ls -la /lib/libssl*
    ls: невозможно получить доступ к /lib/libssl*: Нет такого файла или каталога

    Ссылка libcrypto.so.4 создана в ручную через ln -s
    А ссылку libssl.so.4 создать неизвесно на какую библиотеку.

  59. Alsigned пишет:

    @Peka
    На самом деле достаточно странная ситуация.

    1. При сборке 1c-вский Postgresql тянет за собой пакет openssl-devel который в системе не установлен.
    2. Требует библиотеки старой версии – в моем случае Postgesql работает с libssl.so.10.

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

    В Fedora 14 libssl находится в /usr/lib/. Есть также замечательная команда позволяющая просмотреть какие файлы и куда установлены из RPM-пакета.

    rpm -ql openssl-1.0.0d-1.fc14.i686 | grep libssl
    /usr/lib/.libssl.so.1.0.0d.hmac
    /usr/lib/.libssl.so.10.hmac
    /usr/lib/libssl.so.1.0.0d
    /usr/lib/libssl.so.10

    Вот ;)

  60. Peka пишет:

    1.Ну почему же не установлен. Он действительно стоит в /usr/lib/.
    2.В стандартном постгресе всегда работают ссылки *.so.4

    Сборки у меня стандартные – сам я не парюсь.

    Достаточно в usr/lib прописать команду:
    ln -s libssl.so.1.0.0a libssl.so.4
    и все дальше покатилось…
    Благодарю за участие.
    Теперь займусь ВЕБ клиентом.

  61. Andrey пишет:

    а у меня вот так вот ругается..

    bash-4.1$ psql postgres
    psql: error while loading shared libraries: libpq.so.5: cannot open shared object file: No such file or directory

  62. Alsigned пишет:

    Привет. @Andrey
    Скорее всего ты забыл сделать символическую ссылку.
    ln -s /usr/pgsql/lib/libpq.so.5 /usr/lib64/libpq.so.5
    Для Fedora 14 x86_64, однако для разных типов ОС эта ссылка может немножко отличаться.

  63. Andrey пишет:

    ай… прошу прощения, сам затупил)

  64. Aleksandr пишет:

    Добрый день.

    Все поднял по инструкции, разница только в релизе 1С (8.2.13.219).
    Сразу после установки сервера 1С служба srv1cv82 стартанула, но в системном мониторе нет ragent. При попытке его запуска выходит:
    [root@1csrv kripta]# /etc/init.d/srv1cv82 stop
    Stopping 1C:Enterprise 8.2 server: Warning: server not running!
    OK
    [root@1csrv kripta]# /opt/1C/v8.2/x86_64/ragent -daemon -port 1540 -regport 1541 -range 156:1591
    [root@1csrv kripta]# /etc/init.d/srv1cv82 startStarting 1C:Enterprise 8.2 server: Error: service failed to start!
    FAILED

  65. Alsigned пишет:

    Привет, @Aleksandr

    Давай посмотрим что скажут комманды:

    1. getenforce
    2. cat /home/usr1cv82/.1cv82/1C/1Cv82/reg_1541/1CV8Reg.lst
    3. cat /etc/hosts

  66. Aleksandr пишет:

    @Alsigned

    [root@1csrv kripta]# getenforce
    Permissive
    [root@1csrv kripta]# cat /home/usr1cv82/.1cv82/1C/1Cv82/reg_1541/1CV8Reg.lst
    {0,
    {b87a192c-c9f4-11e0-9093-002590187998,”Локальный кластер”,1541,”1csrv.mydomain.local”,0,0,0,0,0,0},
    {0},
    {1,
    {b8ccb524-c9f4-11e0-9093-002590187998,”1csrv.mydomain.local”,1,1,
    {2.1e-1,2.1e-1,0,0,0,126,2.832464291070616e-3,0,421016,0,100,1},1000}
    },
    {0},
    {1,
    {b8cc58c2-c9f4-11e0-9093-002590187998,”Центральный сервер”,1540,”1csrv.mydomain.local”,1,
    {1,
    {1560,1591}
    },”",”N3qs6tuL4HPteyaPx4m1Jw==”}
    },
    {0},
    {0},
    {1,
    {“1csrv.mydomain.local”,1541}
    }
    }[root@1csrv kripta]# cat /etc/hosts
    127.0.0.1 1csrv.mydomain.local 1csrv localhost.localdomain localhost
    192.168.0.17 1csrv.mydomain.local 1csrv

  67. Alsigned пишет:

    @Aleksandr
    По логике все правильно, все должно работать ;)

    Давай так посмотрим:
    1. netstat -ltnp
    2. iptables-save

  68. Aleksandr пишет:

    @Alsigned

    [root@1csrv kripta]# netstat -ltnp
    Active Internet connections (only servers)
    Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
    tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 1380/rpcbind
    tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1634/sshd
    tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 1509/cupsd
    tcp 0 0 0.0.0.0:5432 0.0.0.0:* LISTEN 1667/postmaster
    tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1695/sendmail: acce
    tcp 0 0 0.0.0.0:40512 0.0.0.0:* LISTEN 1400/rpc.statd
    tcp 0 0 :::111 :::* LISTEN 1380/rpcbind
    tcp 0 0 :::22 :::* LISTEN 1634/sshd
    tcp 0 0 ::1:631 :::* LISTEN 1509/cupsd
    tcp 0 0 :::5432 :::* LISTEN 1667/postmaster
    tcp 0 0 :::38443 :::* LISTEN 1400/rpc.statd
    [root@1csrv kripta]# iptables-save
    # Generated by iptables-save v1.4.9 on Fri Aug 19 15:59:25 2011
    *filter
    :INPUT ACCEPT [0:0]
    :FORWARD ACCEPT [0:0]
    :OUTPUT ACCEPT [447:93733]
    -A INPUT -m state –state RELATED,ESTABLISHED -j ACCEPT
    -A INPUT -p icmp -j ACCEPT
    -A INPUT -i lo -j ACCEPT
    -A INPUT -p tcp -m state –state NEW -m tcp –dport 22 -j ACCEPT
    -A INPUT -j REJECT –reject-with icmp-host-prohibited
    -A FORWARD -j REJECT –reject-with icmp-host-prohibited
    COMMIT
    # Completed on Fri Aug 19 15:59:25 2011

  69. Alsigned пишет:

    @Aleksandr
    Предлагаю пересоздать конфигурашку сервера:
    service srv1cv82 stop
    rm -f /home/usr1cv82/.1cv82/1C/1Cv82/srvribrg.lst
    rm -f /home/usr1cv82/.1cv82/1C/1Cv82/reg_1541/1CV8Reg.lst
    service srv1cv82 start
    Смотрим запустился ли сервер:
    netstat -ltnp