Это старая версия документа!
Содержание
1C Предприятие v8
Серверный вариант
Настройка локали
Вкратце: локаль на сервере должна быть русской, т.к. 1С ориентируется на дефолтную локаль системы, при чтении файлов в однобайтовой кодировке. Процесс по шагам:
- добавим строку:
- /etc/locale.gen
ru_RU.UTF-8 UTF-8
- выставим локаль по-умолчанию (важно!):
- /etc/default/locale
LANG=ru_RU.UTF-8
- генерируем локали:
locale-gen && update-locale
Установка PostgreSQL
Установка пакетов
Устанавливаем пакеты движка баз данных PostgreSQL:
- добавляем секции
contrib non-free
в/etc/apt/sources.list
- устанавливаем зависимости:
apt-get --no-install-recommends install libicu44 libxslt1.1
- скачиваем Etersoft PostgreSQL пропатченный для поддержки 1C с сайта «Этерсофт» ftp://updates.etersoft.ru/pub/Etersoft/Postgres@Etersoft/stable/Debian/
- увеличиваем системные лимиты памяти: 1)
echo "kernel.shmmax = 331010176" >> /etc/sysctl.d/shm.conf echo "kernel.shmall = 331010176" >> /etc/sysctl.d/shm.conf sysctl -p /etc/sysctl.d/shm.conf
- устанавливаем скачанные пакеты:
dpkg -i *.deb
Настройка движка
Для настройки понадобятся файлы postgresql.conf
и pg_hba.conf
:
- настраиваем конфигурационный файл PostgreSQL 2)
- /var/lib/pgsql/data/postgresql.conf
listen_addresses = '*' # what IP address(es) to listen on; max_connections = 100 # (change requires restart) shared_buffers = 64MB # min 128kB temp_buffers = 16MB # min 800kB work_mem = 128MB # min 64kB maintenance_work_mem = 256MB # min 1MB fsync = off # turns forced synchronization on or off full_page_writes = off # recover from partial page writes wal_buffers = 256kB # min 32kB effective_cache_size = 1024MB log_destination = 'stderr' # Valid values are combinations of logging_collector = on # Enable capturing of stderr and csvlog log_directory = 'pg_log' # directory where log files are written, log_filename = 'postgresql-%a.log' # log file name pattern, log_truncate_on_rotation = on # If on, an existing log file of the log_rotation_age = 1d # Automatic rotation of logfiles will log_rotation_size = 0 # Automatic rotation of logfiles will autovacuum = on # Enable autovacuum subprocess? 'on' autovacuum_naptime = 5min # time between autovacuum runs datestyle = 'iso, dmy' lc_messages = 'ru_RU.UTF-8' # locale for system error message lc_monetary = 'ru_RU.UTF-8' # locale for monetary formatting lc_numeric = 'ru_RU.UTF-8' # locale for number formatting lc_time = 'ru_RU.UTF-8' # locale for time formatting default_text_search_config = 'pg_catalog.russian' max_locks_per_transaction = 200 # min 10 default_with_oids = on escape_string_warning = off
- для тестового запуска устанавливаем нулевой уровень безопасности сетевого доступа
- /var/lib/pgsql/data/pg_hba.conf
local all all ident host all all 0.0.0.0/0 md5
- закомментируем бред в файле
- /var/lib/pgsql/.bash_profile
[ -f /etc/profile ] && source /etc/profile CONFIG=/etc/sysconfig/postgresql PGDATA=/var/lib/pgsql/data [ -f "$CONFIG" ] && . "$CONFIG" #if [ -f /etc/debian_version ]; then # grep 'en_US en_US.UTF8' /etc/locale.alias || locale-gen en_US && dpkg-reconfigure locales #fi export PGDATA
- делаем ссылку на директорию с лог-файлами
ln -s /var/lib/pgsql/data/pg_log /var/log
Init-скрипт
Для нормального запуска в Debian необходимо доработать init-скрипт:
- добавляем в начало скрипта строки
- /etc/init.d/postgresql
#!/bin/bash ### BEGIN INIT INFO # Provides: postgresql # Required-Start: $network $remote_fs $syslog # Required-Stop: $network $remote_fs $syslog # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Description: PostgreSQL database ### END INIT INFO ...
- добавляем в загрузку с учётом зависимостей
update-rc.d -f postgresql remove update-rc.d postgresql defaults
- запускаем сервер баз данных
/etc/init.d/postgresql start
- проверяем что демоны запустились и слушают порты
Пароли
Устанавливаем пароли:
- блокируем пароль для системного пользователя
usermod --lock postgres
- устанавливаем пароль для пользователя баз данных
su - postgres psql alter user postgres with password 'PASSWORD'; \q exit
Резервное копирование
В комплекте с PostgreSQL идёт утилита резервного копирования pg_dumpall
, которая по умолчанию делает резервные копии всех баз. Используя её и систему резервного копирования dirvish
можно настроить ежедневного резервное копирование:
- /etc/dirvish/postgresql_backup
#!/bin/bash su --command '/usr/bin/pg_dumpall | gzip > /opt/postgresql/dumpall.gz' --login postgres
Установка сервера 1C
Установка пакетов
Устанавливаем сервер 1С предприятия:
- устанавливаем зависимости:
apt-get install imagemagick libgsf-1-114 unixodbc ttf-mscorefonts-installer t1utils libt1-5
- скачиваем дистрибутив http://users.v8.1c.ru/version.jsp?id=Platform82&ver=8.2.16.362
- распаковываем и устанавливаем:
dpkg -i *.deb
chown -R usr1cv82. /opt/1C
- запускаем скрипт проверки и настройки сервера 1C. В случае успеха на stdout не должно выводиться ничего:
/opt/1C/v8.2/i386/utils/config_server
- если при запуске 1С проявится ошибка Ошибка инициализации графической подсистемы, то устанавливаем пакет ttf2pt1 (нет в репозиториях Debian) 3)
wget "http://altruistic.lbl.gov/mirrors/ubuntu/pool/universe/t/ttf2pt1/ttf2pt1_3.4.4-1.3_i386.deb" && sudo dpkg -i ttf2pt1*_i386.deb
Настройка 1С
Настраиваем ведение логов: 4)
- создаём каталог
mkdir /var/log/1c && chown usr1cv82. /var/log/1c
- создаём конфиг
- /opt/1C/v8.2/i386/conf/logcfg.xml
<config xmlns="http://v8.1c.ru/v8/tech-log"> <dump create="true" location="/var/log/1c/dumps" prntscrn="true" type="2"/> <log history="72" location="/var/log/1c"> <event> <eq property="name" value="EXCP"/> </event> <event> <eq property="name" value="EXCPCNTX"/> </event> <event> <eq property="name" value="PROC"/> </event> <event> <eq property="name" value="ADMIN"/> </event> <event> <eq property="name" value="MEM"/> </event> <event> <eq property="name" value="LEAKS"/> </event> <property name="all"/> </log> </config>
Init-скрипт
Для нормального запуска в Debian необходимо доработать init-скрипт:
- добавляем в начало скрипта строки
- /etc/init.d/srv1cv82
#!/bin/bash ### BEGIN INIT INFO # Provides: srv1cv82 # Required-Start: $network $remote_fs $syslog postgresql # Required-Stop: $network $remote_fs $syslog postgresql # Should-Start: apache2 # Should-Stop: apache2 # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Description: 1C v8 Enterprise System ### END INIT INFO ...
- добавляем в загрузку с учётом зависимостей
update-rc.d -f srv1cv82 remove update-rc.d srv1cv82 defaults
- перезапускаем сервер 1C
- проверяем что демоны запустились и слушают порты
Дополнительные источники: