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 мегабайт.
This account has disabled anonymous posting.
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting

If you are unable to use this captcha for any reason, please contact us by email at support@dreamwidth.org