delux
19.07.2009, 23:54
все делалось на свеже поставленной freebsd
/>uname -r
7.2-STABLE
==================================================
ИНТЕРМЕЦЦО 1 подготовка системы к эмуляции 1с платформы
==================================================
ставим эмулятор Linux
/>cd /usr/ports/emulators/linux_base-fc6/ ; make install clean
в /etc/fstab прописываем файловую систему Linux
procfs /proc procfs rw 0 0
linprocfs /compat/linux/proc linprocfs rw 0 0
/>echo compat.linux.osrelease=2.6.16 >> /etc/sysctl.conf
/>echo linux_enable=\"YES\" >> /etc/rc.conf
подгружаем модуль Linux
/>kldload linux
монтируем
/>mount /compat/linux/proc
==================================================
Установка платформы 1с
==================================================
Для установки нам потребуются два файла (ТРВ в помощь, вбиваем 1c 8.1.13.41 ставим галочки Программы и (поиск только в названиях) )
1C_Enterprise-common-8.1.13-41.i386.rpm 12147kb
1C_Enterprise-server-8.1.13-41.i386.rpm 36850kb
копируем их в удобную для нас директорию
и распаковываем их командой rpm2cpio | cpio -id
/>rpm2cpio 1C_Enterprise-common-8.1.13-41.i386.rpm | cpio -id
появляется каталог opt/ переместим его в нужное место
/>mv opt/ /usr/compat/linux/
/>rpm2cpio 1C_Enterprise-server-8.1.13-41.i386.rpm | cpio -id
появится 2 каталога etc/ и opt/ заходим в созданный каталог /opt
/>cd opt/1C/v8.1/i386/
копируем его содержимое в рабочую директорию
/>cp * /usr/compat/linux/opt/1C/v8.1/i386/
из каталога etc/ переносим все в нужные директории
/>cp etc/sysconfig/srv1cv81 /usr/compat/linux/etc/sysconfig/
/>cp etc/init.d/srv1cv81 /usr/compat/linux/etc/init.d/
создаим скрипт запуска сервера 1с (thanks for fos;)
/>touch /usr/local/etc/rc.d/1csrv ; chmod 555 /usr/local/etc/rc.d/1csrv
/>cat /usr/local/etc/rc.d/1csrv
#!/bin/sh
echo -n ' 1csrv'
case "$1" in
start)
su -l user1c -c "/compat/linux/opt/1C/v8.1/i386/ragent -daemon"
;;
stop)
killall -9 ragent; killall -9 rphost; killall -9 rmngr
;;
*)
echo "Usage: `basename $0` {start|stop}" >&2
exit 64
;;
esac
exit 0
создадим пользователя от имени которого будут работать наши демоны
pw useradd user1c
далее подправим в /etc/passwd хом. дир. для свеже созданного юзера
на /usr/compat/linux/usr/1cv8usr
==================================================
ИНТЕРМЕЦЦО 2 подготовка порта pgsql для работы с 1с
==================================================
ставим необходимые порты
/>cd /usr/ports/textproc/flex/ && make install clean ; cd /usr/ports/devel/bison/ && make install clean ; cd /usr/ports/devel/readline/ && make install clean ; cd /usr/ports/devel/icu/ && make install clean
подготавливаем work дир. и опции с которыми будем собирать, опции можно не использовать
/>cd /usr/ports/databases/postgresql83-server/ ; make patch
нам понадобится 3 патча от 1с
описание патчей http://v8.1c.ru/overview/postgres_patches_notes.htm
получаем патчи и лечим их
#когда редактирование файла происходит в windows (DOS format)
#в конце каждой строки символ перехода на новую строку в формате LFCF, в шестнадцатеричной системе символ #выглядит как 0x0D. При добавлении патча данные символы дают сбой и патч толком не ставится.
#лечим так:
#данная команда удаляет ненужные символы в конце строки
#cat patch.patch | tr -d "\r" > patch.patch
/>cd /usr/ports/databases/postgresql8.3-server/work/postgresql-8.3.7/
/>fetch http://v8.1c.ru/overview/postgresql_patches/1c_FULL_83-0.19.patch ; cat 1c_FULL_83-0.19.patch | tr -d "\r" > 1c_full.patch ; rm -rf 1c_FULL_83-0.19.patch
/>fetch http://v8.1c.ru/overview/postgresql_patches/postgresql-1c-8.3.patch ; cat postgresql-1c-8.3.patch | tr -d "\r" > pgsql-1c-8.3.patch ; rm -rf postgresql-1c-8.3.patch
/>fetch http://v8.1c.ru/overview/postgresql_patches/applock-1c-8.3.1.patch ; cat applock-1c-8.3.1.patch | tr -d "\r" > applock.patch ; rm -rf applock-1c-8.3.1.patch
накладываем патчи
/>patch -p0 < 1c_full.patch ; patch -p0 < pgsql-1c-8.3.patch ; patch -p0 < applock.patch
==================================================
Установка и настройка PGSQL
==================================================
ставим pgsql
/>cd ../.. ; make install
ставим необходимые библиотеки нужны для работы 1c
/>work/postgresql-8.3.5/contrib ; gmake all && gmake install
иницилизируем pgsql
/>/usr/local/etc/rc.d/postgrsql initdb
добавляемый в /etc/rc.conf информацию необходимую для запуска после ребута
postgresql_enable="YES"
postgresql_class="postgres"
postgresql_initdb_flags="--encoding=UTF-8 --lc-collate=C"
дописываем, тюнингуем /etc/sysctl.conf
kern.ipc.shmall=32768
kern.ipc.shmmax=134217728
kern.ipc.semmap=256
дописываем, тюнингуем /boot/loader.conf
kern.ipc.semmni=256
kern.ipc.semmns=512
kern.ipc.semmnu=256
#написанное выше вступит в силу после ребута
#чтобы не перезагружать делаем так
#echo значение_подставляем_сюда >/proc/sys/kernel/опция_для_значения
определяем локаль
в /etc/login.conf добавляем
postgres:\
:lang=ru_RU.UTF-8:\
:setenv=LC_COLLATE=C:\
:tc=default:
pgsql|Russian pgsql:\
:charset=UTF-8:\
:lang=ru_RU.UTF-8:\
:tc=default:
даём команду на перестройку базы данных
/>cap_mkdb /etc/login.conf
меняем локаль для пользователя pgsql
/>pw usermod -n pgsql -L pgsql
делаем символическую ссылку чтобы 1с создавала базы без ошибок
/>ln -s /usr/share/locale/en_US.UTF-8 /usr/share/locale/en_US
меняем пароль для доступа к базам
правим /usr/local/pgsql/data/pg_hba.conf
host all all 0.0.0.0/0 md5 на host all all 0.0.0.0/0 trust
запускаем сервер
/usr/local/etc/rc.d/postgresql start
/>psql -h localhost postgres pgsql
Welcome to psql 8.3.7, the PostgreSQL interactive terminal.
Type: \copyright for distribution terms
\h for help with SQL commands
\? for help with psql commands
\g or terminate with semicolon to execute query
\q to quit
postgres=#ALTER USER pgsql ENCRYPTED PASSWORD 'welcome';
postgres=#\q
меняем обратно в /usr/local/pgsql/data/pg_hba.conf
host all all 0.0.0.0/0 trust на md5
==================================================
postgresql.conf
==================================================
составляем конфиг /usr/local/pgsql/data/postgresql.conf
пример рабочего конфига(thanks for fos)
# Путь к конфигам:
data_directory = '/usr/local/pgsql/data'
hba_file = '/usr/local/pgsql/data/pg_hba.conf'
ident_file = '/usr/local/pgsql/data/pg_ident.conf'
listen_addresses = '*'
max_connections = 100
# Дополнительный буфер между диском и процессами Postgre SQL.
# Не следует указывать слишком большой объем,
# т.к. еще существует системный Кэш, контролируемый ОС.
# Значения:
# Средний объём данных и 256.512 МБ доступной памяти: 16.32 МБ
# Большой объём данных и 1.4 ГБ доступной памяти: 64.256 МБ
shared_buffers = 64MB
# Буфер под временные объекты, в основном для временных таблиц.
# Можно установить порядка 16 МБ
temp_buffers = 20MB
# Количество одновременно подготавливаемых транзакций.
# Для работы 1С этот параметр значения не имеет.
max_prepared_transactions = 5
# Специальная память, используется для сортировки и
# кэширования таблиц, для одного запроса.
# При задании этого параметра следует учитывать количество
# конкурентых запросов, выполняемых в один момент времени.
# При памяти 1.4Gb рекомендуется устанавливать 32.128MB
work_mem = 32MB
# Память использующаяся для операций VACUUM, CREATE INDEX,
# ALTER TABLE и FOREGIN KEY.
# Следует устанавливать большее значение, чем для work_mem.
# Слишком большие значения приведут к использованию свопа.
# При памяти 1.4Gb рекомендуется устанавливать 128.512MB
maintenance_work_mem = 128MB
# Специальный стек для сервера, в идеале он должен совпадать
# с размером стека, выставленном в ядре ОС. Установка большего значения
# чем в ядре может привести к ошибкам. Рекомендуется устанавливать 2.4MB
max_stack_depth = 2MB
# Максимальное количество таблиц, для которых будет отслеживаться
# свободное место. Выставите параметр в соответствии с количеством
# таблиц в вашей базе с запасом.
max_fsm_relations = 5000
# Количество блоков, для которых будет хранится информация о свободном месте.
# Информация хранится в разделяемой памяти, для каждой записи требуется
# по 6 байт. Использование этого параметра позволяет избежать использования
# VACUUM FULL для базы, достаточно будет VACUUM. Этот параметр должен быть
# не меньше чем 16*max_fsm_relations. Данный параметр задается автоматически
# при создании базы утилитой initdb. Можно задать его и вручную: в качестве
# начального приближения можно взять половину от среднего количества записей,
# изменяемых (UPDATE или DELETE) между запусками команды VACUUM.
max_fsm_pages = 100800
# Данный параметр отвечает за сброс данных из кэша на диск при завершении
# транзакций. Если установить его значение fsync=off, то данные не будут
# записываться на дисковые накопители сразу после завершения операций.
# Это может существенно повысить скорость операций insert и update, но
# есть риск повредить базу, если произойдет сбой (неожиданное отключение
# питания, сбой ОС, сбой дисковой подсистемы). Используйте эту возможность
# только если у вас имеются надежные ИБП и программное обеспечение,
# завершающее работу системы при низком заряде батарей.
fsync = on
# Метод который используется для принудительной записи данных на диск.
# Если fsync=off, то этот параметр не имеет значения. Возможные значения:
# open_datasync . запись данных методом open() с опцией O_DSYNC
# fdatasync . вызов метода fdatasync() после каждого commit
# fsync_writethrough . вызывать fsync() после каждого commit игнорирую
# паралельные процессы
# fsync . вызов fsync() после каждого commit
# open_sync . запись данных методом open() с опцией O_SYNC
# Не все методы доступны на определенных платформах. По умолчанию устанавливается
# первый, который доступен в системе.
wal_sync_method = fsync
# Установите данный параметр в off, если fsync=off
full_page_writes = on
# Количество памяти используемое в SHARED MEMORY для ведения транзакционных логов.
# При доступной памяти 1.4GB рекомендуется устанавливать 256.1024kb
wal_buffers = 256kB
# Передает данные планировщику запросов об объеме памяти, которая используется
# ОС для кэширования файлов, для одного запроса.
effective_cache_size = 512MB
# Устанавливает глубину статистики по таблицам. БОльшие значения могут повысить
# время выполения команды ANALYZE, но улучшат построение плана запроса.
# Рекомендуется устанавливать порядка 100
default_statistics_target = 100
# Включает или отключает использование планером ограничений CONSTRAINT в таблицах
# при построении запросов. Рекомендуется установить значение on, при этом, если
# Вы изменяете CONSTRAINT у таблиц, необходимо обновить их статистику выполнив
# ANALYZE, в противном случае будут построены неверные планы запросов.
constraint_exclusion = on
# логи
log_destination = 'syslog'
syslog_facility = 'LOCAL0'
syslog_ident = 'postgres'
log_truncate_on_rotation = on
# Включать ли автовакуум, устанавливать on
autovacuum = on
# Пауза между запусками Автовакуума. Зависит от того, как часто обновляются данные
# в ваших таблицах. Может соствлять порядка 5min, по умолчанию 1min
autovacuum_naptime = 5min
# Формат даты
datestyle = 'iso, dmy'
# Кодировка
lc_messages = 'ru_RU.UTF-8'
lc_monetary = 'ru_RU.UTF-8'
lc_numeric = 'ru_RU.UTF-8'
lc_time = 'ru_RU.UTF-8'
# Дефолтовая конфигурация для текстовго поиска
default_text_search_config = 'pg_catalog.russian'
# Время жизни взаимных блокировок. Установить порядка 2 секунд.
deadlock_timeout = 2s
# Количество блокировок за одну транзакцию: установить порядка 200-250
max_locks_per_transaction = 200
# end of file
==================================================
Финальная часть
==================================================
запускаем сервисы 1с и pgsql
(ошибок быть не должно, но все же закиньте в /etc/rc.conf
rc_info="YES"
rc_debug="YES")
/>/usr/local/etc/rc.d/postgresql start
/>/usr/local/etc/rc.d/1csrv start
смотрим процессы 1с
/>ps aux | grep ragent
/>ps aux | grep rph
/>ps aux | grep rmn
определяем статус pgsql
/>/usr/local/etc/rc.d/postgresql status
(логи pgsql лежат в /var/log/message)
на любой машине где есть 1с установленная заходим в консоль управления серверами 1с
создаем БД прописываем пути и пароли
пробуем зайти в 1с
==================================================
тема очень интересная, но я не раскрыл установку HASP ключа (в организации всего 8 клиентов)
макс. возможна работа до 12 клиентов включительно
описание подключения клиентов напишу позже
/>uname -r
7.2-STABLE
==================================================
ИНТЕРМЕЦЦО 1 подготовка системы к эмуляции 1с платформы
==================================================
ставим эмулятор Linux
/>cd /usr/ports/emulators/linux_base-fc6/ ; make install clean
в /etc/fstab прописываем файловую систему Linux
procfs /proc procfs rw 0 0
linprocfs /compat/linux/proc linprocfs rw 0 0
/>echo compat.linux.osrelease=2.6.16 >> /etc/sysctl.conf
/>echo linux_enable=\"YES\" >> /etc/rc.conf
подгружаем модуль Linux
/>kldload linux
монтируем
/>mount /compat/linux/proc
==================================================
Установка платформы 1с
==================================================
Для установки нам потребуются два файла (ТРВ в помощь, вбиваем 1c 8.1.13.41 ставим галочки Программы и (поиск только в названиях) )
1C_Enterprise-common-8.1.13-41.i386.rpm 12147kb
1C_Enterprise-server-8.1.13-41.i386.rpm 36850kb
копируем их в удобную для нас директорию
и распаковываем их командой rpm2cpio | cpio -id
/>rpm2cpio 1C_Enterprise-common-8.1.13-41.i386.rpm | cpio -id
появляется каталог opt/ переместим его в нужное место
/>mv opt/ /usr/compat/linux/
/>rpm2cpio 1C_Enterprise-server-8.1.13-41.i386.rpm | cpio -id
появится 2 каталога etc/ и opt/ заходим в созданный каталог /opt
/>cd opt/1C/v8.1/i386/
копируем его содержимое в рабочую директорию
/>cp * /usr/compat/linux/opt/1C/v8.1/i386/
из каталога etc/ переносим все в нужные директории
/>cp etc/sysconfig/srv1cv81 /usr/compat/linux/etc/sysconfig/
/>cp etc/init.d/srv1cv81 /usr/compat/linux/etc/init.d/
создаим скрипт запуска сервера 1с (thanks for fos;)
/>touch /usr/local/etc/rc.d/1csrv ; chmod 555 /usr/local/etc/rc.d/1csrv
/>cat /usr/local/etc/rc.d/1csrv
#!/bin/sh
echo -n ' 1csrv'
case "$1" in
start)
su -l user1c -c "/compat/linux/opt/1C/v8.1/i386/ragent -daemon"
;;
stop)
killall -9 ragent; killall -9 rphost; killall -9 rmngr
;;
*)
echo "Usage: `basename $0` {start|stop}" >&2
exit 64
;;
esac
exit 0
создадим пользователя от имени которого будут работать наши демоны
pw useradd user1c
далее подправим в /etc/passwd хом. дир. для свеже созданного юзера
на /usr/compat/linux/usr/1cv8usr
==================================================
ИНТЕРМЕЦЦО 2 подготовка порта pgsql для работы с 1с
==================================================
ставим необходимые порты
/>cd /usr/ports/textproc/flex/ && make install clean ; cd /usr/ports/devel/bison/ && make install clean ; cd /usr/ports/devel/readline/ && make install clean ; cd /usr/ports/devel/icu/ && make install clean
подготавливаем work дир. и опции с которыми будем собирать, опции можно не использовать
/>cd /usr/ports/databases/postgresql83-server/ ; make patch
нам понадобится 3 патча от 1с
описание патчей http://v8.1c.ru/overview/postgres_patches_notes.htm
получаем патчи и лечим их
#когда редактирование файла происходит в windows (DOS format)
#в конце каждой строки символ перехода на новую строку в формате LFCF, в шестнадцатеричной системе символ #выглядит как 0x0D. При добавлении патча данные символы дают сбой и патч толком не ставится.
#лечим так:
#данная команда удаляет ненужные символы в конце строки
#cat patch.patch | tr -d "\r" > patch.patch
/>cd /usr/ports/databases/postgresql8.3-server/work/postgresql-8.3.7/
/>fetch http://v8.1c.ru/overview/postgresql_patches/1c_FULL_83-0.19.patch ; cat 1c_FULL_83-0.19.patch | tr -d "\r" > 1c_full.patch ; rm -rf 1c_FULL_83-0.19.patch
/>fetch http://v8.1c.ru/overview/postgresql_patches/postgresql-1c-8.3.patch ; cat postgresql-1c-8.3.patch | tr -d "\r" > pgsql-1c-8.3.patch ; rm -rf postgresql-1c-8.3.patch
/>fetch http://v8.1c.ru/overview/postgresql_patches/applock-1c-8.3.1.patch ; cat applock-1c-8.3.1.patch | tr -d "\r" > applock.patch ; rm -rf applock-1c-8.3.1.patch
накладываем патчи
/>patch -p0 < 1c_full.patch ; patch -p0 < pgsql-1c-8.3.patch ; patch -p0 < applock.patch
==================================================
Установка и настройка PGSQL
==================================================
ставим pgsql
/>cd ../.. ; make install
ставим необходимые библиотеки нужны для работы 1c
/>work/postgresql-8.3.5/contrib ; gmake all && gmake install
иницилизируем pgsql
/>/usr/local/etc/rc.d/postgrsql initdb
добавляемый в /etc/rc.conf информацию необходимую для запуска после ребута
postgresql_enable="YES"
postgresql_class="postgres"
postgresql_initdb_flags="--encoding=UTF-8 --lc-collate=C"
дописываем, тюнингуем /etc/sysctl.conf
kern.ipc.shmall=32768
kern.ipc.shmmax=134217728
kern.ipc.semmap=256
дописываем, тюнингуем /boot/loader.conf
kern.ipc.semmni=256
kern.ipc.semmns=512
kern.ipc.semmnu=256
#написанное выше вступит в силу после ребута
#чтобы не перезагружать делаем так
#echo значение_подставляем_сюда >/proc/sys/kernel/опция_для_значения
определяем локаль
в /etc/login.conf добавляем
postgres:\
:lang=ru_RU.UTF-8:\
:setenv=LC_COLLATE=C:\
:tc=default:
pgsql|Russian pgsql:\
:charset=UTF-8:\
:lang=ru_RU.UTF-8:\
:tc=default:
даём команду на перестройку базы данных
/>cap_mkdb /etc/login.conf
меняем локаль для пользователя pgsql
/>pw usermod -n pgsql -L pgsql
делаем символическую ссылку чтобы 1с создавала базы без ошибок
/>ln -s /usr/share/locale/en_US.UTF-8 /usr/share/locale/en_US
меняем пароль для доступа к базам
правим /usr/local/pgsql/data/pg_hba.conf
host all all 0.0.0.0/0 md5 на host all all 0.0.0.0/0 trust
запускаем сервер
/usr/local/etc/rc.d/postgresql start
/>psql -h localhost postgres pgsql
Welcome to psql 8.3.7, the PostgreSQL interactive terminal.
Type: \copyright for distribution terms
\h for help with SQL commands
\? for help with psql commands
\g or terminate with semicolon to execute query
\q to quit
postgres=#ALTER USER pgsql ENCRYPTED PASSWORD 'welcome';
postgres=#\q
меняем обратно в /usr/local/pgsql/data/pg_hba.conf
host all all 0.0.0.0/0 trust на md5
==================================================
postgresql.conf
==================================================
составляем конфиг /usr/local/pgsql/data/postgresql.conf
пример рабочего конфига(thanks for fos)
# Путь к конфигам:
data_directory = '/usr/local/pgsql/data'
hba_file = '/usr/local/pgsql/data/pg_hba.conf'
ident_file = '/usr/local/pgsql/data/pg_ident.conf'
listen_addresses = '*'
max_connections = 100
# Дополнительный буфер между диском и процессами Postgre SQL.
# Не следует указывать слишком большой объем,
# т.к. еще существует системный Кэш, контролируемый ОС.
# Значения:
# Средний объём данных и 256.512 МБ доступной памяти: 16.32 МБ
# Большой объём данных и 1.4 ГБ доступной памяти: 64.256 МБ
shared_buffers = 64MB
# Буфер под временные объекты, в основном для временных таблиц.
# Можно установить порядка 16 МБ
temp_buffers = 20MB
# Количество одновременно подготавливаемых транзакций.
# Для работы 1С этот параметр значения не имеет.
max_prepared_transactions = 5
# Специальная память, используется для сортировки и
# кэширования таблиц, для одного запроса.
# При задании этого параметра следует учитывать количество
# конкурентых запросов, выполняемых в один момент времени.
# При памяти 1.4Gb рекомендуется устанавливать 32.128MB
work_mem = 32MB
# Память использующаяся для операций VACUUM, CREATE INDEX,
# ALTER TABLE и FOREGIN KEY.
# Следует устанавливать большее значение, чем для work_mem.
# Слишком большие значения приведут к использованию свопа.
# При памяти 1.4Gb рекомендуется устанавливать 128.512MB
maintenance_work_mem = 128MB
# Специальный стек для сервера, в идеале он должен совпадать
# с размером стека, выставленном в ядре ОС. Установка большего значения
# чем в ядре может привести к ошибкам. Рекомендуется устанавливать 2.4MB
max_stack_depth = 2MB
# Максимальное количество таблиц, для которых будет отслеживаться
# свободное место. Выставите параметр в соответствии с количеством
# таблиц в вашей базе с запасом.
max_fsm_relations = 5000
# Количество блоков, для которых будет хранится информация о свободном месте.
# Информация хранится в разделяемой памяти, для каждой записи требуется
# по 6 байт. Использование этого параметра позволяет избежать использования
# VACUUM FULL для базы, достаточно будет VACUUM. Этот параметр должен быть
# не меньше чем 16*max_fsm_relations. Данный параметр задается автоматически
# при создании базы утилитой initdb. Можно задать его и вручную: в качестве
# начального приближения можно взять половину от среднего количества записей,
# изменяемых (UPDATE или DELETE) между запусками команды VACUUM.
max_fsm_pages = 100800
# Данный параметр отвечает за сброс данных из кэша на диск при завершении
# транзакций. Если установить его значение fsync=off, то данные не будут
# записываться на дисковые накопители сразу после завершения операций.
# Это может существенно повысить скорость операций insert и update, но
# есть риск повредить базу, если произойдет сбой (неожиданное отключение
# питания, сбой ОС, сбой дисковой подсистемы). Используйте эту возможность
# только если у вас имеются надежные ИБП и программное обеспечение,
# завершающее работу системы при низком заряде батарей.
fsync = on
# Метод который используется для принудительной записи данных на диск.
# Если fsync=off, то этот параметр не имеет значения. Возможные значения:
# open_datasync . запись данных методом open() с опцией O_DSYNC
# fdatasync . вызов метода fdatasync() после каждого commit
# fsync_writethrough . вызывать fsync() после каждого commit игнорирую
# паралельные процессы
# fsync . вызов fsync() после каждого commit
# open_sync . запись данных методом open() с опцией O_SYNC
# Не все методы доступны на определенных платформах. По умолчанию устанавливается
# первый, который доступен в системе.
wal_sync_method = fsync
# Установите данный параметр в off, если fsync=off
full_page_writes = on
# Количество памяти используемое в SHARED MEMORY для ведения транзакционных логов.
# При доступной памяти 1.4GB рекомендуется устанавливать 256.1024kb
wal_buffers = 256kB
# Передает данные планировщику запросов об объеме памяти, которая используется
# ОС для кэширования файлов, для одного запроса.
effective_cache_size = 512MB
# Устанавливает глубину статистики по таблицам. БОльшие значения могут повысить
# время выполения команды ANALYZE, но улучшат построение плана запроса.
# Рекомендуется устанавливать порядка 100
default_statistics_target = 100
# Включает или отключает использование планером ограничений CONSTRAINT в таблицах
# при построении запросов. Рекомендуется установить значение on, при этом, если
# Вы изменяете CONSTRAINT у таблиц, необходимо обновить их статистику выполнив
# ANALYZE, в противном случае будут построены неверные планы запросов.
constraint_exclusion = on
# логи
log_destination = 'syslog'
syslog_facility = 'LOCAL0'
syslog_ident = 'postgres'
log_truncate_on_rotation = on
# Включать ли автовакуум, устанавливать on
autovacuum = on
# Пауза между запусками Автовакуума. Зависит от того, как часто обновляются данные
# в ваших таблицах. Может соствлять порядка 5min, по умолчанию 1min
autovacuum_naptime = 5min
# Формат даты
datestyle = 'iso, dmy'
# Кодировка
lc_messages = 'ru_RU.UTF-8'
lc_monetary = 'ru_RU.UTF-8'
lc_numeric = 'ru_RU.UTF-8'
lc_time = 'ru_RU.UTF-8'
# Дефолтовая конфигурация для текстовго поиска
default_text_search_config = 'pg_catalog.russian'
# Время жизни взаимных блокировок. Установить порядка 2 секунд.
deadlock_timeout = 2s
# Количество блокировок за одну транзакцию: установить порядка 200-250
max_locks_per_transaction = 200
# end of file
==================================================
Финальная часть
==================================================
запускаем сервисы 1с и pgsql
(ошибок быть не должно, но все же закиньте в /etc/rc.conf
rc_info="YES"
rc_debug="YES")
/>/usr/local/etc/rc.d/postgresql start
/>/usr/local/etc/rc.d/1csrv start
смотрим процессы 1с
/>ps aux | grep ragent
/>ps aux | grep rph
/>ps aux | grep rmn
определяем статус pgsql
/>/usr/local/etc/rc.d/postgresql status
(логи pgsql лежат в /var/log/message)
на любой машине где есть 1с установленная заходим в консоль управления серверами 1с
создаем БД прописываем пути и пароли
пробуем зайти в 1с
==================================================
тема очень интересная, но я не раскрыл установку HASP ключа (в организации всего 8 клиентов)
макс. возможна работа до 12 клиентов включительно
описание подключения клиентов напишу позже