Поднимаем сервер 1C 8.x на Linux (Centos + PostgreSQL). Postgresql linux 1c
Сборка PostgreSQL для платформы 1С под Linux и Windows : Компания Postgres Professional
На данной странице представлены для ознакомления собранные компанией Postgres Professional установочные пакеты новейшей версии PostgreSQL (9.6.5) под Windows 32bit и Windows 64bit и различные дистрибутивы Linux (только x86_64). В установочные пакеты включены изменения, предоставленные компанией 1C.
Представленное программное обеспечение предлагается для загрузки на бесплатной основе.
ПОДДЕРЖКА. Если вам необходимо обеспечение поддержки или консультация по представленным пакетам PostgreSQL, вы можете связаться с нашим отделом продаж по e-mail: [email protected] или по телефону +7 (495) 150-06-91.
Если вы нашли баг, если у вас есть замечания или предложения, напишите на [email protected], мы обязательно ответим.
Postgres Professional оставляет за собой право без предварительного уведомления вносить изменения в положения данной страницы, поэтому мы настоятельно рекомендуем перед загрузкой программного обеспечения ознакомиться с положениями/изменениями/дополнениями по условиям использования, указанными на странице.
Загружая из нашего репозитория пакеты программного обеспечения, Вы выражаете согласие с настоящими условиями его использования.
ОТКАЗ ОТ ГАРАНТИЙ, УСЛОВИЯ ИСПОЛЬЗОВАНИЯ. Программное обеспечение компании Postgres Professional предоставляется на условиях “КАК ЕСТЬ”. Postgres Professional, ее аффилированные лица и поставщики не предоставляют никаких явных или подразумеваемых гарантий, в том числе подразумеваемых гарантий коммерческого качества и пригодности для конкретных целей; условий, заверений, подтверждений в каких бы то ни было положениях о качестве, характеристиках, совместимости, безопасности, достижении определенных результатов, соответствии определенному назначению, отсутствии авторских прав.
Ответственность за любые убытки, ущерб, предъявление претензий, которые могут быть нанесены пользователю (его техническим средствам, программному обеспечению и данным) в результате загрузки представленных материалов, полностью ложится на пользователя.
Компоненты и материалы, поддерживаемые фирмой 1С и входящие в установочные пакеты PostgreSQL, распространяются на условиях, определенных компанией 1С.
ВЕРСИИ PostgreSQL и 1С
Начиная с версии 8.3 платформа 1С поддерживает PostgreSQL версий 9.4 и 9.6. Для этого фирмой 1С был выпущен набор патчей для PostgreSQL 9.4.2 и 9.6.1. В предлагаемых пакетах используются более новые PostgreSQL 9.4.14 и 9.6.5. Эти версии СУБД имеют множество улучшений, прежде всего связанных с надежностью.
ДИСТРИБУТИВЫ
Поддерживаемые версии
Архив предыдущих версий
Экспериментальные версии
ГЕНЕРАТОР ИНСТРУКЦИЙ
Используйте генератор инструкций для получения актуальной и архивных сборок PostgreSQL для 1С: Архив PostgreSQL 1C.
PgAdmin3
ПОДКЛЮЧЕНИЕ ПАКЕТНЫХ РЕПОЗИТОРИЕВ И ИНСТАЛЛЯЦИЯ ПАКЕТОВ ДЛЯ LINUX (только x86_64)
Обращаем Ваше внимание на то, что для корректной работы дистрибутивов 1С, распространяемых на территории Российской Федерации, кластер PostgreSQL должен быть инициализирован с локалью ru_RU.UTF-8. Если при инициализации кластера локаль явно не задана, то кластер будет инициализирован с локалью, установленной в системе по умолчанию. C помощью утилит locale(Linux) и systeminfo(Windows) можно узнать значение локали, установленное по умолчанию.
ОБНОВЛЕНИЕ МИНОРНОЙ ВЕРСИИ DEB ПАКЕТОВ C ВЕРСИЙ 9.5.3, 9.4.8, 9.3.14, 9.2.18:
Начиная с версий 9.5.4, 9.4.9 в нашу DEB сборку были внесены изменения. Пакет postgresql-pro-1c-[9.4|9.5] теперь является реальными именем пакета, а не виртуальным как раньше. Это было сделано, чтобы избежать некорректного разрешения зависимостей при установке наших пакетов, которое обусловлено наличием в APT механизма installation candidate, из-за которого становится невозможным гарантировать предсказуемое разрешение зависимостей. Минорное обновление до вышеуказанных версий осуществляется следующим образом: apt-get update && apt-get install postgresql-pro-1c-[9.4|9.5]Если у Вас при обновлении возникла ошибка неудовлетворенных зависимостей, необходимо предпринять следующие шаги:(На примере версии 9.4.8)1. Переименуйте директории с конфигами и данными: mv /etc/postgresql/9.4 /etc/postgresql/9.4.upgrade mv /var/lib/postgresql/9.4 /var/lib/postgresql/9.4.upgrade2. Удалите установленные пакеты из стандартного репозитория: apt-get purge postgresql*9.4 postgresql-client-common3. Обновите мета-информацию о пакетах: apt-get update4. Установите пакет: apt-get install postgresql-pro-1c-9.45. Переименуйте обратно директории из шага 1: rm -rf /etc/postgresql/9.4 /var/lib/postgresql/9.4 mv /etc/postgresql/9.4.upgrade /etc/postgresql/9.4 mv /var/lib/postgresql/9.4.upgrade /var/lib/postgresql/9.46. Запустите postgresql
Если у Вас возникли вопросы о процедуре обновления, Вы можете их задать по адресу [email protected]
Версия PostgreSQL 9.4.14 (для 1С версии начиная с 8.3 )
Подключение под centos 6/7:sudo rpm -ivh http://1c.postgrespro.ru/keys/postgrespro-1c-centos94.noarch.rpm && sudo yum makecache && sudo yum install postgresql-pro-1c-9.4
Версия PostgreSQL 9.5.9 (для 1С версии начиная с 8.3 )
Подключение под centos 6/7:sudo rpm -ivh http://1c.postgrespro.ru/keys/postgrespro-1c-centos95.noarch.rpm && sudo yum makecache && sudo yum install postgresql-pro-1c-9.5
Подключение под debian 7/8/9, ubuntu 12.04/14.04/16.04/17.04/17.10:sudo sh -c 'echo "deb http://1c.postgrespro.ru/deb/ $(lsb_release -cs) main" > /etc/apt/sources.list.d/postgrespro-1c.list'wget --no-verbose -O - http://1c.postgrespro.ru/keys/GPG-KEY-POSTGRESPRO-1C | sudo apt-key add - && sudo apt-get update sudo apt-get install postgresql-pro-1c-9.5
Версия PostgreSQL 9.6.5 (для 1С версии начиная с 8.3 )
Подключение под centos 6/7:sudo rpm -ivh http://1c.postgrespro.ru/keys/postgrespro-1c-centos96.noarch.rpm && sudo yum makecache && sudo yum install postgresql-pro-1c-9.6
Подключение под debian 7/8/9, ubuntu 12.04/14.04/16.04/17.04/17.10:sudo sh -c 'echo "deb http://1c.postgrespro.ru/deb/ $(lsb_release -cs) main" > /etc/apt/sources.list.d/postgrespro-1c.list'wget --no-verbose -O - http://1c.postgrespro.ru/keys/GPG-KEY-POSTGRESPRO-1C | sudo apt-key add - && sudo apt-get update sudo apt-get install postgresql-pro-1c-9.6
Исходные материалы, использованные при сборке:
Исходные коды PostgreSQL доступны на сайте http://postgresql.org/.Патчи 1С - на сайте фирмы 1С.
postgrespro.ru
1С. Установка сервера 1С:Предприятие 8.3 + PostgreSQL на Linux — Guesto.ru
Обновил на одном из серверов Debian до 9.2 Stretch, следовательно необходима установка сервера 1С и PostgreSQL, свежих версий.
Задача
Есть сервер с Debian 9.2 Stretch на борту, дистрибутивы сервера 1С:Предприятие 8.3.10.2580 и PosgreSQL 9.6. Необходимо установить и настроить для совместной работы сервер 1С:Предприятие 8.3.10.2580 и PosgreSQL 9.6.
Решение
Самым первым делом устанавливаем локализацию, сервер 1С работает с локализацией ru_RU.UTF8, и PostgreSQL создает кластер с локализацией по умолчанию.
# locale-gen en_US # locale-gen ru_RU # update-locale LANG=ru_RU.UTF8 # dpkg-reconfigure localesПо последней команды откроется псевдо-графический интерфейс в котором необходимо проверить правильность выбранных вариантов и ответить утвердительно, на самим деле можно обойтись последней командой и настроить все в ней. Для применения изменений необходимо перезагрузить систему.
Установка сервера 1С:Предприятие
Предварительно установим необходимые пакеты
# apt-get install imagemagick ttf-mscorefonts-instalС установкой cсервера, как правило проблем нет, просто последовательно устанавливаем пакеты
Если вдруг пакеты не встали то воспользуемся командой
# apt-get -f installв итоге станет все хорошо, если хорошо не стало, то читаем выхлоп и правим зависимости. У меня проблем не возникло.
На этом этапе уже можно добавить сервер в консоль серверов и он должен быть виден.
Для запуска, перезапуска, остановки службы сервера 1С:Предприятие можно воспользоваться командами:
# /etc/init.d/srv1cv83 start # /etc/init.d/srv1cv83 restart # /etc/init.d/srv1cv83 stopЕсли необходимо установить драйвер HASP, то прочитать как это делается можно в статье 1С. Установка 1С:Предприятие 8.3 на Linux.
Установка PostgreSQL
С PostgreSQL не все так просто, до этого стояла версия 9.4 распространяемая фирмой 1С, в дистрибутиве были все пакеты, а для избежания поломок обновлением версии фиксировал средствами apt. А вот в 9.6 пакеты не все, часть пакетов необходимо устанавливать из родного репозитория с понижением версии PostgreSQL и зависимых компонент до необходимой.
Этот путь мне не очень понравился, в интернетах и на партнерке наткнулся на PostgreSQL распространяемый компанией Postgres Professional, решил ставить его. У указанной компании есть свои продукты под названием Postgre Pro для корпоративных клиентов, но для моих нужд достаточно PostgreSQL, распространяется он под лицензией PostgeSQL.
Согласно инструкции подключаем репозиторий, добавляем ключ и устанавливаем PostgreSQL
# sh -c 'echo "deb http://1c.postgrespro.ru/deb/ $(lsb_release -cs) main" > /etc/apt/sources.list.d/postgrespro-1c.list' # wget --quiet -O - http://1c.postgrespro.ru/keys/GPG-KEY-POSTGRESPRO-1C | apt-key add - && apt-get update # apt-get install postgresql-pro-1c-9.6При установке автоматически создается кластер main, необходимо только произвести некоторые настройки. Для возможности подключения открываем файл /etc/postgresql/9.6/main/pg_hba.conf
# nano /etc/postgresql/9.6/main/pg_hba.confнаходим строку
local all postgres peerи изменяем на peer на trust
local all postgres trustДалее сменим пароль для пользователя postgres, от которого будет происходить подключение к СУБД
вместо Password пишем необходимый пароль.
Остается перезапустить службу, и можно подключиться к серверу PostgreSQL средствами pgAdmin.
Для запуска, перезапуска, остановки службы сервера PostgreSQL можно воспользоваться командами:
# /etc/init.d/postgresql start # /etc/init.d/postgresql restart # /etc/init.d/postgresql stopЕсли Вы все сделали и сервер так и не заработал, то первым делом необходимо проверить локализацию. Если установлена не та локализация, то необходимо пересоздать кластер, команды и результат выполнения ниже
# pg_dropcluster --stop 9.6 main Redirecting stop request to systemctl # pg_createcluster --locale ru_RU.UTF-8 9.6 main Creating new cluster 9.6/main ... config /etc/postgresql/9.6/main data /var/lib/postgresql/9.6/main locale ru_RU.UTF-8 socket /var/run/postgresql port 5432Проверка результата
Теперь можно зайти в консоль серверов добавить ИБ и проверить работу.
guesto.ru
производительность PostgreSQL для 1С / Хабр
Хотя интернет уже переполнен статьями о «правильной» настройке связки PostgreSQL и 1C 8.2, для подводных камней всегда остается место. При сравнении производительности СУБД PostgreSQL на разных ОС, показатели различаются в разы. Самая большую обиду принесла любимая Ubuntu (человечность). После долгих дней и ночей проведенных за консолью этой ОС, она разочаровала окончательно.Тормоза PostgreSQL в Ubuntu Server. Что с ними делать? Сколько раз можно наступать на грабли? Итак, что имеем: игрушку IBM x3650 M4 c двумя процессорами, 32 GB оперативки, массив RAID 10 из 6-и дисков общим объемом ~900GB. Являясь сторонником опенсорсного ПО и немалый опыт работы с системами а-ля Debian и производные, решил выбрать в качестве операционки самую «человечную» из них — Ubuntu Server x64. Как потом оказалось — это была первая моя ошибка.
С СУБД знаком не понаслышке но, имею пока еще малый опыт работы именно на Linux платформу. Поэтому, если где-то ошибся, прошу пинать строго советами. Не один я такой все-таки.
Наконец 1С выпустила свежую сборку PostgreSQL под Debian/Ubuntu которая работает почти «из коробки».
Процес установки упростился до дюжины консольных комманд.
admin@srv1c:~# sudo su1. Увеличиваем максимальный размер сегмента памяти до 8Гб. Для менее мощных машин устанавливают от 64Мб до половины объема оперативки.
root@srv1c:~# echo "kernel.shmmax=8589934592" >>/etc/sysctl.conf root@srv1c:~# sysctl -p2. Генерируем русскую локаль и задаем переменную среды LANG, именно с ней будет работать скрипт инициализации базы данных.
root@srv1c:~# locale-gen en_US ru_RU ru_RU.UTF-8 root@srv1c:~# export LANG="ru_RU.UTF-8"3.Устанавливаем необходимые зависимисти.
root@srv1c:~# apt-get install libssl0.9.8 ssl-cert postgresql-common libossp-uuid16 libxslt1.14. Берем с сайта users.v8.1c.ru архив с PostgreSQL 9.1.2 для 64-битных DEB-систем, распаковываем и устанавливаем нужные компоненты. Нужных и не нужных компонентов в архиве много, для того что бы все заработало достаточно postgresql, postgresql-client и postgresql-contrib.
root@srv1c:~# tar zxf postgresql_9_1_2_deb_x86_64_tar.gz5. Установка пакетов:
root@srv1c:~# cd ./postgres root@srv1c:~# dpkg -i postgresql-9.1_9.1.2-1.1C_amd64.deb libpq5_9.1.2-1.1C_amd64.deb postgresql-client-9.1_9.1.2-1.1C_amd64.deb postgresql-contrib-9.1_9.1.2-1.1C_amd64.deb6. После установки нужно еще немного подправить конфигурационный файл, как не странно будучи поставленным в пакете 1с он содержит не правильные настройки для обработки экранирующих символов, и при создании базы 1с выдает ошибки “syntax error at or near “SECOND” at character 127″ или “syntax error at or near “SECOND” at character 227″. Исправляем в файле /etc/postgresql/9.1/main/postgresql.conf следующие параметры.
root@srv1c:~# nano /etc/postgresql/9.1/main/postgresql.confbackslash_quote = on escape_string_warning = off standart_conforming_strings = off И закрываем с сохранением: Ctrl+x, Y
7. Перезапускаем сервис.
root@srv1c:~# service postgresql restart8.Меняем пароль для пользователя postgres – это тот пароль который мы будем задавать при создании базы данных.
root@srv1c:~# su postgres postgres@srv1c:/root$ cd ~ postgres@srv1c:~$ psql -U postgres -c "alter user postgres with password 'ваш пароль';" postgres@srv1c:~$ exit9. Отключаем обновление для пакетов 1с-овского PostgreSQL.
root@srv1c:~# echo "libpq5" hold | dpkg --set-selections root@srv1c:~# echo "postgresql-9.1" hold | dpkg --set-selections root@srv1c:~# echo "postgresql-client-9.1" hold | dpkg --set-selections root@srv1c:~# echo "postgresql-contrib-9.1" hold | dpkg --set-selections10. Перезапускаем службу и проверяем, запустился ли PostgreSQL:
root@srv1c:~# service postgresql restart root@srv1c:~# netstat -atn|grep 5432Ответ должен быть примерно таким:
tcp 0 0 0.0.0.0:5432 0.0.0.0:* LISTENили
tcp 0 0 127.0.0.1:5432 0.0.0.0:* LISTENЗдесь установка PostgreSQL закончена можно считать законченной.
При сравнении скорости работы связки 1C 8.2.16 + PostgeSQL 9.1.2 были обнаружены жуткие тормоза под Ubuntu Server 12.04. Тест от Гилёва «TPC_1С_GILV» в Ubuntu в среднем показал 10-14 баллов, что обусловлено тестовой базой, которая не задействует управляемые блокировки. Для сравнения, на менее мощную систему с четырехядерным процессором i5, 8GB оперативки, под Win 2k8 и IBM DB2 тот же тест показал 52 попугая. Проведение документов за месяц занимало в трое меньше времени на младшую машину. Аналогичные результаты получены и с PostgreSQL. Некоторые коллеги отзываются о результатах на CentOS при аналогичных параметрах. Так на CentOS получают по тому же тесту 56-62 балла а на чистую Debian — от 54 балла. Во всех тестах использовались идентичные настройки PG с отключенным fsync. В Ubuntu проверялись ext4, в CentOS LVM+ext3.
На всех платоформах ничего не ставилось кроме PG и 1C. На Ubuntu проверялись несколько версий PG, от Etersoft, собранная вручную с патчами от 1С и сборка от 1С, под CentOS использовалась версия Etersoft.
Есть какие-то варианты улучшения производительности в Ubuntu?
Хотелось бы сделать голосовалку по выбору Linux-дистрибутива для установки 1C + PostgreSQL. Думаю лидер рейтинга будет CentOS, но мне Debian ближе к сердцу.
Хорошо бы поделиться в комментариях успешными опытами установки с результатами тестирования.
Я уже готовлю систему под CentOS. О результатах тестирования отпишусь в новой статье.
habr.com
Поднимаем сервер 1C 8.x на Linux (Centos + PostgreSQL) « *unix,*linux « Интересные Заметки « skleroznik.in.ua
В последнее время связка Linux + 1C, становится, все более и более популярной среди любителей сэкономить на ПО. Действительно с выходом 1С8 в данном сегменте, многое изменилось. Появились полноценные версии восьмерки под популярные дистрибутивы линукс, Etersoft выпустила профиксинные Wine и PostgreSQL, появились положительные отзывы в интернете о внедрении данных решений в российских компаниях, что говорит о том, что бесплатное ПО, может быть вполне конкурентно способным по сравнению с аналогичными коммерческими решениями.
Что касается меня как простого админа, человека подневольного и не обремененного финансовой частью вопроса, интересно посмотреть, на сколько данное решение в действительности является производительным или напротив уступает аналогичным на базе того же MS, удобно ли в администрировании, хотя тут наверно больше вопрос предпочтений и привычки (linux vs win) и т д. Многие скажут, что если есть деньги на MS, то лучше не заморачиваться и ставить все под виндой, и наверно будут правы, все-таки изначально 1С была всегда заточена под win, в силу низкой распространенности open-source операционок, среди обычных пользователей. И здесь наверняка стоит ожидать более высокой производительности и стабильности в работе, что как, в последствии, покажут тесты, так и будет, но пока не будем забегать вперед и на практике посмотрим, насколько сервер на базе Linux применительно к 1С отстает от традиционного виндового и так или это на самом деле.
В качестве конечной оценки производительности того или иного сервера будем использовать уже известный тест от Вечеслава Гилева. Все манипуляции будем производить при помощи виртуальной машины Oracle VirtualBox. На клиентском компьютере будет запускаться последняя актуальная на момент выхода статьи версия 1с 8.2, где будет запускаться тест.
В данной обзоре будем настраивать связку Centos 6.2 x64 Minimal + Postgre@Etersoft9 + 1C 8.2 различных релизов. Итак начнем.
1) Подготовка сервера
Настройка сети:
vi /etc/sysconfig/network |
NETWORKING=yes HOSTNAME=1cserv |
Настройка eth0 Iface. Раскоментируем строчку BOOTPROTO=dhcp и закоментируем IPADDR, NETMASK, NETWORK, BROADCAST, GATEWAY, если хотим получать адрес от DHCP-сервера.
vi /etc/sysconfig/network-scripts/ifcfg-eth0 |
DEVICE=eth0 ;BOOTPROTO=dhcp IPADDR=192.168.1.8 NETMASK=255.255.255.0 NETWORK=192.168.1.0 BROADCAST=192.168.1.255 GATEWAY=192.168.1.1 HWADDR=00:0C:29:43:5B:3D ONBOOT=yes |
DNS:
nameserver 192.168.1.3 nameserver 192.168.1.5 |
127.0.0.1 localhost localhost.localdomain 192.168.1.8 1cserv 1cserv.localdomain |
Обновить CentOS включая все приложения:
Дополнительные утилиты которые могут понадобятся в работе:
yum install mc crontabs tmpwatch sudo wget file |
Добавляем репозитарии:
rpm -ihv http://dl.atrpms.net/el6-x86_64/atrpms/stable/atrpms-repo-6-5.el6.x86_64.rpm |
rpm -ihv ftp://ftp.pbone.net/mirror/download.fedora.redhat.com/pub/fedora/epel/beta/6/x86_64/epel-release-6-5.noarch.rpm |
Ставим библиотеки необходимые для правильной работы 1С:
yum install xorg-x11-xfs chkfontpath ttf2pt1 unixODBC |
Ставим TrueType Шрифты msttcorefonts.
rpm -ihv http://elders.princeton.edu/data/puias/unsupported/5/i386/msttcorefonts-2.0-1.noarch.rpm |
Либо вручную создаем репозитарий и ставим через yum. 🙂
vi /etc/yum.repos.d/puias-unsupported.repo |
yum install msttcorefonts |
2. Установка сервера баз данных PostgreSQL
Качаем PostgreSQL от Etersoft, отсюда.
Нам понадобятся:
libpq5.2-9.0eter-9.0.4-eter8rhel.x86_64.rpm postgre-etersoft9.0-9.0.4-eter8rhel.x86_64.rpm postgre-etersoft9.0-contrib-9.0.4-eter8rhel.x86_64.rpm postgre-etersoft9.0-server-9.0.4-eter8rhel.x86_64.rpmСтавим:
yum localinstall --nogpgcheck *.rpm |
Инициализируем базу PostgreSQL:
initdb -D /var/lib/pgsql/data --locale=ru_RU.UTF-8 |
Добавляем сервер в автозагрузку и запускаем его:
Задаем пароль локальному пользователю postgres:
Даем юзеру postgres писать в /var/lib/pgsql иначе ругнется что нет файла .history_pqsql
chown postgres:postgres /var/lib/pgsql |
Задаем пароль внутреннему пользователю PostgreSQL, предварительно авторизировавшись под пользователем postgres:
alter user postgres with password 'YOUR_PASSWORD'; |
Файл /var/lib/pgsql/data/pg_hba.conf приводим к виду:
host all postgres 0.0.0.0/0 md5 |
Здесь /var/lib/pgsql/data/postgresql.conf первое что я сразу меняю это параметр effective_cache_size , который рекомендуют выставлять не менее половины от объема всей оперативной памяти сервера, а точнее размер кэша можно посмотреть в самой системе, набрав в командной строке free. Необходимое значение будет в столбце cached (в kB).
Усредненная настройка наиболее важных параметров:
shared_buffers = 1/8 RAM или больше (но не более 1/4) work_mem = в 1/20 RAM maintenance_work_mem = в 1/4 RAM max_fsm_relations = в планируемое кол-во таблиц в базах * 1.5 max_fsm_pages в max_fsm_relations * 2000; fsync = true wal_sync_method = fdatasync commit_delay = от 10 до 100 commit_siblings = от 5 до 10 effective_cache_size = 0.9 от значения cached, которое показывает free random_page_cost = 2 для быстрых cpu, 4 для медленных cpu_tuple_cost = 0.001 для быстрых cpu, 0.01 для медленных cpu_index_tuple_cost = 0.0005 для быстрых cpu, 0.005 для медленных |
Для оптимизации настроек рассчитанных на максимальную производительность, можно попробовать воспользоваться утилитой pgtune.
wget http://pgfoundry.org/frs/download.php/2449/pgtune-0.9.3.tar.gz |
Переходим в каталог с pgtune, выполняем команду:
./pgtune −i $PGDATA/postgresql.conf −o $PGDATA/postgresql.conf.pgtune |
где, -i — путь до входного, текущего файла настроек postgresql.conf,
-o — путь до выходного, нового файла настроек postgresql.conf.
В результате выполнения команды получим идентичный исходному файл настроек, за исключением нескольких новых pg_tune-параметров в самом конце файла.
$PGDATA- переменная указывающая на /var/lib/pgsql/data. Если не задана, указать можно в /etc/environment.
Более полную информацию по настройке postgresql.conf смотрим у Etersoft или применительно к 1С на сайте Вечеслава Гилева. Для тех, кто хочет углубится более подробно в процесс изучения PostgreSQL существует замечательный, подробный мануал от Алексея Васильева. 🙂
Наиболее часто используемые команды Postgresql:
Изменить root-пароль:
ALTER USER postgres WITH PASSWORD ‘newpassword’; |
Shell-команда | Интерактивный режим psql | Описание |
createdb name | CREATE DATABASE name; | Создание новой базы данных |
ALTER DATABASE name; | Изменение параметров БД | |
dropdb | DROP DATABASE name; | Удаление базы данных |
createuser | CREATE USER name [ [ WITH ] option [ … ] ] | Создание нового пользователя |
ALTER USER name [ [ WITH ] option [ … ] ] | Изменение параметров пользователя | |
dropuser | DROP USER [ IF EXISTS ] name [, …] | Удаление пользователя |
vacuumdb | VACUUM | Дефрагментация БД |
GRANT | Назначение привилегий | |
REVOKE | Отмена привилегий |
3. Установка 1С Предприятие 8
Качаем технологическую платформу 1С8.2 для Linux (Redhut/Centos 6.x) с сайта 1С.
Установку пакетов желательно производить в следующем порядке. Если устанавливать всё сразу по маске, могут возникнуть ошибки.
1) 1C_Enterprise82-common-8.2.15-319.x86_64.rpm // общие компоненты сервера2) 1C_Enterprise82-common-nls-8.2.15-319.x86_64.rpm // национальные ресурсы для общих компонент3) 1C_Enterprise82-server-8.2.15-319.x86_64.rpm // сервер 1С:предприятие 8.2 для Linux4) 1C_Enterprise82-server-nls-8.2.15-319.x86_64.rpm // Национальные ресурсы для сервера 1С5) 1C_Enterprise82-ws-8.2.15-319.x86_64.rpm // Компоненты веб-сервисов 1с8.26) 1C_Enterprise82-ws-nls-8.2.15-319.x86_64.rpm // Национальные ресурсы для компонент веб-сервисов 1с8.2
или так:
1) 1C_Enterprise82-common-8.2.15-319.x86_64.rpm // общие компоненты сервера2) 1C_Enterprise82-server-8.2.15-319.x86_64.rpm // сервер 1С:предприятие 8.2 для Linux3) 1C_Enterprise82-ws-8.2.15-319.x86_64.rpm // Компоненты веб-сервисов 1с8.24) 1C_Enterprise82-common-nls-8.2.15-319.x86_64.rpm // национальные ресурсы для общих компонент5) 1C_Enterprise82-server-nls-8.2.15-319.x86_64.rpm // Национальные ресурсы для сервера 1С6) 1C_Enterprise82-ws-nls-8.2.15-319.x86_64.rpm // Национальные ресурсы для компонент веб-сервисов 1с8.2
Проверить, все ли пакеты установлены можно с помощью команды:
Далее устанавливаем glibc x86:
Делаем символьную ссылку, для нормальной отработки скрипта конфига сервера 1С:
ln -s /lib64/libglib-2.0.so.0.2200.5 /usr/lib64/libglib-2.0.so |
Запускаем:
/opt/1C/v8.2/x86_64/utils/*config_server |
Данный скрипт проверит наличие всех необходимых библиотек для работы сервера, зарегистрирует установленные TrueType шрифты в ImageMagick. В случае отсутствия шрифтов, скрипт потребует явно указать каталог, в котором находятся ttf-файлы. В случае успеха, в каталоге /opt/1C/v8.2/x86_64/conf/grcmncfg должен появится файл type.xml.
Проверяем корректность старта службы:
Должно высветится:
init script: STARTED Ragent: RUNNINGВ случае проблем, необходимо убедится, что на каталог /opt/1C и /home/usr1cv82 выставлены права на запуск от пользователя usr1cv82 входящего в группу grp1cv82. Если нет, то выполняем:
chown usr1cv82:grp1cv82 /opt/1C chown usr1cv82:grp1cv82 /home/usr1cv82 |
Перезапуск:
На файрволе для работы сервера 1С должны быть открыты следующие порты:
tcp:1540 — агент сервера (ragent)tcp:1541 — главный менеджер кластера (rmngr)tcp:1560-1591 — диапазон сетевых портов для динамического распределения рабочих процессов. (достаточно открыть tcp:1560)
-A INPUT -p tcp -m state --state NEW -m tcp --dport 1540 -j ACCEPT -A INPUT -p tcp -m state --state NEW -m tcp --dport 1541 -j ACCEPT -A INPUT -p tcp -m multiport --dports 1560:1591 -j ACCEPT |
Проверка работоспособности рабочих процессов сервера:
Должны получить примерно такую картинку:
tcp 0 0 0.0.0.0:1560 0.0.0.0:* LISTEN 2814/rphost tcp 0 0 0.0.0.0:1540 0.0.0.0:* LISTEN 2799/ragent tcp 0 0 0.0.0.0:1541 0.0.0.0:* LISTEN 2802/rmngr |
Так как клиент 1С цепляются к серверу по имени, то нам необходимо, разрешить на сервере возможность опознавать и пинговать его по имени машины. В этом нам поможет samba.
yum install samba samba-client |
Запускаем и добавляем в автозагрузку:
На файрволе должен быть открыт UDP:137 порт.
-A INPUT -p udp -m state --state NEW -m udp --dport 137 -j ACCEPT |
После чего, должен отрабатывать пинг по имени компа/сервера.
Проверка работоспособности:
На клиенте, если Windows, заходим в консоль управления 1CV8 Servers (Администрирование серверов 1С Предприятия).
Жмем, добавить Центральный сервер 1С:Преприятия 8.2, добавляем по имени. Во вкладке рабочие серверы должна появится запись.
Создаем новую базу, либо прямо с помощью консоли управления, либо в самом клиенте 1С выбираем опцию: Добавить новую информационную базу.
По поводу HASP-ключей, если до 12 пользователей то нужен только сетевой ключ с маркировкой типа NETXX ORGL8, где XX — количество клиентских лицензий. Если более 12 пользователей, но необходим так же локальный ключ для сервера. Фиолетовый ключ HASP HL с маркировкой типа ENSR8 для 32x-битного сервера или зеленый ключ HASP HL Max с маркировкой ENS8SA для 64-битного. Ключ HASP HL Max поддерживает так же 32-битный сервер. Для нормальной работы HASP-ключей необходимо установить два пакета включающих драйвер ключа aksusbd и менеджер лицензий hasplm. Имеет смысл ставить модифицированные варианты драйверов от Entersoft.
rpm -ihv http://download.etersoft.ru/pub/Etersoft/HASP/stable/x86_64/CentOS/6/haspd-3.3-eter2scientific.x86_64.rpm |
rpm -ihv http://download.etersoft.ru/pub/Etersoft/HASP/stable/x86_64/CentOS/6/haspd-modules-3.3-eter2scientific.x86_64.rpm |
Вставляем ключ, перегружаем сервер. Работоспособность ключей проверяем командой:
Должны быть запущенны: aksusbd, winehasp, hasplm, hasplmd.
4. Публикация на веб-сервере
Ставим Apache.
Редактируем /etc/httpd/conf/httpd.conf где задаем значение директиве ServerName.
Servername 1cservВ противном случае при запуске apach’a получим сообщение:
httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName.В корневом каталоге сайта, создаем директорию base, где base — имя базы к которой мы будем предоставлять доступ.
Теперь нам необходимо, запустить специальный скрипт для публикации базы на веб-сервере:
Переходим в /opt/1C/v8.2/x86_64/ Запускаем скрипт со следующими параметрами:
./webinst -apache22 -wsdir base -dir '/var/www/html/base' -connStr 'Srvr="1cserv";Ref="base";' -confPath /etc/httpd/conf/httpd.conf |
Проверяем корректность внесенных изменений. В конфиге Apache должны быть следующие строки:
LoadModule _1cws_module "/opt/1C/v8.2/i386/wsap22.so" Alias "base" "/var/www/html/base/" Directory "/var/www/html/base/" AllowOverride None Options None Order allow,deny Allow from all SetHandler 1c-application ManagedApplicationDescriptor "/var/www/html/base/default.vrd" |
В /var/www/base/ так же должен появится файл default.vrd две последние строчки которого должны выглядеть примерно так:
base="/base" ib="Srvr="1cserv";Ref="base"; |
Выдаем права на директорию:
chown -R apache:apache /var/www/html/base |
Перезапускаем Apache:
И получаем ошибку:
"Starting httpd: httpd: Syntax error on line 200 of /etc/httpd/conf/httpd.conf: Cannot load /opt/1C/v8.2/x86_64/wsap22.so into server: /opt/1C/v8.2/x86_64/wsap22.so: failed to map segment from shared object: Permission denied"Данная проблема решается, отключением SElinux, а в идеале отключением какой-то определенной политики, список которых можно получить с помощью команды:
Мне так и не удалось идентифицировать, какая политика разрешает грузить библиотеку из апача посредством другой библиотеки из 1С 🙂 Но, поскольку сервер предназначен исключительно для работы в локалке, то возможно полное отключение Selinux не так уж и критично.
Для временного отключения SElinux воспользуемся командой:
Для полного и постоянного отключения Selinux правим файлик /etc/selinux/config, где параметру SELINUX задаем disabled, но лучше все таки поставить permissive. Так же полностью отключить SElinux, можно в загрузчике Grub. Правим /boot/grub/grub.conf в конце строки вида: kernel /boot/vmlinuz-2.6.18-92.el5PAE ro root=LABEL=/ rhgb quiet selinux=0 вытавить selinux=0. (либо enforcing=0)
Итак, заходим браузером на сайт публикации, предварительно отключив всплывающие окна.
http://1cserv/baseИ получаем следующее сообщение:
Оно, и понятно, без специального сетевого ключа, работать не будет 🙂
5. Резервное копирование и восстановление:
Даем права пользователю postgres на тут папку куда будем выгружать backup.
chown postgres:postgres /mnt/net |
В /mnt/net у меня смонтирована виндовая шара, с помощью команды:
mount -t cifs //192.168.1.9/G /mnt/net -o iocharset=utf8,codepage=cp866,uid=500,gid=500,rw,user=test%11111111 |
Отмонтировать, принудительно закрыв все подключения, если нужно:
Резервное копирование (Backup):
pg_dump -U postgres -Fc -Z9 dbname -f /mnt/net/Backup/Base/dbname.dump |
где:
-U (пользователь)-F (формат извлекаемого файла) с (custom — внутренний формат сжатия pg_dump, возможны так же варианты tar и plain text)-Z (установить режим сжатия) 0 — 9 (0 — без сжатия, 9 — максимальный режим)-f (извлекать в этот файл)
Если выгружаем на виндовую шару, необходимо в виндах выставить права, Users (Полный доступ)
Востановление (только из под пользователя postgres):
В новую базу:
createdb -T template0 newdb |
где, template0 — шаблон означающий, что это абсолютна пустая база
pg_restore -d newdb db.dump |
Например:
createdb -T template0 mynewbase |
pg_restore -d mynewbase /mnt/net/my_old_base.dump |
С удалением базы и восстановлением ее из дампа:
pg_dump -Fc -Z9 dbname -f dbname.dump |
pg_restore -C -d anydbname dbanme.dump |
где, С — создать базу
Например:
pg_dump -Fc -Z9 mybase -f /mnt/net/mybase.dump |
pg_restore -C -d postgres /mnt/net/mybase.dump |
Здесь -d postgres указание на любую базу данных существующую в кластере база данных. pg_restore использует ее только чтобы выполнить команду CREATE DATABASE для mydb (mybase)
Скрипт автобэкапа:
В .gz
#!/bin/sh BKPDIR="/mnt/net" DATEYMD=`date "+%Y-%m-%d-%a"` // а - указывает на день недели в формате Пн, Вт, Ср...пишет по русски? mkdir -p ${BKPDIR}/PostgreSQL 2>/dev/null // - можно не указывать, если предварительно создать директорию и выставить права. (pg_dump mydb <"${BKPDIR}/PostgreSQL/${DATEYMD}-mydb-PostgreSQL.gz" EOF |
В .dump
#!/bin/sh BKPDIR="/mnt/net/PostgreSQL" DATEYMD=`date "+%Y-%m-%d"` pg_dump -Fc -Z9 mydb -f "${BKPDIR}/${DATEYMD}-mydb-PostgreSQL.dump" |
Запись в crontab (из под пользователя postgres):
crontab -e //добавить заданиеcrontab -l //просмотр заданийcrontab -r //удалить задание
# запустить в 18:50 минут
50 18 * * * sh /home/scripts/backup.sh |
# запускать каждые 15 минут
*/15 * * * * sh /home/scripts/backup.sh |
www.skleroznik.in.ua
Сервер приложений 1С + PostgreSQL
1С в виндах работает всю свою жизнь. Когда оно заработало под линуксами? Сервер приложений тоже относительно давно, а вот клиент заработал с версии 8.3. Давайте поставим сервер приложений с базами данных PostgreSQL
Postgres
Установим необходимые зависимости и софт root@pg0:~# yum -y install redhat-lsb-core mc readline libtermcap krb5-libs openssl openssl098e compat-readline5 compat-libtermcap wget htop nano p7zip Скачаем нужный нашему постгресу libicu root@pg0:~# wget http://mirror.centos.org/centos/5/os/x86_64/CentOS/libicu-3.6-5.16.1.x86_64.rpm root@pg0:~# yum -y install libicu-3.6-5.16.1.x86_64.rpm Следом качаем и ставим, собственно сам постгрес root@pg0:~# yum -y install *.rpm в директории с распакованным pg Инициализируем базу данных. Так как у нас контейнер изначально в русской локали, то инициализировать можно без параметров root@pg0:~# /etc/init.d/postgresql-9.4 initdb Создадим пользователя для работы с BD 1С root@pg0:~# su — postgres root@pg0:~# psql postgres=# create user app1c with ENCRYPTED password '000000' SUPERUSER;Тюнинг PG
root@pg0:~# nano /var/lib/pgsql/9.4/data/postgresql.conf listen_addresses = '*'max_connections = 10 shared_buffers = 128MB effective_cache_size = 512MBwork_mem = 10922kBmaintenance_work_mem = 128MBcheckpoint_segments = 3checkpoint_completion_target = 0.5wal_buffers = 3932kBdefault_statistics_target = 100##log_settingslog_destination = 'syslog'syslog_facility = 'LOCAL6'syslog_ident = 'postgres'client_min_messages = notice log_min_messages = warning log_min_error_statement = error datestyle = 'iso, dmy'timezone = 'W-SU'lc_messages = 'ru_RU.UTF-8'lc_monetary = 'ru_RU.UTF-8'lc_numeric = 'ru_RU.UTF-8'lc_time = 'ru_RU.UTF-8'default_text_search_config = 'pg_catalog.russian'escape_string_warning = offstandard_conforming_strings = offonline_analyze.threshold = 50online_analyze.scale_factor = 0.1online_analyze.enable = ononline_analyze.verbose = offonline_analyze.min_interval = 10000online_analyze.table_type = 'temporary'plantuner.fix_empty_table = truemax_locks_per_transaction = 150 autovacuum = onautovacuum_vacuum_threshold = 1800autovacuum_analyze_threshold = 900autovacuum_naptime = 5min #autovacuum_vacuum_threshold = 50Сервер приложений
root@app0:~# apt-get update && apt-get dist-upgrade Установим необходимое root@app0:~# apt-get install ttf-mscorefonts-installer p7zip-full imagemagick apache2 nano mc Качаем и ставим серверную часть 1с root@app0:~# dpkg -i *.deb Для удобства нужно сделать симлинки в /usr/local/bin и rac и ras: root@app0:~# ln -s /opt/1C/v8.3/i386/ras /usr/local/bin/ras root@app0:~# ln -s /opt/1C/v8.3/i386/rac /usr/local/bin/raс root@app0:~# nano /usr/local/bin/ras.sh #!/bin/shSERVICE='/opt/1C/v8.3/i386/ras'if ps ax | grep -v grep | grep $SERVICE > /dev/nullthenecho "$SERVICE service running, everything is fine" > /dev/nullelse/opt/1C/v8.3/i386/ras --daemon clusterfi root@app0:~# chmod 777 /usr/local/bin/ras.sh root@app0:~# nano /etc/rc.local /usr/local/bin/ras.sh Просмотр списка доступных кластеров серверов 1с для управления root@app0:~# rac cluster list Здесь важная информация о uid-кластера в первой строке. Создание информационной базы root@app0:~# rac infobase create --cluster=31e491ca-bcdf-11e5-c99f-363133393962 --name=test --create-database --dbms=PostgreSQL --db-server=192.168.0.25 --db-name=test --locale=ru --db-user=app1c --db-pwd=000000 --license-distribution=allow Разберем параметры:--name — имя информационной базы--create-database — создать базу в СУБД в случае ее отсутствия--dbms — тип СУБД--db-server — параметры сервера СУБД(имя хоста или ip)--db-name — имя БД в СУБД--db-user и --db-pwd — имя пользователя и пароль для СУБД--cluster-user --cluster-pwd = — учетная запись администратора кластера--license-distribution=allow - разрешаем выдачу лицензий сервером приложенийПросмотр серверов 1С
root@app0:~# rac server list --cluster=6aae6682-9e4b-11e5-1691-326436636531 Тюнинг сервера приложений: 1 процесс на базу, 5 коннектов на процесс root@app0:~# rac server update --server=ff1eaaae-8d28-11e5-7e98-c222ce8f7563 --cluster=fe8022c6-8d28-11e5-7e98-c222ce8f7563 --infobases-limit=1 —connections-limit=5 Проверяем нашу базу с терминального сервераПубликация 1С8
Делаем скрипт root@app0:~# nano /usr/local/bin/public.sh #!/bin/bashcd /opt/1C/v8.3/i386./webinst -apache22 -wsdir base_name -dir /var/www/1c/base_name/ -connStr "Srvr=server_name;Ref=base_name;" -confPath /etc/apache2/apache2.conf Создаем папочку root@app0:~# mkdir -p /var/www/1c/test Запускаем скрипт, перезапускаем apache2 root@app0:~# public.sh Публикация выполнена root@app0:~# /etc/init.d/apache2 restart Заходим по ссылочкеhttp://app0/test
Ставим требуемые плагины для браузера, если потребуется
Бекап баз данных
root@pg0:~# mkdir -p /data/.backups/logs root@pg0:~# chmod -R 777 /data/.backups root@pg0:~# chown -R nobody:users /data/.backups root@pg0:~# nano /usr/local/bin/pg_stuff.sh #!/bin/bash##Дамп баз 1СDATE=$(date +%Y~%m~%d)PGDUMPBASE1=base_name1PGDUMPBASE2=base_name2PGDUMPFILE1=$PGDUMPBASE1"_"$DATEPGDUMPFILE2=$PGDUMPBASE2"_"$DATEBACKDIR=/data/.backupsecho Dumping started at $DATE >> $BACKDIR/logs/datespg_dump $PGDUMPBASE1 -w -F c -f $BACKDIR/$PGDUMPFILE1#tar --remove-files -czvf $BACKDIR/$PGDUMPFILE1.tgz $BACKDIR/$PGDUMPFILE1pg_dump $PGDUMPBASE2 -w -F c -f $BACKDIR/$PGDUMPFILE2
#tar --remove-files -czvf $BACKDIR/$PGDUMPFILE2.tgz $BACKDIR/$PGDUMPFILE2find $BACKDIR -mtime +6 -exec rm -f {} \;
##Вакум, анализ и реиндекс баз 1Сecho Vacuum, Analyze and Reindex started at $DATE >> $BACKDIR/logs/pg_stuff.log/usr/bin/vacuumdb --verbose --all --analyze --full --echo >> /$BACKDIR/logs/pg_stuff.log/usr/bin/reindexdb --all --echo >> /$BACKDIR/logs/pg_stuff.log
root@pg0:~# chmod 777 /usr/local/bin/pg_stuff.sh root@pg0:~# chown postgres:postgres /usr/local/bin/pg_stuff.sh Добавим задание для crontab root@pg0:~# su - postgres root@pg0:~# nano cron SHELL=/bin/bashMAILTO=postgres02 02 * * * /usr/local/bin/pg_stuff.sh root@pg0:~# crontab cron root@pg0:~#crontab -llinuxpractic.blogspot.com
Поддерживаемые версии PostgreSQL для 1C : Компания Postgres Professional
Представлены поддерживаемые версии PostgreSQL для 1C, содержащие последние улучшения и исправления ошибок. Рекомендованна для любых версий 1c версия PostgreSQL 9.6 для 1C.
Вы можете ознакомиться с архивными и экспериментальными версиями PostgreSQL, использование которых в промышленной среде не рекомендуется.
ГЕНЕРАТОР ИНСТРУКЦИЙ
Используйте генератор инструкций для получения актуальной и архивных сборок PostgreSQL для 1С: Архив PostgreSQL 1C.
Windows и Windows Server
(от Windows Vista и Windows Server 2008 и позже)Windows XP и Windows Server 2003
Debian
Debian 9
PostgreSQL 9.6.10
Пакет: postgresql-pro-1c-9.6_9.6.10-1.1C.stretch_amd64.deb
Установка
apt-get update -yapt-get install -y wget gnupg2wget -O - http://1c.postgrespro.ru/keys/GPG-KEY-POSTGRESPRO-1C | apt-key add -echo deb http://1c.postgrespro.ru/archive/2018_09_03/deb stretch main > /etc/apt/sources.list.d/postgrespro-1c.listapt-get update -yapt-get install -y postgresql-pro-1c-9.6
PostgreSQL 9.4.19
Пакет: postgresql-pro-1c-9.4_9.4.19-1.1C.stretch_amd64.deb
Установка
apt-get update -yapt-get install -y wget gnupg2wget -O - http://1c.postgrespro.ru/keys/GPG-KEY-POSTGRESPRO-1C | apt-key add -echo deb http://1c.postgrespro.ru/archive/2018_09_03/deb stretch main > /etc/apt/sources.list.d/postgrespro-1c.listapt-get update -yapt-get install -y postgresql-pro-1c-9.4
PostgreSQL 9.3.24
Пакет: postgresql-pro-1c-9.3_9.3.24-1.1C.stretch_amd64.deb
Установка
apt-get update -yapt-get install -y wget gnupg2wget -O - http://1c.postgrespro.ru/keys/GPG-KEY-POSTGRESPRO-1C | apt-key add -echo deb http://1c.postgrespro.ru/archive/2018_09_03/deb stretch main > /etc/apt/sources.list.d/postgrespro-1c.listapt-get update -yapt-get install -y postgresql-pro-1c-9.3
PostgreSQL 9.2.23
Пакет: postgresql-pro-1c-9.2_9.2.23-2.1C.stretch_amd64.deb
Установка
apt-get update -yapt-get install -y wget gnupg2wget -O - http://1c.postgrespro.ru/keys/GPG-KEY-POSTGRESPRO-1C | apt-key add -echo deb http://1c.postgrespro.ru/archive/2017_10_11/deb stretch main > /etc/apt/sources.list.d/postgrespro-1c.listapt-get update -yapt-get install -y postgresql-pro-1c-9.2
Debian 8
PostgreSQL 9.6.10
Пакет: postgresql-pro-1c-9.6_9.6.10-1.1C.jessie_amd64.deb
Установка
apt-get update -yapt-get install -y wget gnupg2wget -O - http://1c.postgrespro.ru/keys/GPG-KEY-POSTGRESPRO-1C | apt-key add -echo deb http://1c.postgrespro.ru/archive/2018_09_03/deb jessie main > /etc/apt/sources.list.d/postgrespro-1c.listapt-get update -yapt-get install -y postgresql-pro-1c-9.6
PostgreSQL 9.4.19
Пакет: postgresql-pro-1c-9.4_9.4.19-1.1C.jessie_amd64.deb
Установка
apt-get update -yapt-get install -y wget gnupg2wget -O - http://1c.postgrespro.ru/keys/GPG-KEY-POSTGRESPRO-1C | apt-key add -echo deb http://1c.postgrespro.ru/archive/2018_09_03/deb jessie main > /etc/apt/sources.list.d/postgrespro-1c.listapt-get update -yapt-get install -y postgresql-pro-1c-9.4
PostgreSQL 9.3.24
Пакет: postgresql-pro-1c-9.3_9.3.24-1.1C.jessie_amd64.deb
Установка
apt-get update -yapt-get install -y wget gnupg2wget -O - http://1c.postgrespro.ru/keys/GPG-KEY-POSTGRESPRO-1C | apt-key add -echo deb http://1c.postgrespro.ru/archive/2018_09_03/deb jessie main > /etc/apt/sources.list.d/postgrespro-1c.listapt-get update -yapt-get install -y postgresql-pro-1c-9.3
PostgreSQL 9.2.23
Пакет: postgresql-pro-1c-9.2_9.2.23-2.1C.jessie_amd64.deb
Установка
apt-get update -yapt-get install -y wget gnupg2wget -O - http://1c.postgrespro.ru/keys/GPG-KEY-POSTGRESPRO-1C | apt-key add -echo deb http://1c.postgrespro.ru/archive/2017_10_11/deb jessie main > /etc/apt/sources.list.d/postgrespro-1c.listapt-get update -yapt-get install -y postgresql-pro-1c-9.2
Debian 7
PostgreSQL 9.6.10
Пакет: postgresql-pro-1c-9.6_9.6.10-1.1C.wheezy_amd64.deb
Установка
apt-get update -yapt-get install -y wget gnupg2wget -O - http://1c.postgrespro.ru/keys/GPG-KEY-POSTGRESPRO-1C | apt-key add -echo deb http://1c.postgrespro.ru/archive/2018_09_03/deb wheezy main > /etc/apt/sources.list.d/postgrespro-1c.listapt-get update -yapt-get install -y postgresql-pro-1c-9.6
PostgreSQL 9.4.19
Пакет: postgresql-pro-1c-9.4_9.4.19-1.1C.wheezy_amd64.deb
Установка
apt-get update -yapt-get install -y wget gnupg2wget -O - http://1c.postgrespro.ru/keys/GPG-KEY-POSTGRESPRO-1C | apt-key add -echo deb http://1c.postgrespro.ru/archive/2018_09_03/deb wheezy main > /etc/apt/sources.list.d/postgrespro-1c.listapt-get update -yapt-get install -y postgresql-pro-1c-9.4
PostgreSQL 9.3.24
Пакет: postgresql-pro-1c-9.3_9.3.24-1.1C.wheezy_amd64.deb
Установка
apt-get update -yapt-get install -y wget gnupg2wget -O - http://1c.postgrespro.ru/keys/GPG-KEY-POSTGRESPRO-1C | apt-key add -echo deb http://1c.postgrespro.ru/archive/2018_09_03/deb wheezy main > /etc/apt/sources.list.d/postgrespro-1c.listapt-get update -yapt-get install -y postgresql-pro-1c-9.3
PostgreSQL 9.2.23
Пакет: postgresql-pro-1c-9.2_9.2.23-2.1C.wheezy_amd64.deb
Установка
apt-get update -yapt-get install -y wget gnupg2wget -O - http://1c.postgrespro.ru/keys/GPG-KEY-POSTGRESPRO-1C | apt-key add -echo deb http://1c.postgrespro.ru/archive/2017_10_11/deb wheezy main > /etc/apt/sources.list.d/postgrespro-1c.listapt-get update -yapt-get install -y postgresql-pro-1c-9.2
Debian 6
PostgreSQL 9.4.6
Пакет: postgresql-9.4_9.4.6-1.squeeze-1C_amd64.deb
Установка
apt-get update -yapt-get install -y wget gnupg2wget -O - http://1c.postgrespro.ru/keys/GPG-KEY-POSTGRESPRO-1C | apt-key add -echo deb http://1c.postgrespro.ru/archive/2016_03_14/deb squeeze main > /etc/apt/sources.list.d/postgrespro-1c.listapt-get update -yapt-get install -y postgresql-9.4
PostgreSQL 9.3.11
Пакет: postgresql-9.3_9.3.11-1.squeeze-1C_amd64.deb
Установка
apt-get update -yapt-get install -y wget gnupg2wget -O - http://1c.postgrespro.ru/keys/GPG-KEY-POSTGRESPRO-1C | apt-key add -echo deb http://1c.postgrespro.ru/archive/2016_03_14/deb squeeze main > /etc/apt/sources.list.d/postgrespro-1c.listapt-get update -yapt-get install -y postgresql-9.3
PostgreSQL 9.2.15
Пакет: postgresql-9.2_9.2.15-1.squeeze-1C_amd64.deb
Установка
apt-get update -yapt-get install -y wget gnupg2wget -O - http://1c.postgrespro.ru/keys/GPG-KEY-POSTGRESPRO-1C | apt-key add -echo deb http://1c.postgrespro.ru/archive/2016_03_14/deb squeeze main > /etc/apt/sources.list.d/postgrespro-1c.listapt-get update -yapt-get install -y postgresql-9.2
Centos
Centos 7
PostgreSQL 9.6.10
Пакет: postgresql96-server-9.6.10-1.1C.x86_64.rpm
Установка
curl http://1c.postgrespro.ru/keys/GPG-KEY-POSTGRESPRO-1C > GPG-KEY-POSTGRESPRO-1Crpm --import GPG-KEY-POSTGRESPRO-1Cecho [postgrespro-1c] > /etc/yum.repos.d/postgrespro-1c.repoecho name=Postgres Pro 1C repo >> /etc/yum.repos.d/postgrespro-1c.repoecho baseurl=http://1c.postgrespro.ru/archive/2018_09_03/rpm/9.6/centos-7-x86_64/ >> /etc/yum.repos.d/postgrespro-1c.repoecho gpgcheck=1 >> /etc/yum.repos.d/postgrespro-1c.repoecho enabled=1 >> /etc/yum.repos.d/postgrespro-1c.repoyum makecacheyum install -y postgresql96-server-9.6.10-1.1C.x86_64
PostgreSQL 9.4.19
Пакет: postgresql94-server-9.4.19-1.1C.x86_64.rpm
Установка
curl http://1c.postgrespro.ru/keys/GPG-KEY-POSTGRESPRO-1C > GPG-KEY-POSTGRESPRO-1Crpm --import GPG-KEY-POSTGRESPRO-1Cecho [postgrespro-1c] > /etc/yum.repos.d/postgrespro-1c.repoecho name=Postgres Pro 1C repo >> /etc/yum.repos.d/postgrespro-1c.repoecho baseurl=http://1c.postgrespro.ru/archive/2018_09_03/rpm/9.4/centos-7-x86_64/ >> /etc/yum.repos.d/postgrespro-1c.repoecho gpgcheck=1 >> /etc/yum.repos.d/postgrespro-1c.repoecho enabled=1 >> /etc/yum.repos.d/postgrespro-1c.repoyum makecacheyum install -y postgresql94-server-9.4.19-1.1C.x86_64
PostgreSQL 9.3.24
Пакет: postgresql93-server-9.3.24-1.1C.x86_64.rpm
Установка
curl http://1c.postgrespro.ru/keys/GPG-KEY-POSTGRESPRO-1C > GPG-KEY-POSTGRESPRO-1Crpm --import GPG-KEY-POSTGRESPRO-1Cecho [postgrespro-1c] > /etc/yum.repos.d/postgrespro-1c.repoecho name=Postgres Pro 1C repo >> /etc/yum.repos.d/postgrespro-1c.repoecho baseurl=http://1c.postgrespro.ru/archive/2018_09_03/rpm/9.3/centos-7-x86_64/ >> /etc/yum.repos.d/postgrespro-1c.repoecho gpgcheck=1 >> /etc/yum.repos.d/postgrespro-1c.repoecho enabled=1 >> /etc/yum.repos.d/postgrespro-1c.repoyum makecacheyum install -y postgresql93-server-9.3.24-1.1C.x86_64
PostgreSQL 9.2.23
Пакет: postgresql92-server-9.2.23-2.1C.x86_64.rpm
Установка
curl http://1c.postgrespro.ru/keys/GPG-KEY-POSTGRESPRO-1C > GPG-KEY-POSTGRESPRO-1Crpm --import GPG-KEY-POSTGRESPRO-1Cecho [postgrespro-1c] > /etc/yum.repos.d/postgrespro-1c.repoecho name=Postgres Pro 1C repo >> /etc/yum.repos.d/postgrespro-1c.repoecho baseurl=http://1c.postgrespro.ru/archive/2017_10_11/rpm/9.2/centos-7-x86_64/ >> /etc/yum.repos.d/postgrespro-1c.repoecho gpgcheck=1 >> /etc/yum.repos.d/postgrespro-1c.repoecho enabled=1 >> /etc/yum.repos.d/postgrespro-1c.repoyum makecacheyum install -y postgresql92-server-9.2.23-2.1C.x86_64
Centos 6
PostgreSQL 9.6.10
Пакет: postgresql96-server-9.6.10-1.1C.x86_64.rpm
Установка
curl http://1c.postgrespro.ru/keys/GPG-KEY-POSTGRESPRO-1C > GPG-KEY-POSTGRESPRO-1Crpm --import GPG-KEY-POSTGRESPRO-1Cecho [postgrespro-1c] > /etc/yum.repos.d/postgrespro-1c.repoecho name=Postgres Pro 1C repo >> /etc/yum.repos.d/postgrespro-1c.repoecho baseurl=http://1c.postgrespro.ru/archive/2018_09_03/rpm/9.6/centos-6-x86_64/ >> /etc/yum.repos.d/postgrespro-1c.repoecho gpgcheck=1 >> /etc/yum.repos.d/postgrespro-1c.repoecho enabled=1 >> /etc/yum.repos.d/postgrespro-1c.repoyum makecacheyum install -y postgresql96-server-9.6.10-1.1C.x86_64
PostgreSQL 9.4.19
Пакет: postgresql94-server-9.4.19-1.1C.x86_64.rpm
Установка
curl http://1c.postgrespro.ru/keys/GPG-KEY-POSTGRESPRO-1C > GPG-KEY-POSTGRESPRO-1Crpm --import GPG-KEY-POSTGRESPRO-1Cecho [postgrespro-1c] > /etc/yum.repos.d/postgrespro-1c.repoecho name=Postgres Pro 1C repo >> /etc/yum.repos.d/postgrespro-1c.repoecho baseurl=http://1c.postgrespro.ru/archive/2018_09_03/rpm/9.4/centos-6-x86_64/ >> /etc/yum.repos.d/postgrespro-1c.repoecho gpgcheck=1 >> /etc/yum.repos.d/postgrespro-1c.repoecho enabled=1 >> /etc/yum.repos.d/postgrespro-1c.repoyum makecacheyum install -y postgresql94-server-9.4.19-1.1C.x86_64
PostgreSQL 9.3.24
Пакет: postgresql93-server-9.3.24-1.1C.x86_64.rpm
Установка
curl http://1c.postgrespro.ru/keys/GPG-KEY-POSTGRESPRO-1C > GPG-KEY-POSTGRESPRO-1Crpm --import GPG-KEY-POSTGRESPRO-1Cecho [postgrespro-1c] > /etc/yum.repos.d/postgrespro-1c.repoecho name=Postgres Pro 1C repo >> /etc/yum.repos.d/postgrespro-1c.repoecho baseurl=http://1c.postgrespro.ru/archive/2018_09_03/rpm/9.3/centos-6-x86_64/ >> /etc/yum.repos.d/postgrespro-1c.repoecho gpgcheck=1 >> /etc/yum.repos.d/postgrespro-1c.repoecho enabled=1 >> /etc/yum.repos.d/postgrespro-1c.repoyum makecacheyum install -y postgresql93-server-9.3.24-1.1C.x86_64
PostgreSQL 9.2.23
Пакет: postgresql92-server-9.2.23-2.1C.x86_64.rpm
Установка
curl http://1c.postgrespro.ru/keys/GPG-KEY-POSTGRESPRO-1C > GPG-KEY-POSTGRESPRO-1Crpm --import GPG-KEY-POSTGRESPRO-1Cecho [postgrespro-1c] > /etc/yum.repos.d/postgrespro-1c.repoecho name=Postgres Pro 1C repo >> /etc/yum.repos.d/postgrespro-1c.repoecho baseurl=http://1c.postgrespro.ru/archive/2017_10_11/rpm/9.2/centos-6-x86_64/ >> /etc/yum.repos.d/postgrespro-1c.repoecho gpgcheck=1 >> /etc/yum.repos.d/postgrespro-1c.repoecho enabled=1 >> /etc/yum.repos.d/postgrespro-1c.repoyum makecacheyum install -y postgresql92-server-9.2.23-2.1C.x86_64
Altlinux
Altlinux 8
PostgreSQL 9.6.10
Пакет: postgresql96-server-9.6.10-1.1C.x86_64.rpm
Установка
curl http://1c.postgrespro.ru/keys/GPG-KEY-POSTGRESPRO-1C | gpg --import -echo rpm http://1c.postgrespro.ru/archive/2018_09_03/rpm/9.6/altlinux/8 x86_64 pgpro-1c > /etc/apt/sources.list.d/postgrespro-1c.listapt-get update -yapt-get install -y postgresql96-server
PostgreSQL 9.4.19
Пакет: postgresql94-server-9.4.19-1.1C.x86_64.rpm
Установка
curl http://1c.postgrespro.ru/keys/GPG-KEY-POSTGRESPRO-1C | gpg --import -echo rpm http://1c.postgrespro.ru/archive/2018_09_03/rpm/9.4/altlinux/8 x86_64 pgpro-1c > /etc/apt/sources.list.d/postgrespro-1c.listapt-get update -yapt-get install -y postgresql94-server
Altlinux 7
PostgreSQL 9.6.10
Пакет: postgresql96-server-9.6.10-1.1C.x86_64.rpm
Установка
curl http://1c.postgrespro.ru/keys/GPG-KEY-POSTGRESPRO-1C | gpg --import -echo rpm http://1c.postgrespro.ru/archive/2018_09_03/rpm/9.6/altlinux/7 x86_64 pgpro-1c > /etc/apt/sources.list.d/postgrespro-1c.listapt-get update -yapt-get install -y postgresql96-server
PostgreSQL 9.4.19
Пакет: postgresql94-server-9.4.19-1.1C.x86_64.rpm
Установка
curl http://1c.postgrespro.ru/keys/GPG-KEY-POSTGRESPRO-1C | gpg --import -echo rpm http://1c.postgrespro.ru/archive/2018_09_03/rpm/9.4/altlinux/7 x86_64 pgpro-1c > /etc/apt/sources.list.d/postgrespro-1c.listapt-get update -yapt-get install -y postgresql94-server
Oracle Linux
Oracle Linux 7Server
PostgreSQL 9.6.10
Пакет: postgresql96-server-9.6.10-1.1C.x86_64.rpm
Установка
curl http://1c.postgrespro.ru/keys/GPG-KEY-POSTGRESPRO-1C > GPG-KEY-POSTGRESPRO-1Crpm --import GPG-KEY-POSTGRESPRO-1Cecho [postgrespro-1c] > /etc/yum.repos.d/postgrespro-1c.repoecho name=Postgres Pro 1C repo >> /etc/yum.repos.d/postgrespro-1c.repoecho baseurl=http://1c.postgrespro.ru/archive/2018_09_03/rpm/9.6/oraclelinux-7Server-x86_64/ >> /etc/yum.repos.d/postgrespro-1c.repoecho gpgcheck=1 >> /etc/yum.repos.d/postgrespro-1c.repoecho enabled=1 >> /etc/yum.repos.d/postgrespro-1c.repoyum makecacheyum install -y postgresql96-server-9.6.10-1.1C.x86_64
PostgreSQL 9.4.19
Пакет: postgresql94-server-9.4.19-1.1C.x86_64.rpm
Установка
curl http://1c.postgrespro.ru/keys/GPG-KEY-POSTGRESPRO-1C > GPG-KEY-POSTGRESPRO-1Crpm --import GPG-KEY-POSTGRESPRO-1Cecho [postgrespro-1c] > /etc/yum.repos.d/postgrespro-1c.repoecho name=Postgres Pro 1C repo >> /etc/yum.repos.d/postgrespro-1c.repoecho baseurl=http://1c.postgrespro.ru/archive/2018_09_03/rpm/9.4/oraclelinux-7Server-x86_64/ >> /etc/yum.repos.d/postgrespro-1c.repoecho gpgcheck=1 >> /etc/yum.repos.d/postgrespro-1c.repoecho enabled=1 >> /etc/yum.repos.d/postgrespro-1c.repoyum makecacheyum install -y postgresql94-server-9.4.19-1.1C.x86_64
PostgreSQL 9.3.24
Пакет: postgresql93-server-9.3.24-1.1C.x86_64.rpm
Установка
curl http://1c.postgrespro.ru/keys/GPG-KEY-POSTGRESPRO-1C > GPG-KEY-POSTGRESPRO-1Crpm --import GPG-KEY-POSTGRESPRO-1Cecho [postgrespro-1c] > /etc/yum.repos.d/postgrespro-1c.repoecho name=Postgres Pro 1C repo >> /etc/yum.repos.d/postgrespro-1c.repoecho baseurl=http://1c.postgrespro.ru/archive/2018_09_03/rpm/9.3/oraclelinux-7Server-x86_64/ >> /etc/yum.repos.d/postgrespro-1c.repoecho gpgcheck=1 >> /etc/yum.repos.d/postgrespro-1c.repoecho enabled=1 >> /etc/yum.repos.d/postgrespro-1c.repoyum makecacheyum install -y postgresql93-server-9.3.24-1.1C.x86_64
PostgreSQL 9.2.23
Пакет: postgresql92-server-9.2.23-2.1C.x86_64.rpm
Установка
curl http://1c.postgrespro.ru/keys/GPG-KEY-POSTGRESPRO-1C > GPG-KEY-POSTGRESPRO-1Crpm --import GPG-KEY-POSTGRESPRO-1Cecho [postgrespro-1c] > /etc/yum.repos.d/postgrespro-1c.repoecho name=Postgres Pro 1C repo >> /etc/yum.repos.d/postgrespro-1c.repoecho baseurl=http://1c.postgrespro.ru/archive/2017_10_11/rpm/9.2/oraclelinux-7Server-x86_64/ >> /etc/yum.repos.d/postgrespro-1c.repoecho gpgcheck=1 >> /etc/yum.repos.d/postgrespro-1c.repoecho enabled=1 >> /etc/yum.repos.d/postgrespro-1c.repoyum makecacheyum install -y postgresql92-server-9.2.23-2.1C.x86_64
Oracle Linux 6Server
PostgreSQL 9.6.10
Пакет: postgresql96-server-9.6.10-1.1C.x86_64.rpm
Установка
curl http://1c.postgrespro.ru/keys/GPG-KEY-POSTGRESPRO-1C > GPG-KEY-POSTGRESPRO-1Crpm --import GPG-KEY-POSTGRESPRO-1Cecho [postgrespro-1c] > /etc/yum.repos.d/postgrespro-1c.repoecho name=Postgres Pro 1C repo >> /etc/yum.repos.d/postgrespro-1c.repoecho baseurl=http://1c.postgrespro.ru/archive/2018_09_03/rpm/9.6/oraclelinux-6Server-x86_64/ >> /etc/yum.repos.d/postgrespro-1c.repoecho gpgcheck=1 >> /etc/yum.repos.d/postgrespro-1c.repoecho enabled=1 >> /etc/yum.repos.d/postgrespro-1c.repoyum makecacheyum install -y postgresql96-server-9.6.10-1.1C.x86_64
PostgreSQL 9.4.19
Пакет: postgresql94-server-9.4.19-1.1C.x86_64.rpm
Установка
curl http://1c.postgrespro.ru/keys/GPG-KEY-POSTGRESPRO-1C > GPG-KEY-POSTGRESPRO-1Crpm --import GPG-KEY-POSTGRESPRO-1Cecho [postgrespro-1c] > /etc/yum.repos.d/postgrespro-1c.repoecho name=Postgres Pro 1C repo >> /etc/yum.repos.d/postgrespro-1c.repoecho baseurl=http://1c.postgrespro.ru/archive/2018_09_03/rpm/9.4/oraclelinux-6Server-x86_64/ >> /etc/yum.repos.d/postgrespro-1c.repoecho gpgcheck=1 >> /etc/yum.repos.d/postgrespro-1c.repoecho enabled=1 >> /etc/yum.repos.d/postgrespro-1c.repoyum makecacheyum install -y postgresql94-server-9.4.19-1.1C.x86_64
PostgreSQL 9.3.24
Пакет: postgresql93-server-9.3.24-1.1C.x86_64.rpm
Установка
curl http://1c.postgrespro.ru/keys/GPG-KEY-POSTGRESPRO-1C > GPG-KEY-POSTGRESPRO-1Crpm --import GPG-KEY-POSTGRESPRO-1Cecho [postgrespro-1c] > /etc/yum.repos.d/postgrespro-1c.repoecho name=Postgres Pro 1C repo >> /etc/yum.repos.d/postgrespro-1c.repoecho baseurl=http://1c.postgrespro.ru/archive/2018_09_03/rpm/9.3/oraclelinux-6Server-x86_64/ >> /etc/yum.repos.d/postgrespro-1c.repoecho gpgcheck=1 >> /etc/yum.repos.d/postgrespro-1c.repoecho enabled=1 >> /etc/yum.repos.d/postgrespro-1c.repoyum makecacheyum install -y postgresql93-server-9.3.24-1.1C.x86_64
PostgreSQL 9.2.23
Пакет: postgresql92-server-9.2.23-2.1C.x86_64.rpm
Установка
curl http://1c.postgrespro.ru/keys/GPG-KEY-POSTGRESPRO-1C > GPG-KEY-POSTGRESPRO-1Crpm --import GPG-KEY-POSTGRESPRO-1Cecho [postgrespro-1c] > /etc/yum.repos.d/postgrespro-1c.repoecho name=Postgres Pro 1C repo >> /etc/yum.repos.d/postgrespro-1c.repoecho baseurl=http://1c.postgrespro.ru/archive/2017_10_11/rpm/9.2/oraclelinux-6Server-x86_64/ >> /etc/yum.repos.d/postgrespro-1c.repoecho gpgcheck=1 >> /etc/yum.repos.d/postgrespro-1c.repoecho enabled=1 >> /etc/yum.repos.d/postgrespro-1c.repoyum makecacheyum install -y postgresql92-server-9.2.23-2.1C.x86_64
Rosa
Rosa 6Server
PostgreSQL 9.6.10
Пакет: postgresql96-server-9.6.10-1.1C.x86_64.rpm
Установка
curl http://1c.postgrespro.ru/keys/GPG-KEY-POSTGRESPRO-1C > GPG-KEY-POSTGRESPRO-1Crpm --import GPG-KEY-POSTGRESPRO-1Cecho [postgrespro-1c] > /etc/yum.repos.d/postgrespro-1c.repoecho name=Postgres Pro 1C repo >> /etc/yum.repos.d/postgrespro-1c.repoecho baseurl=http://1c.postgrespro.ru/archive/2018_09_03/rpm/9.6/rosa-6Server-x86_64/ >> /etc/yum.repos.d/postgrespro-1c.repoecho gpgcheck=1 >> /etc/yum.repos.d/postgrespro-1c.repoecho enabled=1 >> /etc/yum.repos.d/postgrespro-1c.repoyum makecacheyum install -y postgresql96-server-9.6.10-1.1C.x86_64
PostgreSQL 9.4.19
Пакет: postgresql94-server-9.4.19-1.1C.x86_64.rpm
Установка
curl http://1c.postgrespro.ru/keys/GPG-KEY-POSTGRESPRO-1C > GPG-KEY-POSTGRESPRO-1Crpm --import GPG-KEY-POSTGRESPRO-1Cecho [postgrespro-1c] > /etc/yum.repos.d/postgrespro-1c.repoecho name=Postgres Pro 1C repo >> /etc/yum.repos.d/postgrespro-1c.repoecho baseurl=http://1c.postgrespro.ru/archive/2018_09_03/rpm/9.4/rosa-6Server-x86_64/ >> /etc/yum.repos.d/postgrespro-1c.repoecho gpgcheck=1 >> /etc/yum.repos.d/postgrespro-1c.repoecho enabled=1 >> /etc/yum.repos.d/postgrespro-1c.repoyum makecacheyum install -y postgresql94-server-9.4.19-1.1C.x86_64
PostgreSQL 9.3.24
Пакет: postgresql93-server-9.3.24-1.1C.x86_64.rpm
Установка
curl http://1c.postgrespro.ru/keys/GPG-KEY-POSTGRESPRO-1C > GPG-KEY-POSTGRESPRO-1Crpm --import GPG-KEY-POSTGRESPRO-1Cecho [postgrespro-1c] > /etc/yum.repos.d/postgrespro-1c.repoecho name=Postgres Pro 1C repo >> /etc/yum.repos.d/postgrespro-1c.repoecho baseurl=http://1c.postgrespro.ru/archive/2018_09_03/rpm/9.3/rosa-6Server-x86_64/ >> /etc/yum.repos.d/postgrespro-1c.repoecho gpgcheck=1 >> /etc/yum.repos.d/postgrespro-1c.repoecho enabled=1 >> /etc/yum.repos.d/postgrespro-1c.repoyum makecacheyum install -y postgresql93-server-9.3.24-1.1C.x86_64
PostgreSQL 9.2.23
Пакет: postgresql92-server-9.2.23-2.1C.x86_64.rpm
Установка
curl http://1c.postgrespro.
postgrespro.ru
Centos x64 Minimal (PostgreSQL + 1C 8.2)
В последнее время связка Linux + 1C, становится, все более и более популярной среди любителей сэкономить на ПО. Действительно с выходом 1С8 в данном сегменте, многое изменилось. Появились полноценные версии восьмерки под популярные дистрибутивы линукс, Etersoft выпустила профиксинные Wine и PostgreSQL, появились положительные отзывы в интернете о внедрении данных решений в российских компаниях, что говорит о том, что бесплатное ПО, может быть вполне конкурентно способным по сравнению с аналогичными коммерческими решениями.
Что касается меня как простого админа, человека подневольного и не обремененного финансовой частью вопроса, интересно посмотреть, на сколько данное решение в действительности является производительным или напротив уступает аналогичным на базе того же MS, удобно ли в администрировании, хотя тут наверно больше вопрос предпочтений и привычки (linux vs win) и т д. Многие скажут, что если есть деньги на MS, то лучше не заморачиваться и ставить все под виндой, и наверно будут правы, все-таки изначально 1С была всегда заточена под win, в силу низкой распространенности open-source операционок, среди обычных пользователей. И здесь наверняка стоит ожидать более высокой производительности и стабильности в работе, что как, в последствии, покажут тесты, так и будет, но пока не будем забегать вперед и на практике посмотрим, насколько сервер на базе Linux применительно к 1С уступает в плане производительности решениям на базе Windows и так ли это на самом деле.
В качестве конечной оценки производительности того или иного сервера будем использовать уже известный тест от Вечеслава Гилева. Все манипуляции будем производить при помощи виртуальной машины Oracle VirtualBox. На клиентском компьютере будет запускаться последняя актуальная на момент выхода статьи версия 1с 8.2, где будет запускаться тест.
В данной обзоре будем настраивать связку Centos 6.2 x64 Minimal + Postgre@Etersoft9 + 1C 8.2 различных релизов. Итак начнем.
1) Подготовка сервера
Настройка сети:
vi /etc/sysconfig/network NETWORKING=yes HOSTNAME=1cservНастройка eth0 Iface. Раскоментируем строчку BOOTPROTO=dhcp и закоментируем IPADDR, NETMASK, NETWORK, BROADCAST, GATEWAY, если хотим получать адрес от DHCP-сервера.
vi /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 ;BOOTPROTO=dhcp IPADDR=192.168.1.8 NETMASK=255.255.255.0 NETWORK=192.168.1.0 BROADCAST=192.168.1.255 GATEWAY=192.168.1.1 HWADDR=00:0C:29:43:5B:3D ONBOOT=yesDNS:
nameserver 192.168.1.3 nameserver 192.168.1.5 127.0.0.1 localhost localhost.localdomain 192.168.1.8 1cserv 1cserv.localdomainОбновить CentOS включая все приложения:
Дополнительные утилиты которые могут понадобятся в работе:
yum install mc crontabs tmpwatch sudo wget fileДобавляем репозитарии:
rpm -ihv http://dl.atrpms.net/el6-x86_64/atrpms/stable/atrpms-repo-6-5.el6.x86_64.rpm rpm -ihv ftp://ftp.pbone.net/mirror/download.fedora.redhat.com/pub/fedora/epel/beta/6/x86_64/epel-release-6-5.noarch.rpmСтавим библиотеки необходимые для правильной работы 1С:
yum install xorg-x11-xfs chkfontpath ttf2pt1 unixODBC yum install gtk2 yum install ImageMagickСтавим TrueType Шрифты msttcorefonts.
rpm -ihv http://elders.princeton.edu/data/puias/unsupported/5/i386/msttcorefonts-2.0-1.noarch.rpmЛибо вручную создаем репозитарий и ставим через yum. :)
vi /etc/yum.repos.d/puias-unsupported.repo [puias-unsupported] name=PUIAS Unsupported baseurl=http://elders.princeton.edu/data/puias/unsupported/5/i386/ enabled=1 gpgcheck=0 yum install msttcorefonts reboot2. Установка сервера баз данных PostgreSQL
Качаем PostgreSQL от Etersoft, отсюда.
Нам понадобятся:
libpq5.2-9.0eter-9.0.4-eter8rhel.x86_64.rpm postgre-etersoft9.0-9.0.4-eter8rhel.x86_64.rpm postgre-etersoft9.0-contrib-9.0.4-eter8rhel.x86_64.rpm postgre-etersoft9.0-server-9.0.4-eter8rhel.x86_64.rpmУстанавливаем:
yum localinstall --nogpgcheck *.rpmИнициализируем базу PostgreSQL:
su postgres initdb -D /var/lib/pgsql/data --locale=ru_RU.UTF-8 exitДобавляем сервер в автозагрузку и запускаем его:
chkconfig postgresql on service postgresql startЗадаем пароль локальному пользователю postgres:
Даем юзеру postgres писать в /var/lib/pgsql иначе ругнется что нет файла .history_pqsql
chown postgres:postgres /var/lib/pgsqlЗадаем пароль внутреннему пользователю PostgreSQL, предварительно авторизировавшись под пользователем postgres:
psql postgres alter user postgres with password 'YOUR_PASSWORD';Файл /var/lib/pgsql/data/pg_hba.conf приводим к виду:
#IPv4 local connections:F host all postgres 0.0.0.0/0 md5Здесь /var/lib/pgsql/data/postgresql.conf первое что я сразу меняю это параметр effective_cache_size , который рекомендуют выставлять не менее половины от объема всей оперативной памяти сервера, а точнее размер кэша можно посмотреть в самой системе, набрав в командной строке free. Необходимое значение будет в столбце cached (в kB).
Усредненная настройка наиболее важных параметров:
shared_buffers = 1/8 RAM или больше (но не более 1/4) work_mem = в 1/20 RAM maintenance_work_mem = в 1/4 RAM max_fsm_relations = в планируемое кол-во таблиц в базах * 1.5 max_fsm_pages в max_fsm_relations * 2000; fsync = true wal_sync_method = fdatasync commit_delay = от 10 до 100 commit_siblings = от 5 до 10 effective_cache_size = 0.9 от значения cached, которое показывает free random_page_cost = 2 для быстрых cpu, 4 для медленных cpu_tuple_cost = 0.001 для быстрых cpu, 0.01 для медленных cpu_index_tuple_cost = 0.0005 для быстрых cpu, 0.005 для медленныхДля оптимизации настроек рассчитанных на максимальную производительность, можно попробовать воспользоваться утилитой pgtune.
wget http://pgfoundry.org/frs/download.php/2449/pgtune-0.9.3.tar.gzПереходим в каталог с pgtune, выполняем команду:
./pgtune −i $PGDATA/postgresql.conf −o $PGDATA/postgresql.conf.pgtuneгде,
-i — путь до входного, текущего файла настроек postgresql.conf,
-o — путь до выходного, нового файла настроек postgresql.conf.
В результате выполнения команды получим идентичный исходному файл настроек, за исключением нескольких новых pg_tune-параметров в самом конце файла.
$PGDATA- переменная указывающая на /var/lib/pgsql/data. Если не задана, указать можно в /etc/environment.
Более полную информацию по настройке postgresql.conf смотрим у Etersoft или применительно к 1С на сайте Вечеслава Гилева. Для тех, кто хочет углубится более подробно в процесс изучения PostgreSQL существует замечательный, подробный мануал от Алексея Васильева. :)
Наиболее часто используемые команды Postgresql:
Изменить root-пароль:
ALTER USER postgres WITH PASSWORD ‘newpassword’; Shell-команда | Интерактивный режим psql | Описание |
createdb name | CREATE DATABASE name; | Создание новой базы данных |
ALTER DATABASE name; | Изменение параметров БД | |
dropdb | DROP DATABASE name; | Удаление базы данных |
createuser | CREATE USER name [ [ WITH ] option [ … ] ] | Создание нового пользователя |
ALTER USER name [ [ WITH ] option [ … ] ] | Изменение параметров пользователя | |
dropuser | DROP USER [ IF EXISTS ] name [, …] | Удаление пользователя |
vacuumdb | VACUUM | Дефрагментация БД |
GRANT | Назначение привилегий | |
REVOKE | Отмена привилегий |
3. Установка 1С Предприятие 8
Качаем технологическую платформу 1С8.2 для Linux (Redhut/Centos 6.x) с сайта 1С.
Установку пакетов желательно производить в следующем порядке. Если устанавливать всё сразу по маске, могут возникнуть ошибки.
1) 1C_Enterprise82-common-8.2.15-319.x86_64.rpm // общие компоненты сервера2) 1C_Enterprise82-common-nls-8.2.15-319.x86_64.rpm // национальные ресурсы для общих компонент3) 1C_Enterprise82-server-8.2.15-319.x86_64.rpm // сервер 1С:предприятие 8.2 для Linux4) 1C_Enterprise82-server-nls-8.2.15-319.x86_64.rpm // Национальные ресурсы для сервера 1С5) 1C_Enterprise82-ws-8.2.15-319.x86_64.rpm // Компоненты веб-сервисов 1с8.26) 1C_Enterprise82-ws-nls-8.2.15-319.x86_64.rpm // Национальные ресурсы для компонент веб-сервисов 1с8.2
или так:
1) 1C_Enterprise82-common-8.2.15-319.x86_64.rpm // общие компоненты сервера2) 1C_Enterprise82-server-8.2.15-319.x86_64.rpm // сервер 1С:предприятие 8.2 для Linux3) 1C_Enterprise82-ws-8.2.15-319.x86_64.rpm // Компоненты веб-сервисов 1с8.24) 1C_Enterprise82-common-nls-8.2.15-319.x86_64.rpm // национальные ресурсы для общих компонент5) 1C_Enterprise82-server-nls-8.2.15-319.x86_64.rpm // Национальные ресурсы для сервера 1С6) 1C_Enterprise82-ws-nls-8.2.15-319.x86_64.rpm // Национальные ресурсы для компонент веб-сервисов 1с8.2
Проверить, все ли пакеты установлены можно с помощью команды:
Далее устанавливаем glibc x86:
Делаем символьную ссылку, для нормальной отработки скрипта конфига сервера 1С:
ln -s /lib64/libglib-2.0.so.0.2200.5 /usr/lib64/libglib-2.0.soЗапускаем:
/opt/1C/v8.2/x86_64/utils/*config_serverДанный скрипт проверит наличие всех необходимых библиотек для работы сервера, зарегистрирует установленные TrueType шрифты в ImageMagick. В случае отсутствия шрифтов, скрипт потребует явно указать каталог, в котором находятся ttf-файлы. В случае успеха, в каталоге /opt/1C/v8.2/x86_64/conf/grcmncfg должен появится файл type.xml.
Проверяем корректность старта службы:
Должно высветится:
init script: STARTED Ragent: RUNNINGВ случае проблем, необходимо убедится, что на каталог /opt/1C и /home/usr1cv82 выставлены права на запуск от пользователя usr1cv82 входящего в группу grp1cv82. Если нет, то выполняем:
chown usr1cv82:grp1cv82 /opt/1C chown usr1cv82:grp1cv82 /home/usr1cv82Перезапуск:
На файрволе для работы сервера 1С должны быть открыты следующие порты:
tcp:1540 — агент сервера (ragent)tcp:1541 — главный менеджер кластера (rmngr)tcp:1560-1591 — диапазон сетевых портов для динамического распределения рабочих процессов. (достаточно открыть tcp:1560)
-A INPUT -p tcp -m state --state NEW -m tcp --dport 1540 -j ACCEPT -A INPUT -p tcp -m state --state NEW -m tcp --dport 1541 -j ACCEPT -A INPUT -p tcp -m multiport --dports 1560:1591 -j ACCEPTПроверка работоспособности рабочих процессов сервера:
Должны получить примерно такую картинку:
tcp 0 0 0.0.0.0:1560 0.0.0.0:* LISTEN 2814/rphost tcp 0 0 0.0.0.0:1540 0.0.0.0:* LISTEN 2799/ragent tcp 0 0 0.0.0.0:1541 0.0.0.0:* LISTEN 2802/rmngrТак как клиент 1С цепляются к серверу по имени, то нам необходимо, разрешить на сервере возможность опознавать и пинговать его по имени машины. В этом нам поможет samba.
yum install samba samba-clientЗапускаем и добавляем в автозагрузку:
На файрволе должен быть открыт UDP:137 порт.
-A INPUT -p udp -m state --state NEW -m udp --dport 137 -j ACCEPTПосле чего, должен отрабатывать пинг по имени компа/сервера.
Проверка работоспособности:
На клиенте, если Windows, заходим в консоль управления 1CV8 Servers (Администрирование серверов 1С Предприятия).
Жмем, добавить Центральный сервер 1С:Преприятия 8.2, добавляем по имени. Во вкладке рабочие серверы должна появится запись.
Создаем новую базу, либо прямо с помощью консоли управления, либо в самом клиенте 1С выбираем опцию: Добавить новую информационную базу.
По поводу HASP-ключей, если до 12 пользователей то нужен только сетевой ключ с маркировкой типа NETXX ORGL8, где XX — количество клиентских лицензий. Если более 12 пользователей, но необходим так же локальный ключ для сервера. Фиолетовый ключ HASP HL с маркировкой типа ENSR8 для 32x-битного сервера или зеленый ключ HASP HL Max с маркировкой ENS8SA для 64-битного. Ключ HASP HL Max поддерживает так же 32-битный сервер. Для нормальной работы HASP-ключей необходимо установить два пакета включающих драйвер ключа aksusbd и менеджер лицензий hasplm. Имеет смысл ставить модифицированные варианты драйверов от Entersoft.
rpm -ihv http://download.etersoft.ru/pub/Etersoft/HASP/stable/x86_64/CentOS/6/Вставляем ключ, перегружаем сервер. Работоспособность ключей проверяем командой:
Должны быть запущенны: aksusbd, winehasp, hasplm, hasplmd.
4. Публикация на веб-сервере
Ставим Apache.
Редактируем /etc/httpd/conf/httpd.conf где задаем значение директиве ServerName.
Servername 1cservВ противном случае при запуске apach’a получим сообщение:
httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName.В корневом каталоге сайта, создаем директорию base, где base — имя базы к которой мы будем предоставлять доступ.
Теперь нам необходимо, запустить специальный скрипт для публикации базы на веб-сервере:
Переходим в /opt/1C/v8.2/x86_64/ Запускаем скрипт со следующими параметрами:
./webinst -apache22 -wsdir base -dir '/var/www/html/base' -connStr 'Srvr="1cserv";Ref="base";' -confPath /etc/httpd/conf/httpd.confПроверяем корректность внесенных изменений. В конфиге Apache должны быть следующие строки:
LoadModule _1cws_module "/opt/1C/v8.2/i386/wsap22.so" # 1c publication Alias "base" "/var/www/html/base/" Directory "/var/www/html/base/" AllowOverride None Options None Order allow,deny Allow from all SetHandler 1c-application ManagedApplicationDescriptor "/var/www/html/base/default.vrd"В /var/www/base/ так же должен появится файл default.vrd две последние строчки которого должны выглядеть примерно так:
base="/base" ib="Srvr="1cserv";Ref="base";Выдаем права на директорию:
chown -R apache:apache /var/www/html/baseПерезапускаем Apache:
И получаем ошибку:
"Starting httpd: httpd: Syntax error on line 200 of /etc/httpd/conf/httpd.conf: Cannot load /opt/1C/v8.2/x86_64/wsap22.so into server: /opt/1C/v8.2/x86_64/wsap22.so: failed to map segment from shared object: Permission denied"Данная проблема решается, отключением SElinux, а в идеале отключением какой-то определенной политики, список которых можно получить с помощью команды:
Мне так и не удалось идентифицировать, какая политика разрешает грузить библиотеку из апача посредством другой библиотеки из 1С :) Но, поскольку сервер предназначен исключительно для работы в локалке, то возможно полное отключение Selinux не так уж и критично.
Для временного отключения SElinux воспользуемся командой:
Для полного и постоянного отключения Selinux правим файлик /etc/selinux/config, где параметру SELINUX задаем disabled, но лучше все таки поставить permissive. Так же полностью отключить SElinux, можно в загрузчике Grub. Правим /boot/grub/grub.conf в конце строки вида: kernel /boot/vmlinuz-2.6.18-92.el5PAE ro root=LABEL=/ rhgb quiet selinux=0 вытавить selinux=0. (либо enforcing=0)
Итак, заходим браузером на сайт публикации, предварительно отключив всплывающие окна.
http://1cserv/baseИ получаем следующее сообщение:
Оно, и понятно, без специального сетевого ключа, работать не будет :)
5. Резервное копирование и восстановление:
Даем права пользователю postgres на тут папку куда будем выгружать backup.
chown postgres:postgres /mnt/netВ /mnt/net у меня смонтирована виндовая шара, с помощью команды:
mount -t cifs //192.168.1.9/G /mnt/net -oiocharset=utf8,codepage=cp866,uid=500,gid=500,rw,user=test%11111111Отмонтировать, принудительно закрыв все подключения, если нужно:
Резервное копирование (Backup):
pg_dump -U postgres -Fc -Z9 dbname -f /mnt/net/Backup/Base/dbname.dumpгде:
-U (пользователь)-F (формат извлекаемого файла) с (custom — внутренний формат сжатия pg_dump, возможны так же варианты tar и plain text)-Z (установить режим сжатия) 0 — 9 (0 — без сжатия, 9 — максимальный режим)-f (извлекать в этот файл)
Если выгружаем на виндовую шару, необходимо в виндах выставить права, Users (Полный доступ)
Востановление (только из под пользователя postgres):
В новую базу:
createdb -T template0 newdbгде, template0 — шаблон означающий, что это абсолютна пустая база
pg_restore -d newdb db.dumpНапример:
createdb -T template0 mynewbasepg_restore -d mynewbase /mnt/net/my_old_base.dumpС удалением базы и восстановлением ее из дампа:
pg_dump -Fc -Z9 dbname -f dbname.dump dropdb dbname pg_restore -C -d anydbname dbanme.dumpгде, С — создать базу
Например:
pg_dump -Fc -Z9 mybase -f /mnt/net/mybase.dump dropdb mybase pg_restore -C -d postgres /mnt/net/mybase.dumpЗдесь -d postgres указание на любую базу данных существующую в кластере база данных. pg_restore использует ее только чтобы выполнить команду CREATE DATABASE для mydb (mybase)
Скрипт автобэкапа:
В .gz
#!/bin/sh BKPDIR="/mnt/net" DATEYMD=`date "+%Y-%m-%d-%a"` // а - указывает на день недели в формате Пн, Вт, Ср...пишет по русски? mkdir -p ${BKPDIR}/PostgreSQL 2>/dev/null // - можно не указывать, если предварительно создать директорию и выставить права. (pg_dump mydb <"${BKPDIR}/PostgreSQL/${DATEYMD}-mydb-PostgreSQL.gz" EOFВ .dump
#!/bin/sh BKPDIR="/mnt/net/PostgreSQL" DATEYMD=`date "+%Y-%m-%d"` pg_dump -Fc -Z9 mydb -f "${BKPDIR}/${DATEYMD}-mydb-PostgreSQL.dump"Запись в crontab (из под пользователя postgres):
crontab -e //добавить заданиеcrontab -l //просмотр заданийcrontab -r //удалить задание
# запустить в 18:50 минут
50 18 * * * sh /home/scripts/backup.sh# запускать каждые 15 минут
*/15 * * * * sh /home/scripts/backup.shsanotes.ru