все делалось на свеже поставленной 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 клиентов включительно описание подключения клиентов напишу позже
ага, консоль напоминает. фряшники совсем одичали. п.с. правило оформления статей читал? Вот пример структуры статьи: Цитата: [Название статьи] - заголовок статьи (альтернативное название - расшифровка названия) - по усмотрению. [Вступление] или [Intro] - кратко, что вас побудило написать статью и т.д [Используемые термины] - кратко, наиболее важные - по усмотрению. [Подготовка и Постановка задачи] - тут Вы указываете необходимые инструменты (софт, железо и т.п.) [Реализация или Практическое использование] - тут Вы можете показать на конкретном примере, что излож. материал работает. [Заключение или Итоги] - тут Вы пишите, например, замечания по статье, рекомендации, благодарности и т. п. [Ссылки] - линки по теме, на используемый материал.
Не хватает ссылок для скачивания файлов (на TPB ничего нет) А также недостаточно инфы о подключении. Просто если такие статьи пишутся, то они пишутся для людей непонимающих, а таким сложно сразу разобраться даже с подключением, ни разу не видев консоль 1с-ки
На ТРВ только версия под окошки! вот результат поиска http://thepiratebay.org/search/1c%208.1.13.41%20/0/99/300