|
|
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с захочет ключик... Пока что думаю на счет того как внедрить хасп от линуха.
Ссылка на обсуждение: http://forum.lissyara.su/viewtopic.php?t=6198.
размещено: 2008-11-27,
последнее обновление: 2009-11-06,
автор: f0s
|
|
|
|
2014-07-27, lissyara
gmirror
Удалённое создание софтверного зеркала средствами gmirror, на диске разбитом с использованием gpart. Использование меток дисков для монтирования разделов.
2013-08-20, zentarim
Scan+Print server FreeBSD 9
Настройка сервера печати и сервера сканирования под управлением операционной системы FreebSD 9 для МФУ Canon PIXMA MP540
2011-11-20, BlackCat
Разъём на WiFi-карту
Делаем съёмной несъёмную антену на WiFi-карте путём установки ВЧ-разъёма
2011-09-14, manefesto
Настройка git+gitosis
Настройка системы контроля версия исходного кода в связке git+gitosis+ssh
2011-08-14, zentarim
Wi-FI роутер + DHCP + DNS
Настройка Wi-Fi роутера на Freebsd 8 + DNS сервер + DHCP сервер: чтобы Wi-Fi клиенты были в одной подсети с проводными, проводные и беспроводные клиенты получали адреса автоматически по DHCP, кэширующ
2011-06-15, -ZG-
Охранная система на FreeBSD+LPT
В этой статье описана попытка реализации простой охранной системы на базе FreeBSD с подключением к ней охранных устройтсв на LPT порт и видеорегистрацией.
2011-03-13, terminus
ng_nat
Описание работы ng_nat, практическое использование, достоинства и недостатки в сравнении с ipfw nat
2011-02-20, Капитан
Nagios+Digitemp
Статья описывает создание системы оповещения о превышении температуры в специальных помещениях на основе Nagios с использованием программы Digitemp.
2011-02-17, Le1
Zyxel Configuration
Скрипт для массового изменения конфига свичей Zyxel. Берет из файла iplist список ip-шек, заходит последовательно на каждый и выполняет комманды из файла commands, записывая происходящее в лог файл.
2011-02-16, fox
hast carp zfs ucarp cluster
HAST (Highly Available Storage), CARP, UCARP, ZFS, Cluster настройка и одаптация плюс личные размышления…
2011-02-04, BlackCat
Восстановление ZFS
История о том, как был восстановлен развалившийся RAIDZ ZFS-пул (перешедший в FAULTED) с помощью скотча и подручных средств. Или о том, какие приключения ожидают тех, кто не делает резервных копий.
2011-02-03, Капитан
1-Wire
Статья описывает самостоятельное изготовление контроллера DS9097 для съёма показаний с датчиков температуры DS1820 с помощью программы Digitemp.
2011-01-28, Капитан
Температура в серверной
Статья описывает построение системы наблюдения за температурой в помещении серверной с использованием программы Digitemp и выводом графиков в MRTG
2011-01-21, m4rkell
Syslog server
Как то буквально на днях, у нас завалилось, что то в еве) или не в еве не суть. Суть в том, что когда захотели снять логи с хостов esx обнаружили, что хранят эти негодяи логии только за последнии сутк
2011-01-07, lissyara
Canon/gphotofs
Монтирование цифровых фотоаппаратов Canon (PTP) как файловой системы, автоматизация этого процесса через события devd и внешние скрипты.
2010-12-13, Al
IPSec
Описание принципов работы IPSEC и способов аутентификации.
2010-12-07, manefesto
FreeBSD on flash
Было принято решении переехать на USB Flash и установить минимальный джентельменский набор для работы своего роутера. Делаем =)
2010-12-05, Fomalhaut
root ZFS, GPT
Инструкция по установке FreeBSD с использованием в качестве таблицы разделов GPT и в качестве основной файловой системы - ZFS
2010-09-05, Cancer
Настройка аудиоплеера на ximp3
Цели: Простенький аудиоплеер, для того что бы тетя продавец в магазине утром пришла нажала на кнопку Power и заиграла в зале музыка, так же был доступ по сети, общая шара куда можно заливать музыку, к
2010-08-31, Cancer
Установка и настройка OpenVPN
На днях появилась задача - объединить головной офис и 3 филиала в одну сеть через интернет посредством OpenVPN, чтобы люди могли подключаться через RDP к базам 1С на серверах.
2010-08-25, manefesto
freebsd lvm
Использование linux_lvm для работы с LVM разделами из-под FreeBSD. Проблемы которые возники при монтирование lvm раздела
2010-04-30, gonzo111
proftpd file auth"a
Proftpd - квоты и авторизация из файлов, без использования базы данных и/или системных пользователей
2010-04-22, lissyara
tw_cli
Пошаговая инструкция по восстановлению RAID на контроллере 3ware, из которого выпал один диск. Настройка мониторинга состояния рейда и отчётов о его состоянии на email.
2010-04-14, fox
MySQL Master+Master
MySQL (Master Master) and (Master Slave) Как настроить репликацию…
2010-03-09, terminus
DNS zones
Краткий ликбез про управление DNS зонами. Примеры проведения делегирования прямых и обратных DNS зон.
2010-03-09, aspera
Squid+AD (group access)
Настройка прокси сервера SQUID с автроризацией пользователей в AD. Разделение пользователей на группы
2010-03-02, BlackCat
Шлюз: Часть 4
Настройка дополнительных сервисов: синхронизация времени (OpenNTPD), клиент DynDNS.org.
2010-03-01, BlackCat
Шлюз: Часть 3
Настройка DHCP и DNS серверов для работы внутри частной сети, c поддержкой внутренних (частных зон) DNS, а так же интеграция DHCP и DNS сервисов.
2010-03-01, BlackCat
Шлюз: Часть 2
Конфигурация МСЭ pf для проброса портов с изменением порта назначения и без, а так же поддержки активного режима FTP и ограничения максимального размера сегмента
2010-03-01, BlackCat
Шлюз: Часть 1
Быстрая настройка шлюза/маршрутизатора с установлением PPPoE-соединения, поддержкой NAT и DNS-forwarding.
2010-02-23, Morty
darkstat
Простая считалка траффика, со встроенным веб-сервером. Очень маленькая, может делать отчеты трафика по хостам, портам, протоколам, а также строить графики
2010-01-23, gonzo111
squid+sams+sqstat
Пилим squid и sams - примеры конфигов с объяснениями. Установка SqStat.
2009-12-19, schizoid
mpd5 + radius + ng_car + Abills
Настройка pppoe-сервера с биллинговой системой Abills и шейпером ng_car
2009-11-16, lissyara
UFS->ZFS
Удалённая миграция с UFS на ZFS. Загрузка с раздела zfs. Настройка для работы с малым количеством памяти под архитектурой i386.
2009-11-13, gx_ua
fusefs-ntfs
Установка, настройка и использование fusefs-ntfs, драйвер NTFS, предназанченного для монтирования NTFS разделов под FreeBSD
2009-11-12, Morty
LiveCD
Создание собственного LiveCD с необходимыми вам изменениями, автоматизирование данного процесса, а так же вариант скоростной сборки СД.
2009-09-27, lissyara
Samba как PDC
Контроллер домена - аналог M$ NT4 домена под самбой, без использования LDAP и прочей хиромантии. Просто и быстро =)
2009-08-30, terminus
ipfw nat
Подробное руководство по ipfw nat, сложные случаи конфигурации.
2009-08-24, levantuev
HotSpot
Установка Hotspot системы в общественное заведение.
2009-08-18, lissyara
diskless
Создание бездисковых терминалов под управлением FreeBSD - с загрузкой по сети. Используются для старта rdesktop и подключения к виндовому серверу терминалов.
2009-07-29, BAV_Lug
Видеонаблюдение
Настройка бюджетного варианта видеонаблюдения на удаленном объекте
2009-07-22, Cancer
OpenLDAP адресная книга
Настройка и создание адресной книги на базе OpenLDAP + phpLDAPadmin
2009-06-30, SergeySL
AimSniff
Руководство по созданию системы мониторинга ICQ-переписки на базе AimSniff, использующей базу данных MySQL для хранения и Web-интерфейс WAS (Web Aim Sniff) для просмотра перехваченных сообщений
2009-06-25, atrium
Управление правами доступа
Полномочия пользователей и файлов, принадлежащих им, формирует концепцию ОС UNIX.
2009-06-16, DNK
Exim+PgSQL
Установка почтовой системы exim+pgsql на FreeBSD 7.1
2009-05-30, mvalery
HDD(mbr) -> HDD(gpt)
Как разбить диск размером более 2TB на разделы, сделать загрузочным, а затем перенести на него информацию с рабочей системы — донора.
2009-05-22, Cancer
SendXMPP
Отправка сообщений на Джаббер сервер по средствам SendXMPP
2009-05-11, Raven2000
Network UPS Tools
Network UPS Tools представляет собой набор программ, которые обеспечивают общий
интерфейс для мониторинга и администрирование UPS оборудования.
2009-04-29, m0ps
IPSEC over GRE with RIP
Пример IPSEC over GRE и динамическим роутингом (RIP), с ADSL в качестве последней мили на оборудовании Cisco.
2009-04-24, WhiteBear777
qemu network
Появилась необходимость поставить на БСД эмулятор(qemu) и настроить в качестве гостевой ОС Windows XP, предоставив ей выход в локалку и в сеть internet...
2009-04-22, vp
freebsd + huawei 162 gsm modem
В статье описывается простой способ подключения модема huawei 162 к freebsd + первичная настройка smstools
2009-04-12, mvalery
Мониторинг RAID
Мониторинг из командной строки RAID компаний AMCC 3ware, HighPoint, Dell (Perc 5/i и PERC 6/i) и LSI (MegaRAID SAS 8408E и SAS1078)
2009-04-09, texnotronic
RAID1 via LAN
Функциональности DRBD во FreeBSD можно добиться примонтировав блочное устройство по сети при помощи GEOM Gate (ggate) и добавив его в зеркало с локальным диском средствами gmirror.
2009-04-03, Raven2000
Оптимизация хоста для CMS
В последнее время на старый и не очень быстрый ПК (Celeron 800 RAM 256) мною было навешано с десяток сайтов и некоторые были из серии тяжелых CMS. И так нам дано FreeBSD 7.1 и ~10 сайтов/CMS.
2009-04-01, atrium
VSFTPD + AD && MySQL
Настройка самого безопасного сервера FTP - vsftpd.
2009-03-31, Dron
Peoplenet + C-motech (3G)
Описание подключения к сети Peoplenet посредством 3G модема С-motech CCu-650U на FreeBSD
2009-03-25, lissyara
mod_auth_external
mod_auth_external - авторизация пользователей в apache c помощью внешней программы - например, системных пользователей.
2009-03-24, gx_ua
Lightsquid
Частично lightsquid может заменить sams: быстрая и простая инсталляция, быстрый парсер, cgi скрипт для динамической генерации отчета, нет привязки к БД, различные графические отчеты, мультиязычный инт
2009-03-18, LHC
Установка Zabbix-1.6
Установка и первоначальная настройка системы мониторинга Zabbix (версия 1.6)
2009-03-16, Cancer
Принт-Сервер Samba+LPD & AD
Простейшая настройка Принт-Сервера на FreeBSD используя Samba+LPD & AD
2009-03-04, Mad_caterpillar
ipsec_vpnc
Настройка VPN IPSec концентратора на FreeBSD 6.2 для клиента cisco с использованием ipsec-tools и авторизацией в активной директории
2009-02-18, Andy
Free-SA
Программа анализирует log файлы Squid'а и формирует по ним отчет.
2009-02-02, Cancer
Openfire Jabber Server
Установка Jabber сервера на примере Openfire
2009-01-28, Cancer
mpd5 + сжатие и шифрование
Установка VPN сервера mpd5 + сжатие и шифрование
2009-01-26, vp
freebsd + webcamera
Подключение и настройка вебмкамеры для работы с freebsd на примере Logitech QCam STX
2009-01-10, Grishun_U_S
конфиг для офисов
В статье разбирается конфиг для офиса, пользователи которого имеют строгие ограничения по портам. Заворачиваем www трафик на транспарентный прокси, а остальное NAT'им. Эффективно делим канал интернет
2008-12-27, Storoge
sftp+chroot
Возникла необходимость дать возможность нескольким пользователям заливать на сервер контент для своих сайтов через sftp, чтобы при этом не страдала безопасность.
2008-12-13, Morty
PurefFTPd
Администрирование pureftpd-сервера с помощью вэб интерфейса Usermanager
2008-12-11, lissyara
termlog
Небольшая простая утилита, использующаяся для записи в файл всего что происходит на терминалах системы. Полезно, когда есть доступ по ssh у тех, кому не очень доверяете. Паранойя - это не плохо =)
2008-11-26, Cancer
SQUID+SAMS +Rejik-(ADLDAP)
Установка Прокси сервера SQUID с красивой мордой SAMS и редиректором REJIK,для учета кто куда ходил + графики в pdf,РЕЖИК собственно рубит банеры и запрещает пользователям ходить на запрещенные сайты,
|
Комментарии пользователей [25 шт.]