![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Устанавливаем систему управления предприятием. Имеется полтора десятка рабочих мест, требующих доступа к 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С:Предприятия
- Имя сервера (кластера): IP-адрес локального компьютера
- Имя базы на сервере: соответственно Demo и Enterprise
- Тип СУБД: PostgreSQL
- Имя сервера СУБД: IP-адрес Линукс-сервера
- Название базы: соответственно demo и enterprise
- Пользователь: myuser
- Пароль: пустой