Поднимаем сервер 1C 8.x (Windows 2008 R2 + PostgreSQL). 1C linux postgresql


Установка 1C 8.3 под PostgreSQL 9.3 на Ubuntu Server 14.04 X64

Перед установкой 1С под PostgreSQL первым делом необходимо убедится, что в Ubuntu установлена русская локаль и если нет, то установить ее.

Далее устанавливаем необходимые пакеты:

# apt-get install libssl0.9.8 libossp-uuid16 libxslt1.1 libicu52 libt1-5 t1utils imagemagick ttf-mscorefonts-installer unixodbc texlive-base libgfs-1.3-2 ssl-cert

Ищем в интернете пропатченный для 1C дистрибутив PostgreSQL 9.3.4. Их там ходит несколько. Если не удасться найти, можете скачать дистрибутив у нас, подправленный нами – postgres-9.3.4-1.zip. Проверенный множеством установок.

Устанавливаем пакеты  именно в такой последовательности, чтобы не было ругани на неразрешенные зависимости:

# dpkg -i libpq5_9.3.4-1.1C_amd64.deb  # dpkg -i postgresql-client-common_154.1.1C_all.deb # dpkg -i postgresql-client-9.3_9.3.4-1.1C_amd64.deb  # dpkg -i postgresql-common_154.1.1C_all.deb # dpkg -i postgresql-9.3_9.3.4-1.1C_amd64.deb # dpkg -i postgresql-contrib-9.3_9.3.4-1.1C_amd64.deb

Если при установке postgresql-contrib-9.3_9.3.4-1.1C_amd64 будет ругаться на отсутствие пакета libicu48_4.8.1.1-12ubuntu2_amd64.deb, скачиваем его отсюда http://security.ubuntu.com/ubuntu/pool/main/i/icu/libicu48_4.8.1.1-12ubuntu2_amd64.deb и устанавливаем (Если ссылка недоступна, пишите, сбросим ссылку и скачаете у нас.):

# dpkg -i libicu48_4.8.1.1-12ubuntu2_amd64.deb

Наш дистрибутив уже подправлен и не ругается.

Убеждаемся, что сервер запустился:

# service postgresql status

и должны получить:

9.3/main (port 5432): online

Теперь необходимо проинициализировать область хранения баз данных на диске. Обычно это называется – кластер базы данных (database cluster).

Кластер  – это набор баз данных, который управляется одним экземпляром запущенного сервера. После инициализации, кластер будет содержать базу с именем postgres, которая является базой данных по умолчанию, которую используют утилиты, пользователи и сторонние приложения. Сам сервер  не нуждается в этой базе, но многие внешние приложения подразумевают, что она существует.

Другая база данных, создаваемая на этапе инициализации, называется template1. Она будет использоваться как шаблон для создаваемых баз данных. В терминах файловой системы кластер  – это просто директория, в которой хранятся все данные. Расположить её можно в любой директории. Так как длинные пути это не удобно, мы используем папку /srv/1c/db (хотя по стандартам это и не правильно).

Создаем папку и определяем пользователя postgres как ее владельца:

# mkdir -p /srv/1c/db/ # chown postgres:postgres /srv/1c/db

Инициализируем кластер под пользователем posgres и заодно присваиваем ему пароль:

# su postgres /usr/lib/postgresql/9.3/bin/initdb -D /srv/1c/db --locale=ru_RU.UTF-8 psql -U postgres -c "alter user postgres with password 'пароль';"

Теперь пользователь postgres  имеет пароль и можно разрешить ему входить в систему с использованием MD5 аутентификации. Для этого в файле /srv/1c/db/pg_hba.conf нужно заменить строки:

# IPv4 local connections: host    all             all             127.0.0.1/32            ident # IPv6 local connections: host    all             all             ::1/128                 ident

на:

# IPv4 local connections: host    all             all             127.0.0.1/32            md5 # IPv6 local connections: host    all             all             ::1/128                 md5

Для проверки перезапустим PostgreSQL:

# service postgresql restart

Теперь можно устанавливать сервер 1С.

Делаем симлинк библиотеки:

ln -s /usr/lib/x86_64-linux-gnu/libMagickWand.so.5 /usr/lib/x86_64-linux-gnu/libMagickWand.so

В новых версиях Ubuntu  один необходимый паке ttf2pt1_3.4.4-1.4_amd64.deb отсутствует, так что качаем из архивов – http://old-releases.ubuntu.com/ubuntu/pool/universe/t/ttf2pt1/ttf2pt1_3.4.4-1.4_amd64.deb.

Ставим все необходимые пакеты 1С, которые можно взять или с лазерки дистрибутива или скачать с сайта 1С. Причем делать это лучше в следующей последовательности:

#dpkg -i 1c-enterprise83-common_8.3.5-1517_amd64.deb #dpkg -i 1c-enterprise83-server_8.3.5-1517_amd64.deb #dpkg -i 1c-enterprise83-ws_8.3.5-1517_amd64.deb #dpkg -i 1c-enterprise83-common-nls_8.3.5-1517_amd64.deb #dpkg -i 1c-enterprise83-server-nls_8.3.5-1517_amd64.deb #dpkg -i 1c-enterprise83-ws-nls_8.3.5-1517_amd64.deb #dpkg -i ttf2pt1_3.4.4-1.4_amd64.deb

Делаем пользователя usr1cv8 из группы grp1cv8 владельцем папки /opt/1C:

# chown -R usr1cv8:grp1cv8 /opt/1C

Перезапускаем сервер 1с:

# service srv1cv83 restart

Проверяем, все ли процессы сервера 1С запущены нормально:

#ps aux|grep 1c usr1cv8  28351  0.0  1.1 264284 22664 ?        Ssl  10:01   0:00 /opt/1C/v8.3/x86_64/ragent -daemon usr1cv8  28354  0.3  2.0 776216 41956 ?        Sl   10:01   0:00 /opt/1C/v8.3/x86_64/rmngr -port 1541 -host test -range 1560:1591 usr1cv8  28378  0.1  1.6 323900 34076 ?        Sl   10:01   0:00 /opt/1C/v8.3/x86_64/rphost -range 1560:1591 -reghost test -regport 1541 -pid f10fbd88-c9eb-11e3-0599-40618600e473 root     28439  0.0  0.0  13472   892 pts/2    S+   10:03   0:00 grep --color=auto 1c

На этом установка закончена. Настоятельно рекомендуем перегрузить компьютер и создавать базы данных 1С.

www.oslogic.ru

Поднимаем сервер 1C 8.x (Windows 2008 R2 + PostgreSQL)

Вариант использования в качестве сервера баз данных PostgreSQL на windows платформе не очень популярен, но имеет место быть как правило, когда необходимо хоть как-то сэкономить на продуктах от MS. Так же существуют специализированные приложения, которые наилучшим образом работают с PostgreSQL. Для 1с существует модифицированная сборка PostgreSQL дающая как уверяют разработчики сопоставимый с MSSQL уровень производительности и отказоустойчивости. Так ли это на самом деле, проверим на практике :)

1. Установка  PostgreSQL

Качаем с сайта 1с последнюю сборку PostgreSQL 64-bit 9.1.2-1.1C, распаковываем архив, запускаем msi-пакет, тот что без int, имеет не большой размер файла.

Нажимаем Start.Опции установки оставляем по умолчанию.

Задаем пароль пользователю postgres от которого будет стартовать сервис. Нажимаем Далее. Если установка  PostgreSQL производится впервые, то мастер предложит создать пользователя postgres.

На этапе инициализации БД, выбираем кодировку UTF8. Задаем логин и пароль внутреннему пользователю postgres. Внимание! Пароли пользователя сервиса PostgreSQL  и пароль внутреннего пользователя БД PostgreSQL не должны совпадать. Пароль должен состоять как минимум из четырех символов. Если сервер 1C и  PostgreSQL планируется запускать на разных машинах, то необходимо поставить галочку «Поддерживать соединения с любых IP, а не только с localhost». Нажимаем Далее и еще раз Далее. :)

Нажимаем еще два раза Далее и дожидаемся окончания установки.

Затем идем в Start\All Programs\PostgreSQL 9.1.2-1.1C(x64). Запускаем утилиту администрирования pgAdmin III. Пробуем подключится к БД. Вводим пароль, который указывали во время установки.И получаем следующую ошибку: Error connecting to the server: FATAL: password authentication failed for user «postgres».

Довольно неожиданно, с учетом того, что пароль был набран верно. Решил поковырять pg_hba.conf, но на первый взгляд там все хорошо.

# TYPE   DATABASE     USER                   ADDRESS               METHOD # IPv4 local connections: host                   all             postgres               ::1/128                  md5 host                   all             postgres               127.0.0.1/32             md5 host                   all             postgres               192.168.1.0/24         md5

Решил, поменять метод авторизации с md5 на trust. Перезапускаю сервис и снова пробую подключится к БД. На этот раз получаю такое сообщение.  Действительно на сайте pgAdmin доступна уже более новая версия. После чего подключение к БД завершается успехом!!?!! Помнится, ранее md5 не вызывал подобных проблем, видимо данный глюк действительно связан со старой версией pgAdmin’a. Теперь можем создать базу для нужд 1С, либо сделать это при помощи самой 1С :)

2. Установка 1C предприятие 8.2.

Для установки отметим, следующие компоненты: 1С:Предприятие, Сервер 1С:Предприятия, Модули расширения веб-сервера, Администрирование сервера 1С:Предприятия. На этапе, установки «Установить 1С Предприятие как сервис», задаем пароль пользователю USR1C82. Нажимаем далее, следим за ходом установки :)  Пользователю USR1CV82  при установке должны быть назначены следующие права:

Вход в систему как сервис (Log on as a service), Вход в систему как пакетное задание (Log on as a batch job). Посмотреть можно в Local Computer Policy\Computer Configuration\Windows Setings\Security Setings\Local Policies\User Right Assigments.

Переходим в оснастку Администрирование серверов 1С Предприятие, смотрим что кластер поднялся, и висит на 1541 порту. На вкладке «Рабочие серверы» так же присутствует наш сервер.Теперь, можно добавить базу на сервер 1С. Для этого переходим на вкладку «Информационные базы» щелкаемся правой кнопкой и выбираем New — Информационная база. Задаем необходимые параметры для подключения к серверу PostgreSQL. Нажимаем ОК.Запускаем 1С: Предприятие. Выбираем, добавить существующую информационную базу на сервере. Далее, задаем параметры для подключения. Нажимаем «Далее» и наконец «Готово».Операцию по созданию базы, можно проделать напрямую из 1С: Предприятия. Для этого при запуске, выбираем пункт «Создание новой информационной базы».

Для подключения клиентов 1С к серверу извне и работы сервера баз данных, на файрволе, должны быть открыты следующие порты:

Агент сервера (ragent) — tcp:1540 Главный менеджер кластера (rmngr) — tcp:1541 Диапазон сетевых портов, для динамического распределения рабочих процессов — tcp:1560-1591, tcp:5432 — Postgresql.  Создадим правило через стандартный интерфейс, либо с помощью команды:

[bash]netsh advfirewall firewall add rule name=»1Cv8-Server» dir=in action=allow protocol=TCP localport=1540,1541,5432,1560-1590 enable=yes profile=ANY remoteip=ANY interfacetype=LAN[/bash]

Теперь с другого компьютера мы спокойно запускаем клиент 1С:Предприятия, добавляем существующую информационную базу newdb. Не забываем про лицензии, программной / аппаратной защиты. Теперь, можем загрузить тест Гилева и померить производительность нашей системы.

На VirtualBox с 1Гб памяти, Dual-Core 2.6 GHz, 319-релиз 1с, тест Гилева выдает — 11.42 баллов, примерно так же как на CentOS. На 16.362 чуть больше 11.60 баллов. Оптимизация настроек при помощи EnterpriseDB Tuning Wizard ощутимого прироста (11.66 и 11.62) не дала, хотя возможно в целом польза от него имеется. :)

3. Регламентные работы на сервере PostgreSQL. 

Резервное копирование.

Запускаем утилиту администрирования pgAdmin III, щелкаемся правой кнопкой по нужной базе данных. Выбираем »Резервное копирование». Выбираем формат (Настраиваемый (степень сжатия от 0 до 9), Tar, Простой, Каталог). По степени сжатия, лучше всего сжимает  «настраиваемый формат» любой степени сжатия, затем «каталог», потом «простой» и наконец «tar». Кодировку указываем UTF8, имя роли postgresql. Все дополнительные опции оставляем по умолчанию. Нажимаем кнопку «Резервная копия». В поле «Сообщения» отображается список всех произведенных операций с кодом завершения. Если 0, то успех. Здесь же можно подсмотреть, как запустить подобную операцию из командной строки.

F)\pgAdmin III\1.16\pg_dump.exe" --host 192.168.1.200 --port 5432 --username "postgres" --role "postgres" --no-password --format custom --blobs --compress 9 --encoding UTF8 --verbose --file "G:\Backups\gilev_dump.backup" "newdb"

Соответственно, скрипт автоматического резервного копирования, который мы добавим в планировщик может выглядеть примерно следующим образом:

"C:\Program Files (x86)\pgAdmin III\1.16\pg_dump.exe" --host 192.168.1.200 --port 5432 --username "postgres" --role "postgres" --no-password --format custom --blobs --compress 9 --encoding UTF8 --verbose --file "G:\Backups\gilev_dump_%date:~0,2%_%date:~3,2%_%date:~6,4%.backup" "newdb"

Восстановление.

Для восстановления, выбираем базу, в которую хотим восстановить данные из резервной копии, желательно в пустую. Щелкаемся правой кнопкой и выбираем «Восстановление». Задаем файл бэкапа, имя роли: postgres, нажимаем «Восстановить» С помощью командной строки:

"C:\Program Files (x86)\pgAdmin III\1.16\pg_restore.exe" --host 192.168.1.200 --port 5432 --username "postgres" --dbname "testdb" --role "postgres" --no-password --verbose "G:\Backups\gilev_dump_26_09_2012.backup"

где,  testdb — пустая база, в которую восстанавливается архив резервной копии.

Операции по обслуживанию:

Команда VACUUM (Сжатие):

Последовательно чистит все таблицы базы данных, подключенной в настоящий момент, удаляет временные данные и освобождает место на диске. Чаще всего команда VACUUM выполняется именно для получения максимального объема свободного дискового пространства на диске и увеличения скорости доступа к данным.

VACUUM — помечает место, занимаемое старыми версиями записей, как свободное. Использование этого варианта команды, как правило, не уменьшает размер файла, содержащего таблицу, но позволяет не дать ему бесконтрольно расти, зафиксировав на некотором приемлемом уровне. При работе VACUUM возможен параллельный доступ к обрабатываемой таблице. Существует несколько дополнительных опций использования VACUUM : VACUUM FULL,  VACUUM FREEZE,  VACUUM ANALYZE.

VACUUM FULL — пытается удалить все старые версии записей и, соответственно, уменьшить размер файла, содержащего таблицу. Этот вариант команды полностью блокирует обрабатываемую таблицу.

VACUUM FREEZE — Если  VACUUM  FULL удаляет «мусор» из таблиц и перемещает записи так, чтобы таблицы располагались на диске компактно и состояли из наименьшего числа фрагментов, при этом сжатие выполняется долго и блокирует записи,  то VACUUM FREEZE просто удаляет «мусор» из таблиц, но сами записи не перемещает, поэтому выполняется быстрее и не блокирует записи. В настоящий момент эту опцию заменяет autovacuum  — автоматическая сборка мусора в postgresql.conf плюс несколько дополнительных опций расширяющих функциональность:

autovacuum = on # Включает автоматическую сборку мусора.log_autovacuum_min_duration = -1 # Установка равная нулю регистрирует все действия autovacuum. Минус один (по умолчанию) запрещает вывод в лог. Например, если вы установите значениеравное 250 мс, то все действия autovacuum и analyzes, которые работают 250 мс и более, будут заноситься в журнал. Включение этого параметра может быть полезно для отслеживания autovacuum.Этот параметр может быть установлен только в файле postgresql.conf или в командной строке сервера.autovacuum_naptime = 10min # Время в секундах через которое база данных проверяется на необходимость в сборке мусора. По умолчанию это происходит раз в минуту.autovacuum_vacuum_threshold = 1800 # Порог на число удалённых и изменённых записей в любой таблице по превышению которого происходит сборка мусора (VACUUM).autovacuum_analyze_threshold = 900 # Порог на число вставленных, удалённых и изменённых записей в любой таблице по превышению которого запускается процесс анализа (ANALYZE).autovacuum_vacuum_scale_factor = 0.2 # Процент изменённых и удалённых записей по отношению к таблице по превышению которого запускается сборка мусора.autovacuum_analyze_scale_factor = 0.1 # То же, что и предыдущая переменная, но по отношению к анализу. VACUUM ANALYZE —  Если в базе есть таблицы, данные в которых не изменяются и не удаляются, а лишь добавляются, то для таких таблиц можно использовать отдельную команду ANALYZE. Также стоит использовать эту команду для отдельной таблицы после добавления в неё большого количества записей.

Команда ANALYZE (Анализ):

Служит для обновления информации о распределении данных в таблице. Эта информация используется оптимизатором для выбора наиболее быстрого плана выполнения запроса. Обычно команда используется в связке с VACUUM ANALYZE.

Команда REINDEX (переиндексация): 

Используется для перестройки существующих индексов. Использовать её имеет смысл в случае

— порчи индекса;

— постоянного увеличения его размера.

Второй случай требует пояснений. Индекс, как и таблица, содержит блоки со старыми версиями записей. PostgreSQL не всегда может заново использовать эти блоки , и поэтому файл с индексом постепенно увеличивается в размерах. Если данные в таблице часто меняются, то расти он может весьма быстро. Если вы заметили подобное поведение какого-то индекса, то стоит настроить для него периодическое выполнение команды REINDEX. Учтите: команда REINDEX, как и VACUUM FULL, полностью блокирует таблицу, поэтому выполнять её надо тогда, когда загрузка сервера минимальна.

sanotes.ru

Сервер 1C:Предприятие 8.3 + PostgreSQL 9.4.2 + Debian 8.6

Подробности Опубликовано: 18 октября 2016 18 октября 2016

На момент написания данной статьи-инструкции, это самая свежая сборка для поднятия сервера 1C:Предприятие 8.3 в связке с PostgreSQL и Debian. Постараюсь максимально полно осветить весь процесс, начиная от установки Debian до настройки конфигурации PostgreSQL.

Внимание! Данная статья в первую очередь написана как инструкция-напоминалка для нас. Любые операции вы делаете на свой страх и риск, никакой ответственности за работоспособность мы не несем.

Система будет устанавливаться на недорогой резервный сервер от компании Supermicro, на его борту 32ГБ оперативной памяти, 1 процессор Intel Xeon 2.4 Ghz, и 2 Toshiba Server HDD по 1TB.

Список дистрибутивов, которые нам понадобятся для установки всех компонентов системы:

  1. Debian 8.6. Будет использоваться "netinst" версия, чтобы не было ничего лишнего. Скачать можно по этой ссылке. Архитектура - amd64
  2. Сервер 1C:Предприятие 8.3.9.1818. Качается с диска ИТС или с сайта поддержки пользователей 1C:Предприятие (нужна подписка ИТС). Или можно хорошо поискать в интернете.
  3. Пропатченная версия Postgresql-9.4.2-1.1C_amd64. Мы будем компилировать и собирать систему, на мой взгляд это самый надежный способ с минимальным количеством глюков. Главное соблюдать последовательность и не забыть поставить все необходимые компоненты. Так же возможна установка сервера из deb-пакетов, но этот вариант тут рассматриваться не будет. Дистрибутив загружается с диска ИТС или с сайта поддержки пользователей 1C:Предприятие (нужна подписка ИТС). На сайте этот пакет находится в разделе "PostgreSQL - 9.4.2-1.1C - Патч СУБД PostgreSQL.
  4. Драйвер HASP ключа для Сервер 1C:Предприятие 8.3. Скачать можно по этой ссылке.

 

1. Настройка RAID и установка системы.

Загружаемся с установочного носителя и следуюм инструкциям по установке. В процессе установки вводим свои параметры языков, имени сервера, рабочей группы, пользователя и пароля, а также настраиваем сетевую карту по DHCP, потом мы ее перенастроим. Настривать мы будем только разметку HDD.

 

Настройка разметки HDD

Примечание: Режим работы HDD в BIOS выставляется - AHCI.RAID будет программным.

1. В ручном режиме создать разметку дисков. (Если их несколько, то для каждого)Настройки такие:

  • первичный 10Gb физический том для RAID
  • первичный 990Gb физический том для RAID

 

2. Настройка программного RAID и разметки дисков. 2.1. Создать новое MD (составное) устройство

  • Выбираем RAID1 (Зеркалирование)
  • Активных устройств: 2
  • Резервных устройств: 0

 

2.2. Объединяем одинаковые разделы на разных HDD.

  • Первый блок 10Gb
  • Второй блок 990Gb

 

2.3. Из MD устройства 10Gb делаем файл подкачки

 

2.4. Из MD устройства 990Gb делаем файловую систему Ext4Параметры:

  • Точка монтирования - корневая
  • Параметры монтирования - default
  • Метка - отсутствует
  • Зарезервированные блоки - 5%
  • Обычное использование - Стандарт

 

2.5. Результат должен выглядеть примерно так:

 

3. Продолжаем следовать инструкциям установщика до выбора предустановленного ПО.

4. Снимаем все галочки, оставляем только 2 пункта: SSH сервер и Стандартные системные утилиты

 

5. Даем согласие на установку GRUB

 

6. При выборе загрузочного устройства, следует выбирать - первое (dev/sda)

 

7. По окончанию установки системы, перед перезагрузкой ПК, следует вынуть установочный носитель.

 

 

Первичная настройка установленной системы

Примечание! Т.к. во время установки используются 2 разных пользователя, поэтому для удобства, будем использовать обозначения:(R) - root(P) - postgres

 

1. (R) Устанавливаем файловый менежер MidnightCommander

apt-get install mc

 

2. (R) Даем доступ root пользователю через ssh. В конфиге /etc/ssh/sshd_config, меняем значение:

PermitRootLogin yes

 

2.1. (R) Перезагружаем сервис ssh:

service ssh restart

 

3. (R) Настраиваем статический IP адрес в etc/network/interfaces:

# The primary network interface allow-hotplug eth0 iface eth0 inet static address 192.168.55.99 netmask 255.255.255.0 gateway 192.168.55.1

3.1. (R) Настройку IP проверяем с помощью команды:

ifconfig

 

3.2. (R) Перезагружаем сетевой интерфейс для внесения изменений командой:

/etc/init.d/networking restart

 

4. (R) Настраиваем репозитории для будущих обновлений и установки необходимых пакетов.

4.1. (R) Расширяем репозитории /etc/apt/sources.list путем добавления папок "contrib" и "non-free":

deb http://mirror.yandex.ru/debian/ jessie main contrib non-free deb-src http://mirror.yandex.ru/debian/ jessie main contrib non-free deb http://security.debian.org/ jessie/updates main contrib non-free deb-src http://security.debian.org/ jessie/updates main contrib non-free deb http://security.debian.org/debian-security/ jessie/updates main contrib non-free deb-src http://security.debian.org/debian-security/ jessie/updates main contrib non-free # jessie-updates, previously known as 'volatile' deb http://mirror.yandex.ru/debian/ jessie-updates main contrib non-free deb-src http://mirror.yandex.ru/debian/ jessie-updates main contrib non-free

 

4.2. (R) Обновляем репозитории и пакеты

apt-get update apt-get upgrade

 

5. (R) Для удобства дальнейшей установки и настройки ставим пакет samba

apt-get install samba

 

5.1. (R) Создаем каталог

mkdir /home/share

 

5.2. (R) Даем полный доступ к папке

chmod 777 /home/share

 

5.3. (R) Настраиваем конфиг samba. Расположен в /etc/samba/smb.conf

После блока [printers] прописываем блок [share]

[share] path = /home/share guest ok = yes read only = no

5.2. (R) Перезагружаем samba

/etc/init.d/samba restart

 

6. Заходим в Windows по адресу \\192.168.55.99\share и кладем сюда все скаченные заранее дистрибутивы.

7. (R) Ставим дополнительные пакеты:

apt-get install bison apt-get install flex apt-get install build-essential apt-get install unrar

 

8. (R) Добавляем локали (locale)

nano /etc/locale.gen

8.1. (R) Ищем строки и снимаем с них комментирование:

en_US.UTF-8 UTF-8 ru_RU.UTF-8 UTF-8

8.2. (R) Переконфигурируем locale командой:

dpkg-reconfigure locales

8.3. (R) Проверяем, что нужные нам локали были в списке, командой:

locale -a

 

9. (R) Увеличиваем максимальный размер сегмента памяти до 10Gb.В файле /etc/sysctl.conf добавляем параметр:

kernel.shmmax = 10737418240

 

9.1. (R) Применить изменения:

sysctl -p

 

10. (R) Устанавливаем дополнительные пакеты необходимые для PostgreSQL:

apt-get install libreadline6-dev apt-get install zlib1g-dev

 

11. (R) Устанавливаем дополнительные библиотеки:

wget http://security.debian.org/debian-security/pool/updates/main/i/icu/libicu48_4.8.1.1-12+deb7u5_amd64.deb chmod u+x libicu48*.deb dpkg -i libicu48*.deb wget http://security.debian.org/debian-security/pool/updates/main/i/icu/libicu-dev_4.8.1.1-12+deb7u5_amd64.deb chmod u+x libicu-dev*.deb dpkg -i libicu-dev*.deb

 

12. (R) Можно проверить версии установленных библиотек libicu командой:

dpkg-query -l 'libicu*'

Результат должен содержать:

libicu-dev 4.8.1.1-12+deb7u5 amd64 libicu48:amd64 4.8.1.1-12+deb7u5 amd64 libicu52:amd64 52.1-8+deb8u3 amd64

 

2. Подготовка и установка PostgreSQL

1. (R) Создаем каталог:

mkdir /home/postgresql

2. (R) В дистрибутиве Patch_PostgreSQL есть архив Patch_SUBD_PostgreSQL.rar. Из этого архива распаковываем в /home/postgresql три файла:

  • postgresql-9.4_9.4.2-1.1C.debian.tar.gz
  • postgresql-9.4_9.4.2-1.1C.dsc
  • postgresql-9.4_9.4.2.orig.tar.bz2

2.1. (R) Распаковываем исходные файлы командой

dpkg-source -x postgresql-9.4_9.4.2-1.1C.dsc

Появится каталог postgresql-9.4-9.4.2 2.2.

2.2. (R) Из появившегося каталога postgresql-9.4-9.4.2 запускаем файл:

/home/postgresql/postgresql-9.4-9.4.2/configure

По итогу в корне этого каталога должен появится файл Makefile. Этим действием мы собрали все дистрибутивы в один, для дальнейшей компиляции.

2.3. (R) Компиляция запускается из этого же каталога командой:

make

(R) 2.4 По итогу, если все Ок, отсюда же запускаем:

make install

Результатом будет созданная папка /usr/local/pgsql.

 

3. (R) Установим патчи для сервера 1С из каталога /home/postgresql/postgresql-9.4-9.4.2/contrib/:

make

Затем

make install

4. (R) Создаем каталог:

mkdir /usr/local/pgsql/data

5. (R) Создаем каталог

mkdir /var/run/postgresql

6. (R) Создаем пользователя postgres в группе postgres

adduser postgres

7. (R) Передаем права на каталог /usr/local/pgsql/data пользователю postgres командой

chown postgres /usr/local/pgsql/data

8. (R) Передаем права на каталог /var/run/postgresql пользователю postgres командой

chown postgres /var/run/postgresql

9. (P) Необходимо проинициализровать базу данных в созданный каталог командой:

/usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data

 

9.1. (R) Создать файл для логирования состояния сервера и вывода сообщений:

cd /usr/local/pgsql/data >logfile chown postgres /usr/local/pgsql/data/logfile

 

10. (P) Запускаем PostgreSQL командой

/usr/local/pgsql/bin/postgres -D /usr/local/pgsql/data >logfile 2>&1 &

 

10.1. (P) Создаем тестовую базу:

/usr/local/pgsql/bin/createdb test

 

10.2. (P) Пробуем зайти в созданную тестовую базу:

/usr/local/pgsql/bin/psql test

 

(P) Если все хорошо, должна появится командная строка базы:

test=#

 

(P) Выход обратно к комадной строке Debian:

\quit

11. (R) Редактируем конфиг PostgreSQL /usr/local/pgsql/data/postgresql.conf. Найти эти строки и выставить указанные параметры (если нужно, снять комментирование):

backslash_quote = on escape_string_warning = off standard_conforming_strings = off

 

12. (P) Добавить альтернативного пользователя командой:

/usr/local/pgsql/bin/psql -U postgres -c "alter user postgres with password '123';"

14. (R) После установки PostgreSQL нужно создать исполняемый файл postgresql в папке /etc/init.d/

Примечание! Данный файл, настроен на стандартные пути каталогов и файлов!

 

14.1. (R) Cоздаем пустой файл:

cd /etc/init.d/ >postgresql

 

14.2. (R) Затем вставляем ниже, написанный код, в файл. Сохраняем.

#! /bin/sh ### BEGIN INIT INFO # Provides: postgresql # Required-Start: $local_fs $remote_fs $network $time # Required-Stop: $local_fs $remote_fs $network $time # Should-Start: $syslog # Should-Stop: $syslog # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: PostgreSQL RDBMS server ### END INIT INFO # chkconfig: 2345 98 02 # description: PostgreSQL RDBMS # This is an example of a start/stop script for SysV-style init, such # as is used on Linux systems. You should edit some of the variables # and maybe the 'echo' commands. # # Place this file at /etc/init.d/postgresql (or # /etc/rc.d/init.d/postgresql) and make symlinks to # /etc/rc.d/rc0.d/K02postgresql # /etc/rc.d/rc1.d/K02postgresql # /etc/rc.d/rc2.d/K02postgresql # /etc/rc.d/rc3.d/S98postgresql # /etc/rc.d/rc4.d/S98postgresql # /etc/rc.d/rc5.d/S98postgresql # Or, if you have chkconfig, simply: # chkconfig --add postgresql # # Proper init scripts on Linux systems normally require setting lock # and pid files under /var/run as well as reacting to network # settings, so you should treat this with care. # Original author: Ryan Kirkpatrick <Этот адрес электронной почты защищён от спам-ботов. У вас должен быть включен JavaScript для просмотра.> # contrib/start-scripts/linux ## EDIT FROM HERE # Installation prefix prefix=/usr/local/pgsql # Data directory PGDATA="/usr/local/pgsql/data" # Who to run the postmaster as, usually "postgres". (NOT "root") PGUSER=postgres # Where to keep a log file PGLOG="$PGDATA/serverlog" # It's often a good idea to protect the postmaster from being killed by the # OOM killer (which will tend to preferentially kill the postmaster because # of the way it accounts for shared memory). Setting the OOM_SCORE_ADJ value # to -1000 will disable OOM kill altogether. If you enable this, you probably # want to compile PostgreSQL with "-DLINUX_OOM_SCORE_ADJ=0", so that # individual backends can still be killed by the OOM killer. #OOM_SCORE_ADJ=-1000 # Older Linux kernels may not have /proc/self/oom_score_adj, but instead # /proc/self/oom_adj, which works similarly except the disable value is -17. # For such a system, enable this and compile with "-DLINUX_OOM_ADJ=0". #OOM_ADJ=-17 ## STOP EDITING HERE # The path that is to be used for the script PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin # What to use to start up the postmaster. (If you want the script to wait # until the server has started, you could use "pg_ctl start -w" here. # But without -w, pg_ctl adds no value.) DAEMON="$prefix/bin/postgres" # What to use to shut down the postmaster PGCTL="$prefix/bin/pg_ctl" PIDDIR="/run/postgresql" set -e # Only start if we can find the postmaster. test -x $DAEMON || { echo "$DAEMON not found" if [ "$1" = "stop" ] then exit 0 else exit 5 fi } # Parse command line parameters. case $1 in start) echo -n "Starting PostgreSQL: " install -o postgres -g postgres -m 755 -d $PIDDIR test x"$OOM_SCORE_ADJ" != x && echo "$OOM_SCORE_ADJ" > /proc/self/oom_score_adj test x"$OOM_ADJ" != x && echo "$OOM_ADJ" > /proc/self/oom_adj su - $PGUSER -c "$DAEMON -D '$PGDATA' &" >>$PGLOG 2>&1 echo "ok" ;; stop) echo -n "Stopping PostgreSQL: " su - $PGUSER -c "$PGCTL stop -D '$PGDATA' -s -m fast" echo "ok" ;; restart) echo -n "Restarting PostgreSQL: " su - $PGUSER -c "$PGCTL stop -D '$PGDATA' -s -m fast -w" test x"$OOM_SCORE_ADJ" != x && echo "$OOM_SCORE_ADJ" > /proc/self/oom_score_adj test x"$OOM_ADJ" != x && echo "$OOM_ADJ" > /proc/self/oom_adj su - $PGUSER -c "$DAEMON -D '$PGDATA' &" >>$PGLOG 2>&1 echo "ok" ;; reload) echo -n "Reload PostgreSQL: " su - $PGUSER -c "$PGCTL reload -D '$PGDATA' -s" echo "ok" ;; status) su - $PGUSER -c "$PGCTL status -D '$PGDATA'" ;; *) # Print help echo "Usage: $0 {start|stop|restart|reload|status}" 1>&2 exit 1 ;; esac exit 0

 

14.3. (R) Даем права:

chmod 777 /etc/init.d/postgresql

 

14.4. (R) Для применения внесенных в конфиг изменений, перезагружаем postgresql

 service postgresql reload 

 

15. (R) Добавим PostgreSQL в автозагрузку

update-rc.d postgresql defaults
 
3. Подготовка и установка сервера 1С

1. (R) Устанавливаем шрифты и дополнительные пакеты:

apt-get install ttf-mscorefonts-installer apt-get install imagemagick apt-get install libglib2.0-0 apt-get install unixodbc

2. (R) Устанавливаем Сервер 1С из заранее скачанных дистрибутивов в следующей последовательности:

dpkg -i 1c-enterprise83-common_8.3.9-1818_amd64.deb dpkg -i 1c-enterprise83-common-nls_8.3.9-1818_amd64.deb dpkg -i 1c-enterprise83-server_8.3.9-1818_amd64.deb dpkg -i 1c-enterprise83-server-nls_8.3.9-1818_amd64.deb dpkg -i 1c-enterprise83-ws_8.3.9-1818_amd64.deb dpkg -i 1c-enterprise83-ws-nls_8.3.9-1818_amd64.deb

3. (R) Даем пользователю usr1cv8 и группе grp1cv8 права на каталог:

chown -R usr1cv8:grp1cv8 /opt/1C

 

4. (R) Запускаем сервер 1С:

/etc/init.d/srv1cv83 start

 

4. Установка HASP ключа 1C

1. (R) Устанавливаем драйвер HASP ключа для сервера 1С из заранее скачанного дистрибутива. 1.1 Запускаем скрипт добавления совместимости i863 идущий в месте с драйвером:

install_32bit_compatibility_package_for_x64.sh

 

1.2 (R) Затем устанавливаем драйвер:

dpkg -i aksusbd_7.40-1_i386.deb

 

5. Послесловие

Заключительная речь автора будет здесь

Добавить комментарий

forcor.ru

Предприятие 8.2 + PostgreSQL + CentOS 6

В версии «1С: Предприятие 8.2» было сделано множество улучшений, таких как управляемый режим блокировок(являющийся режимом "по умолчанию" в версии 8.2), добавлена новая возможность в виде работы в режиме тонкого клиента и веб-клиента и др. Все это играет немаловажную роль  в работе платформы на серверах с линуксом на борту, тем более, что связка 1С сервер + Linux обретает все большую популярность. В этом небольшом howto была попытка описать процесс установки и запуска сервера 1С в эксплуатацию в наиболее полном виде.Собственно, весь процесс установки и настройки можно разбить на несколько этапов, что дальше и будет сделано. Вся установка и настройка проводится на CentOS 6 x64. В качестве СУБД была выбрана PostgreSQL. И сервер 1С, и СУБД ставятся на одну и ту же «железку».

Подготовка системы

Перед установкой пакетов 1С и PostgreSQL, настроим некоторые системные параметры, необходимые для дальнейшего функционирования PostgreSQL и сервера 1С. В файл /etc/sysconfig/network внесем такие изменения:

NETWORKING=yesHOSTNAME=server-1С.mydomain.com

В файл /etc/hosts нужно добавить следующее:

192.168.1.1 server-1C.mydomain.com server-1C

где 192.168.1.1 — это ip-адрес вашего сервера 1С (это необходимо для того, чтобы имя сервера однозначно разрешалось в его ip-адрес)Заметка

На клиентских компьютерах, необходимо такое же одно­значное разреше­ние имя в ip-адрес, поэтому на каждой клиентской машине необходимо доба­вить такую запись или настроить вну­тренний DNS сервер (что более предпо­чтительно).

Проверим размер рабочей памяти в системе и, если необходимо, увеличим его (этот параметр необходим для нормальной работы PostgreSQL):

[root@server-1C~]# cat /proc/sys/kernel/shmmax

изменим этот параметр в файле /etc/sysctl.conf на kernel.shmmax и обновим параметры sysctl:

[root@server-1C~]# sysctl -p

либо

[root@server-1C~]# echo 1073741824 >> /proc/sys/kernel/shmmax

Отключим iptables, хотя бы на время запуска и настройки сервера

[root@server-1C~]# /etc/init.d/iptables stop[root@server-1C~]# chkconfig iptables off[root@server-1C~]# /etc/init.d/ip6tables stop[root@server-1C~]# chkconfig ip6tables off

Отключаем SELinux (в локальной сети он не нужен IMHO) в файле /etc/sysconfig/selinux ставим SELINUX=disabled. Но так как это изменение вступит в силу только после перезагрузки, то проделаем еще одну операция выключения, чтоб не перегружаться:

[root@server-1C~]# setenforce 0

Установка PostgreSQL

Начиная с версии 8.1 1С официально поддерживает работу с СУБД PostgreSQL, однако в чистом виде PostgreSQL с 1С не работает. На сайте 1С представлены патчи для PostgreSQL, а также исходные коды в виде src.rpm для сборки пакетов на rpm-based системах (при желании можно собрать и в deb-based системах). Можно воспользоваться еще двумя способами -  зарегистрированным пользователям можно скачать готовые rpm пакеты с сайта 1C(или с диска ИТС) или воспользоваться готовой сборкой со всеми патчами от компании Etersoft (есть готовые пакеты для множества дистрибутивов). Мы воспользуемся вариантом от компании Etersoft.Скачиваем все пакеты для нужного дистрибутива в определенный каталог (создадим, например, /root/install), переходим в него и устанавливаем все скачанные пакеты:

[root@server-1C~]# mkdir /root/install[root@server-1C~]# cd /root/install[root@server-1C install]# wget ftp://updates.etersoft.ru/pub/Etersoft/Postgre@Etersoft/stable/CentOS/6/*[root@server-1C~]# yum localinstall --nogpgcheck *.rpm

и инициализируем базу:

[root@server-1C~]# su postgresbash-4.1$ initdb -D /var/lib/pgsql/data --locale=ru_RU.UTF-8bash-4.1$ exit(для Украины нужно с другой локалью --locale=uk_UA.UTF-8)

Стартуем PostgreSQL и добавляем его в автозагрузку:

[root@server-1C~]# service postgresql start[root@server-1C~]# chkconfig postgresql on

Создаем пароль пользователю postgres:

[root@server-1C~]# su postgresbash-4.1$ psqlpostgres=#postgres=# ALTER USER postgres WITH PASSWORD 'your_password';postgres=# ALTER ROLEpostgres=# postgres=# \qbash-4.1$ exit

Установка сервера 1С

Теперь приступим к установке пакетов 1С. Необходим следующий список пакетов(версии могут отличаться):

1C_Enterprise82-common-8.2.15-289.x86_64.rpm1C_Enterprise82-common-nls-8.2.15-289.x86_64.rpm1C_Enterprise82-server-8.2.15-289.x86_64.rpm1C_Enterprise82-server-nls-8.2.15-289.x86_64.rpm1C_Enterprise82-ws-8.2.15-289.x86_64.rpm1C_Enterprise82-ws-nls-8.2.15-289.x86_64.rpm

Взять эти пакеты можно или с диска ИТС или скачать у с сайта 1С, если вы являетесь зарегистрированным пользователем системы 1С. Переходим в каталог, в который вы сложили эти пакеты и выполняем знакомую нам команду установки:

[root@server-1C~]# yum localinstall --nogpgcheck *.rpm

Запустим и добавим в автозагрузку службу 1С:

[root@server-1C~]# /etc/init.d/srv1cv82 start[root@server-1C~]# chkconfig srv1cv82 on

Установка Веб-клиента

На этом установку можно было бы считать законченной и пользоваться нативными клиентами из под Windows(ну или через wine). Но в версии 1С:Предприятие 8.2 появилась одна очень интересная возможность — веб клиент. Веб-клиент дает возможность работать в 1С прям из браузера, что дает множество преимуществ, в том числе и независимость от Windows (конфигуратор будет работать только из нативного клиента для Windows). Кстати, стоит сказать, что в браузере будет работать только интерфейс, созданный с помощью управляемых форм, но это уже удел программистов 1С :). Итак, приступим.Считаем, что http сервер apache уже установлен, в противном случае установите его. Выполним публикацию веб-клиента с помощью специальной утилиты:

[root@server-1C ~]# cd /opt/1C/v8.2/x86_64/[root@server-1C x86_64]# ./webinst -apache22 -wsdir test -dir '/var/www/html/test/' -connStr 'Srvr="server-1C.mydomain.com";Ref="test"' -confPath /etc/httpd/conf/httpd.conf

где

apache22 — публикация веб-клиента для сервера apache версии 2.2 (возможно еще 2.0)wsdir — имя алиаса который добавится в файл конфигурации apache(будем обращаться к нашей базе http://server-1C.mydomain.com/test)dir — физический каталог, куда указывает wsdir (в этом каталоге будет лежать файл default.vrd)connStr — строка соединения с информационной базойconfPath — путь к файлу конфигурации apache

Теперь переопределим владельца файла default.vrd, чтобы apache имел к нему доступ:

[root@server-1C ~]# chown apache:apache /var/www/html/basa/default.vrd

Веб-клиент может работать только в том случае, если 1С работает в режиме «управляемого приложения» и пользовательский интерфейс разработан с помощью концепции «управляемого интерфейса». Следует заметить, что этот функционал в версии 8.1 не реализован, поэтому совместимости нет.Для нормального функционирования в «управляемом режиме» необходимы шрифты truetype от Microsoft. По лицензионным соображениям, в стандартных репозиториях пакета с нужными нам шрифтами нет, поэтому будем собирать пакет из исходников. Для этого установим несколько необходимых пакетов, подключив сторонний репозиторий atrpms(считаем, что репозиторий epel уже подключен):Запускаем утилиту кинфигурации сервера 1С, указывая путь к установленным шрифтам:

[root@server-1C ~]# cd /opt/1C/v8.2/x86_64/utils/[root@server-1C utils]# ./config_server /usr/share/fonts/msttcorefonts

Заметка

Утилита config_server зависит от 32х битных библиотек (которые будут необходимо и для драйвера hasp), поэтому необходимо доустановить пакет glib2.i686.Если вы устанавливаете (как в данном случае) или обновляетесь до платформы версии 8.2.15, то необходимо еще доустановить пакет glib2-devel.

Перезапустим службу сервера и на этом установка завершена.

Установка HASP

Если не использовать тонкий или веб-клиент, то установленный сервер 1С .8.2 позволяет использовать до 12 соединений без hasp-ключа, только это не совсем законно :). Поэтому есть 2 варианта, как использовать hasp-ключ: сетевой и локальный.Для использования сетевого ключа необходимо создать файл nethasp.ini в каталоге /opt/1C/v8.2/x86_64/conf с таким содержимым:[NH_COMMON] NH_TCPIP =Enabled ;протокол передачи данных(TCP или UDP)

[NH_TCPIP]NH_SERVER_ADDR = 192.168.0.232 ;ip-адрес компьютера, куда вставленNH_PORT_NUMBER = 475 ;порт, на котором слушает hasp-ключNH_TCPIP_METHOD = TCP ;протокол, по которому ведется обмен информации с ключом

Более подробную информацию о синтаксисе в nethasp.ini можно прочесть здесь, а также примеры файлов можно скачать с сайта Alladin.Для использования локального ключа необходимо установить драйвер для hasp-ключа. Стоит отметить, что на 64х битных драйверов для hasp не выпускается, поэтому будет устанавливаться 32х битный драйвер, для которого могут потребоваться дополнительные зависимости в виде 32х битных библиотек. Заходим на страницу Alladin и скачиваем файл Sentinel_HASP_RedHat_and_SuSE_RPM_Run-time_Installer.tar.gz. Распакуем архив в каталог /root/install и установим пакет:

[root@server-1C ~]# wget ftp://ftp.aladdin.com/pub/hasp/Sentinel_HASP/Linux/Sentinel_HASP_RedHat_and_SuSE_RPM_Run-time_Installer.tar.gz[root@server-1C ~]# tar -xzf Sentinel_HASP_RedHat_and_SuSE_RPM_Run-time_Installer.tar.gz[root@server-1C ~]# cd /root/install/Sentinel_HASP_RedHat_and_SuSE_RPM_Run-time_Installer[root@server-1C Sentinel_HASP_RedHat_and_SuSE_RPM_Run-time_Installer]# yum localinstall aksusbd-1.16-1.i386.rpm

Перезапустим службу драйвера hasp и добавим в автозагрузку(возможно придется перегрузить сервер, чтобы ключ определился):

[root@server-1C ~]# /etc/init.d/aksusbd restart[root@server-1C ~]# chkconfig aksusbd on

Программные лицензии

Помимо аппаратных лицензий в виде usb-ключей последнее время фирма 1C настоятельно рекомендует использовать программные лицензии(есть свои плюсы) и аппаратные ключи получить очень проблемно. Подробно описывать активацию программных ключей не представляет смысла, потому как вместе с этими ключами прилагается подробное руководство по активации, да и к тому же интерфейс активации довольно интуитивный. Единственное, на что я бы хотел обратить ваше внимание(хотя это и очевидно, но всё же) - производите активацию лицензий(и сервера, и многопользовательские) "на сервер"(в терминологии 1С). При такой активации ваши лицензии будут лежать на сервере и им же раздаваться. При такой активации возможен один глюк(это не связано с лицензиями и типом активации) - "слетает" лицензия и после повторной активации лицензии не применяются(активация проходит успешно, но при попытке войти клиентом или через веб пишет об отсутствии лицензии и снова просит активировать). Выход из данной ситуации простой. Файлы лицензий после активации лежат в каталоге /home/usr1cv82/.1cv82/1C/1Cv82/conf вашего сервера. Просто переместите их в каталог /opt/1C/v8.2/x86_64/conf и перзапустите сервис 1C:

[root@server-1C ~]# /etc/init.d/srv1cv82 restart

Если у вас возникли вопросы или замечания, пишите в комментариях. Также, обратите внимание на форум http://1clinux.org/

z1kk0.blogspot.com

PostgreSQL и 1С Предприятие

«Да, забудьте Вы об SQL Express» говорю я многим своим клиентам последние так года два.

Отчасти сам виноват, в 2015-ом опубликовал видео «1С 8.3 и SQL Server 2014 Express».

И это видео для многих почему-то сработало как сигнал на внедрение версии Express.

Несмотря на то, что в этом уроке я говорю о серьёзных ограничениях этой версии СУБД, да, собственно как и Microsoft, прямо пишет, — «Эту бесплатную версию стоит использовать только для теста и ознакомления».

 

(Цель видео в том, чтоб показать ограничения файлового варианта работы в 1С, как перейти на клиент-сервер и показать ограничения версии Express).

И лишь в некоторых случаях, когда база 1С совсем малая и с базой работает пара пользователей, нет нагрузок, тогда, может быть смысл использовать эту СУБД для реальной работы в 1С.

Но большинству конечно ограничения не позволят работать «нормально» в клиент-сервере.

Как минимум нужна версия Standard.

 

Альтернативой MS SQL всегда был и остается PostgreSQL.

Абсолютно бесплатная*  СУБД с реализацией как под Linux, так и на Windows.

Бытует мнение, что PostgreSQL нормально работает только на Linux.

Но это ужа давно не так (Хоть изначально он и разрабатывался под UNIX-подобные платформы).

Сегодня PostgreSQL можно смело использовать и на Windows , (Пользователей 50-70- одновременно работающих в 1С будет держать нормально, до 15-ти, даже не нужно никаких доп. настроек!).

Если у Вас пользователей будет больше, тогда лучше брать MS SQL.

Конечно, в сети можно встретить примеры, (особенно в последнее время) когда  PostgreSQL  работает на сотнях пользователей в 1С, но я такого в живую не видел (чтоб без косяков, при большом количестве запросов) чтоб СУБД работала также быстро и хорошо, как и на MS SQL standard, например.

Вот одна из причин: PostgreSQL не умеет работать многопоточно!

Иногда в интернете, можно наткнуться на статью что PostgreSQL грузит только одно ядро на 100%, и мол не работает с многоядерными архитектурами.

 

Знайте, что это не так! (Вернее не совсем так!)

PostgreSQL грузит все ядра, только если есть соответствующее количество запросов .

Один большой запрос действительно может  на 100% загрузить одно ядро вашего сервера так как

1 запрос = 1 поток! (На этой СУБД).

 Но если запросов будет много, соответственно и все ядра будут задействованы также.

PostgreSQL способен задействовать все ядра вашего сервера!

Каждое ядро может дать нам несколько потоков, например как минимум два, и уже, чтоб задействовать 2 ядра (4 потока) будет достаточно отправить на СУБД 3 — 4 запроса.

Помните?

1 запрос = 1 поток.

Другими словами, не распараллеливается выполнение одного запроса.

Нет многопоточности! в рамках одного запроса  — это одна из причин, почему PostgreSQL работает медленнее MS SQL.

Один большой запрос может стать «узким местом» в производительности вашей 1С на этой СУБД.

Есть, конечно, еще много вопросов по «бєкапу», настройке и оптимизации PostgreSQL в том числе и под крупные внедрения, но это все подробно мы будем обсуждать уже на курсе: Установка и настройка 1С 2017.

 

Как известно без специальных «патчей» от компании 1С СУБД-шка работает не стабильно, вылетает + есть  проблемы с производительностью.

Но с «пропатченой» таких серьезных проблем обычно не возникает.

Дело в том что в 1С часто используются временные таблицы, а PostgreSQL плохо сними дружит.

«Патчи» как раз правят эти и другие «косяки 1С» в официальном релизе.

 

Теперь о главном!

В феврале 2015 года наиболее известные российские разработчики PostgreSQL основали компанию «Постгрес Профессиональный» (Postgres Professional), целью которой стало развитие СУБД PostgreSQL и оказание полного спектра связанных с ней услуг.

И если раньше я скачивал PostgreSQL на сайте 1С (Поддержка пользователей), то сегодня

Я беру дистрибутив на сайте postgrespro.ru (Как для Windows так и для Linux).

Внимание Важно!

PostgresPro Standard и Enterprise — платные!

https://postgrespro.ru/products/postgrespro#license

Качайте просто «пропатченую 1С» по ссылке ниже:

https://postgrespro.ru/products/1c

Enterprise — действительно очень дорогой продукт, а вот Standard на момент написания статьи, приобретается как годовая поддержка.

Другими словами Вы покупаете поддержку на год и получаете версию Standard в *подарок*.

 

Второй способ получить PostgreSQL бесплатно:

Для этого нужно скачать на сайте поддержки пользователей 1С, нужный Вам дистрибутив PostgreSQL со всеми патчами для 1С, и работать бесплатно на этой СУБД.

 

На момент написания статьи, доступна версия PostgreSQL 9.6.5 для 1С Предприятия.

Все в *свободном доступе*, можно скачать и установить у себя.

Делюсь ссылкой, друзья >>>

Дело в том, что Postgres Pro (основанный на PostgreSQL) уже содержит все нужные «патчи» для 1С Предприятия.

И Вы не «паритесь» поиском каких-то  критически важных «патчей» все уже включено в эту сборку, это удобно.

Даже для Windows включены дополнительные «патчи» повышающие отказоустойчивость еще не успевшие войти в стабильный релиз, например, включены «патчи», которые исправляют проблему с правами доступа и критический баг с остановкой Postgres.

 

Установка:

Качаем инсталлятор на сайте по ссылке выше.

И приступаем к установке.

Конечно я рекомендую ставить СУБД на Windows Server 2016.

Установка PostgreSQL на Windows совсем не сложная, но во избежание каких-то возможных проблем, смотрите ниже в скриншотах весь процесс пошагово: 

Как видно уже на скрине, сборка действительно под 1С-ку. «PostgresPro 1C 9.6».

Принимаем условия лицензионного соглашения «Принимаю».

И установим все нужные компоненты.

Клик по кнопке «Далее».

Укажем каталог где будет установлен сам PostgresPro (Можно оставить каталог по умолчанию).

Клик по кнопке «Далее».

Теперь нужно указать каталог для наших баз данных.

На вкладке параметров порт 5432 можно оставить по умолчанию (Если у Вас он свободный на момент установки).

Затем птичку «Подключение с любых IP адресов» убираем если Сервер 1С и СУБД будут располагаться на одном сервере.

Иначе оставляем все как есть.

Локаль: — Russian, Russia.

Супер пользователя можно оставить по умолчанию «postgres».

И обязательно создадим пароль для него.

Птичку возле «Провести оптимизацию параметров» оставляем по умолчанию.

И клик по кнопке «Установить».

Все готово! можно создавать базу используя утилиту администрирования серверов 1C.

Для удобства администрирования, рекомендую еще установить дополнительно и PGAdmin 4.

kuharbogdan.com

1С:Предприятие 8.3 + PostgreSQL 9.4 на базе Debian 8 «Jessie»

В конце мая 2013 года компания 1С представила первый стабильный релиз платформы 1С:Предприятие версии 8.3. Главная особенность ветки 8.3 - это выпуск нативного клиента под *nix-подобные операционные системы. И вот спустя два года я решил написать новую статью посвященную этой теме. Я помню, что большая часть тех, кому была интересна моя прошлая статья просили и дальше брать в основу Ubuntu. Тем не менее, я решил взять за основу Debian 8 «Jessie». Основная причина в том, что производительность серверов 1С:Предприятие на Ubuntu оставляет желать лучшего. В то время как Debian и CentOS показывают более высокую производительность (CentOS даже опережает Debian, но я постараюсь исправить это положение). Сравнительные таблицы производительности серверов 1С:Предприятие вы можете поискать в интернете. Сам я пока ничего толкового не нашел.

Содержание

  1. Предисловие.
  2. Подготовка сервера.
  3. Установка PostgreSQL 9.4.
  4. Установка сервера 1С:Предприятие 8.3.
  5. Установка драйвера для аппаратной лицензии 1С (HASP).
  6. Установка клиента 1С:Предприятие 8.3.
  7. Публикация ИБ на веб-сервере Apache 2.4.
  8. Послесловие.

Предисловие. ↑

Новичкам в *nix рекомендую выполнять установку по порядку и согласно инструкции. Статья специально разбита на главы, чтобы читатели могли пошагово проходить процесс установки. Вопросы любителей сделать «по своему» в большинстве своем будут проигнорированы. Если же вы всё делали согласно статье, но тем не менее у вас возникла проблема, внимательно проверьте все свои действия. Скорее всего, вы допустили ошибку. В случае если проверка не выявила ошибок, то вы можете описать возникую проблему в комментариях или в теме на нашем форуме, где форумчане постараются вам помочь. При этом рекомендую подробно описывать возникшую у вас проблему.

Подготовка сервера. ↑

Основное отличие Debian от Ubuntu с которым очень часто сталкиваются пользователи Ubuntu, это отсутствие в стандартной конфигурации команды повышения привилегий sudo. Операции требующие прав root, выполняются от суперпользователя root. Тем же кто не хочет изменять своей привычке работать с sudo, достаточно при установке ОС не задавать пароль суперпользователю root и пакет sudo будет установлен и настроен. Для наглядности, перед каждой командой будет указан определенный символ, если это # - значит команда выполняется от имени суперпользователя root, если символ $ - то команда выполняется от имени текущего пользователя.

1. Итак у вас имеется установленный Debian 8. Если установка только предстоит, рекомендую выбрать пункты:

  • Сервер SSH
  • Стандартные системные утилиты

Как это указано на скриншоте:

Остальные пункты на ваше усмотрение.

2. Сразу же поставим последние обновления, предварительно получив права root:

1 2 3 4 $ su # apt-get update # apt-get upgrade # apt-get dist-upgrade

3. Архивы с установочными пакетами можно скачать из интернета сразу на сервер или скопировать заранее скачанные установочные пакеты в расшаренный каталог samba. Предположу, что samba настроена не у всех, потому воспользуемся USB-накопителем (флешкой). Создаем в корне флешки каталоги:

Раскидываем пакеты по каталогам, предварительно распаковав их.

4. Создаем директорию, к которой будем монтировать флешку:

5. Подключаем флешку к серверу, просматриваем как она подключилась:

1 2 3 4 5 6 7 8 9 10 11 # fdisk -l Disk /dev/sdb: 14,9 GiB, 16013852672 bytes, 31277056 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: dos Disk identifier: 0xcad4ebea Device Boot Start End Sectors Size Id Type /dev/sdb4 * 63 31277055 31276993 14,9G 7 HPFS/NTFS/exFAT

У меня это sdb4, теперь монтируем флешку сразу в каталог 1сinstall:

1 # mount /dev/sdb4 /mnt/1cinstall

6. Проверяем что намонтировали:

Т.к. на моей флешке ничего не было кроме папок с установочными пакетами, отобразились только они:

ПРИМЕЧАНИЕ! Если вы ставите 1С:Предприятие на удаленную машину, то для передачи файлов можете воспользоваться утилитой SCP, которая входит в состав пакета openssh-client.

Установка PostgreSQL 9.4. ↑

Для корректной работы PostgreSQL в связке с 1С:Предприятие, необходимо провести ряд подготовительных процедур.

1. Для начала надо установить необходимые локали. Это en_US.UTF-8 и ru_RU.UTF-8. При этом локаль ru_RU.UTF-8 должна быть выбрана по умолчанию. Отредактировать список локалей можно командой:

1 # dpkg-reconfigure locales

2. Затем надо установить зависимости:

1 # apt-get install ssl-cert libossp-uuid16 libxslt1.1

3. К сожалению, мейнтейнеры работающие на 1С, не следят за порядком в зависимостях своих пакетов. По этой простой причине, нам надо скачать и установить пакет libicu48:

1 2 # wget http://ftp.ru.debian.org/debian/pool/main/i/icu/libicu48_4.8.1.1-12+deb7u3_amd64.deb # dpkg -i libicu48*.deb

4. Так же необходимо увеличить максимальный размер сегмента памяти до 64 Мб:

1 # echo kernel.shmmax = `echo 64*1024*1024 | bc` >> /etc/sysctl.conf

Дабы необходимые изменения вступили в силу, вводим:

Тут товарищ Vasiliy P. Melnik в своем комментарии пишет, что в данной процедуре необходимости нет. Я его утверждение не проверял, но вы можете попробовать пропустить 4 пункт. А если всё таки процедура потребуется, вы можете выполнить её позже.

5. В этой статье я решил использовать версию PostgreSQL от 1С. Переходим в каталог с пакетами PostgreSQL:

1 # cd /mnt/1cinstall/postgres

Проверяем что есть в каталоге:

1 2 3 4 5 6 7 8 9 # ls -l итого 5424 drwxr-xr-x 2 nihi1ist nihi1ist 4096 окт 6 09:50 addons -rwxr-xr-x 1 nihi1ist nihi1ist 120250 июн 2 12:41 libpq5_9.4.2-1.1C_amd64.deb -rwxr-xr-x 1 nihi1ist nihi1ist 3657036 июн 2 12:42 postgresql-9.4_9.4.2-1.1C_amd64.deb -rwxr-xr-x 1 nihi1ist nihi1ist 1069692 июн 2 12:42 postgresql-client-9.4_9.4.2-1.1C_amd64.deb -rwxr-xr-x 1 nihi1ist nihi1ist 72172 авг 11 19:47 postgresql-client-common_154.1.1C_all.deb -rwxr-xr-x 1 nihi1ist nihi1ist 163684 авг 11 19:47 postgresql-common_154.1.1C_all.deb -rwxr-xr-x 1 nihi1ist nihi1ist 457782 июн 2 12:42 postgresql-contrib-9.4_9.4.2-1.1C_amd64.deb

Всего 6 пакетов, которые и нужно установить. В каталоге addons, находятся дополнительные пакеты, их я ставить не буду.

После установки проверим, запустился ли сервис PostgreSQL:

1 # service postgresql status

Если пакеты были установлены правильно, то вы получите примерно следующее сообщение (выхлоп):

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 ● postgresql.service - LSB: PostgreSQL RDBMS server Loaded: loaded (/etc/init.d/postgresql) Active: active (running) since Вт 2015-11-10 20:52:32 ALMT; 16s ago Process: 14225 ExecStop=/etc/init.d/postgresql stop (code=exited, status=0/SUCCESS) Process: 14274 ExecReload=/etc/init.d/postgresql reload (code=exited, status=0/SUCCESS) Process: 14235 ExecStart=/etc/init.d/postgresql start (code=exited, status=0/SUCCESS) CGroup: /system.slice/postgresql.service ├─14249 /usr/lib/postgresql/9.4/bin/postgres -D /var/lib/postgresql/9.4/main -c config_file=/etc/postgresql/9.4/main/postgresql... ├─14251 postgres: checkpointer process ├─14252 postgres: writer process ├─14253 postgres: wal writer process ├─14254 postgres: autovacuum launcher process └─14255 postgres: stats collector process ноя 10 20:52:32 as1 postgresql[14235]: Starting PostgreSQL 9.4 database server: main.

Если же вы получите сообщение похожее на это:

1 2 3 4 5 ● postgresql.service - LSB: PostgreSQL RDBMS server Loaded: loaded (/etc/init.d/postgresql) Active: active (exited) since Вт 2015-11-10 20:28:40 ALMT; 10min ago ноя 10 20:28:40 as1 postgresql[11850]: No PostgreSQL clusters exist; see "man pg_createcluster" ... (warning).

Нас интересует последняя строчка, где сообщается, что кластер PostgreSQL не обнаружен. Чтобы исправить эту ситуацию, достаточно просто перезапустить сервис PostgreSQL:

1 # service postgresql restart

После чего снова проверьте статус сервиса. В итоге вы должны получить что-то похожее на первое сообщение.

6. После установки нужно еще немного подправить конфигурационный файл. Как ни странно PostgreSQL будучи установленным из пакетов 1С, содержит неправильные настройки для обработки экранирующих символов, и при создании базы выдает ошибку:

1 syntax error at or near "SECOND" at character 127

или

1 syntax error at or near "SECOND" at character 227

Чтобы избежать вышеуказанных ошибок нужно отредактировать настройки PostgreSQL:

1 # vim /etc/postgresql/9.4/main/postgresql.conf

Приведя нижеуказанные параметры к следующему виду:

1 2 3 backslash_quote = on escape_string_warning = off standard_conforming_strings = off

Обновим конфигурацию, не перезапуская сервис:

1 # service postgresql reload

7. Зададим пароль внутреннему пользователю PostgreSQL, предварительно авторизировавшись под системным пользователем postgres. Итак, авторизация:

Переход в домашний каталог текущего пользователя:

Смена пароля у внутреннего пользователя PostgreSQL:

1 $ psql -U postgres -c "alter user postgres with password '123456';"

Где -U postgres - системный пользователь от имени которого будет запущен psql, user postgres - внутренний пользователь БД, ну а 123456 - произвольный пароль который будет задан внутреннему пользователю БД.

Если смена пароля прошла успешно, вы должны получить сообщение:

Выход из окружения системного пользователя postgres:

8. Напоследок зафиксируем пакеты PostgreSQL, чтобы они не обновлялись из стандартных репозиториев:

1 # apt-mark hold libpq5 postgresql-9.4 postgresql-client-9.4 postgresql-client-common postgresql-common postgresql-contrib-9.4

Если команда выполнена правильно, вы должны получить следующее сообщение:

1 2 3 4 5 6 libpq5 помечен как зафиксированный. postgresql-9.4 помечен как зафиксированный. postgresql-client-9.4 помечен как зафиксированный. postgresql-client-common помечен как зафиксированный. postgresql-common помечен как зафиксированный. postgresql-contrib-9.4 помечен как зафиксированный.

На этом установка PostgreSQL закончена. Вопросы настройки и оптимизации будут рассмотрены в отдельных статьях.

Установка сервера 1С:Предприятие 8.3. ↑

Теперь нам предстоит установка сервера 1С:Предприятие. Как и в случае с PostgreSQL нам предстоит ряд подготовительных работ необходимых для штатного функционирования сервера 1С:Предприятие.

1. Переходим в из каталога postgres в каталог 1c:

2. Устанавливаем дополнительные пакеты, которые необходимы для работы сервера:

1 # apt-get install imagemagick libglib2.0-0 libgsf-1-114 ttf-mscorefonts-installer t1utils unixodbc --no-install-recommends

3. Так как я не нашел достойной альтернативы пакету ttf2pt1, который не тянет кучу зависимостей. То я буду ставить его. В репозиториях его нету, скачаем из архива Debian:

1 # wget http://archive.debian.org/debian/pool/main/t/ttf2pt1/ttf2pt1_3.4.4-1.4_amd64.deb

Докачиваем libt1-5 от которого зависит ttf2pt1:

1 # wget http://ftp.ru.debian.org/debian/pool/main/t/t1lib/libt1-5_5.1.2-3.6_amd64.deb

Устанавливаем пакеты:

1 # dpkg -i ttf2pt1*.deb libt1*.deb

Кстати, жду предложений по возможной альтернативе пакету ttf2pt1.

4. Посмотрим, какие пакеты есть у нас в каталоге:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 # ls -l итого 628420 -rwxrwxrwx 1 nihi1ist nihi1ist 206202908 ноя 19 05:45 1c-enterprise83-client_8.3.7-1776_amd64.deb -rwxrwxrwx 1 nihi1ist nihi1ist 19879626 ноя 19 05:45 1c-enterprise83-client-nls_8.3.7-1776_amd64.deb -rwxrwxrwx 1 nihi1ist nihi1ist 33830518 ноя 19 05:45 1c-enterprise83-common_8.3.7-1776_amd64.deb -rwxrwxrwx 1 nihi1ist nihi1ist 1607830 ноя 19 05:45 1c-enterprise83-common-nls_8.3.7-1776_amd64.deb -rwxrwxrwx 1 nihi1ist nihi1ist 174945770 ноя 19 05:45 1c-enterprise83-server_8.3.7-1776_amd64.deb -rwxrwxrwx 1 nihi1ist nihi1ist 60668720 ноя 19 05:45 1c-enterprise83-server-nls_8.3.7-1776_amd64.deb -rwxrwxrwx 1 nihi1ist nihi1ist 135750258 ноя 19 05:45 1c-enterprise83-thin-client_8.3.7-1776_amd64.deb -rwxrwxrwx 1 nihi1ist nihi1ist 9980106 ноя 19 05:45 1c-enterprise83-thin-client-nls_8.3.7-1776_amd64.deb -rwxrwxrwx 1 nihi1ist nihi1ist 190046 ноя 19 05:45 1c-enterprise83-ws_8.3.7-1776_amd64.deb -rwxrwxrwx 1 nihi1ist nihi1ist 11986 ноя 19 05:46 1c-enterprise83-ws-nls_8.3.7-1776_amd64.deb -rwxr-xr-x 1 nihi1ist nihi1ist 173740 фев 24 2013 libt1-5_5.1.2-3.6_amd64.deb -rwxr-xr-x 1 nihi1ist nihi1ist 236970 июн 8 2008 ttf2pt1_3.4.4-1.4_amd64.deb

Всего 8 пакетов, из которых нам для функционирования сервера 1С:Предприятия необходимы 3 пакета: 1c-enterprise83-common, 1c-enterprise83-server, 1c-enterprise83-ws.

Небольшая таблица с пояснениями по назначению пакетов:
Название пакета Описание пакета
1c_enterprise83-client… Компоненты клиента 1С Предприятие 8.3 для Linux
1c_enterprise83-thin-client… Компоненты тонкого клиента 1С Предприятие 8.3 для Linux
1c_enterprise83-common… Общие компоненты 1С Предприятие 8.3 для Linux
1c_enterprise83-server… Сервер 1С Предприятие 8.2 для Linux
1c_enterprise83-ws… Компоненты интернет-сервисов 1С Предприятие 8.3 для Linux
1c_enterprise83-…-nls… Компоненты необходимые для ОС не поддерживающих кириллическую кодировку

 

5. Устанавливаем необходимые пакеты:

1 # dpkg -i 1c-enterprise83-common_8*.deb 1c-enterprise83-server_8*.deb 1c-enterprise83-ws_8.3*.deb

6. Даем пользователю usr1cv8 и группе grp1cv8 права на установочную директорию 1С:Предприятия:

1 # chown -R usr1cv8:grp1cv8 /opt/1C

7. В выхлопе установщика вы можете заметить предупреждение:

1 2 3 update-rc.d: using dependency based boot sequencing insserv: warning: script 'K01srv1cv83' missing LSB tags and overrides insserv: warning: script 'srv1cv83' missing LSB tags and overrides

Начиная с версий 8.3.7, данная проблема исправлена. Потому, если вышеуказанного сообщения вы не получали, можете пропустить пункты 8 и 9.

8. Сообщение описанное в пункте 7 мы получаем из-за отсутствия в скрипте запуска LSB-тегов. Ошибка не критична и никак не повлияет на работу сервера 1С:Предприятие. Но её легко можно решить, для этого добавим LSB-теги в сценарий сервиса 1С:Предприятие:

1 # vim /etc/init.d/srv1cv83

Находим строки:

#!/bin/bash #------------------------------------------------------------ # 1C:Enterprise server configuration parameters #------------------------------------------------------------ # 1C:Enterprise server keytab file.

Приводим к следующему виду:

#!/bin/bash #------------------------------------------------------------ # 1C:Enterprise server configuration parameters #------------------------------------------------------------ ### BEGIN INIT INFO # Provides: srv1cv83 # Required-Start: $remote_fs $network $syslog $named # Required-Stop: $remote_fs $network $syslog $named # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Description: 1C:Enterprise 83 server. ### END INIT INFO # 1C:Enterprise server keytab file.

После изменения сценария, запускаем:

1 # systemctl daemon-reload

9. Перезапускаем службу сервера 1С:Предприятие:

1 # service srv1cv83 restart

10. Проверяем запускаются ли при старте системы сервер 1С:Предприятие:

1 # netstat -atn|grep 0.0.0.0:15

Вы должны получить примерно такое сообщение:

1 2 3 tcp 0 0 0.0.0.0:1560 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:1540 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:1541 0.0.0.0:* LISTEN

11. Так же для профилактики можно проверить, все ли процессы сервера запущены:

От имени пользователя usr1cv8 должно быть запущено три процесса: ragent, rmngr и rphost. После имен процессов идут номера портов, через которые они работают:

1 2 3 4 usr1cv8 16832 0.3 1.8 357780 35668 ? Ssl 21:39 0:01 /opt/1C/v8.3/x86_64/ragent -daemon usr1cv8 16835 0.8 5.4 955616 104104 ? Sl 21:39 0:04 /opt/1C/v8.3/x86_64/rmngr -port 1541 -host as1 -range 1560:1591 -clstid 96f2358c-87be-11e5-049f-080027e1f738 usr1cv8 16862 0.3 10.6 848588 204580 ? Sl 21:39 0:01 /opt/1C/v8.3/x86_64/rphost -range 1560:1591 -reghost as1 -regport 1541 -pid 97c8c4c6-87be-11e5-049f-080027e1f738 root 16940 0.0 0.1 13968 2220 pts/0 S+ 21:48 0:00 grep 1c

Установка драйвера для аппаратной лицензии 1С (HASP). ↑

Большая часть новичков впервые столкнувшиеся с процессом установки 1С:Предприятие не могут понять о какой лицензии, ключе, HASP идет речь. Итак, лицензия 1С необходима для запуска продуктов 1С:Предприятие. Лицензии 1С можно разделить на аппаратные и программные. Мы рассмотрим аппаратную лицензию (USB-токен)). Аппаратные ключи 1С делятся на 3 вида и их можно отличить по цвету:

  • зеленый - серверный ключ 1С (сервер 1С:Предприятия),
  • синий (фиолетовый) - ключ 1С, который поставляется вместе с конфигурацией и является однопользовательским,
  • красный - лицензии на пользователей, данный ключ 1С может приобретаться отдельно в том случае, если у Вас уже есть в наличие какая-либо конфигурация 1С:Предприятие.

Клиентское приложение допускает использование следующих ключей HASP:

  • локальный клиентский ключ серии ORGL8 на 1 пользователя,
  • сетевой клиентский ключ серии ORGL8 на 5, 10, 20, 50, и 100 пользователей,
  • сетевой клиентский ключ серии ORGLА на 300 пользователей,
  • сетевой клиентский ключ серии ORGLВ на 500 пользователей.

Причём на одном компьютере может быть установлено не более одного ключа одной серии. Подробнее о видах лицензии и ключей вы можете прочитать здесь.

Из вышеуказанного следует - нам нужны два типа лицензий. Лицензия для сервера 1С:Предприятие и лицензия для клиента 1С:Предприятие. После того как мы выяснили какие ключи нам необходимы, можно перейти к установке драйвера. Свежий драйвер можно скачать на официальном сайте. Большинству подойдет HASP 4, его и скачивайте.

1. Как вы помните, всё необходимое я уже скачал, потому просто переходим из каталога 1с, в каталог hasp:

Проверим, что есть в каталоге:

1 2 3 4 # ls -l итого 2872 -rw-r--r-- 1 nihi1ist nihi1ist 2918898 авг 26 14:08 aksusbd_7.40-1_i386.deb -rw-r--r-- 1 nihi1ist nihi1ist 16851 авг 26 14:08 readme.html

Установочный пакет есть, осталось установить его:

2. После установки сервис не запустился, запустим его:

1 # service aksusbd start

Если сервис запустился штатно, команда просто отработает не выдав сообщений. Проверить запущен ли сервис можно командой:

1 # service aksusbd status

Вы должны получить сообщение:

1 2 3 4 5 6 7 8 ● aksusbd.service - LSB: Sentinel LDK RTE Loaded: loaded (/etc/init.d/aksusbd) Active: active (exited) since Чт 2015-12-03 19:37:12 ALMT; 10s ago Process: 3848 ExecStart=/etc/init.d/aksusbd start (code=exited, status=0/SUCCESS) дек 03 19:37:12 hst1 aksusbd[3848]: Starting AKSUSB daemon: . дек 03 19:37:12 hst1 aksusbd[3848]: Starting WINEHASP daemon: . дек 03 19:37:12 hst1 aksusbd[3848]: Starting HASPLM daemon: .

ПРЕДУПРЕЖДЕНИЕ! Для 64-битного сервера 1С:Предприятие, нужен 64-битный серверный HASP-ключ. 32-битный серверный HASP-ключ с 64-битным сервером 1С:Предприятие работать не будет!

ПРИМЕЧАНИЕ! Сервер 1С:Предприятие под *nix-подобные операционные системы не требует наличия серверного ключа, если число пользользователей не превышает 12. В этом случае требуется наличие только клиентских лицензий. Тем не менее, согласно правилам лицензирования, организация должна приобрести серверный ключ.

На этом установка драйвера закончена.

Установка клиента 1С:Предприятие 8.3. ↑

Установка клиента.

Итак, дано: рабочая станция с Debian 8 «Jessie» + DE Cinnamon на борту. Я предпочел Cinnamon, но каждый может выбрать окружение (DE) себе по вкусу. Можно приступить к установке клиента 1С:Предприятие.

1. По уже заведенной традиции, устанавливаем дополнительные пакеты, необходимые для работы 1С:Предприятие:

1 # apt-get install libwebkitgtk-1.0-0 imagemagick libglib2.0-0 libgsf-1-114 ttf-mscorefonts-installer t1utils unixodbc --no-install-recommends

2. На памятной флешке, имеются также пакеты клиента. Подключим флешку как указано в пунктах 4 и 5, главы Подготовка сервера и сразу перейдем в каталог с пакетами 1С:Предприятие:

Посмотрим, что имеется в каталоге:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 # ls -l итого 628420 -rwxrwxrwx 1 nihi1ist nihi1ist 206202908 ноя 19 05:45 1c-enterprise83-client_8.3.7-1776_amd64.deb -rwxrwxrwx 1 nihi1ist nihi1ist 19879626 ноя 19 05:45 1c-enterprise83-client-nls_8.3.7-1776_amd64.deb -rwxrwxrwx 1 nihi1ist nihi1ist 33830518 ноя 19 05:45 1c-enterprise83-common_8.3.7-1776_amd64.deb -rwxrwxrwx 1 nihi1ist nihi1ist 1607830 ноя 19 05:45 1c-enterprise83-common-nls_8.3.7-1776_amd64.deb -rwxrwxrwx 1 nihi1ist nihi1ist 174945770 ноя 19 05:45 1c-enterprise83-server_8.3.7-1776_amd64.deb -rwxrwxrwx 1 nihi1ist nihi1ist 60668720 ноя 19 05:45 1c-enterprise83-server-nls_8.3.7-1776_amd64.deb -rwxrwxrwx 1 nihi1ist nihi1ist 135750258 ноя 19 05:45 1c-enterprise83-thin-client_8.3.7-1776_amd64.deb -rwxrwxrwx 1 nihi1ist nihi1ist 9980106 ноя 19 05:45 1c-enterprise83-thin-client-nls_8.3.7-1776_amd64.deb -rwxrwxrwx 1 nihi1ist nihi1ist 190046 ноя 19 05:45 1c-enterprise83-ws_8.3.7-1776_amd64.deb -rwxrwxrwx 1 nihi1ist nihi1ist 11986 ноя 19 05:46 1c-enterprise83-ws-nls_8.3.7-1776_amd64.deb -rwxr-xr-x 1 nihi1ist nihi1ist 173740 фев 24 2013 libt1-5_5.1.2-3.6_amd64.deb -rwxr-xr-x 1 nihi1ist nihi1ist 236970 июн 8 2008 ttf2pt1_3.4.4-1.4_amd64.deb

3. Есть два варианта установки клиента. Первый вариант - установка полноценного клиента (включает толстый и тонкий клиенты), второй вариант - установка тонкого клиента. В случае с установкой полноценного клиента, необходимо также устанавливать и серверную часть.

3.1. Сначала рассмотрим установку полноценного клиента:

1 # dpkg -i 1c-enterprise83-client_8*.deb 1c-enterprise83-common_8*.deb 1c-enterprise83-server_8*.deb ttf2pt1*.deb libt1*.deb

После чего надо выполнить процедуры указанные в пунктах с 6 по 9, главы Установка сервера 1С:Предприятие 8.3.

3.2. Тонкий клиент, можно устанавливать на те машины, где не планируется использование толстого клиента. Преимущество тонкого клиента, это отсутствие зависимостей от компонентов сервера 1С:Предприятие, а также возможность работать через интернет. Итак, установка тонкого клиента:

1 # dpkg -i 1c-enterprise83-thin-client_8*.deb

В каких случаях нам необходим толстый клиент?- Работа с конфигуратором,- Создание информационных баз,- Проведение объемных вычислений (в случае толстого клиента, все вычисления проводятся на стороне клиента).

Подробнее о тонких и толстых клиентах можно почитать здесь.

4. Теперь нам необходимо выбрать каким способом мы будем взаимодействовать с сервером. В зависимости от обстоятельств и предпочтений, вы можете установить DNS-сервер, или прописывать имя сервера на каждой клиентской машине вручную:

Надо добавить строку:

1 192.168.1.1 as1 as1.nixway.loc

Где 192.168.1.1 - IP-адрес сервера, as1 - имя сервера, as1.nixway.loc - имя сервера в локальном домене, его указывать не обязательно.

5. После того как вы добавили вышеуказанную строку, проверьте, доступен ли сервер по указанному имени:

1 # ping -c4 as1.nixway.loc

Вы должны получить примерно такой ответ:

1 2 3 4 5 6 7 8 9 PING as1.nixway.loc (192.168.56.101) 56(84) bytes of data. 64 bytes from as1.nixway.loc (192.168.56.101): icmp_seq=1 ttl=64 time=0.212 ms 64 bytes from as1.nixway.loc (192.168.56.101): icmp_seq=2 ttl=64 time=0.309 ms 64 bytes from as1.nixway.loc (192.168.56.101): icmp_seq=3 ttl=64 time=0.315 ms 64 bytes from as1.nixway.loc (192.168.56.101): icmp_seq=4 ttl=64 time=0.258 ms --- as1.nixway.loc ping statistics --- 4 packets transmitted, 4 received, 0% packet loss, time 3000ms rtt min/avg/max/mdev = 0.212/0.273/0.315/0.045 ms

Установка клиента закончена, можно приступать к созданию информационной базы.

Создание информационной базы.

Для начала можно (но совсем необязательно) установить демонстрационную конфигурацию. Дабы продемострировать работую так называемого «Управляемого приложения». Демонстрационная конфигурация идет в комплекте с 1С:Предприятие 8.3. Установщик конфигурации представлен в виде простого скрипта. Потому, описывать процесс установки я не буду, просто выложу несколько скриншотов процесса установки:

1. Создание информационных баз на *nix-подобных ОС должно проходить из под толстого клиента. В противном случае вы рискуете получить ошибку:

Кроме вышеуказанной ошибки, встречается и другая, но уже в толстом клиенте. Когда при добавлении новой ИБ 1С:Предприятие выдает сообщение:

ИБ создается, но 1С:Предприятие некорректно обрабатывает её создание. В этом случае достаточно просто добавить ИБ в список:

Вышеуказанные ошибки будут рассмотрены в отдельной статье.

2. При первом запуске 1С:Предприятие сразу же предлагает нам добавить информационную базу (ИБ), жмем Да:

3. Выбираем пункт Создание новой информационной базы, жмем Далее >:

4. Выбраем шаблон конфигурации для создаваемой ИБ или же создаем ИБ без конфигурации, жмем Далее >:

5. Задаем имя ИБ и выбираем пункт На сервере 1С:Предприятия, жмем Далее >:

6. По порядку указываем: доменное имя или IP-адрес сервера 1С:Предприятие, имя ИБ, параметры соединения, тип СУБД, адрес сервера баз данных (БД), имя БД на сервере БД, имя пользователя сервера БД, пароль пользователя сервера БД, жмем Далее >:

7. Параметры запуска оставляем без изменений, жмем Готово:

8. Если вы всё сделали правильно, то через некоторое время ИБ будет создана и вы увидите её в списке:

9. Теперь, когда мы создали ИБ, можно её запустить. Как вы помните, я создавал ИБ из шаблона демонстрационной конфигурации. Так выглядит рабочее окно этой конфигурации:

Ну и конечно же конфигуратор:

Публикация ИБ на веб-сервере Apache 2.4. ↑

Хочу обрадовать тех, кому не хватало возможности публикации информационной базы на веб-сервере Apache. Добавление поддержки последней версии Apache, я заметил при установке 1С:Предприятие версии 8.3.8.1652. Может поддержка Apache 2.4 появилась и раньше. Но проверять мне было лень, а новостей на эту тему я не нашел. Даже на официальном сайте 1С, на данный момент устаревшая информация. Процесс публикации не изменился. Обращаю особое внимание, что процесс установки описан для Apache не ниже 2.4.

Создаем директорию для vrd-файла:

1 # mkdir -p /var/www/ib/ibname

А также файл конфигурации Apache:

1 # touch /etc/apache2/conf-available/ibname.conf

Переходим в каталог со утилитой публикации веб-клиента:

1 # cd /opt/1C/v8.3/x86_64/

Запускаем утилиту:

1 # ./webinst -apache24 -wsdir ibname -dir '/var/www/ib/ibname' -connstr 'Srvr="as1.nixway.loc";Ref="ibname";' -confPath /etc/apache2/conf-available/ibname.conf

Где /var/www/ib/ibname - директория где будет создан vrd-файл, ibname - имя ИБ, as1.nixway.loc - адрес сервера 1С:Предпрятие, а /etc/apache2/conf-available/ibname.conf - путь до конфигурационного файла Apache.

Подключаем конфигурацию:

Перечитываем конфигурацию Apache:

1 # service apache2 reload

Если процедура публикации была проведена корректно, ИБ будет доступна по адресу:

1 http[s]://server_ip|server_name/ibname

Послесловие ↑

Прошу в комментариях задавать вопросы только по статье. Если же вы найдете в статье ошибку или у вас есть предложения, просьбы, вопросы выходящие за рамки статьи, можете оставлять их на нашем форуме, в специально созданной теме.

Напоминаю копипастерам, использование прямой ссылки на оригинальную статью обязательно.

Статья обновлена 10 августа 2016 года.

nixway.org

Полная установка PostgreSQL 9.2.4-1.1C + 1C 8.3.5.1119 на Ubuntu Server 14.04 X64

Подробный и полностью рабочий гайд по установке этой связки софта на ваши железки.

Увеличиваем максимальный размер сегмента памяти до 4Гб (Обычно половина объема ОЗУ):

#echo "kernel.shmmax=1073741824" >>/etc/sysctl.conf #sysctl -p

Генерируем необходимые локали и задаем переменную среды LANG, для работы скрипта инициализации БД.

#locale-gen en_US ru_RU ru_RU.UTF-8 #export LANG="ru_RU.UTF-8"

Устанавливаем необходимые зависимости:

#apt-get install libssl0.9.8 libossp-uuid16 libxslt1.1 libicu52 libt1-5 t1utils imagemagick ttf-mscorefonts-installer unixodbc texlive-base libgfs-1.3-2

Качаем с сайта 1C необходимые пакеты Postgre 9.2.4 и устанавливаем их именно в такой последовательности:

#dpkg -i libpq5_9.2.4-1.1C_amd64.deb #wget http://archive.ubuntu.com/ubuntu/pool/main/p/postgresql-common/postgresql-client-common_154_all.deb #dpkg -i postgresql-client-common_154_all.deb #dpkg -i postgresql-client-9.2_9.2.4-1.1C_amd64.deb #wget http://archive.ubuntu.com/ubuntu/pool/main/p/postgresql-common/postgresql-common_154_all.deb #dpkg -i postgresql-common_154_all.deb

Пересобираем contrib:

#dpkg -x postgresql-contrib-9.2_9.2.4-1.1C_amd64.deb tmpdir #dpkg -e postgresql-contrib-9.2_9.2.4-1.1C_amd64.deb tmpdir/DEBIAN #mcedit ./tmpdir/DEBIAN/control ищем строку libicu46 (>= 1.4.6) и меняем ее на libicu52 (>= 1.4.6) сохраняем изменения #rm postgresql-contrib-9.2_9.2.4-1.1C_amd64.deb #dpkg -b tmpdir postgresql-contrib-9.2_9.2.4-1.1C_amd64.deb #dpkg -i postgresql-contrib-9.2_9.2.4-1.1C_amd64.deb #dpkg -i postgresql-9.2_9.2.4-1.1C_amd64.deb

Проверяем, запущен ли сервер:

#service postgresql status Выхлоп: 9.2/main (port 5433): online

Создаем директорию для хранения баз банных 1С:

#mkdir /mnt/1с/db/ #chown postgres:postgres -R /mnt/1c/db

Инициализируем БД и создаем администратора БД:

#su postgres $/usr/lib/postgresql/9.2/bin/initdb -D /mnt/1c/db --locale=ru_RU.UTF-8 $psql -U postgres -c "alter user postgres with password 'наш_пароль';"

Правим конфиг для корректной авторизации администратора БД (/mnt/1c/db/pg_hba.conf).Меняем:

# IPv4 local connections: host all all 127.0.0.1/32 ident # IPv6 local connections: host all all ::1/128 ident

На:

# IPv4 local connections: host all all 127.0.0.1/32 md5 # IPv6 local connections: host all all ::1/128 md5

Перезапускаем PostgreSQL:

#service postgresql restart

Проверяем:

#netstat -atn|grep 5432 выхлоп: tcp 0 0 0.0.0.0:5432 0.0.0.0:* LISTEN значит все гуд

На этом этапе установка PostgreSQL завершена.

Устанавливаем сервер 1С

Создаем симлинк:

#ln -s /usr/lib/x86_64-linux-gnu/libMagickWand.so.5 /usr/lib/x86_64-linux-gnu/libMagickWand.so

Ставим все необходимые пакеты:

#dpkg -i 1c-enterprise83-common_8.3.4-476_amd64.deb 1c-enterprise83-server_8.3.4-476_amd64.deb 1c-enterprise83-ws_8.3.4-476_amd64.deb 1c-enterprise83-common-nls_8.3.4-476_amd64.deb 1c-enterprise83-server-nls_8.3.4-476_amd64.deb 1c-enterprise83-ws-nls_8.3.4-476_amd64.deb #wget http://old-releases.ubuntu.com/ubuntu/pool/universe/t/ttf2pt1/ttf2pt1_3.4.4-1.4_amd64.deb #dpkg -i ttf2pt1_3.4.4-1.4_amd64.deb

Разрешаем запись:

#chown -R usr1cv8:grp1cv8 /opt/1C

Перезапускаем сервер 1с:

#service srv1cv83 restart

Проверяем порты:

#netstat -atn |grep 0.0.0.0:15 tcp 0 0 0.0.0.0:1560 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:1540 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:1541 0.0.0.0:* LISTEN

Так же можно для профилактики проверить, все ли процессы сервера запущены:

#ps aux|grep 1c usr1cv8 28351 0.0 1.1 264284 22664 ? Ssl 10:01 0:00 /opt/1C/v8.3/x86_64/ragent -daemon usr1cv8 28354 0.3 2.0 776216 41956 ? Sl 10:01 0:00 /opt/1C/v8.3/x86_64/rmngr -port 1541 -host test -range 1560:1591 usr1cv8 28378 0.1 1.6 323900 34076 ? Sl 10:01 0:00 /opt/1C/v8.3/x86_64/rphost -range 1560:1591 -reghost test -regport 1541 -pid f10fbd88-c9eb-11e3-0599-40618600e473 root 28439 0.0 0.0 13472 892 pts/2 S+ 10:03 0:00 grep --color=auto 1c

Установка Sentinel HASP USB:

#wget ftp://ftp.cis-app.com/pub/hasp/Sentinel_HASP/Runtime_(Drivers)/6.62/Sentinel_LDK_Ubuntu_DEB_Run-time_Installer.tar.gz #dpkg --add-architecture i386 #apt-get update #apt-get install libc6:i386 #dpkg -i aksusbd_2.2-1_i386.deb #/etc/init.d/aksusbd restart

Тушим сервер. Вставляем ключи USB. Запускаем сервер.

#service aksusbd status AKSUSB is running. WINEHASP is running. HASPLM is running.

На этом этапе всё готово для создания БД из под оснастки Windows “Администрирование серверов предприятия”!!!!!!!!!!!!!!!!!!!

Возможные ошибки:

“Ошибка СУБД: ERROR: type “mvarchar” does not exist at character 31″

Означает что база данных была создана не из оснастки 1с. Необходимо удалить БД и создать ее из оснастки.______________________________________________________________________

1С Предприятие Ошибка СУБД: ERROR: invalid byte sequence for encoding “UTF8”: 0x01 (0x01 это для примера, адреса бывают разные)

Невосстановимая ошибка приводящая к вылету клиентаНаблюдается на платформе 1C 8.3.4 и 8.3.5Редко на УТ 10, и часто на УТ 11

Лекарство: Установить значение параметра standard_conforming_strings в конфиге postgresql.conf в значение ‘off’Параметр лучше поправить как для БД, так и в глобальных настройках.______________________________________________________________________

Ошибка при получении характеристик по причине: {(1, 31)}: Поле не найдено “Свойство.Presentation” SELECT <<?>>

Означает, что не хватает прав на справочники “ЗначенияСвойствОбъектов”, “ЗначенияСвойствОбъектовИерархия” и план видов характеристик “ДополнительныеРеквизитыИСведения”.Соответственно лечится установкой прав на эти объектов хотя бы на “чтение/просмотр”______________________________________________________________________

Улучшаем работу сервера 1С предприятие 8.3.5

Через оснастку администрирования серверов 1с для конкретной БД выставляем свойства:

Количество ИБ на процесс = 1 Количество соединений на процесс = 10

Это даёт нам автоматическую балансировку нагрузки по рабочим процессам. Сервер сам создаёт нужное количество рабочих процессов согласно указанным параметрам и также автоматически закрывает неиспользуемые рабочие процессы. Тем самым мы обеспечили не только балансировку, но и ротацию (перезагрузку) рабочих процессов с целью защиты от «пожирания памяти».

за текст выражайте благодарности этому ростовскому парню.

(Просмотров 2 653 )

nordweb

Привет, меня зовут Евгений. Этот сайт задуман в качестве моей записной книжки, к которой я буду время от времени обращаться, чтобы освежить память. Надеюсь, что мои заметки пригодятся и кому-нибудь из Вас.

Поделитесь записью в соц. сетях:

Навигация по записям

admin.netlab-kursk.ru