vak: (Default)
[personal profile] vak
Запишу для себя, чтобы не забыть. Вдруг еще когда придется этого зверя оживлять.

Устанавливаем систему управления предприятием. Имеется полтора десятка рабочих мест, требующих доступа к 1С: бухгалтерия, отдел продаж, производство, логистика, склады, начальство и т.п. Всё это под Windows, с перспективой перехода на Линукс. Центральный сервер на Линуксе, поскольку сисадминская служба (со мной во главе) не приемлет Микрософт. Решение: ставим на сервере PostgreSQL. Одну из пользовательских машин переводим на круглосуточный режим работы и на ней устанавливаем т.н. сервер 1С:Предприятие, служащий "мостом" между пользователями и СУБД. На ней же - два USB-ключа доступа, один для всех пользовательских копий 1С, второй - для серверной части.

Установка под Windows особых затруднений не вызвала. Сначала ставим 1С:Предприятие 8.1.10 вкупе с сервером, затем конфигурацию, затем HASP licence manager, втыкаем USB-ключи.

СУБД PostgreSQL потребовала некоторых усилий.

  • Скачиваем дистрибутив с сайта 1С (http://v8.1c.ru/overview/postgres_patches_notes.htm), а именно файл postgresql-8.2.4-6.1C.src.rpm
  • Распаковываем командой "rpm2cpio < *.src.rpm | cpio -iv"
  • Разворачиваем тексты командой "tar xvjf postgresql-8.2.4.tar.bz2"
  • Прикладываем патчи:
    cd postgresql-8.2.4
    patch -p1 < ../rpm-pgsql.patch
    patch -p1 < ../postgresql-logging.patch
    patch -p1 < ../postgresql-test.patch
    patch -p1 < ../postgresql-perl-rpath.patch
    patch -p0 < ../1c_FULL_82-0.18.patch
    patch -p1 < ../postgresql-1c-8.2.patch
    patch -p1 < ../applock-1c-8.2.4.patch
  • Устанавливаем flex: http://flex.sourceforge.net/
  • Устанавливаем bison: http://ftp.gnu.org/gnu/bison/
  • Устанавливаем libreadline: http://ftp.gnu.org/gnu/readline/
  • Устанавливаем libicu: http://icu-project.org/
  • Компилируем и устанавливаем PostgreSQL:
    cd postgresql-8.2.4
    ./configure
    make
    sudo make install
  • Компилируем и устанавливаем дополнительные пакеты для PostgreSQL:
    cd postgresql-8.2.4/contrib
    make
    sudo make install
  • Увеличиваем размер разделяемой памяти в ядре Линукса командой "sysctl -w kernel.shmmax=256000000"
  • Дополняем таблицу разделяемых библиотек командой "/sbin/ldconfig /usr/local/pgsql/lib"
  • Инициализируем хранилище данных:
    su
    adduser postgres
    mkdir /usr/local/pgsql/data
    chown postgres /usr/local/pgsql/data
    su - postgres
    export LANG=ru_RU.utf-8
    /usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data
    /usr/local/pgsql/bin/postgres -D /usr/local/pgsql/data >logfile 2>&1 &
    /usr/local/pgsql/bin/createdb test
    /usr/local/pgsql/bin/psql test
  • Разрешаем доступ к СУБД по сети. В файл /usr/local/pgsql/data/pg_hba.conf добавляем строки:
    host    all         all         127.0.0.1/32          trust
    host    all         all         xxx.xxx.xxx.0/24      trust
    (Здесь xxx.xxx.xxx.0/24 - адрес и маска локальной сети)
  • Редактируем файл postgresql.init, полученный при распаковке postgresql-8.2.4-6.1C.src.rpm, устанавливаем правильные значения для PGVERSION, PGENGINE, PGDATA, PGLOG, а также:
    export LANG=ru_RU.utf-8
    sysctl -w kernel.shmmax=256000000
  • Копируем postgresql.init в /etc/init.d/postgres, правим в нём строчку "# chkconfig: 345 97 10", для проверки останавливаем сервер PostgreSQL:
    /etc/init.d/postgres stop
  • Добавляем новый сервис в систему командой "chkconfig --add postgres"
  • Для проверки можно перезагрузить весь сервер командой "reboot", или просто запустим СУБД:
    /etc/init.d/postgres start
  • Создаём пользователя и базы для 1С:
    sudo -u postgres /usr/local/pgsql/bin/createuser -s myuser
    sudo -u postgres /usr/local/pgsql/bin/createdb demo
    sudo -u postgres /usr/local/pgsql/bin/createdb enterprise
Теперь возвращаемся к клиентскому компьютеру, запускаем 1С:Предприятие и создаём новые базы: одну демонстрационную, вторую рабочую.
  • Тип расположения информационной базы: на сервере 1С:Предприятия
  • Имя сервера (кластера): IP-адрес локального компьютера
  • Имя базы на сервере: соответственно Demo и Enterprise
  • Тип СУБД: PostgreSQL
  • Имя сервера СУБД: IP-адрес Линукс-сервера
  • Название базы: соответственно demo и enterprise
  • Пользователь: myuser
  • Пароль: пустой
На создание каждой из баз уходило около пятнадцати минут. Интересно, что демонстрационная база занимает 486 мегабайт на сервере PostgreSQL, а пустая рабочая - 240 мегабайт.

Date: 2008-02-27 06:10 (UTC)
From: [identity profile] hmyretskiy.livejournal.com
было бы интересно услышать опыт работы с 1С УПП под Linux при количестве пользователей более 150 и при количестве документов более 1000 в день.
Кстати, на оф.сайте 1С писали, что не весь функционал 1С реализован под postgre, какие-то вещи там не работают, не решена проблема блокировок - что-нибудь изменилось в лучшую сторону?

Date: 2008-04-29 22:22 (UTC)
From: [identity profile] paulsand.livejournal.com
А под управлением Windows такие (промышленные) инсталляции есть? Хотелось бы познакомиться с "историей успеха".

Date: 2008-04-30 04:45 (UTC)
From: [identity profile] hmyretskiy.livejournal.com
у нас работает
документов больше - в день около 3000, товарных - 1000

Date: 2008-04-30 19:18 (UTC)
From: [identity profile] paulsand.livejournal.com
Неплохо. А какое у вас количество одновременно работающих пользователей в ЧНН, если не секрет?

Date: 2008-04-30 19:53 (UTC)
From: [identity profile] hmyretskiy.livejournal.com
где-то 130

RPM rebuild

Date: 2008-03-03 09:53 (UTC)
From: [identity profile] skolk.livejournal.com
А почему руками, а не rebuild?
Там что, .spec кривой? Может, правильнее его обновить?
Или хост не Linux?

Какая все таки версия?

Date: 2008-04-11 13:42 (UTC)
From: [identity profile] mifologist.livejournal.com
Какая все таки версия postgresql? Вы пишите скачиваем postgresql-8.1.5-17.1C.src.rpm а дальше речь идет о 8.2.4

я брал 8.2.4 - все вроде получилось, но при создании БД выходит ошибка.
type "mvarchar" does not exist at character 31 , такое же я получил и пробуя ставить из RPM

Date: 2008-04-14 06:57 (UTC)
From: [identity profile] mifologist.livejournal.com
Упс, вот про это я не знал. И пока не знаю, спасибо, попробую.

Date: 2008-07-02 08:26 (UTC)
From: [identity profile] m-a-x-i.livejournal.com
и как в итоге? У меня тоже пишет: type "mvarchar" does not exist at character 31
пока не поборол =(

зыж pgsql 8.2.4

Date: 2008-07-21 14:51 (UTC)
From: [identity profile] bodun.livejournal.com
1 - из contrib не стоит модуль mchar
2 - в базе не установлен тип mchar-mvarchar contrib/mchar/mchar.sql.in или что из него получается

Date: 2009-11-15 17:57 (UTC)
From: [identity profile] dimah66.livejournal.com
вместо
"/usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data"
очень рекомендую
"/usr/local/pgsql/bin/initdb --locale=ru_RU.utf8 -D /usr/local/pgsql/data"
Это избавит от сообщения "ошибка установки национальных настроек информационной базы, порядок сортировки не поддерживается базой данных".

Date: 2010-09-12 00:00 (UTC)
From: [identity profile] magezitm.livejournal.com
Мне кажется, что в настоящий момент программа «1С Предприятие» является мощнейшим инструментом управления бизнесом любого масштаба? Тысячи фирм по всей России выбрали купить программу 1с (http://www.mjrc.ru), потому что для процветания бизнеса нужен правильный подход к ведению бухгалтерского, налогового, кадрового и управленческого учета, и именно это гарантирует программный пакет «1С». К тому же, минимизация издержек и человеческих ресурсов при автоматизации управления позволяют программному пакету «1С: Предприятие» поднять любой бизнес на качественно новую ступень.

Date: 2010-09-21 06:57 (UTC)
From: [identity profile] kierstenjk.livejournal.com
вот тут можно купить программы 1С (http://www.kiasoft.ru) онлайн, посмотри может пригодится