Долгое время нам приходилось для использования много-пользовательской 1с покупать еще и дорогостоящий Microsoft SQL Server, но наконец 1c решила все-таки пойти на встречу своим клиентам и начала выпускать 1с сервер для Postgre SQL, а так же перевела платформу 1с сервера и клиентскую часть под Linux. Огромным минусом 1с для linux стала на мой взгляд трудоемкость установки и обслуживания, в этой статье я постараюсь подробно рассмотреть все нюансы.

В качестве операционной системы выбрана Fedora 12 i386, текущий релиз сервера 1с предприятия 8.2.11.236, сервер PostgreSQL версии 8.4.1.

Статья по установке Postgresql 9.0 здесь.

1. Установка 1c сервера

Скачиваем с сайта 1с или ИТС диска и копируем на наш сервер установочные пакеты 1C-Enterprise82-server для RHEL. Предать пакеты можно например через  ftp-сервер, о настройке которого рассказано в следующей статье.

Список необходимых rpm пакетов:

1C_Enterprise82-common-8.2.11-236.i386.rpm
1C_Enterprise82-common-nls-8.2.11-236.i386.rpm
1C_Enterprise82-crs-8.2.11-236.i386.rpm
1C_Enterprise82-crs-nls-8.2.11-236.i386.rpm
1C_Enterprise82-server-8.2.11-236.i386.rpm
1C_Enterprise82-server-nls-8.2.11-236.i386.rpm
1C_Enterprise82-ws-8.2.11-236.i386.rpm
1C_Enterprise82-ws-nls-8.2.11-236.i386.rpm

Переходим в папку в которую скопировали пакеты 1с сервера, в моем случае /tmp/1cv82 и запускаем установку. Если установка прошла успешно сразу же будет запущена служба 1C:Enterprise 8.2 server.

[root@localhost 1cv82]# rpm -i *.rpm
Starting 1C:Enterprise 8.2 server: OK

2. Установка Postgresql

Postgresql в стандартной поставке через репозиторий не имеет необходимых для правильной работы сервера 1с модулей, я потратил больше двух дней на поиски решения, и по всей видимости потратил их совершенно впустую. А такая была хорошая идея обновлять Posgres через yum и не ковыряться лишний раз в исходниках )

Итак Postgresql придется собирать вручную из исходных кодов с сайта 1с http://v8.1c.ru/overview/postgres_patches_notes.htm.

Скачиваем и устанавливаем исходники:

[root@localhost]# wget http://v8.1c.ru/overview/postgresql_patches/8-4-1/postgresql-8.4.1-1.1C.src.rpm
[root@localhost]# rpm -ihv postgresql-8.4.1-1.1C.src.rpm

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

[root@localhost ]# yum install rpm-build
[root@localhost ]# yum install 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

Если в процессе компиляции система начнет ругаться на mchar_io:

mchar_io.c:365:  error: ‘MVarChar’ has no member named ‘data’
make[1]: ***  [mchar_io.o] Error 1
make[1]: Leaving directory  `/root/rpmbuild/BUILD/postgresql-8.4.1/contrib/mchar'
make: ***  [all] Error 2
make: Leaving directory  `/root/rpmbuild/BUILD/postgresql-8.4.1/contrib'
error: Bad exit  status from /var/tmp/rpm-tmp.PhsHim (%build)

Необходимо доустановить или переустановить пакет icu с иcходниками.

[root@localhost ]# yum install icu libicu libicu-devel

Что бы после установки не появлялось при загрузке базы 1с не появлялась ошибка timestamp out of range, необходимо при компиляции задать параметр –disable-integer-datetimes. Для этого открываем для редактирования файл /root/rpmbuild/SPECS/postgresql-8.4.1C.spec, находим в нем строку

%{!?intdatetimes:%define intdatetimes 1}

и заменеяем на

%{!?intdatetimes:%define intdatetimes 0}

Хочется заметить что в версии postgresql-8.3.8 от фирмы 1с данной ошибки нет, и все параметры выставлены правильно по умолчанию.

Также необходимо исправить параметр уровня подгона патча, на RHEL он равен 2, но в новой rpm системе его предполагается установить в 0, а поскольку Fedora – есть тестовая платформа для RHEL, то тут уже все новое работает в тестовом режиме. Для этого открываем файл /usr/lib/rpm/macros находим в нем строчку

%_default_patch_fuzz    0

и заменяем ее на

%_default_patch_fuzz    2

Если мы этого не сделаем устанавливаемые патчи будут обрабатываться новыми скриптами и совсем не правильно и в этом случае мы увидим следующее сообщение.

1 out of 5 hunks FAILED -- saving rejects to file src/Makefile.global.in.rej
error: Bad exit status from /var/tmp/rpm-tmp.KfAvpD (%prep)
RPM build errors:
Bad exit status from /var/tmp/rpm-tmp.KfAvpD (%prep)

Все теперь можно собирать пакет

[root@localhost SPECS]# rpmbuild -ba /root/rpmbuild/SPECS/postgresql-8.4.1C.spec

После длительного процесса компиляции занявшего 2-3 минуты переходим в папку /root/rpmbuild/RPMS/i386/ с уже готовыми пакетами и устанавливаем их.

[root@localhost i386]# rpm -i *.rpm

3. Настройка Postgresql для работы с сервером 1с

Первым делом нужно инициализировать базу данных Postgresql и задать основную кодировку с которой будет работать сервер 1с.

[root@localhost i386]# su postgres
bash-4.0$ initdb -D /var/lib/pgsql/data --locale=ru_RU.UTF-8
could not change directory to "/root/rpmbuild/RPMS/i386"
The files belonging to this database system will be owned by user "postgres".
This user must also own the server process.
 
The database cluster will be initialized with locale ru_RU.UTF-8.
The default database encoding has accordingly been set to UTF8.
The default text search configuration will be set to "russian".
 
. . . . . . . .
 
bash-4.0$ exit

Если появилась ошибка

DETAIL:  Failed system call was shmget(key=1, size=35127296, 03600).
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 35127296 bytes),reduce PostgreSQL's shared_buffers
parameter (currently 3584) and/or its max_connections parameter (currently 103).

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

kernel.shmmax = 40000000

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

[root@localhost i386]# sysctl -p

А затем повторяем процедуру инициализации базы.

Теперь зададим типы аутентификации Postgresql для различных пользователей. Открываем файл /var/lib/pgsql/data/pg_hba.conf и приводим его после строчки

# TYPE  DATABASE    USER        CIDR-ADDRESS          METHOD

к следующему виду:

# TYPE  DATABASE    USER        CIDR-ADDRESS          METHOD
# для локальных пользователей даем возможность входа без пароля
local     all       all                               trust
host      all       all         127.0.0.1/32          trust
# для остальных пользователей и сервера 1с предприятия
host      all       all         0.0.0.0/0             md5

Включаем автозапуск и Запускаем Postgresql

[root@localhost]# chkconfig postgresql on
[root@localhost]# service postgresql start

4. Настройка сервера 1с предприятия.

По умолчанию сервер 1с предприятия использует localhost.localdomain как имя сервера и при попытке создать базу с удаленного компьютера мы увидим следующее сообщение:

Чтобы поправить это – переходим в домашнюю папку пользователя 1с /home/usr1cv82/.1cv82/1C/1Cv82/reg_1541, открываем файл 1CV8Reg.lst. В нем находим все упоминания localhost.localdomain и заменяем их на DNS имя нашего сервера. Затем перезапускаем  службу 1C:Enterprise 8.2 server.

[root@localhost reg_1541]# service srv1cv82 restart
Stopping 1C:Enterprise 8.2 server: OK
Starting 1C:Enterprise 8.2 server: OK

Теперь установку можно считать завершенной.

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

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

47 Коммент. : “Установка сервера 1с 8.2 и PostgreSql для Linux”

  1. skif пишет:

    ошибка timestamp out of range
    как решить если postgres от эттерсофта?

  2. Max пишет:

    Здесь два варианта:
    1. В сборке от etersoft есть ошибка.
    2. До PostgreSql@etersoft был установлен не пропаченный Postgres из базового репозиторния, который в данный момент и работает.
    По моему в данном случае правильнее всего не использовать готовые rpm, а собрать их из исходников с сайта 1с и тщательнейшим образом проследить какой именно postgres и из какой папки запускается.

  3. skif пишет:

    Max
    тут не все так просто патчи у 1са на 8.4.1 , rpmки не подходят ибо у меня дебиан:)

    > До PostgreSql@etersoft был установлен не пропаченный Postgres из базового репозиторния
    не до этого стоял 8.3.8 от этерсофта и он чтоно удален на котоором все крутилось и вертелось замечательно

    воощем я ешил проблему до этого ставил 8.4.4 эта сборка с ошибкой , поставил 8.4.2 все прекрасно заработало, 8.4.3 почемуто у них не оказалось:)

  4. Switch пишет:

    Поправочка в строке
    yum install icu icu-devel
    должно быть написано
    yum install icu libicu libicu-devel

  5. Виталий пишет:

    BEGIN failed–compilation aborted.
    no
    configure: error: could not determine flags for linking embedded Perl.
    This probably means that ExtUtils::Embed or ExtUtils::MakeMaker is not
    installed.
    error: Bad exit status from /var/tmp/rpm-tmp.d8O4Mc (%build)

    RPM build errors:
    Bad exit status from /var/tmp/rpm-tmp.d8O4Mc (%build)
    [root@FEDORA ~]# ^C
    [root@FEDORA ~]# yum MakeMaker
    Loaded plugins: downloadonly, presto, refresh-packagekit
    No such command: MakeMaker. Please use /usr/bin/yum –help
    [root@FEDORA ~]# yum install MakeMaker
    Loaded plugins: downloadonly, presto, refresh-packagekit
    Setting up Install Process
    No package MakeMaker available.
    Error: Nothing to do
    [root@FEDORA ~]# rpmbuild -ba /root/rpmbuild/SPECS/postgresql-8.4.1C.spec
    Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.pc61EC
    + umask 022
    + cd /root/rpmbuild/BUILD
    + LANG=C
    + export LANG
    + unset DISPLAY
    + cd /root/rpmbuild/BUILD
    + rm -rf postgresql-8.4.3
    + /usr/bin/bzip2 -dc /root/rpmbuild/SOURCES/postgresql-8.4.3.tar.bz2
    + /bin/tar -xf -
    + STATUS=0
    + ‘[' 0 -ne 0 ']‘
    + cd postgresql-8.4.3
    + /bin/chmod -Rf a+rX,u+w,g-w,o-w .
    + pushd doc
    ~/rpmbuild/BUILD/postgresql-8.4.3/doc ~/rpmbuild/BUILD/postgresql-8.4.3
    + tar zxf postgres.tar.gz
    + popd
    ~/rpmbuild/BUILD/postgresql-8.4.3
    + echo ‘Patch #1 (rpm-pgsql.patch):’
    Patch #1 (rpm-pgsql.patch):
    + /bin/cat /root/rpmbuild/SOURCES/rpm-pgsql.patch
    + /usr/bin/patch -s -p1 –fuzz=2
    + echo ‘Patch #2 (postgresql-test-timestampz.patch):’
    Patch #2 (postgresql-test-timestampz.patch):
    + /bin/cat /root/rpmbuild/SOURCES/postgresql-test-timestampz.patch
    + /usr/bin/patch -s -p1 –fuzz=2
    + echo ‘Patch #3 (postgresql-logging.patch):’
    Patch #3 (postgresql-logging.patch):
    + /bin/cat /root/rpmbuild/SOURCES/postgresql-logging.patch
    + /usr/bin/patch -s -p1 –fuzz=2
    1 out of 2 hunks FAILED — saving rejects to file src/backend/utils/misc/postgresql.conf.sample.rej
    error: Bad exit status from /var/tmp/rpm-tmp.pc61EC (%prep)

    Никак не погу пофиксить. Ставил версию 8.3.1, 8.4.3. Не помогает , ставил perl-ExtUtils-MakeMaker , ничего не помогает. Помогите плз.

  6. Max пишет:

    Какой релиз Fedora установлен?

  7. alsigned пишет:

    Релиз Fedora думаю версии 12 или 13, но по-моему дело совсем не в релизе.

    Обрати внимание при сборке postgresql-8.4.1C

    [root@FEDORA ~]# rpmbuild -ba /root/rpmbuild/SPECS/postgresql-8.4.1C.spec

    Используются исходники другой версии postgresql-8.4.3

    + /usr/bin/bzip2 -dc /root/rpmbuild/SOURCES/postgresql-8.4.3.tar.bz2

    И естественно на них не правильно применяются пачи от версии 8.4.1. Самый простой вариант в этом случае – полностью удалить директорию /root/rpmbuild и собрать все заново.

    [root@localhost]# wget -i http://v8.1c.ru/overview/postgresql_patches/8-4-1/postgresql-8.4.1-1.1C.src.rpm
    [root@localhost]# rpm -ihv postgresql-8.4.1-1.1C.src.rpm
    [root@localhost]# rpmbuild -ba /root/rpmbuild/SPECS/postgresql-8.4.1C.spec

  8. Хай!! Очень отличная статья!! Обязательно буду смотреть и другие статьи.

  9. 6ax пишет:

    Проверено работает без проблем на Centos5.5 x86. За статью спасибо.

  10. Ден пишет:

    Тонкий клиент при этом работает нормально?

  11. Виталий пишет:

    Возникла проблема при тесте running regression test queries
    Один тест не проходит – timestamptz – FAILED
    Подскажите как поправить, или может тест можно отключить?

  12. Виталий пишет:

    Виталий :
    Возникла проблема при тесте running regression test queries
    Один тест не проходит – timestamptz – FAILED
    Подскажите как поправить, или может тест можно отключить?

    так и не разобрался в чем причина c тестом timestamptz , отключил тест в postgresql-8.4.1C.spec после чего пакет собрался нормально.
    При сборке были ошибки что не найдены библиотеки . Нашел их в дистрибутиву 1С скопировал все библиотеки *.so.34 в папку /usr/local/lib, после чего пакеты номарльно собрались. Спасибо за статью очень помогла!

  13. Антон пишет:

    я не совсем вдалею linux
    поставил fedora14
    делаю все как Вы писали
    при выполнении команды: из под рута
    wget -i http://v8.1c.ru/overview/postgresql_patches/8-4-1/postgresql-8.4.1-1.1C.src.rpm
    пишет мне:
    http://v8.1c.ru/overview/postgresql_patches/8-4-1/postgresql-8.4.1-1.1C.src.rpm
    Повторное использование соединения с v8.1c.ru:80.
    Запрос HTTP послан, ожидается ответ… 200 OK
    Длина: 20088005 (19M) [application/x-wais-source]
    Saving to: «postgresql-8.4.1-1.1C.src.rpm.3»
    ,
    я что делаю дальше я скачиваю сам файл в браузере и заускаю,
    он мне пишет не могу установить исходники, я так понял надо его сперва подготовить для установики!
    но как ??7 можете объяснить более подробно???
    Заранее спасибо!!!

  14. Alsigned пишет:

    @Антон
    Привет.

    wget -i – это моя ошибка, как-то в привычку вошло даже и не знаю откуда. Сам не редко напарываюсь.
    -i, –input-file=FILE загрузить URLы из файла.

    В данном случае правильно написать:
    wget http://v8.1c.ru/overview/postgresql_patches/8-4-1/postgresql-8.4.1-1.1C.src.rpm

    PS: Ошибку признаю – исправлюсь.

  15. Антон пишет:

    Alsigned :
    @Антон
    Привет.
    wget -i – это моя ошибка, как-то в привычку вошло даже и не знаю откуда. Сам не редко напарываюсь.
    -i, –input-file=FILE загрузить URLы из файла.
    В данном случае правильно написать:
    wget http://v8.1c.ru/overview/postgresql_patches/8-4-1/postgresql-8.4.1-1.1C.src.rpm
    PS: Ошибку признаю – исправлюсь.

    @
    я так понял команда wget http://v8.1c.ru/overview/postgresql_patches/8-4-1/postgresql-8.4.1-1.1C.src.rpm
    скачивает его на ПК,
    а что делать с ним дальше как скомпилировать фал ?

  16. Alsigned пишет:

    @Антон
    Все верно сначала скачиваешь, потом устанавливаешь исходники, а дальше все по статье.

    Если нужно подробнее пиши в аську (на странице о блоге).

  17. Victor пишет:

    Решил собрать postgresql-9.0.1 по Вашей статье. В лоб – не удалось.
    Пришлось сделать в /usr/local/lib64 мягкие ссылки libicudata.so.34 libicui18n.so.34 libicuuc.so.34 на существующие so в системе. И сборку делал по средством команды rpmbuild –rebuild –define ‘runselftest 0′ postgresql-9.0.1-1.1C.src.rpm

    Сборка по крайней мере удалась. Но дальше при инсталяции получил error reading information on service postgresql-9.0: Bad file description

    Куда копать дальше? Система Fedora 14 x86_64

  18. Alsigned пишет:

    @Victor
    Привет.
    Данная статья написана для postgresql-8.4.1. Любая сборка даже типового пакета от версии к версии имеет некоторые отличия – это специфика самостоятельной сборки пакетов под Linux.

    По ошибке – я попробую собрать и установить, но если найдешь решение раньше пиши.

    PS: Думаю пора уже переписать эту статью под Postgresql 9 и 1с 8.2.13 с установкой на CentOS.

  19. Victor пишет:

    На текущий Centos 5.5 не очень выгодно. Надо дождаться обновления до 6 версии. Одна установка доп пакетов через yum под x86_64 выбивает весь мозг. За чем-то тянуться и 386 пакеты. Нужно ручками указывать название каждого пакета с x86_64. Да и слишком уж старое ядро и пакеты в комплекте.

  20. Alsigned пишет:

    @Victor
    Ошибка достаточно забавная при установке собранных rpm пакетов не правильно указывается имя скрипта, плюс небольшие ошибки с путями. Как говориться “после сборки обработать напильником” )

    chkconfig –add postgresql
    chkconfig postgresql on

    В файле скрипта /etc/rc.d/init.d/postgresql меняем.
    PGENGINE=/usr/pgsql/bin
    PGDATA=/var/lib/pgsql/data
    PGLOG=/var/lib/pgsql/pgstartup.log

    PS: Мне не сильно нравится 6-ая версия из-за отказа RedHat от развития xen, который и вовсе исключен из нового дистрибутива.

  21. Victor пишет:

    Предлагаю все изменения произвести в postgresql.init и в postgresql-9.0-1C.spec до сборки rpm пакетов.

    В postgresql.init исправить строки:
    PGENGINE=/usr/pgsql/bin
    PGDATA=/var/lib/pgsql/data
    PGLOG=/var/lib/pgsql/pgstartup.log

    А в postgresql-9.0-1C.spec
    Меняем все postgresql-9.0 на просто postgresql.

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

  22. Alsigned пишет:

    @Victor
    Согласен.

    Мне даже кажется проще всего собрать PostgreSQL-9.0.1 и выложить уже готовые RPM – это сократит на 90% трудности при установке.

    Новая статья по установке сервера 1с предприятия и сборке PostgreSQL 9.0.1 http://www.alsigned.ru/?p=1129

  23. julia пишет:

    а мне пришлось доинсталить
    yum install openssl097a compat-openldap-2.3.43_2.2.29 compat-readline43

  24. Alsigned пишет:

    @julia
    А почему пришлось? Ошибка была при компиляции или при установке пакетов?

    Все зависимости прописаны в spec-файле и от вышеперечисленных пакетов необходимо установить только devel.

  25. kulakOFF пишет:

    Все заработало устанавливал на Fedora 8

  26. repairman пишет:

    В RFRemix 12 и 14 (Fedora) – postgresql для 1с отлично собирается из “родных” пакетов… у 1c src.rpm – УЖАСНО КРИВЫЕ… требуется ручная доработка напильником местах в …дцати…

    Я взял родной src.rpm от своего дистрибутива postgresql-8.4.7-1.fc14.src.rpm (для 14 федоры или RFRemix), установил:

    rpm -i postgresql-8.4.7-1.fc14.src.rpm

    Поправил файл postgresql.spec:

    ———————– cut ——————-
    — postgresql.spec_ 2011-02-01 18:45:42.000000000 +0300
    +++ postgresql.spec 2011-04-06 14:05:33.222955842 +0400
    @@ -53,7 +53,7 @@
    Name: postgresql
    %global majorversion 8.4
    Version: 8.4.7
    -Release: 1%{?dist}
    +Release: 1.1c%{?dist}
    # The PostgreSQL license is very similar to other MIT licenses, but the OSI
    # recognizes it as an independent license, so we do as well.
    License: PostgreSQL
    @@ -80,9 +80,12 @@
    Patch3: postgresql-logging.patch
    Patch4: postgresql-oom-adj.patch
    Patch6: postgresql-perl-rpath.patch
    +Patch7: 1c_FULL_84-0.19.2.patch
    +Patch8: postgresql-1c-8.3.patch
    +Patch9: applock-1c-8.4.0.patch

    BuildRequires: perl(ExtUtils::MakeMaker) glibc-devel bison flex autoconf gawk
    -BuildRequires: perl(ExtUtils::Embed), perl-devel
    +BuildRequires: perl(ExtUtils::Embed), perl-devel, libicu-devel
    # for /sbin/ldconfig
    Requires(post): glibc initscripts
    Requires(postun): glibc initscripts
    @@ -170,7 +173,7 @@
    %package server
    Summary: The programs needed to create and run a PostgreSQL server
    Group: Applications/Databases
    -Requires: %{name} = %{version}-%{release}
    +Requires: %{name} = %{version}-%{release}, libicu
    Requires(pre): /usr/sbin/useradd
    Requires(post): chkconfig
    Requires(preun): chkconfig
    @@ -282,6 +285,9 @@
    %patch3 -p1
    %patch4 -p1
    %patch6 -p1
    +%patch7 -p0
    +%patch8 -p1
    +%patch9 -p1

    autoconf

    @@ -360,7 +366,8 @@
    %endif
    –with-system-tzdata=/usr/share/zoneinfo \
    –sysconfdir=/etc/sysconfig/pgsql \
    - –datadir=/usr/share/pgsql
    + –datadir=/usr/share/pgsql\
    + –disable-integer-datetimes

    make %{?_smp_mflags} all
    make %{?_smp_mflags} -C contrib all
    @@ -613,6 +620,10 @@
    %{_libdir}/pgsql/test_parser.so
    %{_libdir}/pgsql/timetravel.so
    %{_libdir}/pgsql/tsearch2.so
    +%{_libdir}/pgsql/fasttrun.so
    +%{_libdir}/pgsql/fulleq.so
    +%{_libdir}/pgsql/mchar.so
    +
    %if %uuid
    %{_libdir}/pgsql/uuid-ossp.so
    %endif
    ———————– cut ——————-

    Подложил в SOURCE патчи от 1с и чудно собрал с помощью rpmbuild src.rpm со всеми изменениями и rpm’ы готовые к установке… установка штатно через rpm или yum… 1c v8.2 – встал без вопросов, база создалась без к-л ошибок.

  27. repairman пишет:

    Система:
    Linux repairman 2.6.35.11-83.fc14.x86_64 #1 SMP Mon Feb 7 07:06:44 UTC 2011 x86_64 x86_64 x86_64 GNU/Linux

    Тем же способом успешно запущен postgresql-8.4.5-1 на RFRemix (Fedora) 12 x86_64, все зависимости для сборки и запуска перечислены в spec, все из родных репозиториев – ничего дополнительно ставить не требуется…

  28. Alsigned пишет:

    @repairman
    В плане 1с-овских src.rpm совершенно согласен – от версии к версии разные грабли, и их больше и больше. Возможно они делаются под какой-то гибрид Linux+, о котором 1с увы не упомянул.

    Народ в интернете интересуется обновлением версии PostgreSQL-1c и сборкой именно под родную для дистрибутива версию. Как ты смотришь на то чтобы написать статью?

    Я когда начал заниматься связкой 1с+Posgresql проводил теститрование производительности с версиями 8.4.5/8.4.4/8.4.1/9.0.1 в надежде найти оптимальный вариант – разницы почти нет. Поэтому решил остановиться на 9.0.1 – поправил на сколько можно spec, собрал в rpm и засунул результаты в репозиторий. Вся установка Postgresql-1c превратился в yum install + initdb.

    PS: Честно говоря отличная идея. Респект. ;)

  29. repairman пишет:

    Можно и статью написать…
    Вообще говоря я только неделю назад занялся этим вопросом, начальство решило сменить 1с77 на 1с82… никогда с 1с не связывался и связываться не буду, у меня другие задачи…

    К моему удивлению, спец вызванный для установки из 1сбит почему-то почти не знал Linux, пришлось решать свои проблемы самому… ;-) Десяток граблей, на которые я наступил могу описать…

  30. Alsigned пишет:

    @repairman
    1с франчайзи просто чудесные люди, приходилось в свое время с пользоваться их услугами. Денег им платится не мало, а все возникающие проблемы решаются: “У вас что-то не работает, тормозит или неправильно считается – мы ждем пока выйдут обновления 1с, возможно в них ваша ошибка будет устранена, а пока от нас ничего не зависит…”, недели через три пришли обновления: “Увы ваша ошибка все-еще не исправлена, ждем следующих, но мы написали официальное письмо в 1с”. Со специалистами по Linux у них совсем трудно – обычно это “студент” с двумя распечатанными толмутами “как установить fedora” и “как установить 1с и PostgreSQL на Linux” – не дай боже этой системе когда-нибудь сломаться, тут никакие обновления не помогут ;)

    PS: Интернет ждет от тебя статью с десятью граблями…

  31. repairman пишет:

    В каком виде и где оформить статью ?

  32. Alsigned пишет:

    @repairman
    Есть linuxforum.ru, http://www.opennet.ru и множество подобных ресурсов, здесь главное прикинуть посещаемость и скорость попадания в поисковики, что бы статья не пролетела в пустую. Могу также предложить свой блог, естественно с указанием на твое авторство.

    В формате… думаю в любом, главное что бы читателям было понятно и был подробный раздел troubleshooting (который во многих статьях в инете неоправданно пропускается). ;)

  33. Павел пишет:

    а на Debian 64 данную конструкцию запускал кто-нибудь?

  34. repairman пишет:

    Павел :
    а на Debian 64 данную конструкцию запускал кто-нибудь?

    По большому счету, без разницы какой у Вас дистрибутив… все сводится к тому, чтобы взять рабочий исходник postgresql и, наложив на него патчи, собрать рабочие бинарные пакеты… как бы стандартный процесс в *nix…

  35. repairman пишет:

    Разница в разных дистрибутивах лишь в формате хранения и системах контроля/управления пакетами… если же Вам не нужны пакеты для дальнейшей установки-распространения, то локальная установка делается везде одинаково…

  36. Romanitch пишет:

    Кто подскажет как платформу 1С8.2 обновить при выходе очередного релиза (например с 8.2.13.205 до 8.2.13.219) или же весь сервак заново инсталить?

  37. Alsigned пишет:

    @Romanitch
    “Весь сервак заново инсталить” ;) конечно громко сказано, но другого способа для линукс-систем увы нет. На самом деле при наличии небольшой сноровки получатся даже быстрее чем на винде.

    Запрашиваем список установленных пакетов 1с 8.2

    [root@1csrv ~]# rpm -qa | grep 1C_Enterprise82
    1C_Enterprise82-server-8.2.12-75
    1C_Enterprise82-ws-nls-8.2.12-75
    1C_Enterprise82-common-nls-8.2.12-75
    1C_Enterprise82-crs-nls-8.2.12-75
    1C_Enterprise82-common-8.2.12-75
    1C_Enterprise82-ws-8.2.12-75
    1C_Enterprise82-server-nls-8.2.12-75
    1C_Enterprise82-crs-8.2.12-75

    Удаляем их, при этом все настройки сервера 1с предприятия останутся на своих местах

    [root@1csrv ~]# rpm -e 1C_Enterprise82-server-8.2.12-75 1C_Enterprise82-ws-nls-8.2.12-75 1C_Enterprise82-common-nls-8.2.12-75 1C_Enterprise82-crs-nls-8.2.12-75 1C_Enterprise82-common-8.2.12-75 1C_Enterprise82-ws-8.2.12-75 1C_Enterprise82-server-nls-8.2.12-75 1C_Enterprise82-crs-8.2.12-75

    Переходим в каталог с распакованной новой версией:

    [root@1csrv ~]# cd /tmp/8.2.13.205
    [root@1csrv 8.2.13.205]# ls
    1C_Enterprise82-common-8.2.13-205.i386.rpm      
    1C_Enterprise82-crs-nls-8.2.13-205.i386.rpm     
    1C_Enterprise82-ws-8.2.13-205.i386.rpm 
    1C_Enterprise82-common-nls-8.2.13-205.i386.rpm  
    1C_Enterprise82-server-8.2.13-205.i386.rpm      
    1C_Enterprise82-ws-nls-8.2.13-205.i386.rpm
    1C_Enterprise82-crs-8.2.13-205.i386.rpm         
    1C_Enterprise82-server-nls-8.2.13-205.i386.rpm

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

    [root@1csrv 8.2.13.205]# rpm -i *.rpm
    Starting 1C:Enterprise 8.2 server: OK

    Все, делов-то было на 5 минут ;)

    PS: Рекомендую на всякий случай сохранять 1CV8Reg.lst из папки /home/usr1cv82/.1cv82/1C/1Cv82/reg_1541, помнится в каком-то релизе…

  38. repairman пишет:

    А стандартный
    rpm -U *.rpm
    не проще ? Еще на 2 минуты быстрее… ;-)

  39. repairman пишет:

    … не придется ничего запрашивать и удалять… -U (update) сам найдет установленные пакеты и обновит их если версия rpm’ов новее установленных.

  40. @repairman
    Проще. Иногда приходится признавать, что выбираю не совсем оптимальные средства, но как говориться главное результат.

    Обновлять RPM при помощи параметра -U (–upgrade) самый правильный способ, потому что во время обновления могут вноситься изменения необходимые именно для этого обновления, в отличии от erase/install где конфиги и другие файлы могут быть попросту удалены или перезаписаны. Возможно именно по этой причине во время проведения одного из обновлений мною был потерян файлик 1CV8Reg.lst.

    Способ полностью поддерживаю, и предлагаю считать его самым правильным и быстрым. ;)

  41. PolAvto пишет:

    @repairman
    Здравствуйте
    Подскажите, где можно найти Вашу статью, о которой говорилось выше?

  42. много в последствии багов! Тем более если конфигурация не стандартная. Я посмотрю как вы впихнете автоматизацию на сие )))

  43. Alsigned пишет:

    Привет, @сергей
    Если я правильно понял ваша организация использует “1С Управление торговлей 8″ исправленную в студии программирования РОМАНА ЩЕРБАКОВА ;) .
    Что такого оригинального содержит конфигурация? Какое дополнительное оборудование используется с ней? Используются ли внешние компоненты, например выгрузка в Excel?

    много в последствии багов!

    Я думаю было бы не плохо описать какие баги были замечены.

  44. Goplit пишет:

    День добрый! В очередной раз спасибо за Ваши статьи.

    Возник вопрос, есть связка Debian6+Apache2+1c8.2+Postgresql9
    Все работает при использовании толстого или тонкого клиента, но при попытке зайти через веб получаю сообщение:

    1C:Enterprise 8 application error:
    Connection error
    by reason:
    Error obtaining IP address based on symbol address: server_addr=tcp://X.X.X.X:1541 descr=Success line=568 file=./src/DataExchangeTcpClientImpl.cpp

    В файлике 1CV8Reg.lst прописано все верно, не подскажите куда копать?

  45. Goplit пишет:

    @Goplit
    Проблему решил, перемудрил с localhost

  46. Спасибо за замечательные статьи. Как OS использую CentOS 5.6, все пакеты собрались без ошибок и проблем…

  47. Alsigned пишет:

    Уважаемые, читатели.

    Комментариев к статьям стало слишком много и что бы их немножко систематизировать переношу обсуждение в мини-форум.

    Обсуждение и дополнение непосредственно статьи http://forum.alsigned.ru/viewtopic.php?f=4&t=10

    Если у вас трудности в настройке, установке или эксплуатации 1с предприятия – вам сюда http://forum.alsigned.ru/viewforum.php?f=5, и не стесняйтесь создавать новую тему.
    Заранее спасибо за понимание.
    С уважением, Alsigned. ;)