gifts2017

Установка сервера 1C 8.2.14.540 + Postgre 9.0 на Debian 6.0 32/64bit

Опубликовал Юрий Шевчик (NetHorror) в раздел Администрирование - Системное

Описание установки сервера 1C 8.2 на Debian 6.0 32bit

Описание установки сервера 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. Поставить галку на создать базу в случае ее отсутствия.

Далее окно должно пропасть.

Готово :) Можно кричать УРА!!!

См. также

PowerTools от 1 000
Подписаться Добавить вознаграждение
Комментарии
1. Taras Варварич (itar59) 28.12.11 16:49
2. Алексей Ситников (SiAl) 04.01.12 11:25
Побольше новых HowTo, полезных и интересных. Ставлю плюс.
NetHorror; +1 Ответить
3. Евгений Сосна (pumbaE) 05.01.12 13:07
Допишите:
Создание, восстановление backup, autovacuum, разностные bаckup-ы.
Установку winbind и настройку, что не писать ip адрес в подключении, а имя.
4. Юрий Шевчик (NetHorror) 05.01.12 15:38
(3) pumbaE, у меня задача не стояла это все делать. если вы знаете как это сделать, напишите мне в личку, я добавлю в статью
5. Никита Коротаев (bforce) 08.01.12 02:40
А что насчет аппаратного (программного) ключа защиты? Его ставили?
6. Харьков Харьков (xaker1C) 10.01.12 17:54
Интересная инструкция когда-то ставил подобные вещи вроде все работало и ключи защиты тоже
Но луще всего эти вещи роаботают в Windows (стабильно и надежно ) это не реклама Windows
проверено на опыте
NetHorror; +1 Ответить
7. Андрей Алдо (stinga) 11.01.12 20:06
Огромное спасибо материал очень пригодился.
8. Юрий Шевчик (NetHorror) 11.01.12 20:30
(5) bforce, не ставил. в инете есть описание установки. если не найдете, могу поискать
9. Юрий Шевчик (NetHorror) 11.01.12 20:31
10. Олег Кострицын (recon) 20.01.12 21:09
А зачем samba на сервере postgre ? в описании к пакетам она не заявлена ни со стороны 1С ни со стороны Postgre
11. Юрий Шевчик (NetHorror) 20.01.12 21:31
(10) recon, чтобы серв на винде мог обнаружить серв на дебиане по имени
12. Сабир Абдурахманов (Nigelist) 29.01.12 09:31
(11) NetHorror, самба совсем не обязательна, достаточно прописать в hosts имена серверов. Или настроить DNS сервер.
13. Илья Кабышев (BAPPKAH) 01.02.12 23:28
Классная статейка, очень пригодилась!
14. Hamlet (Hamlet) 01.03.12 20:17
А что за "расистский" файловый сервер?
"Только для белых" - сябров?
15. VictorK (VictorK) 17.03.12 12:40
Очень полезная статья. В настоящий момент решаю задачи по установке сервера на Debian. В статье нашел ответы практически на все свои вопросы. Огромное спасибо материал очень пригодился. Плюс!
16. Sergey L (svl60) 22.03.12 15:10
PSQL поставил по умолчанию т.е. конфигурационные файлы не менял. Базу создал, можно из wine без windows.
не ставил. в инете есть описание установки. если не найдете, могу поискать
Готово :) Можно кричать УРА!!!

А как быть с "Не найдена лицензия. Не обнаружен ключ защиты программы или полученная программная лицензия!"
Спасибо!
17. mike dedov (dedtver) 08.07.12 10:04
При установке важно иметь версию Postgres которая работает. Выложите рабочий Postgres x 32 и x 64, чтобы не тратить время на грабли.
18. mike dedov (dedtver) 29.07.12 00:37
Поделитесь конфигурацией жедеза и количеством очков в тесте гилева. У меня
win 2008x64 + postgres 8 x86 + 1c x 86 / debian 6 x64 + postgres 8 x86 +1c x 86
от перестановки софта результат не меняется. более старое железо показывает больше очков.
i7 960/12 ddr3/ мать Asus X58/ SSD SATA 3 raid0/ - 21 попугай
Core2Duo 2.6/ 4 ddr 2/ Asus P5 / SSD SATA 2/ -24 попугая
парадокс