Описание установки сервера 1C 8.2.14.540 на Debian 6.0.3 32bit. Под 64bit все устанавливается аналогично, только используем набор для 64bit систем.
В описании присутствуют ссылки на все необходимые компоненты под 32 и 64bit системы. Во время установки система сама дозагрузит актуальные пакеты и библиотеки
Описание делалось "для себя", поэтому если есть неявные и неописаные особенности установки сервера, пишите, дополню.
Крайне приветствуются мнения и замечания профессионалов в данной области.
32bit = http://slil.by/files/a38a6a346ca2c5f7
64bit = http://slil.by/files/656d03fd7d3209ef
для заливки пакетов и редактирования конфигов удобно использовать FAR + WinSCP плагин
для консоли putty
Поехали...
Обеспечиваем серв доступ к инету
во время установки выбираем разбивку диска целиком
из компонентов.. базовая система и ssh серв
редактируем источники пакетов:
/etc/apt/sources.list
"
deb http://linux.org.by/debian/ squeeze main contrib non-free
deb-src http://linux.org.by/debian/ squeeze main contrib non-free
deb http://security.debian.org/ squeeze/updates main contrib non-free
deb-src http://security.debian.org/ squeeze/updates main contrib non-free
deb http://linux.org.by/debian/ squeeze-updates main
deb-src http://linux.org.by/debian/ squeeze-updates main
"
Изменяем параметры ядра:
root@serv:~# /sbin/sysctl -w kernel.shmmax=662020352
root@serv:~# /sbin/sysctl -w kernel.shmall=662020352
root@serv:~# echo "kernel.shmmax = 662020352" >> /etc/sysctl.conf
root@serv:~# echo "kernel.shmall = 662020352" >> /etc/sysctl.conf
Выполняем перезагрузку:
root@serv:~# shutdown -r now
устанавливаем нужные пакеты:
root@serv:~# aptitude install samba t1utils libt1-5 libicu44 libxslt1.1 ttf-mscorefonts-installer imagemagick libgsf-bin unixodbc-dev
*если пишет, что чтото не нашло, значит изменилась версия пакета... нужно посмотреть какая актуальная на сайте http://www.debian.org/distrib/packages#search_packages в строке поиска вводим например libicu. По резульататам видно, что текущая версия libicu44
Копируем deb пакеты на сервер и устанавливаем sql и 1с:
dpkg -i *
во время установки выбираем: en_US.ISO-8859-1 en_US.UTF-8 ru_RU.CP1251 ru_RU.UTF-8
по умолчанию выбираем "none"
далее..
root@serv:~# ln -s /usr/lib/locale/en_US.utf8 /usr/lib/locale/en_US
root@serv:~# ln -s /usr/share/locale/en /usr/share/locale/en_US
Задаем пароль для локального пользователя postgres:
root@serv:~# passwd postgres
Меняем права на каталог базы данных:
root@serv:~# chown -R postgres:postgres /var/lib/pgsql
Выполняем вход под пользователем postgres
root@serv:~# su postgres
Попадем в PostgreSQL interactive terminal:
postgres@serv:~$ psql
Меняем пароль внутреннему пользователю БД postgres:
postgres=# \password postgres
Выходим из терминала:
postgres=# \q
Правим конфиги:
/var/lib/pgsql/data/pg_hba.conf
Оставляем только это и меняем 192.168.17.0 на нужную подсеть
"
local all all ident
host all all 127.0.0.1/32 md5
host all all 192.168.17.0/24 md5
"
/var/lib/pgsql/data/postgresql.conf
"
# Путь к конфигам:
data_directory = '/var/lib/pgsql/data'
hba_file = '/var/lib/pgsql/data/pg_hba.conf'
ident_file = '/var/lib/pgsql/data/pg_ident.conf'
listen_addresses = '*'
max_connections = 100
# Дополнительный буфер между диском и процессами Postgre SQL.
# Не следует указывать слишком большой объем,
# т.к. еще существует системный Кэш, контролируемый ОС.
# Значения:
# Средний объём данных и 256–512 МБ доступной памяти: 16–32 МБ
# Большой объём данных и 1–4 ГБ доступной памяти: 64–256 МБ
shared_buffers = 512MB
# Буфер под временные объекты, в основном для временных таблиц.
# Можно установить порядка 16 МБ
temp_buffers = 16MB
# Количество одновременно подготавливаемых транзакций.
# Для работы 1С этот параметр значения не имеет.
max_prepared_transactions = 5
# Специальная память, используется для сортировки и
# кэширования таблиц, для одного запроса.
# При задании этого параметра следует учитывать количество
# конкурентых запросов, выполняемых в один момент времени.
# При памяти 1–4Gb рекомендуется устанавливать 32–128MB
work_mem = 256MB
# Память использующаяся для операций VACUUM, CREATE INDEX,
# ALTER TABLE и FOREGIN KEY.
# Следует устанавливать большее значение, чем для work_mem.
# Слишком большие значения приведут к использованию свопа.
# При памяти 1–4Gb рекомендуется устанавливать 128–512MB
maintenance_work_mem = 1024MB
# Специальный стек для сервера, в идеале он должен совпадать
# с размером стека, выставленном в ядре ОС. Установка большего значения
# чем в ядре может привести к ошибкам. Рекомендуется устанавливать 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 = off
# Метод который используется для принудительной записи данных на диск.
# Если 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 = off
# Количество памяти используемое в SHARED MEMORY для ведения транзакционных
# логов. При доступной памяти 1–4GB рекомендуется устанавливать 256–1024kb
wal_buffers = 2048kB
# Передает данные планировщику запросов об объеме памяти, которая используется
# ОС для кэширования файлов, для одного запроса.
# (Устанавливаем в половину оперативки)
effective_cache_size = 4096MB
# Устанавливает глубину статистики по таблицам. БОльшие значения могут
# повысить время выполения команды 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
# Формат даты
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 = 250
# Также необходимо добавить:
default_with_oids = on
escape_string_warning = off
"
Фиксим запуск postgresql серва:
/etc/init.d/postgresql
Вверху скрипта меняем #!/bin/sh на #!/bin/bash
Запускаем postgres:
root@serv:~# /etc/init.d/postgresql start
Изменим права на каталог с 1С:
root@serv:~# chown -R usr1cv82:grp1cv82 /opt/1C
root@serv:~# cd /etc/init.d/
root@serv:~# chown root:root srv1cv82
Запускаем серв 1с:
root@serv:~# /etc/init.d/srv1cv82 start
Конфиг серва 1С:
root@serv:~# /opt/1C/v8.2/i386/utils/config_server
*делает долго и ничего не должно написать
Добавляем серв 1С в автозагрузку:
root@serv:~# update-rc.d srv1cv82 defaults
Проверяем все ли поднялось...
Проверка 1с:
root@serv:~# ps axj | grep v8
1 5152 5152 5152 ? -1 Ssl 1001 0:00 /opt/1C/v8.2/i386/ragent -daemon
5152 5155 5152 5152 ? -1 Sl 1001 0:00 /opt/1C/v8.2/i386/rmngr -port 1541 -range 1560:1591
5152 5167 5152 5152 ? -1 Sl 1001 0:00 /opt/1C/v8.2/i386/rphost -range 1560:1591 -reghost debuh2 -regport 1541 -pid 89468c74-3085-11e1-2d86-080027c1b8f9
1114 5210 5209 1114 pts/0 5209 S+ 0 0:00 grep v8
Проверка PostgreSQL:
root@serv:~# ps axj | grep postgr
5086 5088 5088 5088 ? -1 Ss 26 0:00 postgres: logger process
5086 5090 5090 5090 ? -1 Ss 26 0:00 postgres: writer process
5086 5091 5091 5091 ? -1 Ss 26 0:00 postgres: wal writer process
5086 5092 5092 5092 ? -1 Ss 26 0:00 postgres: autovacuum launcher process
5086 5093 5093 5093 ? -1 Ss 26 0:00 postgres: stats collector process
1114 5212 5211 1114 pts/0 5211 S+ 0 0:00 grep postgr
Все нормально, linux серв готов.
Далее устанавливаем панель администрирования в windows
Запускаем "Администрирование серверов 1С Предприятия"
Создаем центральный сервер 1С. В имени указываем ip нашего сервера
Создаем новый кластер. Можно просто нажать ОК
Создаем новый рабочий сервер. В поле компьютер указываем ip нашего сервера
Создаем новый рабочий процесс. Можно просто нажать ОК
Добавим новую информационную базу. Имя например test. Сервер баз данных ip нашего сервера. Тип СУБД PostgreSQL. База данных, например test. Пользователь postgres. Пароль тот который указали при смене пароля для postgres. Поставить галку на создать базу в случае ее отсутствия.
Далее окно должно пропасть.
Готово :) Можно кричать УРА!!!