|
www.lissyara.su
—> статьи
—> FreeBSD
—> программы
—> 1С:Предприятие 8.1
1С:Предприятие 8.1 + PostgreSQL на FreeBSD
Автор: f0s.
В этой статье будет описано, как настроить и запустить 1С:Предприятие 8.1 на сервере с FreeBSD. Все настройки производились на:
Система:
[f0s@fileserver] /home/f0s/> uname -a
FreeBSD fileserver.artpaint 6.2-RELEASE-p8 FreeBSD 6.2-RELEASE-p8 #0:
Fri Nov 16 11:36:47 MSK 2007 root@fileserver.artpaint:
/usr/obj/usr/src/sys/fileserver.kern-2007-16-11 amd64
|
Процессор:
[f0s@fileserver] /home/f0s/> dmesg -a | grep CPU
CPU: Intel(R) Core(TM)2 CPU 6600 @ 2.40GHz (2407.20-MHz K8-class CPU)
FreeBSD/SMP: Multiprocessor System Detected: 2 CPUs
cpu0: <ACPI CPU> on acpi0
p4tcc0: <CPU Frequency Thermal Control> on cpu0
cpu1: <ACPI CPU> on acpi0
p4tcc1: <CPU Frequency Thermal Control> on cpu1
SMP: AP CPU #1 Launched!
cpu_reset: Stopping other CPUs
CPU: Intel(R) Core(TM)2 CPU 6600 @ 2.40GHz (2407.21-MHz K8-class CPU)
FreeBSD/SMP: Multiprocessor System Detected: 2 CPUs
cpu0: <ACPI CPU> on acpi0
p4tcc0: <CPU Frequency Thermal Control> on cpu0
cpu1: <ACPI CPU> on acpi0
p4tcc1: <CPU Frequency Thermal Control> on cpu1
SMP: AP CPU #1 Launched!
cpu_reset: Stopping other CPUs
CPU: Intel(R) Core(TM)2 CPU 6600 @ 2.40GHz (2407.21-MHz K8-class CPU)
FreeBSD/SMP: Multiprocessor System Detected: 2 CPUs
cpu0: <ACPI CPU> on acpi0
p4tcc0: <CPU Frequency Thermal Control> on cpu0
cpu1: <ACPI CPU> on acpi0
p4tcc1: <CPU Frequency Thermal Control> on cpu1
SMP: AP CPU #1 Launched!
cpu_reset: Stopping other CPUs
CPU: Intel(R) Core(TM)2 CPU 6600 @ 2.40GHz (2407.20-MHz K8-class CPU)
FreeBSD/SMP: Multiprocessor System Detected: 2 CPUs
cpu0: <ACPI CPU> on acpi0
p4tcc0: <CPU Frequency Thermal Control> on cpu0
cpu1: <ACPI CPU> on acpi0
p4tcc1: <CPU Frequency Thermal Control> on cpu1
SMP: AP CPU #1 Launched!
|
Итак, первым делом надо воткнуть эмулятор линуха. Так как FreeBSD 6.2 не поддерживает LinuxABI ядра ветки 2.6, то устанавливаем FC4.
[f0s@fileserver] //> cd /usr/ports/emulators/linux_base-fc4
[f0s@fileserver] /usr/ports/emulators/linux_base-fc4/> make
[f0s@fileserver] /usr/ports/emulators/linux_base-fc4/> make install
[f0s@fileserver] /usr/ports/emulators/linux_base-fc4/> make clean
|
1с будем устанавливать из портов. Но перед этим, необходимо еще скачать и поставить вот эти два порта:
[f0s@fileserver] //> cd /tmp/1c/lib
[f0s@fileserver] /tmp/1c/lib/> wget \
? ftp://ftp.ipt.ru/pub/download/1C/linux-f8-audit-libs.shar
[f0s@fileserver] /tmp/1c/lib/> wget \
? ftp://ftp.ipt.ru/pub/download/1C/linux-f8-pam.shar
[f0s@fileserver] /tmp/1c/lib/> wget \
? ftp://ftp.ipt.ru/pub/download/1C/audit-libs-1.7.4-1.fc8.i386.rpm
[f0s@fileserver] /tmp/1c/lib/> wget \
? ftp://ftp.ipt.ru/pub/download/1C/pam-0.99.8.1-17.1.fc8.i386.rpm
|
скаченные RPM-ки кидаем в /usr/ports/distfiles/rpm/i386/fedora/8. Разворачиваем *.shar:
[f0s@fileserver] /tmp/1c/lib/> sh linux-f8-audit-libs.shar
c - linux-f8-audit-libs
x - linux-f8-audit-libs/Makefile
x - linux-f8-audit-libs/distinfo.i386
x - linux-f8-audit-libs/pkg-plist
x - linux-f8-audit-libs/pkg-descr
[f0s@fileserver] /tmp/1c/lib/> sh linux-f8-pam.shar
c - linux-f8-pam
x - linux-f8-pam/Makefile
x - linux-f8-pam/pkg-plist
x - linux-f8-pam/distinfo.i386
x - linux-f8-pam/pkg-descr
[f0s@fileserver] /tmp/1c/lib/>
|
И устанавливаем:
[f0s@fileserver] /tmp/1c/lib/> cd linux-f8-audit-libs
[f0s@fileserver] /tmp/1c/lib/linux-f8-audit-libs/> make
[f0s@fileserver] /tmp/1c/lib/linux-f8-audit-libs/> make install
[f0s@fileserver] /tmp/1c/lib/> cd linux-f8-pam
[f0s@fileserver] /tmp/1c/lib/linux-f8-pam/> make
[f0s@fileserver] /tmp/1c/lib/linux-f8-pam/> make install
|
Далее скачиваем порты 1с:
[f0s@fileserver] //> cd /tmp/1c/linux-1c-source/
[f0s@fileserver] /tmp/1c/linux-1c-source/> wget \
? ftp://ftp.ipt.ru/pub/download/1C/linux-1C_Enterprise-common.shar
[f0s@fileserver] /tmp/1c/linux-1c-source/> wget \
? ftp://ftp.ipt.ru/pub/download/1C/linux-1C_Enterprise-server.shar
|
предварительно скопировав 1С:Предприятие для RPMS (i386) с сайта http://users.v8.1c.ru/ в /usr/ports/distfiles/rpm/1C
Разворачиваем *.shar:
[f0s@fileserver] /tmp/1c/linux-1c-source/> sh linux-1C_Enterprise-common.shar
c - linux-1C_Enterprise-common
x - linux-1C_Enterprise-common/pkg-plist
x - linux-1C_Enterprise-common/Makefile
x - linux-1C_Enterprise-common/distinfo.i386
x - linux-1C_Enterprise-common/pkg-descr
[f0s@fileserver] /tmp/1c/linux-1c-source/> sh linux-1C_Enterprise-server.shar
c - linux-1C_Enterprise-server
x - linux-1C_Enterprise-server/pkg-descr
x - linux-1C_Enterprise-server/Makefile
x - linux-1C_Enterprise-server/distinfo.i386
x - linux-1C_Enterprise-server/pkg-plist
|
И устанавливаем:
[f0s@fileserver] /tmp/1c/linux-1c-source/> cd linux-1C_Enterprise-server
[f0s@fileserver] /tmp/1c/linux-1c-source/linux-1C_Enterprise-server/> make
[f0s@fileserver] /tmp/1c/linux-1c-source/linux-1C_Enterprise-server/> make install
[f0s@fileserver] /tmp/1c/linux-1c-source/> cd linux-1C_Enterprise-common
[f0s@fileserver] /tmp/1c/linux-1c-source/linux-1C_Enterprise-common/> make
[f0s@fileserver] /tmp/1c/linux-1c-source/linux-1C_Enterprise-common/> make install
|
На этом этапе могут возникнуть проблемы, в виде:
[f0s@fileserver] /tmp/1c/linux-1c-source/linux-1C_Enterprise-server/> make
===> linux-1C_Enterprise-server-8.1.12 does not support compat.linux.osrelease=2.4.2.
*** Error code 1
Stop in /tmp/1c/linux-1c-source/linux-1C_Enterprise-server.
|
тогда просто выставьте на время 2.6.2:
[f0s@fileserver] //> sysctl compat.linux.osrelease=2.6.2
|
После удачной установки, на всякий случай делаем:
[f0s@fileserver] //> cd /usr/compat/linux/opt/1C/v8.1/i386/ && chmod 777 stlport.so
[f0s@fileserver] //> cd /usr/compat/linux/etc/init.d/
|
верхней строчкой прописываем:
[f0s@fileserver] /usr/compat/linux/etc/init.d/> cat srv1cv81 | grep bash
#!/usr/compat/linux/bin/bash
|
1с установлен! Теперь нужно установить БД. Перед этим нам потребуются следующие вспомогательные программки:
[f0s@fileserver] //> cd /usr/ports/textproc/flex/ && make && make install
[f0s@fileserver] /usr/ports/textproc/flex/> make clean
[f0s@fileserver] //> cd /usr/ports/devel/bison/ && make && make install
[f0s@fileserver] /usr/ports/devel/bison/> make clean
[f0s@fileserver] //> cd /usr/ports/devel/readline/ && make && make install
[f0s@fileserver] /usr/ports/devel/readline/> make clean
[f0s@fileserver] //> cd /usr/ports/devel/icu/ && make && make install
[f0s@fileserver] /usr/ports/devel/icu/> make clean
|
Теперь, с уже известного нами сайта http://users.v8.1c.ru/ скачиваем PostgreSQL Server и кладем его в /tmp/1c/tmp
Далее даем команды:
[f0s@fileserver] /tmp/1c/tmp/> rpm2cpio.pl < postgresql-8.3.3-2.1C.src.rpm | cpio -iv
[f0s@fileserver] /tmp/1c/tmp/> tar xvjf postgresql-8.3.3.tar.bz2
[f0s@fileserver] /tmp/1c/tmp/> cd postgresql-8.3.3
|
И накладываем патчи:
[f0s@fileserver] /tmp/1c/tmp/> patch -p1 < ../rpm-pgsql.patch
[f0s@fileserver] /tmp/1c/tmp/> patch -p1 < ../postgresql-logging.patch
[f0s@fileserver] /tmp/1c/tmp/> patch -p1 < ../postgresql-test.patch
[f0s@fileserver] /tmp/1c/tmp/> patch -p1 < ../postgresql-perl-rpath.patch
[f0s@fileserver] /tmp/1c/tmp/> patch -p1 < ../postgresql-prefer-ncurses.patch
[f0s@fileserver] /tmp/1c/tmp/> patch -p0 < ../1c_FULL_83-0.19.patch
[f0s@fileserver] /tmp/1c/tmp/> patch -p0 < ../applock-1c-8.3.1.patch
[f0s@fileserver] /tmp/1c/tmp/> patch -p1 < ../postgresql-1c-8.3.patch
|
Если Вы скачивали патчи напрямую с сайта 1с, то выполните:
cat 1c_FULL_83-0.19.patch | tr -d "\r" > 1c_test.patch
| данная команда удаляет ненужные символы в конце строки, патч ставится полностью и make проходить без ошибок.
После применения патчей запускаем процесс установки:
[f0s@fileserver] /tmp/1c/tmp/> cd postgresql-8.3.3
[f0s@fileserver] /tmp/1c/tmp/postgresql-8.3.3/> ./configure
[f0s@fileserver] /tmp/1c/tmp/postgresql-8.3.3/> make
[f0s@fileserver] /tmp/1c/tmp/postgresql-8.3.3/> make install
|
PostgreSQL теперь установлен. Приступим к установке дополнительных библиотек, необходимых для работы 1с:
[f0s@fileserver] /tmp/1c/tmp/postgresql-8.3.3/> cd contrib/
[f0s@fileserver] /tmp/1c/tmp/postgresql-8.3.3/contrib/> gmake all
[f0s@fileserver] /tmp/1c/tmp/postgresql-8.3.3/contrib/> gmake install
|
Готово. Создадим заранее таких юзеров: pgsql, usr1cv81 и группы pgsql, grp1cv81:
pgsql:*:70:70:PostgreSQL Daemon:/usr/local/pgsql:/bin/csh
usr1cv81:*:30000:30000:User 1C:/usr/compat/linux/opt:/bin/sh
|
[f0s@fileserver] //> id usr1cv81
uid=30000(usr1cv81) gid=30000(grp1cv81) groups=30000(grp1cv81)
[f0s@fileserver] //> id pgsql
uid=70(pgsql) gid=70(pgsql) groups=70(pgsql)
|
Приступим к настройке postgresql. Перед началом работы, необходимо отконфигурировать системные переменные:
в /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
|
подробности читаем здесь: http://www.postgresql.org/docs/current/static/kernel-resources.html#SYSVIPC
Далее правим файл: .shrc в домашнем каталоге юзера pgsql
[f0s@fileserver] /usr/local/pgsql/> cat .cshrc
setenv PGLIB /usr/local/lib
# note: PGDATA can be overridden by the -D startup option
setenv PGDATA $HOME/data
#You might want to set some locale stuff here
#setenv PGDATESTYLE ISO
#setenv LC_ALL sv_SE.ISO_8859-1
# if you want to make regression tests use this TZ
#setenv TZ PST8PDT
setenv LANG ru_RU.UTF-8
setenv LC_CTYPE ru_RU.UTF-8
setenv LC_COLLATE ru_RU.UTF-8
setenv LC_TIME ru_RU.UTF-8
setenv LC_NUMERIC ru_RU.UTF-8
setenv LC_MONETARY ru_RU.UTF-8
setenv LC_MESSAGES ru_RU.UTF-8
setenv LC_ALL ru_RU.UTF-8
|
Добавим в /etc/login.conf:
pgsql:\
:lang=ru_RU.UTF-8:\
:setenv=LC_COLLATE=C:\
:tc=default:
|
Сохраняем, выходим, даем команду: cap_mkdb /etc/login.conf
После этого можно запускать процесс инициализации БД:
[f0s@fileserver] /home/f0s/> su - pgsql
%/usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data
The files belonging to this database system will be owned by user "pgsql".
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".
creating directory /usr/local/pgsql/data ... ok
creating subdirectories ... ok
selecting default max_connections ... 100
selecting default shared_buffers/max_fsm_pages ... 32MB/204800
creating configuration files ... ok
creating template1 database in /usr/local/pgsql/data/base/1 ... ok
initializing pg_authid ... ok
initializing dependencies ... ok
creating system views ... ok
loading system objects' descriptions ... ok
creating conversions ... ok
creating dictionaries ... ok
setting privileges on built-in objects ... ok
creating information schema ... ok
vacuuming database template1 ... ok
copying template1 to template0 ... ok
copying template1 to postgres ... ok
WARNING: enabling "trust" authentication for local connections
You can change this by editing pg_hba.conf or using the -A option the
next time you run initdb.
Success. You can now start the database server using:
/usr/local/pgsql/bin/postgres -D /usr/local/pgsql/data
or
/usr/local/pgsql/bin/pg_ctl -D /usr/local/pgsql/data -l logfile start
|
Далее для удобства можно сделать симлинк, чтобы хранить базу в /var, а
также создадим каталог /var/log/pgsql (с правами pgsql:pgsql), чтобы там
хранить все логи
[f0s@fileserver] //> ln -s /var/db/postgresql /usr/local/pgsql/data
[f0s@fileserver] //> ln -s /var/log/pgsql /var/db/postgresql/pg_log
|
Теперь идем в /usr/local/pgsql/data/pg_hba.conf и меняем нижнюю строку с md5:
host all all 0.0.0.0/0 md5
|
на trust:
host all all 0.0.0.0/0 trust
|
Далее:
[f0s@fileserver] /usr/local/pgsql/bin/> su pgsql
# cd /usr/local/pgsql/bin
# ./postgres &
# ./psql -h localhost postgres pgsql
Password for user pgsql:
Welcome to psql 8.3.3, 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 'pass';
postgres=# \q
# exit
[f0s@fileserver] /usr/local/pgsql/bin/>
|
потом обратно меняем trust на md5 в pg_hba.conf
Теперь можем начать конфигурирование PostgreSQL. Будем редактировать файл /usr/local/pgsql/data/postgresql.conf
# Путь к конфигам:
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 = 16MB
# Количество одновременно подготавливаемых транзакций.
# Для работы 1С этот параметр значения не имеет.
max_prepared_transactions = 5
# Специальная память, используется для сортировки и
# кэширования таблиц, для одного запроса.
# При задании этого параметра следует учитывать количество
# конкурентых запросов, выполняемых в один момент времени.
# При памяти 1–4Gb рекомендуется устанавливать 32–128MB
work_mem = 64MB
# Память использующаяся для операций VACUUM, CREATE INDEX,
# ALTER TABLE и FOREGIN KEY.
# Следует устанавливать большее значение, чем для work_mem.
# Слишком большие значения приведут к использованию свопа.
# При памяти 1–4Gb рекомендуется устанавливать 128–512MB
maintenance_work_mem = 256MB
# Специальный стек для сервера, в идеале он должен совпадать
# с размером стека, выставленном в ядре ОС. Установка большего значения
# чем в ядре может привести к ошибкам. Рекомендуется устанавливать 2–4MB
max_stack_depth = 2MB
# Максимальное количество таблиц, для которых будет отслеживаться
# свободное место. Выставите параметр в соответствии с количеством
# таблиц в вашей базе с запасом.
#max_fsm_relations = 1000
# Количество блоков, для которых будет хранится информация о свободном месте.
# Информация хранится в разделяемой памяти, для каждой записи требуется
# по 6 байт. Использование этого параметра позволяет избежать использования
# VACUUM FULL для базы, достаточно будет VACUUM. Этот параметр должен быть
# не меньше чем 16*max_fsm_relations. Данный параметр задается автоматически
# при создании базы утилитой initdb. Можно задать его и вручную: в качестве
# начального приближения можно взять половину от среднего количества записей,
# изменяемых (UPDATE или DELETE) между запусками команды VACUUM.
max_fsm_pages = 204800
# Данный параметр отвечает за сброс данных из кэша на диск при завершении
# транзакций. Если установить его значение 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 = 512kB
# Передает данные планировщику запросов об объеме памяти, которая используется
# ОС для кэширования файлов, для одного запроса. (Устанавливаем в половину оперативки)
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'
# Включать ли автовакуум, устанавливать on
autovacuum = on
# Пауза между запусками Автовакуума. Зависит от того, как часто обновляются данные
# в ваших таблицах. Может соствлять порядка 5min, по умолчанию 1min
autovacuum_naptime = 5min
# Данный параметр нужен для корректной работы с базой 1С
escape_string_warning = off
# Формат даты
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
# Также необходимо добавить:
default_with_oids = on
stats_row_level = off
# end of file
|
Теперь настраиваем логи. Пишем в /etc/syslog.conf:
!postgres
*.* /var/log/pgsql/postgres.log
|
и в /etc/newsyslog.conf:
/var/log/pgsql/postgres.log pgsql:pgsql 600 5 100 * JC
|
Создаем файл лога и перезапускаем syslogd:
[f0s@fileserver] //> touch /var/log/pgsql/postgres.log
[f0s@fileserver] //> /etc/rc.d/syslogd restart
|
Так как мы собирали из исходников (ибо с версией из портов были проблемы), то нам бы хорошо создать скрипт, который будет автоматом запускать PostgreSQL. Создаем в /usr/local/etc/rc.d/ файл. Назовем его pgsql (права: 555)
#!/bin/sh
# $FreeBSD: ports/databases/postgresql83-server/files/postgresql.in, Exp $
#
# PROVIDE: postgresql
# REQUIRE: LOGIN
# KEYWORD: shutdown
#
# Add the following line to /etc/rc.conf to enable PostgreSQL:
#
# postgresql_enable="YES"
# # optional
# postgresql_data="%%PREFIX%%/pgsql/data"
# postgresql_flags="-w -s -m fast"
# postgresql_initdb_flags="--encoding=utf-8 --lc-collate=C"
# postgresql_class="default"
#
# See %%PREFIX%%/share/doc/postgresql/README-server for more info
#
# This scripts takes one of the following commands:
#
# start stop restart reload status initdb
#
# For postmaster startup options, edit ${postgresql_data}/postgresql.conf
prefix=/usr/local/pgsql
command=${prefix}/bin/pg_ctl
. /etc/rc.subr
load_rc_config postgresql
# set defaults
postgresql_enable=${postgresql_enable:-"NO"}
postgresql_flags=${postgresql_flags:-"-s -m fast"}
postgresql_user=pgsql
eval postgresql_data=${postgresql_data:-"~${postgresql_user}/data"}
postgresql_class=${postgresql_class:-"default"}
postgresql_initdb_flags=${postgresql_initdb_flags:-"--encoding=utf-8 --lc-collate=C"}
name=postgresql
rcvar=`set_rcvar`
command_args="-D ${postgresql_data} ${postgresql_flags}"
extra_commands="reload initdb"
start_cmd="postgresql_command start"
stop_cmd="postgresql_command stop"
restart_cmd="postgresql_command restart"
reload_cmd="postgresql_command reload"
status_cmd="postgresql_command status"
initdb_cmd="postgresql_initdb"
postgresql_command()
{
su -l ${postgresql_user} -c "exec ${command} ${command_args} ${rc_arg}"
}
postgresql_initdb()
{
# эта строчка одна (не поместилось)
su -l -c ${postgresql_class} ${postgresql_user} -c "exec ${prefix}/bin/initdb
${postgresql_initdb_flags} -D ${postgresql_data}"
}
run_rc_command "$1"
|
ну и в /etc/rc.conf нужно добавить две строчки:
postgresql_enable="YES"
postgresql_class="pgsql"
|
После чего можно стартовать posgtresql:
[f0s@fileserver] //> /usr/local/etc/rc.d/pgsql start
[f0s@fileserver] //> ps ax | grep postg
79327 ?? Ss 0:03,62 postgres: writer process (postgres)
79328 ?? Ss 0:02,25 postgres: wal writer process (postgres)
79329 ?? Ss 0:00,58 postgres: autovacuum launcher process (postgres)
79330 ?? Ss 0:00,50 postgres: stats collector process (postgres)
79325 p0- I 0:00,36 /usr/local/pgsql/bin/postgres -D /usr/local/pgsql/data
[f0s@fileserver] //>
|
Запустим 1с от имени usr1cv81:
[f0s@fileserver] /usr/compat/linux/opt/> su usr1cv81
$ cd 1C/v8.1/i386
$ ./ragent
1C:Enterprise 8.1 (8.1.12.101) Server Agent started. <Ctrl+C> to exit.
1C:Enterprise 8.1 (8.1.12.101) Cluster Manager started. <Ctrl+C> to exit.
1C:Enterprise 8.1 (8.1.12.101) Working Process started. <Ctrl+C> to exit.
|
со временем нужно будет поизучать стартовый скрипт - /usr/compat/linux/etc/init.d/srv1cv81, ибо он написан изначально под Линух.. и под фрибсд не работает.
Приступим к настройке 1с на клиенте, а именно к добавлению информационной базы 1с в сервер 1С:Предприятие. Установим 1С 8.1.12.101 под Windows на клиентской машине. Далее весь процесс я представлю на картинках. Там все наглядно показано, куда нажимать и что писать.
Теперь вы можете выбрать базу и войти в 1С:Предприятие. Приятной работы :)
1) Отдельная благодарность Boris Samorodov за порт 1С.
2) http://wiki.etersoft.ru/
3) news://fido7.ru.unix.bsd
PS. Обратите внимание! Все это будет работать без ключа до 13 подключений.. Дальше 1с захочет ключик... Пока что думаю на счет того как внедрить хасп от линуха.
размещено: 2008-11-27,
последнее обновление: 2009-11-06,
автор: f0s
|
|
Комментарии пользователей [25 шт.]