Поднимаем сервер 1C 8.x (Ubuntu Server + PostgreSQL). Установка 1с ubuntu postgresql


Установка PostgreSQL для 1С на Ubuntu 16.04 — AdminGuide.Ru

Для работы Сервера 1С Linux, необходимо иметь СУБД. В будущем мы будем рассматривать связку 1C Server Ubuntu + PostgreSQL Ubuntu. Но прежде чем перейти к рассмотрению и тестированию данной связки, нам необходимо установить PostgreSQL для 1С на Ubuntu Server 16.04 . По большому счету на данном этапе мы не будем рассматривать куда устанавливать postgres, на одну вирт машину рядом с сервером 1С, на другую виртмашину машину в пределах одного хоста, или же другую виртмашину на другом хосте. Сейчас необходимо лишь описать процесс установки postgresql на ubuntu server 16.04. Чтобы в дальнейшем прибегать к этой статье как основе для следующих статей. Почему именно 16.04 а не 18.04 которая уже вышла? Просто чтобы не заморачиваться за установку Postgres 9.6 на 18.04, которая жалуется на то что эта версия слишком старая и требует установку Postgres 10

Установка PostgreSQL для 1С на Ubuntu

Хотел бы сразу же предостеречь от установки PostgreSQL, которая будет использоваться для организации работы серверов 1С, из репозиториев. Связано это с тем, что 1С — капризная дичь, для её работы нужны специальные сборки PostgreSQL, которые в официальных репозиториях не проживают, банально за ненадобностью таких реализация PostgreSQL для чего-либо кроме 1С. Поэтому перво наперво нам нужна именно 1Сная сборка PostgreSQL. Такая сборка либо берется с сайта ИТС 1С, если есть готовая под вашу платформу, либо собирается ручками из исходников со всеми необходимыми патчами (которые тоже имеются на сайте ИТС). Собственно если вы можете собрать постгрес из исходников, то вам эта статься и не нужна. Поэтому я буду описывать ситуацию установки PostgreSQL для 1С на Ubuntu Server 18.04 из готового пакета, с сайта ИТС 1С.

Исходные данные

  • Установленный и обновленный Ubuntu Server 16.04 x64. Если нет то вам сюда Установка Ubuntu Server 16.04
  • IP и имя тестового сервера Ubuntu Postgres: 192.168.1.111 ag-psql-s1
  • IP и имя тестового сервера Ubuntu 1C: 192.168.1.110 ag-1c-s1
  • На сервере ag-1c-s1 в /etc/hosts должна быть запись 192.168.1.111 ag-psql-s1
  1. Скачиваем DEB пакет в архиве

    Попутно стоит заглянуть в Особенности релиза. Про Ubuntu там написано следующее:sudo apt-get install libicu55 postgresql-commonЭто то что нам будет необходимо сделать прежде чем устанавливать скачанный пакет.

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

    По сути, когда мы устанавливали систему, и выбрали там Russian + Russian, мы уже сделали все необходимое, но таки на всякий случай, можно перегенерировать локали повторно. Вводим последовательно:

    1. sudo locale-gen en_US
    2. sudo locale-gen ru_RU
    3. sudo update-locale LANG=ru_RU.UTF8
    4. sudo dpkg-reconfigure locales В появляющихся диалогах нужно ничего не меняя просто выбрать <Ok>
  3. Переносим архив в папку /tmp

    Заливаем пакет в /tmp на наш сервер, с помощью WinSCP или любым другим удобным для вас способом.

  4. Переходим в папку /tmpcd /tmp
  5. Убеждаемся что наш архив на местеls
  6.  Извлекаем архивtar -xvf ./postgresql_9.6.6_1.1C_amd64_deb.tar.bz2
  7.  Проверяем куда был извлечен архив, команда lsАрхив был извлечен в папку ./postgresql-9.6.6-1.1C_amd64_deb
  8.  Устанавливаем пакеты
    1. Сперва тот что упомянут в Особенностях релиза
    2. Потом все пакеты что извлеклись в папку postgresql-9.6.6-1.1C_amd64_debcd ./postgresql-9.6.6-1.1C_amd64_debsudo dpkg -i ./*.deb
  9. Проверяем что все работаетservice postgresql status — Должно зелененьким написать active (exited)telnet localhost 5432 — Проверяем можно ли подключиться на порт 5432 на локальной машине. Должно написать Connected to localhost
  10. Настраиваем доступ суперпользователя
    1. Открываем pg_hba.confДанный файл находится по пути /etc/postgresql/9.6/main/pg_hba.confЕсли у вас другая версия postgres, в вашем пути числа 9.6 изменятся на номер вашей версии.sudo nano /etc/postgresql/9.6/main/pg_hba.conf
    2. Находим строкуlocal all postgres peer
    3. Меняем тип доступа для пользователя postgres на trust, строка должна выглядетьlocal all postgres trust
    4. Все остальные строки с правилами необходимо закоментить, поставив вначале знак #. Сохраняем изменения Ctrl+O, закрываем файл Ctrl+X
    5. Перезапускаем postgresqlsudo service postgresql restart
    6. Супер пользователь не должен быть без пароля. Задаем длинный и сложный пароль пользователю postgres следующей командой: psql -U postgres -d template1 -c "ALTER USER postgres PASSWORD 'Qwerty123'"

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

    7. Добавляем в pg_hba.conf новую или изменяем одну из имеющихся строку:host all postgres 192.168.1.0/24 md5192.168.1.0 замените на вашу подсеть.
    8. Перезагружаем PostgreSQLsudo service postgresql restart

Теперь пользователь postgres сможет подключиться к серверу с любого устройства находящегося в подсети 192.168.1.0/24, используя логин postgres и пароль Qwerty123. Для того чтобы сервер 1С смог создавать базы на данном сервере, у него в hosts должна быть указана запись связывающая ip адрес с именем сервера ag-psql-s1. В моём случае это 192.168.1.111 ag-psql-s1

Хочу заметить что это плохая практика работать под пользователем postgres. Желательно иметь если не по отдельному пользователю на каждую базу и при наличии подрядчиков, иметь еще отдельные учетки для баз для подрядчиков, то хотябы отдельного пользователя с ограниченными правами, чтобы не накосячить в процессе работы.

adminguide.ru

Установка сервера 1С и PostgreSQL 10 на Ubuntu Server 16.04/18.04

В этой статье я попробую рассказать об установке сервера 1С и сервера PostgreSQL на операционной системе Ubuntu 16.04/18.04. В статье используется версия сервера 1С — 8.3.13.1472 и версия PostgreSQL — 10.3-2.1C. Кроме этого в статье приведена информации о некоторых дополнительных настройках.

Установка PostgreSQL

В начале нужно установить необходимые локали и определить локаль по умолчанию. Локали определяют используемые в системе языки, а также всякие региональные особенности — форматы чисел, даты и времени, денежные знаки и прочее. Локаль по умолчанию должна совпадать с языком базы данных,  которая будет создана сервером 1С при создании информационной базы.

sudo dpkg-reconfigure locales

Выбор ru_RU локали
Выбор локали по умолчанию

Далее установим библиотеку libicu. На момент написания статьи процесс установки этой библиотеки отличался для разных версий Ubuntu, приведу оба варианта, Ubuntu 16.04:

sudo apt-get install libicu55

Ubuntu 18.04:

wget http://security.ubuntu.com/ubuntu/pool/main/i/icu/libicu55_55.1-7ubuntu0.4_amd64.deb

sudo dpkg -i libicu55_55.1-7ubuntu0.4_amd64.deb

Раньше пакет «postgresql-common» входил в состав дистрибутива который размещался на сайте «1С», теперь же (начиная с PostgreSQL 9.6.3-1.1C) этот пакет нужно устанавливать из стандартных репозиториев.

Тут возникает небольшое затруднение, связанное с тем, что мы устанавливаем PostgreSQL 10: на момент написания статьи стандартный репозиторий содержит неподходящую для PostgreSQL 10 версию пакета «postgresql-common».

Чтобы исправить это нужно создать файл /etc/apt/sources.list.d/pgdg.list и записать в него строку, для Ubuntu 16.04:

deb http://apt.postgresql.org/pub/repos/apt/ xenial-pgdg main

для Ubuntu 18.04:

deb http://apt.postgresql.org/pub/repos/apt/ bionic-pgdg main

Затем нужно выполнить следующие команды:

wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -

sudo apt-get update

После этого можно установить нужную нам версию пакета «postgresql-common»:

sudo apt-get install postgresql-common

Подготовительные работы закончены, скачиваем дистрибутив PostgreSQL 10 с сайта «1С», распаковываем его (там всего три пакета) и устанавливаем именно в таком порядке:

sudo dpkg -i libpq5_10.3-2.1C_amd64.deb

sudo dpkg -i postgresql-client-10_10.3-2.1C_amd64.deb

sudo dpkg -i postgresql-10_10.3-2.1C_amd64.deb

Если все прошло нормально, то выглядеть это будет приблизительно так:

Установка PostgreSQL 10 на Ubuntu 16.04/18.04

 

Настройка PostgreSQL

После установки можно сделать некоторые настройки PostgreSQL.

От имени суперпользователя открываем файл /etc/postgresql/10/main/pg_hba.conf и меняем в нем строку:

local all postgres peer

на:

local all postgres trust

Это позволит войти под пользователем postgres без пароля.

Кроме этого можно открыть файл /etc/postgresql/10/main/postgresql.conf (тоже от имени супер пользователя) и поменять в нем строку:

listen_addresses = '*'

на:

listen_addresses = 'localhost'

Это ограничит подключения к PostgreSQL локальной машиной. Таким образом, если сервер 1С и PostgreSQL находятся на разных компьютерах, то это либо вообще не нужно делать, либо вместо «*» нужно указать IP-адрес сервера 1С.

После всех этих манипуляций перезапускаем сервер PostgreSQL:

sudo service postgresql restart

Теперь у нас есть возможность поменять пароль суперпользователя postgres:

psql -U postgres -d template1 -c "ALTER USER postgres PASSWORD 'password'"

Отключаем безпарольный доступ: вновь от имени суперпользователя открываем файл /etc/postgresql/10/main/pg_hba.conf и меняем в нем строку:

local all postgres trust

на:

local all postgres md5

В заключении еще раз перезапускаем сервер:

sudo service postgresql restart

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

Начать, как обычно, нужно с установки дополнительных библиотек:

sudo apt-get install imagemagick

sudo apt-get install unixodbc

sudo apt-get install ttf-mscorefonts-installer

sudo apt-get install libgsf-1-114

Для версии 8.3.13 и выше используется библиотека ImageMagick входящая в состав дистрибутива, так что устанавливать пакет imagemagick не обязательно (хотя вреда от этого не будет).

Пакет ttf-mscorefonts-installer в процессе установки попросит принять лицензионное соглашение:

ttf-mscorefonts-installer предлагает лицензионное соглашение

На момент написания статьи в репозиториях Ubuntu 18.04 не было актуальных версий требуемых пакетов. Если в настоящее время их все еще нет, то можно попробовать добавить репозитории с неактуальными версиями пакетов. Создаем файл /etc/apt/sources.list.d/raring.list и записываем в него следующие строки:

deb http://old-releases.ubuntu.com/ubuntu/ raring main restricted universe multiversedeb-src http://old-releases.ubuntu.com/ubuntu/ raring main restricted universe multiversedeb http://old-releases.ubuntu.com/ubuntu/ raring-updates main restricted universe multiversedeb-src http://old-releases.ubuntu.com/ubuntu/ raring-updates main restricted universe multiversedeb http://old-releases.ubuntu.com/ubuntu/ raring-backports main restricted universe multiversedeb-src http://old-releases.ubuntu.com/ubuntu/ raring-backports main restricted universe multiversedeb http://old-releases.ubuntu.com/ubuntu/ raring-proposed main restricted universe multiversedeb-src http://old-releases.ubuntu.com/ubuntu/ raring-proposed main restricted universe multiverse

После этого выполнить команду:

sudo apt-get update

После установки дополнительных библиотек скачиваем с сайта 1С все необходимые файлы (Cервер 1С:Предприятия (64-bit) для DEB-based Linux-систем) и устанавливаем их в таком порядке:

sudo dpkg -i 1c-enterprise83-common_8.3.13-1472_amd64.deb

sudo dpkg -i 1c-enterprise83-common-nls_8.3.13-1472_amd64.deb

sudo dpkg -i 1c-enterprise83-server_8.3.13-1472_amd64.deb

sudo dpkg -i 1c-enterprise83-server-nls_8.3.13-1472_amd64.deb

sudo dpkg -i 1c-enterprise83-ws_8.3.13-1472_amd64.deb

sudo dpkg -i 1c-enterprise83-ws-nls_8.3.13-1472_amd64.deb

Пакеты с приставкой «-nls» нужны для поддержки дополнительных языков и не являются обязательными к установке. Пакеты с приставкой «-ws» нужны для работы веб-клиента и также не являются необходимыми.

Теперь изменим владельца каталога /opt/1C:

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

И запустим сервер 1С:

sudo service srv1cv83 start

Сервер работает

Если у Вас правильно настроена сеть и компьютеры видят друг друга, то ничего больше делать не нужно. Если же нет, то необходимо сделать так, что бы сервер 1С видел сервер PostgreSQL, а клиентские машины видели сервер 1С. Для этого в файлы /etc/hosts или C:\Windows\System32\drivers\etc\hosts нужно добавить строки:

<IP-адрес сервера> <результат команды hostname -f> <результат команды hostname>

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

 

Дополнительные настройки

Все приведенные ниже действия не являются обязательными.

Установка Apache

Начиная с версии 8.3.8 платформа 1С поддерживает Apache 2.4, поэтому можно просто установить текущую версию:

sudo apt-get install apache2

Если по каким-то причинам Вам требуется Apache 2.2 то для начала нужно добавить репозитории с неактуальными версиями пакетов, как описано выше (если, конечно, Вы уже этого не сделали). Затем выполнить команду:

sudo apt-cache showpkg apache2

Команды выдаст список версий доступных к установке, затем, выбрав нужную версию сделать так:

sudo apt-get install apache2=<номер версии>

Например:

sudo apt-get install apache2=2.2.22-6ubuntu5.1

Проверить версию Apache можно так:

apache2 -v

Включение отладки на сервере

Останавливаем сервер:

sudo service srv1cv83 stop

В файле /etc/init.d/srv1cv83 находим строку:

#SRV1CV8_DEBUG=

Приводим ее к виду:

SRV1CV8_DEBUG=1

Запускаем сервер:

sudo service srv1cv83 start

В конфигураторе на клиентской машине идем в «Параметры» -> «Запуск 1С:Предприятия» -> «Дополнительные» и включаем два пункта:

  • «Устанавливать режим разрешения отладки»
  • «Начинать отладку при запуске»
Включение режима отладки

Настройка UFW

UFW — это простая утилита для конфигурирования файрвола Netfilter.

Разрешаем SSH:

sudo ufw allow 22

Apache:

sudo ufw allow 80

sudo ufw allow 443

Порты для работы 1С (если используются стандартные порты):

sudo ufw allow 1540

sudo ufw allow 1541

sudo ufw allow 1543

sudo ufw allow 1560:1591/tcp

Включаем UFW:

sudo ufw enable

На этом все, надеюсь, что данная статья была Вам полезна.

Нужна ли лицензия на сервер?

На момент написания статьи (версия технологической платформы 8.3.13.1472) лицензия на сервер не требуется, все прекрасно работает без нее.

Загрузка...

1c-programmer-blog.ru

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

Ранее, я уже делал обзор посвящённый установке 1С8 на CentoOS, теперь пришла очередь не менее популярной линукс-оси Ubuntu. На момент написания статьи, стабильной версией убунты является 12.04, ее и будем использовать.

Итак, в данной заметке будем настраивать связку Ubuntu Server x64 + Postgre@Etersoft9 + 1C 8.2.15.301. Не будем вдаваться в подробности установки операционной системы, там все предельно понятно, за исключением разве, что возможных граблей с некорректным отображением русских символов в командных диалогах (если во время установки был выбран русский язык). Но решение имеется. Так же во время установки, надо не забыть отметить чекбокс напротив устанавливать ssh-сервер (если нужен) и samba-server (нужен 1С-у) :)

1) Подготовка: 

Настроем сеть, будем использовать статическую адресацию:

sudo vi /etc/network/interfaces auto eth0 iface eth0 inet static address 192.168.1.8 netmask 255.255.255.0 broadcast 192.168.1.255 gateway 192.168.1.1 dns-nameservers 192.168.1.4 192.168.1.6

где, auto eth0 — говорит системе, что интерфейс eth0 необходимо включать автоматически при загрузке системы с нижеуказанными параметрами.

iface eth0 inet static — указывает на то, что eth0 использует статический интерфейс. Если используется DHCP-сервер, то пишем  вместо  static — dhcp.

С 12.04 за конфигурацию DNS отвечает программа resolvconf (вместо файла /etc/resolv.conf) поэтому, если не используется DHCP-сервер, DNS-сервера для статических интерфейсов необходимо вносить в /etc/network/interfaces используя параметры  dns-nameservers, dns-search и dns-domain, соответствующие параметрам nameserver, search и domain в resolv.conf.

Рестарт службы:

sudo /etc/init.d/networking restart

Обновляемся:

sudo apt-get dist-upgrade

Ставим Midnight Commander (mc)

2. Установка и настройка сервера баз данных PostgreSQL

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

Ставим пакеты необходимые для правильной работы PostgreSQL:

apt-get install  libicu-dev libxslt1.1 libxml2 libossp-uuid16 libreadline5

Качаем последнию стабильную версию PostgreSQL отсюда.

Ставим пакеты командой:

После этого в системе появится пользователь postgres, будет создан скрипт /etc/init.d/postgresql для старта и остановки СУБД.

После, даем права на папку pgsql пользователю и группе postgres:

chown postgres:postgres /var/lib/pgsql

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

Редактируем /etc/group, где существующий id группы tape:x:26: меняем на какой-нибудь другой, например 27 :). В итоге, должны быть следующие строки:

postgres:x:26: tape:x:27:

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

LANG=ru_RU.utf—8 service postgresql start

Может ругнутся, что текущее значения Shmmax слишком мало для запуска PostgreSQL и предложить указать своё, но мы поступим умнее и воспользуемся следующим скриптом, который посчитает и выведет нужный размер Shmmax и Shmall в байтах.

SHMMAX — это максимальный размер (в байтах) на сегменте shared memory равный половине всей доступной памяти на сервере.

SHMALL — общее количество разделяемой памяти (в страницах), какое все процессы на сервере могут использовать.

Затем пропишем полученные значения с помощью команды:

echo "kernel.shmmax = 521981952" >> /etc/sysctl.conf echo "kernel.shmall = 127437" >> /etc/sysctl.conf

Или пропишем в /etc/sysctl.conf вручную. Для того что бы изменения вступили в силу, набираем:

Авторизуемся под пользователем Postgres и назначим пароль внутреннему пользователю PostgreSQL:

alter user postgres with password 'YOUR_PASSWORD';

Набираем \q что бы выйти из консоли.

Файл  /var/lib/pgsql/data/pg_hba.conf приводим к виду:

#IPv4 local connections: host        all          postgres          0.0.0.0/0       md5

Главный конфиг /var/lib/pgsql/data/postgresql.conf редактируем в соответствии со следующими данными: Усредненная настройка наиболее важных параметров:

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С Предприятие, установим следующие пакеты:

sudo apt-get install imagemagick libglib2.0-dev libgsf-1-dev texlive-base ttf-mscorefonts-installer libfreetype6 libfreetype6-dev unixodbc unixodbc-dev

Качаем технологическую платформу 1С8.2 для Linux (Debian/Ubuntu) с сайта 1С.

Установку пакетов необходимо производить в следующем порядке, т.к. существуют зависимости.

Если устанавливать всё сразу по маске, могут возникнуть ошибки.

1) 1c-enterprise82-common_8.2.15-319_amd64.deb // общие компоненты сервера2) 1c-enterprise82-common-nls_8.2.15-319_amd64.deb // национальные ресурсы для общих компонент3) 1c-enterprise82-server_8.2.15-319_amd64.deb // сервер 1С:предприятие 8.2 для Linux4) 1c-enterprise82-server-nls_8.2.15-319_amd64.deb // Национальные ресурсы для сервера 1С5) 1c-enterprise82-ws_8.2.15-319_amd64.deb // адаптер для публикации Web—сервисов 1С:Предприятия 8 на веб-сервере на основе Apache HTTP Server 2.0 или Apache HTTP Server 2.2;6) 1c-enterprise82-ws-nls_8.2.15-319_amd64.deb // Национальные ресурсы для компонент веб-сервисов 1с8.2

Добавляем в автозагрузку:

update-rc.d srv1cv82 defaults

Пользователю usr1cv82 разрешаем писать в /opt/1C и /home/usr1cv82

chown -R usr1cv82:grp1cv82 /opt/1C chown -R usr1cv82:grp1cv82 /home/usr1cv82

Перезапускаем сервер. Проверяем корректность старта службы:

Должно высветится:

init script: STARTED Ragent: RUNNING

На файрволе, если используется, для работы сервера 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

Но, получаем следующее:

tcp 0 0 0.0.0.0:1540 0.0.0.0:* LISTEN 960/ragent

Так же просмотреть запущенные процессы можно с помощью команды:

Должны получить примерно следующее:

usr1cv82 931 0.0 1.8 338376 18612 ? Ssl Jul04 0:41 /opt/1C/v8.2/x86_64/ragent -daemon usr1cv82 935 0.1 3.0 790496 31376 ? Sl Jul04 2:31 /opt/1C/v8.2/x86_64/rmngr -port 1541 -range 1560:1591 usr1cv82 948 0.4 11.5 720804 117412 ? Sl Jul04 6:21 /opt/1C/v8.2/x86_64/rphost -range 1560:1591 -reghost ubuntus12 -re

Но запускается только ragent:

usr1cv82 931 0.0 1.8 338376 18612 ? Ssl Jul04 0:41 /opt/1C/v8.2/x86_64/ragent -daemon

К сожалению танцы с бубном ни к чему не привели, и права выставлены везде корректно и сеть настроена должны образом. Нагуглил, что с 15 релизом у многих похожие проблемы, а у меня как раз  8.2.15-319. А 318 Помнится работал :)  Решил попробовать самый последний на момент написания обзора 8.2.16.362 и о чудо, с первого раза все завелось как надо.

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

/opt/1C/v8.2/x86_64/utils/*config_server

Если, не получаем не каких сообщений, а в директории /opt/1C/v8.2/x86_64/conf/grcmncfg появился файлик type.xml то значит все ок, в моем случае, скрипт выдает кучу ошибок. В первом сообщение говорится, что невозможно получить доступ к какому-то файлу libc.

Cannot access /lib/libc-*.so: No such file or directory Cannot access /lib64/libc-*.so: No such file or directory

Посмотрим, где этот файл на самом деле сидит:

find / -name "libc-*.so" -print

Получаем следующий выхлоп:

/lib/x86_64-linux-gnu/libc-2.15.so

Неудивительно что скрипт его не находит, делаем поочередно два симлинка:

ln -s /lib/x86_64-linux-gnu/libc-2.15.so /lib/libc-2.15.so ln -s /lib/x86_64-linux-gnu/libc-2.15.so /lib64/libc-2.15.so

После чего, снова запускаем скрипт. Ошибка с «доступом» исчезает, но остается следующая:

./config_server: line 193: [: too many arguments ./config_server: line 193: [: too many arguments ./config_server: line 193: [: too many arguments ./config_server: line 193: [: too many arguments ./config_server: line 193: [: too many arguments

В 193 строке содержится следующая запись, которая указывает на опрос переменной $SYSTEM_LIB_PATH, где видимо должны содержаться нужные 1су библиотеки.

[ ! -e $aliasFullName ] && return 1

Посмотрим, что конкретно не может обнаружить скрипт, запускаем:

Получаем:

Can't detect SYSTEM_LIB_PATH, please set this environment variable manually!/libWand.so Can't detect SYSTEM_LIB_PATH, please set this environment variable manually!/libfreetype.so Can't detect SYSTEM_LIB_PATH, please set this environment variable manually!/libgsf-1.so Can't detect SYSTEM_LIB_PATH, please set this environment variable manually!/libglib-2.0.so Can't detect SYSTEM_LIB_PATH, please set this environment variable manually!/libodbc.so

Как я понял,  SYSTEM_LIB_PATH должен обнаруживать искомые файлы в трех возможных директориях:

/usr/lib /usr/lib32 /usr/lib64

Так же, необходимо вручную задать  SYSTEM_LIB_PATH в /etc/environment. Например пускай ищет библиотеки только в /usr/lib/

SYSTEM_LIB_PATH="/usr/lib"

Перезапускаем сервер, снова запускаем скрипт, получаем следующее:

/usr/lib/libWand.so /usr/lib/libfreetype.so Please install following package: FreeType /usr/lib/libgsf-1.so /usr/lib/libglib-2.0.so Please install following package: libglib /usr/lib/libodbc.so Please install following package: UnixODBC

Файлы libWand.so и libgsf-1.so находятся там где нужно. Остальные файлы libfreetype.so, libglib-2.0.so и libodbc.so находятся в /usr/lib/x86_64-linux-gnu. Соответственно снова делаем смлинки:

ln -s /usr/lib/x86_64-linux-gnu/libfreetype.so /usr/lib/libfreetype.so ln -s /usr/lib/x86_64-linux-gnu/libglib-2.0.so /usr/lib/libglib-2.0.so ln -s /usr/lib/x86_64-linux-gnu/libodbc.so /usr/lib/libodbc.so

Запускаем повторно скрипт, теперь видим, что все библиотеки в нужных нам директориях.

/usr/lib/libWand.so /usr/lib/libfreetype.so /usr/lib/libgsf-1.so /usr/lib/libglib-2.0.so /usr/lib/libodbc.so

На клиенте, если Windows, заходим в консоль управления 1CV8 Servers (Администрирование серверов 1С Предприятия). Жмем, добавить Центральный сервер 1С:Преприятия 8.2, добавляем по имени. Во вкладке рабочие серверы должна появится запись.  Создаем новую базу, либо прямо с помощью консоли управления, либо в самом клиенте 1С выбираем опцию:

Добавить новую информационную базу.

Запускаем 1С. Тест Гилева выдает 13,05 балов.

По поводу HASP-ключей, если до 12 пользователей то нужен только сетевой ключ с маркировкой типа NETXX ORGL8, где XX — количество клиентских лицензий. Если более 12 пользователей, но необходим так же локальный ключ для сервера. Фиолетовый ключ HASP HL с маркировкой типа ENSR8 для 32x-битного сервера или зеленый ключ HASP HL Max маркировкой ENS8SA для 64-битного. Ключ HASP HL Max поддерживает так же 32-битный сервер.

Для нормальной работы HASP-ключей необходимо установить два пакета включающих драйвер ключа aksusbd и менеджер лицензий hasplm. Имеет смысл ставить модифицированные варианты драйверов от Entersoft. Для нормальной работы haspd, требуются поддержка 32-битных программ.

Поэтому добавляем ее установкой пакета ia32-libs.

apt-get install ia32-libs

Теперь сам HASP и менеджер лицензий:

dpkg -i http://download.etersoft.ru/pub/Etersoft/HASP/stable/x86_64/Ubuntu/12.04/ dpkg -i http://download.etersoft.ru/pub/Etersoft/HASP/stable/x86_64/Ubuntu/12.04/

Вставляем ключ, перегружаем сервер. Работоспособность ключей проверяем командой:

sudo service haspd status

Должны быть запущенны: aksusbd, winehasp, hasplm, hasplmd.

4. Публикация на веб-сервере

Ставим apache:

Редактируем /etc/apache2/apache2.conf , где задаем директиву ServerName указывающую на имя сервера.

В противном случае при запуске 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/base' -connStr 'Srvr="ubuntus12";Ref="base";' -confPath /etc/apache2/httpd.conf

Проверяем корректность внесенных изменений. В  /etc/apache2/httpd.conf  должны быть следующие строки:

LoadModule _1cws_module "/opt/1C/v8.2/i386/wsap22.so" # 1c publication Alias "base" "/var/www/base/" <Directory "/var/www/base/"> AllowOverride None Options None Order allow,deny Allow from all SetHandler 1c-application ManagedApplicationDescriptor "/var/www/base/default.vrd"

В /var/www/base/ так же должен появится файл default.vrd две последние строчки которого должны выглядеть примерно так:

base="/base" ib="Srvr="ubuntus12";Ref="base";

Выдаем права на директорию, перезапускаем Apache:

chown -R www-data:www-data /var/www/base

Заходим браузером, предварительно отключив всплывающие окна.

http://ubuntus12/base

И получаем следующее сообщение:

Оно, и понятно, без специального сетевого ключа, работать не будет :)

5. Резервное копирование и восстановление:

Даем права пользователю postgres на тут папку куда будем выгружать backup.

chown postgres:postgres /mnt/net

В /mnt/net у меня смонтирована виндовая шара, с помощью команды:

mount -t smbfs -o username=test,password=11111111,iocharset=utf8 //192.168.1.8/distr /mnt/net

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

Резервное копирование (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):su postgrescrontab -e //добавить заданиеcrontab -l //просмотр заданийcrontab -r //удалить задание

# запустить в 18:50 минут

50 18 * * * sh /home/scripts/backup.sh

# запускать каждые 15 минут

*/15 * * * * sh /home/scripts/backup.sh

sanotes.ru

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

Целью этой является установка и настройки 64-битного 1С Сервера 8.3.10, а также сервера базы данных PostgreSQL 9.6.x, на 64-битный Ubuntu Server 16.04.

1. Установка локалей

Сначала сгенерируем и установим необходимые локали, это особенно важно, если система была установлена с языком отличным от русского.

locale-gen en_USlocale-gen ru_RU

затем установите язык по умолчанию:

update-locale LANG=ru_RU.UTF8

и завершаем настройку:

dpkg-reconfigure locales

2. Установка 64-битного 1С Сервера 8.3.10.

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

sudo apt install libgsf-1-114 ssl-sert libxslt1.1 imagemagick unixodbc ttf-mscorefonts-installer

Скачиваем с сайта 1С все необходимые deb-файлы в каталог ./src

cd ./src

и устанавливаем их

sudo dpkg -i *.deb

Запускаем 1С Сервер:

sudo service srv1cv83 start

2. Установка PostgreSQL Pro 9.6.3.3 для 1С

Добавляем репозиторий

sudo 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 | sudo apt-key add - && sudo apt-get update

Устанавливаем сам PostgreSQL

sudo apt-get install postgresql-pro-1c-9.6

После установки требуется произвести некоторые настройки, в частности установить пароль суперпользователю СУБД postgres, для этого откроем /etc/postgresql/9.6/main/pg_hba.conf

mcedit /etc/postgresql/9.6/main/pg_hba.conf

и найдем в нем строку:

local all postgres peer

и приведем ее к виду:

local all postgres trust

Перезапустим службу:

service postgresql restart

Теперь установим пароль командой:

psql -U postgres -d template1 -c "ALTER USER postgres PASSWORD 'password'"

где password — желаемый пароль и еще раз перезапустим PostgreSQL.

service postgresql restart

Добавляем службу PostgreSQL в автозагрузку

sudo systemctl enable postgresql

Проверим статус службы

sudo systemctl status postgresql

4. Установкой менеджера hasp от etersoft

Скачиваем пакет для Ubuntu 16.04

wget http://download.etersoft.ru/pub/Etersoft/HASP/last/Ubuntu/16.04/haspd_7.60-eter1ubuntu_i386.deb

Так как представлен пакет только для 32 разрядных систем, то необходимо разрешить установку этих пакетов.

sudo dpkg --add-architecture i386

обновляем список пакетов

sudo apt-get update

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

sudo apt install libc6:i386 libusb-1.0.0:i386

После чего запускаем установку скачанного пакета

dpkg -i haspd_7.60-eter1ubuntu_i386.deb

Запускаем менеджео лицензий

service haspd start

И провераяем его работу

netstat -anp | grep hasp tcp 0 0 0.0.0.0:1947 0.0.0.0:* LISTEN 11558/hasplmd udp 0 0 0.0.0.0:1947 0.0.0.0:* 11558/hasplmd udp 0 0 127.0.0.1:2790 0.0.0.0:* 11540/winehasp udp 0 0 0.0.0.0:47329 0.0.0.0:* 11558/hasplmd udp 0 0 0.0.0.0:475 0.0.0.0:* 11549/hasplm unix 3 [ ] STREAM CONNECTED 42372 11558/hasplmd unix 2 [ ] DGRAM 46170 11540/winehasp unix 2 [ ] DGRAM 44878 11558/hasplmd unix 2 [ ] DGRAM 41852 11549/hasplm unix 3 [ ] STREAM CONNECTED 44887 11558/hasplmd

Читайте другие интересные статьи

adminunix.ru

Сервер 1С 8.3 на Ubuntu. Установка и тестирование — AdminGuide.Ru

Как не сесть за использование Windows? Это вопрос который часто задают себе все системные администраторы. И к счастью у этого вопроса есть решение. Не используйте Windows. Если вы не суперпупер энтерпрайз типа газпрома, роснефти или же сбербанка, вам не нужена инфраструктура Windows. Хватит одного маленького админского ноута на венде, чтобы можно было играть в игры пока у вас всё работает. За пиратскую копию Windows Server 2016 Datacenter, вы можете присесть на 6 лет. Её стоимости с легкостью хватит чтобы присесть на 6 лет 5 раз :). Есть прекрасная замена Windows, это семейство всевозможных систем Linux изобилующее различными экземплярами как широкого назначения так и узкоспециализированных. Сегодня мы поговорим о том как установить сервер 1С 8.3 на Ubuntu 18.04. А пока я просто оставлю это здесь: http://iterbi.ru/blog/responsibility_unlicensed_software.html

Рассмотрим вариант установки сервера, использующего программную лицензию. Этот способ одинаково подходит как для серверов Ubuntu 16.04, так и для Ubuntu 18.04 (которая бывает только x64)

Вводные данные

  • Используемая ОС: Ubuntu 18.04 x64
  • Используемая версия 1C: 8.3.12.1412 (У вас скорее всего будет отличаться)
  • Характеристики сервера 1С: 8 vCPU + 32GB оперативной памяти + 50 GB дискового пространства
  • Характеристики тестовых стендов:
    1. ESXi1
      • CPU: 2x Intel(R) Xeon(R) CPU E5-2680 v2 @ 2.80GHz
      • vCPU: 40
      • RAM: 256GB
      • Raid 0 из 10k SAS
      • Ethernet 1GBit
    2. ESXi2
      • CPU: Intel(R) Xeon(R) CPU E5-2660 @ 2.20GHz
      • vCPU: 32
      • RAM: 96GB
      • 10k SAS без raid
      • Ethernet 1GBit
  • Базой данных служит Postgres 9.6.6-1.1С  от 1С

Для тестов специально выбрано 2 блейда одной модели. Так как блейды без доп расширений имеют физическое ограничение в 2 диска на блейд, мы не можем тестировать различные конфигурации дискового хранилища без того, чтобы постоянно его не перенастраивать. Поэтому у нас будет 2 бейда, 1-й блейд будет иметь Raid 0 из двух 10k SAS дисков, второй будет иметь не объединенные в рейд 10k SAS и 7200 SAS. Единственные отличия помимо уже описанных, это модели процессоров и объем памяти. Так же 2 блейда позволят в будущем организовать более правдоподобные сценарии тестирования всевозможных кластеров и миграции.

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

Подразумевается что Ubuntu Server 18.04 x64 вы уже установили. Если нет то надо установить Ubuntu Server 18.04 x64. Можно и десктопную убунту, инструкция подойдет и для серверной и для десктопной версии, но смысл установки десктопной версии для функционала сервера категорически отсутствует.

  1. Подключаемся к нашему серверу через SSH
  2. Обновляем убунту командой

    sudo apt-get update && sudo apt-get dist-upgrade -y

  3. Ставим библиотеки необходимые для работы Сервера 1С

    Тут вопрос достаточно тонкий, каждая библиотека нужна для реализации конкретного функционала и если вы этот функционал использовать не будете, эти библиотеку можно не устанавливать.Документация на портале ИТС к 1С:Предприятие 8.3.12 -> Клиент-серверный вариант. Руководство администратора -> Глава 1 -> Пункт 1.3. Общие требования для клиент-серверного варианта работы говорит нам что для различного функционала Серверу 1С требуются следующие библиотеки.

    1. libMagickWand-6.Q16
    2. libfreetype
    3. libgsf-1
    4. libglib-2.0
    5. unixodbc
    6. libkrb5
    7. libgssapi-krb5
    8. Майкрософтовские шрифтыПоверхностная проверка покажет, что в Ubuntu 18.04 x64 часть библиотек уже стоитНо для того чтобы убедиться наверняка, можно отправить команду для их установки всех требуемых библиотек и недостающее доставится, а устаревшее обновится.sudo apt-get install libwebkitgtk-3.0-0 libjavascriptcoregtk-3.0-0 libMagickWand-6.Q16 libfreetype6 libgsf-1-114 libglib2.0-0 unixodbc libkrb5-3 libgssapi-krb5-2 ttf-mscorefonts-installer Эта команда доставит все заявленные в документации библиотеки
  4. Заливаем архив с сервером 1с

    Архив скачанный с сайта 1С, будет называться deb64.tar.gz . Заливаем архив с пакетами сервера на убунту в папку /tmp

    1. Как вариант, можно подключиться из венды к нашему серверу по SFTP через WinSCP
    2. Можно поднять внутри сети какой-нибудь сервер и скачать архив с помощью wget
  5. Извлекаем архив
    1. Переходим в папку /tmpcd /tmp
    2. Смотрим там ли наш архив, с помощью команды lsls
    3. Убеждаемся что он там, и извлекаем из него пакетыtar -xvf ./deb64.tar.gz
    4. Снова проверяем какие файлы теперь есть в нашей папке /tmpls
  6. Устанавливаем пакеты сервера 1С

    Теперь, для того чтобы установить сервер 1С, будет достаточно находясь в папке /tmp, при условии наличия там файлов с сервером 1с, выполнить следующую команду:

    sudo dpkg -i ./1c-e*.deb

    Те, кому интересно немного матчасти, читаем этот пункт дальше. Остальным нужно проследовать к следующему пункту.Собственно почему получилось без проблем установить все 6 пакетов одной командой?

    • Команда dpkg обрабатывает все пакеты в в том же порядке, в котором их отображает команда ls или же ls -l
    • Случилось это по чистой случайности или же по воле великих админских богов, но расположенные в алфавитном порядке пакеты извлеченные из архива, как раз складываются в таком порядке что при установке каждого пакета, все предидущие пакеты от которых он мог зависеть уже установлены.
    • Если вдруг порядок пакетов когда-то изменится, то ставить их надо в следующем порядке:
      1. common — независит ни от чего
      2. common-nls — зависит от common
      3. server — зависит от common
      4. server-nls — зависит от server
      5. ws — зависит от server
      6. ws-nls — зависит от ws
    • Таким образом вы не сможете установить пакет ws, пока не установите server, который в свою очередь требует common
    • Пакеты *-nls — языковые пакеты. Если вам не требуется функционал который они предоставляют их можно не устанавливать. Кто-то может поспорить, у меня все сервера работают без nls пакетов. Выбор за вами. Для чистоты последующих экспериментов я поставлю все пакеты.
  7. Запускаем сервер 1С

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

    systemctl status srv1cv83service srv1cv83 status

    Резутатом будет следующее сообщение:Чтобы запустить сервер, нужно выполнить одну из двух команд:

    sudo systemctl start srv1cv83 sudo sesrvice srv1cv83 start

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

Собственно поздравляю. Вы успешно установили Сервер 1С 8.3 на Ubuntu 18.04. Но это только часть работы. Для того чтобы начать тестирование, нам необходимо развернуть PostgreSQL на другом сервере. Развернуть её можно и на одном сервере в 1С, на любителя.

 

adminguide.ru

Установка связки PostgreSQL 9.2.4 и 1С 8.3 на Ubuntu Server 14.04 X64

Увеличиваем максимальный размер сегмента памяти до 1Гб. Для менее мощных машин устанавливают от 64Мб до половины объема ОЗУ (для теста выделим 1Gb):

# 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

   dpkg -i  postgresql-client-9.2_9.2.4-1.1C_amd64.deb

   dpkg -i  postgresql-common_154_all.deb (на момент написания статьи на сайте была                  доступна лишь версия для lucid, которая ломает logrotate, поэтому этот                        пакет скачивал отдельно)!

  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

Определяем местонахождение PostgreSQL:

whereis postgresql

postgresql: /etc/postgresql /usr/lib/postgresql /usr/share/postgresql

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

# service postgresql status

Выхлоп: 9.2/main (port 5433): online

Для удобства администрирования БД поменяем порт, на привычный нам со старых версий 5432. Для этого в файле: /etc/postgresql/9.2/main/postgresql.conf

меняем строку:

port = 5433                            # (change requires restart)

на:

port = 5432                             # (change requires restart)

Перезапускаем службу:

# service postgresql restart

* Restarting PostgreSQL 9.2 database server                                                                                                          [ OK ]

Создаем директорию для хранения БД 1С PostgreSQL:

# mkdir /mnt/1с/db/

# chown postgres:postgres /mnt/1c/db

Инициализируем БД:

# su postgres

postgres@srv1c:/mnt/1c/db$  /usr/lib/postgresql/9.2/bin/initdb -D /mnt/1c/db --locale=ru_RU.UTF-8

postgres@srv1c:/mnt/1c/db$    psql -U postgres -c "alter user postgres with password 'наш_пароль';"

При первом запуске Postgre должен проинициализироваться и запуститься. Для того, чтобы иметь возможность подключится к СУБД (не к пользователю ОС, который создается вместе с установкой Postgre, а к пользователю с правами администратора, для управления СУБД), следует задать пароль главному пользователю СУБД - postgres, для этого в файле /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

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

Stopping postgresql service: DONE

Starting postgresql service: DONE

# netstat -atn|grep 5432

Если в ответ получился, вот такой выхлоп, то всё нормально:

tcp 0 0 0.0.0.0:5432 0.0.0.0:* LISTEN

На этом этапе установка PostgreSQL завершена. Приходим к установке сервера 1C 8.3.

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

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

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

Ставим все необходимые пакеты (1c берем с их офф.сайта):

dpkg -i  1c-enterprise83-common_8.3.4-482_amd64.deb

dpkg -i  1c-enterprise83-server_8.3.4-482_amd64.deb    

dpkg -i  1c-enterprise83-ws_8.3.4-482_amd64.deb

dpkg -i  1c-enterprise83-common-nls_8.3.4-482_amd64.deb

dpkg -i  1c-enterprise83-server-nls_8.3.4-482_amd64.deb

dpkg -i  1c-enterprise83-ws-nls_8.3.4-482_amd64.deb

dpkg -i   ttf2pt1_3.4.4-1.4_amd64.deb

Даем пользователям 1С сервера права на запись:

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

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

# service srv1cv83 restart

Stopping 1C:Enterprise 8.3 server: Warning: server not running!

OK

Starting 1C:Enterprise 8.3 server: OK

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

# 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:

Скачиваем по ссылке deb:

http://sentinelcustomer.safenet-inc.com/sentineldownloads/?s=&c=End+User&p=Sentinel+HASP&o=Linux&t=all&l=all

Добавляем i386 архитектуру, чтобы можно было устанавливать 32 битные deb пакеты::

# dpkg --add-architecture i386

# apt-get update

Так как ia32-libs выпилили из системы, если нужен 32 битный пакет, то нужно теперь ставить после пакета префикс :i386

# apt-get install libc6:i386

# dpkg -i aksusbd_2.2-1_i386.deb

# /etc/init.d/aksusbd restart

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

Проверить работает ли HASP-ключ можно командами:

# service aksusbd status

AKSUSB is running.

WINEHASP is running.

HASPLM is running.

Далее запускаем установленный клиент 1С Предприятие 8.3 и в нём создаём новую БД 1с.

 Наслаждаемся результатом:

во время установки застрял на этапе установки пакета: postgresql-contrib-9.2_9.2.4-1.1C_amd64.deb - ругается на нехватку зависимых пакетов. пишет что необходим пакет libicu46 >= 4.6.1-1 но по инструкции был установлен libicu52 

решение заключается в следующем:копируем postgresql-contrib-9.2_9.2.4-1.1C_amd64.deb в папку на сервере, входим в нееРаспаковываем пакет: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далее открываем в текстовом редакторе файл «control»:nano ./tmpdir/DEBIAN/controlишем строку libicu46 (>= 1.4.6) и меняем ее на libicu52 (>= 1.4.6)сохраняем изменения и собираем пакет обратно:dpkg -b tmpdir postgresql-contrib-9.2_9.2.4-1.1C_amd64_fix.deb

columbianx.blogspot.com

Установка 1С 8.3.10 СУБД PostgreSQL версия 9.6.3-3.1С ubuntu 16.04.3

В данной статье опишем установку сервера и клиента 1С 8.3.10.2650 с СУБД PostgreSQL версия 9.6.3-3.1С на ubuntu 16.04.3 на virtualbox. Нам потребуется (все 64 бит): 1. ubuntu 16.04.3 2. 1С берем на сайте 8.3.10.2650 при наличии договора ИТС 3. PostgreSQL версия 9.6.3-3.1С дистрибутив, дополнительные модули  при наличии договора ИТС  4.  Фонты берем etersoft по кнопке получить (после бесплатной регистрации wine.local для ubuntu 16.04 64 бит) 5. Драйверы hasp берем etersoft

1. Устанавливаем ubuntu 16.04.3 desktop без swap файла, т.е. размечаем вручную весь диск ext4 root.Настройки виртуальной машины - RAM (минимум 4GB)Сеть - сетевой мост.

Проще всего пробросить в виртуальную машину лицензии 1С:Предприятия 8 посредством локального hasp.

Настройки ubuntu пользователь (привязка в скриптах) user пароль 12345, имя компьютера любое, позже мы его сменим скриптом, как и ip адрес.

После установки, Ctrl +Alt + T (окно терминала)$ sudo apt update -y$ sudo apt upgrade -y$ sudo apt install mc ssh samba -y

Возможно sudo apt upgrade -y не пройдет из за блокировки, тогда sudo reboot и повторите с начала.

2. Настройка сети скриптом.

Откроем firefox (в ubuntu), откроем эту страничку  и скопируем в буфер скрипт настройки сети:

$ nano network.sh

Скопируем из буфера следующий скрипт, в котором Вам нужно исправить ip и адрес шлюза в соответствии со своей сетью:

#!/bin/bash# настройка ip и hostname#----------------------------------------------------------------------_hostname="ud1604"# real computer#_iface="enp0s31f6"# kvm iface#_iface="ens3"# virtualbox iface_iface="enp0s3"_address="192.168.0.3"_gateway="192.168.0.1"_netmask="255.255.255.0"_nameserver="8.8.8.8"#----------------------------------------------------------------------#add a swap file to an Ubuntu 16.04sudo fallocate -l 1G /swapfilesudo chmod 600 /swapfilesudo mkswap /swapfilesudo swapon /swapfilesudo cp /etc/fstab /etc/fstab.baksudo echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab# отключим сетевой менеджерsudo systemctl stop NetworkManager.servicesudo systemctl disable NetworkManager.service# настроим статический ipsudo cat > /tmp/interfaces <<EOF# This file describes the network interfaces available on your system# and how to activate them. For more information, see interfaces(5).source /etc/network/interfaces.d/*# The loopback network interfaceauto loiface lo inet loopback# The primary network interface#auto $_iface#iface $_iface inet dhcpiface $_iface inet staticaddress $_addressnetmask $_netmaskgateway $_gatewaydns-nameservers $_nameserverauto $_ifaceEOFsudo cp /tmp/interfaces /etc/network#sudo rm /etc/resolv.conf#sudo /bin/su -c "echo 'nameserver $_nameserver' > /etc/resolv.conf"# изменим hostname и ipsudo cat > /tmp/hosts <<EOF127.0.0.1       localhost$_address       $_hostnameEOFsudo cp /tmp/hosts /etc# изменим hostnamesudo hostname $_hostnamesudo /bin/su -c "echo $_hostname > /etc/hostname"# отключим ip6sudo /bin/su -c "echo 'net.ipv6.conf.all.disable_ipv6 = 1' >> /etc/sysctl.conf"sudo /bin/su -c "echo 'net.ipv6.conf.default.disable_ipv6 = 1' >> /etc/sysctl.conf"sudo /bin/su -c "echo 'net.ipv6.conf.lo.disable_ipv6 = 1' >> /etc/sysctl.conf"#sudo /bin/su -c "echo 'net.ipv4.ip_forward = 1' >> /etc/sysctl.conf"sudo /bin/su -c "echo 'vm.swappiness=0' >> /etc/sysctl.conf"#sudo /bin/su -c "echo 'vm.vfs_cache_pressure = 50' >> /etc/sysctl.conf"sudo sysctl -p# перезагрузим сетьsudo systemctl start networking.servicesudo systemctl enable networking.service# Настройка sudo journalctl -b sudo journalctl -b -1 sudo journalctl --list-bootssudo sed -i 's/#Storage=auto/Storage=persistent/' /etc/systemd/journald.conf# Отключение уведомлений службы Apport (/var/crash)sudo sed -i 's/enabled=1/enabled=0/' /etc/default/apport# Настройка ftp пользователь: test пароль: testsudo apt install pure-ftpd -ysudo groupadd ftpgroupsudo usermod -aG ftpgroup usersudo ln -s /etc/pure-ftpd/conf/PureDB /etc/pure-ftpd/auth/50puresudo mkdir /home/user/testsudo chown -R user:ftpgroup /home/user/test#sudo pure-pw useradd test -u user -d /home/user/test# Заведем пользователя ftp test с паролем testsudo echo -e "test\ntest\n" | sudo pure-pw useradd test -u user -d /home/user/testsudo pure-pw mkdbsudo service pure-ftpd restart# ubuntu# Отключим службу ondemand# (для разгона cpu)# cat /proc/cpuinfo | grep MHz# systemctl status ondemandsudo systemctl stop ondemandsudo systemctl disable ondemand# shutdown -r now

Сохраним файл network.sh

Сделаем исполняем $ chmod +x network.sh

Выполним:

$ ./network.sh

Перезагрузимся

$ sudo reboot

3. Установка СУБД PostgreSQL версия 9.6.3-3.1С и 1c скриптом:

После перезагрузки по сети можно подключиться любым ftp клиентом к ftp серверу на нашей виртуальной машине (по ip или или имени ud1604) пользователь test пароль test и загрузить файлы установки:

Файлы необходимые для установки (предварительно нужно скачать по указанным в начале статьи ссылкам):

postgresql_9.6.3_3.1C_amd64_addon_deb.tar.bz2postgresql_9.6.3_3.1C_amd64_deb.tar.bz2server.deb64.tar.gzclient.deb64.tar.gzfonts-ttf-ms_1.0-eter4ubuntu_all.debhaspd_7.60-eter1debian_amd64.debhaspd-modules_7.60-eter1debian_amd64.deb

Откроем firefox (в ubuntu), откроем эту страничку  и скопируем в буфер скрипт установки СУБД PostgreSQL версия 9.6.3-3.1С и 1c:

$ nano install_post.sh

Скопируем из буфера следующий скрипт:

#!/bin/shsudo apt-get install libicu55 postgresql-common -ysudo cp /usr/share/hunspell/ru_RU.aff  /usr/share/hunspell/ru_RU.aff.copysudo sed -e '1s/^\xef\xbb\xbf//' /usr/share/hunspell/ru_RU.affmkdir -p /tmp/postcp /home/user/test/postgresql_9.6.3_3.1C_amd64_deb.tar.bz2 /tmp/post/cp /home/user/test/postgresql_9.6.3_3.1C_amd64_addon_deb.tar.bz2 /tmp/post/cd /tmp/post tar -xvf postgresql_9.6.3_3.1C_amd64_deb.tar.bz2cd postgresql-9.6.3-3.1C_amd64_debsudo dpkg -i *.debcd /tmp/post/tar -xvf postgresql_9.6.3_3.1C_amd64_addon_deb.tar.bz2cd postgresql-9.6.3-3.1C_amd64_addon_debsudo dpkg -i *.debsudo -u postgres psql -U postgres -c "alter user postgres with password 'pass';"sudo cp /etc/postgresql/9.6/main/postgresql.conf /etc/postgresql/9.6/main/postgresql.conf.bak# установка 1сmkdir -p /tmp/1ctmpcd /tmp/1ctmpsudo apt install -y unixodbc libgsf-1-114 libglib2.0#ubuntu#sudo apt install ttf-mscorefonts-installer -y#debian#wget  http://ftp.ru.debian.org/debian/pool/contrib/m/msttcorefonts/ttf-mscorefonts-installer_3.6_all.debsudo  apt install -y xfonts-utils cabextract#sudo dpkg -i ttf-mscorefonts-installer_3.6_all.deb# фонты от Etersoft#ubuntucp /home/user/test/fonts-ttf-ms_1.0-eter4ubuntu_all.deb /tmp/1ctmpsudo dpkg -i fonts-ttf-ms_1.0-eter4ubuntu_all.debsudo apt -f -y install#debian#cp /home/user/Загрузки/fonts-ttf-ms_1.0-eter4debian_all.deb /tmp/1ctmp#sudo dpkg -i fonts-ttf-ms_1.0-eter4debian_all.debcp /home/user/test/server.deb64.tar.gz /tmp/1ctmpcp /home/user/test/client.deb64.tar.gz /tmp/1ctmptar xvzf server.deb64.tar.gztar xvzf client.deb64.tar.gzsudo dpkg -i 1c*.debsudo apt -f -y installsudo chown -R usr1cv8:grp1cv8 /opt/1Csudo echo -e "pass\npass\n" | sudo passwd usr1cv8sudo service srv1cv83 start#sudo service srv1cv83 statussudo  apt install -y libc6-i386mkdir /tmp/haspcd /tmp/haspcp /home/user/test/haspd_7.60-eter1debian_amd64.deb /tmp/haspcp /home/user/test/haspd-modules_7.60-eter1debian_amd64.deb /tmp/hasp#cp /home/user/test/haspd_7.40-eter10ubuntu_amd64.deb /tmp/hasp#cp /home/user/test/haspd-modules_7.40-eter10ubuntu_amd64.deb /tmp/hasp #wget http://download.etersoft.ru/pub/Etersoft/HASP/last/x86_64/Debian/8/haspd_7.60-eter1debian_amd64.deb#wget http://download.etersoft.ru/pub/Etersoft/HASP/last/x86_64/Ubuntu/16.04/haspd_7.40-eter10ubuntu_amd64.deb#wget http://download.etersoft.ru/pub/Etersoft/HASP/last/x86_64/Debian/8/haspd-modules_7.60-eter1debian_amd64.deb#wget http://download.etersoft.ru/pub/Etersoft/HASP/last/x86_64/Ubuntu/16.04/haspd-modules_7.40-eter10ubuntu_amd64.debsudo dpkg -i *.debsudo apt-get install -f -ysudo service haspd start#sudo service haspd status#sudo shutdown -r now

Сохраним файл install_post.sh

Сделаем исполняем $ chmod +x  install_post.sh

Выполним:

$ ./install_post.sh

$ sudo poweroff

Здесь полезно сделать "консервы".До подключения базы 1с легко менять ip адрес и название сервера.Сделаем выгрузку post1c.ova

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

$ sudo reboot

Можно подключать базу 1С.

Можно создать базу пользователь postgres пароль pass  

renbuar.blogspot.com