Инструменты пользователя

Инструменты сайта


faq:linux:1c

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слеваПредыдущая версия
Следующая версия
Предыдущая версия
Следующая версияСледующая версия справа и слева
faq:linux:1c [2014-02-11 14:27] – [Установка PostgreSQL] nikolayfaq:linux:1c [2019-09-14 22:20] – 1С Предприятие 8.3 nikolay
Строка 1: Строка 1:
 ====== 1C Предприятие v8 ====== ====== 1C Предприятие v8 ======
- +===== Настройка локали =====
-===== Серверный вариант ===== +
- +
-==== Настройка локали ====+
 Вкратце: локаль на сервере должна быть русской, т.к. 1С ориентируется на дефолтную локаль системы, при чтении файлов в однобайтовой кодировке. Процесс по шагам: Вкратце: локаль на сервере должна быть русской, т.к. 1С ориентируется на дефолтную локаль системы, при чтении файлов в однобайтовой кодировке. Процесс по шагам:
   * добавим строку: <file bash /etc/locale.gen>ru_RU.UTF-8 UTF-8</file>   * добавим строку: <file bash /etc/locale.gen>ru_RU.UTF-8 UTF-8</file>
Строка 9: Строка 6:
   * генерируем локали: <code bash>locale-gen && update-locale</code>   * генерируем локали: <code bash>locale-gen && update-locale</code>
  
-==== Установка PostgreSQL ==== +====PostgreSQL ===== 
-=== Установка пакетов ==+==== Установка ==== 
-Устанавливаем пакеты движка баз данных PostgreSQL:  +Добавляем репозиторий фирмы [[https://postgrespro.ru|Postgres Professional]]: 
-  * добавляем секции ''contrib non-free'' в ''/etc/apt/sources.list'' +<file bash> 
-  * устанавливаем зависимости: <code bash>apt-get --no-install-recommends install libicu44 libxslt1.1</code+PGPRO=1c.postgrespro.ru 
-  скачиваем Etersoft PostgreSQL пропатченный для поддержки 1C с сайта "Этерсофт" ftp://updates.etersoft.ru/pub/Etersoft/Postgres@Etersoft/stable/Debian/ +echo "deb http://${PGPRO}/deb/ $(lsb_release -cs) main" > \ 
-  * увеличиваем системные лимиты памяти: ((http://www.postgresql.org/docs/8.2/static/kernel-resources.html)) <code bash>+ /etc/apt/sources.list.d/${PGPRO}.list 
 +wget --quiet -O - http://${PGPRO}/keys/GPG-KEY-POSTGRESPRO-1C | apt-key add - 
 +</file> 
 + 
 +Устанавливаем пакеты движка баз данных PostgreSQL с патчами для 1С: 
 +<file bash> 
 +apt update 
 +apt install postgresql-pro-1c-9.
 +</file
 + 
 +==== Настройка ==== 
 +Увеличиваем системные лимиты памяти: ((http://www.postgresql.org/docs/8.2/static/kernel-resources.html)) <code bash>
 echo "kernel.shmmax = 331010176" >> /etc/sysctl.d/shm.conf echo "kernel.shmmax = 331010176" >> /etc/sysctl.d/shm.conf
 echo "kernel.shmall = 331010176" >> /etc/sysctl.d/shm.conf echo "kernel.shmall = 331010176" >> /etc/sysctl.d/shm.conf
 sysctl -p /etc/sysctl.d/shm.conf sysctl -p /etc/sysctl.d/shm.conf
 </code> </code>
-  * устанавливаем скачанные пакеты: <code bash>dpkg -i *.deb</code> 
  
-=== Init-скрипт === +Настроим доступ по сети только с локальной машины (если кластер 1С будет на ней же): 
-Для нормального запуска в Debian необходимо доработать init-скрипты+<file bash /etc/postgresql/9.6/main/postgresql.conf>  
-  * добавляем в начало скрипта строки <file bash /etc/init.d/postgresql> +listen_addresses = '127.0.0.1         what IP address(es) to listen on;
-#!/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 +
-# Description:    PostgreSQL database +
-##END INIT INFO+
 ... ...
 </file> </file>
-  * добавляем в начало скрипта строки <file bash /etc/init.d/postgresql.outformat> 
-#!/bin/bash 
-### BEGIN INIT INFO 
-# Provides:       postgresql.outformat 
-# Required-Start: $network $remote_fs $syslog 
-# Required-Stop:  $network $remote_fs $syslog 
-# Default-Start:  2 3 4 5 
-# Default-Stop:   0 1 6 
-# Description:    Helper for postgreSQL database 
-### END INIT INFO 
-... 
-</file> 
-  * добавляем в загрузку с учётом зависимостей <code bash> 
-update-rc.d -f postgresql remove 
-update-rc.d postgresql defaults 
-</code> 
-  * создаем пустую базу данных <code>/etc/init.d/postgresql initdb</code>  
  
-=== Настройка движка === +Перезапускаем сервер баз данных <code bash>systemctl restart postgresql.service</code>
-Для настройки понадобятся файлы ''postgresql.conf'' и ''pg_hba.conf'': +
-  * настраиваем конфигурационный файл PostgreSQL ((http://www.lissyara.su/archive/1c_8.2+postgresql/)) <file bash /var/lib/pgsql/data/postgresql.conf +
-listen_addresses = '127.0.0.1'          # 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 +
-</file> +
-  * закомментируем бред в файле <file bash /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 +
-</file> +
-  * делаем ссылку на директорию с лог-файлами <code bash>ln -s /var/lib/pgsql/data/pg_log /var/log</code>+
  
-=== Пароли === +Устанавливаем пароль для пользователя баз данных
-Устанавливаем пароли: +<file bash>
-  * блокируем пароль для системного пользователя <code bash>usermod --lock postgres</code> +
-  * устанавливаем пароль для пользователя баз данных <code bash>+
 su - postgres su - postgres
 psql psql
Строка 108: Строка 44:
 \q \q
 exit exit
-</code> 
- 
-=== Сетевой доступ === 
-  * настраиваем уровень доступа к базам данных ((http://pg1c.ru/?page_id=173)) <file bash /var/lib/pgsql/data/pg_hba.conf> 
-# "local" is for Unix domain socket connections only 
-local   all             all                             md5 
-# IPv4 local connections: 
-host    all             all     127.0.0.1/32            md5 
-host    all             all     192.168.0.0/24          md5 
-# IPv6 local connections: 
-#host    all         all         ::1/128               ident 
-#host    all         all         0.0.0.0/            md5 
 </file> </file>
-  * перезапускаем сервер баз данных <code bash>/etc/init.d/postgresql restart</code> 
-  * проверяем что демоны запустились и слушают порты 
  
-=== Резервное копирование === +===== Установка сервера 1C ===== 
-В комплекте с PostgreSQL идёт утилита резервного копирования ''pg_dumpall'', которая по умолчанию делает резервные копии всех баз. Используя её и систему резервного копирования ''dirvish'' можно настроить ежедневного резервное копирование: +==== Установка пакетов ====
-<file bash /etc/dirvish/postgresql_backup> +
-#!/bin/bash +
-su --command '/usr/bin/pg_dumpall | gzip > /opt/postgresql/dumpall.gz' --login postgres +
-</file> +
-==== Установка сервера 1C ==== +
-=== Установка пакетов ===+
 Устанавливаем сервер 1С предприятия: Устанавливаем сервер 1С предприятия:
-  * устанавливаем зависимости: <code bash>apt-get install imagemagick libgsf-1-114 unixodbc ttf-mscorefonts-installer t1utils libt1-5</code> +  * скачиваем дистрибутив платформы [[https://releases.1c.ru/total|1С Преприятие]] 
-  * скачиваем дистрибутив http://users.v8.1c.ru/version.jsp?id=Platform82&ver=8.2.16.362 +  * распаковываем и устанавливаем: <code bash>dpkg -i 1c-enterprise83-*.deb</code> 
-  * распаковываем и устанавливаем: <code bash>dpkg -i *.deb</code> +  * устанавливаем зависимости: <code bash>apt install --no-install-recommends ttf-mscorefonts-installer \ 
-  * <code bash>chown -R usr1cv82. /opt/1C</code> + imagemagick t1utils libgsf-bin libodbc1</code>
-  * запускаем скрипт проверки и настройки сервера 1C. В случае успеха на stdout не должно выводиться ничего: <code bash>/opt/1C/v8.2/i386/utils/config_server</code> +
-  * если при запуске 1С проявится ошибка **//Ошибка инициализации графической подсистемы//**, то устанавливаем пакет ttf2pt1 (нет в репозиториях Debian) ((http://pg1c.ru/?page_id=121)) <code bash>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</code> +
-  * проверяем, все ли пакеты установлены ((http://linuxforum.ru/viewtopic.php?id=11116)) <code bash>/opt/1C/v8.2/i386/utils/config_server</code>+
  
-=== Настройка 1С ===+Если используется аппаратный ключ защиты, то нужно скачать и установить с сайта  
 +[[https://sentinelcustomer.gemalto.com/sentineldownloads|Sentinel]] [[https://supportportal.gemalto.com/csm?id=kb_article_view&sys_kb_id=ab4582e5db5ea78cfe0aff3dbf96195b&sysparm_article=KB0018314|драйвер аппаратных ключей HASP]]. Распаковать архив и установить 32 или 64 битный deb-пакет. 
 + 
 +==== Настройка 1С ====
 Настраиваем ведение логов: ((http://specnix.ru/1c/install-1c-on-the-debian-gnulinux)) Настраиваем ведение логов: ((http://specnix.ru/1c/install-1c-on-the-debian-gnulinux))
-  * создаём каталог <code bash>mkdir /var/log/1c && chown usr1cv82. /var/log/1c</code+  * создаём каталоги 
-  * создаём конфиг <file xml /opt/1C/v8.2/i386/conf/logcfg.xml><config xmlns="http://v8.1c.ru/v8/tech-log"> +<file bash> 
-        <dump create="true" location="/var/log/1c/dumps" prntscrn="true" type="2"/>+mkdir /var/log/1c && chown usr1cv8. /var/log/1c 
 +mkdir -p /opt/1C/v8.3/x86_64/conf 
 +</file
 +  * создаём конфиг 
 +<file xml /opt/1C/v8.3/x86_64/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">         <log history="72" location="/var/log/1c">
                 <event>                 <event>
Строка 169: Строка 91:
 </config> </config>
 </file> </file>
- 
-=== Init-скрипт === 
-Для нормального запуска в Debian необходимо доработать init-скрипт: 
-  * добавляем в начало скрипта строки <file bash /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 
-... 
-</file> 
-  * добавляем в загрузку с учётом зависимостей <code bash> 
-update-rc.d -f srv1cv82 remove 
-update-rc.d srv1cv82 defaults 
-</code> 
   * перезапускаем сервер 1C   * перезапускаем сервер 1C
   * проверяем что демоны запустились и слушают порты   * проверяем что демоны запустились и слушают порты
faq/linux/1c.txt · Последнее изменение: 2022-11-22 22:56 — nikolay