Поднимаем сервер 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
-
Скачиваем DEB пакет в архиве
Попутно стоит заглянуть в Особенности релиза. Про Ubuntu там написано следующее:sudo apt-get install libicu55 postgresql-commonЭто то что нам будет необходимо сделать прежде чем устанавливать скачанный пакет.
-
Устанавливаем локали
По сути, когда мы устанавливали систему, и выбрали там Russian + Russian, мы уже сделали все необходимое, но таки на всякий случай, можно перегенерировать локали повторно. Вводим последовательно:
- sudo locale-gen en_US
- sudo locale-gen ru_RU
- sudo update-locale LANG=ru_RU.UTF8
- sudo dpkg-reconfigure locales В появляющихся диалогах нужно ничего не меняя просто выбрать <Ok>
-
Переносим архив в папку /tmp
Заливаем пакет в /tmp на наш сервер, с помощью WinSCP или любым другим удобным для вас способом.
- Переходим в папку /tmpcd /tmp
- Убеждаемся что наш архив на местеls
- Извлекаем архивtar -xvf ./postgresql_9.6.6_1.1C_amd64_deb.tar.bz2
- Проверяем куда был извлечен архив, команда lsАрхив был извлечен в папку ./postgresql-9.6.6-1.1C_amd64_deb
- Устанавливаем пакеты
- Сперва тот что упомянут в Особенностях релиза
- Потом все пакеты что извлеклись в папку postgresql-9.6.6-1.1C_amd64_debcd ./postgresql-9.6.6-1.1C_amd64_debsudo dpkg -i ./*.deb
- Проверяем что все работаетservice postgresql status — Должно зелененьким написать active (exited)telnet localhost 5432 — Проверяем можно ли подключиться на порт 5432 на локальной машине. Должно написать Connected to localhost
- Настраиваем доступ суперпользователя
- Открываем pg_hba.confДанный файл находится по пути /etc/postgresql/9.6/main/pg_hba.confЕсли у вас другая версия postgres, в вашем пути числа 9.6 изменятся на номер вашей версии.sudo nano /etc/postgresql/9.6/main/pg_hba.conf
- Находим строкуlocal all postgres peer
- Меняем тип доступа для пользователя postgres на trust, строка должна выглядетьlocal all postgres trust
- Все остальные строки с правилами необходимо закоментить, поставив вначале знак #. Сохраняем изменения Ctrl+O, закрываем файл Ctrl+X
- Перезапускаем postgresqlsudo service postgresql restart
- Супер пользователь не должен быть без пароля. Задаем длинный и сложный пароль пользователю postgres следующей командой: psql -U postgres -d template1 -c "ALTER USER postgres PASSWORD 'Qwerty123'"
Вам нужно будет использовать другой пароль.
- Добавляем в pg_hba.conf новую или изменяем одну из имеющихся строку:host all postgres 192.168.1.0/24 md5192.168.1.0 замените на вашу подсеть.
- Перезагружаем 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.shsanotes.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 locales2. Установка 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 start2. Установка 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 postgresql4. Установкой менеджера 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 дискового пространства
- Характеристики тестовых стендов:
- ESXi1
- CPU: 2x Intel(R) Xeon(R) CPU E5-2680 v2 @ 2.80GHz
- vCPU: 40
- RAM: 256GB
- Raid 0 из 10k SAS
- Ethernet 1GBit
- ESXi2
- CPU: Intel(R) Xeon(R) CPU E5-2660 @ 2.20GHz
- vCPU: 32
- RAM: 96GB
- 10k SAS без raid
- Ethernet 1GBit
- ESXi1
- Базой данных служит 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. Можно и десктопную убунту, инструкция подойдет и для серверной и для десктопной версии, но смысл установки десктопной версии для функционала сервера категорически отсутствует.
-
Подключаемся к нашему серверу через SSH
-
Обновляем убунту командой
sudo apt-get update && sudo apt-get dist-upgrade -y
-
Ставим библиотеки необходимые для работы Сервера 1С
Тут вопрос достаточно тонкий, каждая библиотека нужна для реализации конкретного функционала и если вы этот функционал использовать не будете, эти библиотеку можно не устанавливать.Документация на портале ИТС к 1С:Предприятие 8.3.12 -> Клиент-серверный вариант. Руководство администратора -> Глава 1 -> Пункт 1.3. Общие требования для клиент-серверного варианта работы говорит нам что для различного функционала Серверу 1С требуются следующие библиотеки.
- libMagickWand-6.Q16
- libfreetype
- libgsf-1
- libglib-2.0
- unixodbc
- libkrb5
- libgssapi-krb5
- Майкрософтовские шрифтыПоверхностная проверка покажет, что в 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 Эта команда доставит все заявленные в документации библиотеки
-
Заливаем архив с сервером 1с
Архив скачанный с сайта 1С, будет называться deb64.tar.gz . Заливаем архив с пакетами сервера на убунту в папку /tmp
- Как вариант, можно подключиться из венды к нашему серверу по SFTP через WinSCP
- Можно поднять внутри сети какой-нибудь сервер и скачать архив с помощью wget
-
Извлекаем архив
- Переходим в папку /tmpcd /tmp
- Смотрим там ли наш архив, с помощью команды lsls
- Убеждаемся что он там, и извлекаем из него пакетыtar -xvf ./deb64.tar.gz
- Снова проверяем какие файлы теперь есть в нашей папке /tmpls
-
Устанавливаем пакеты сервера 1С
Теперь, для того чтобы установить сервер 1С, будет достаточно находясь в папке /tmp, при условии наличия там файлов с сервером 1с, выполнить следующую команду:
sudo dpkg -i ./1c-e*.deb
Те, кому интересно немного матчасти, читаем этот пункт дальше. Остальным нужно проследовать к следующему пункту.Собственно почему получилось без проблем установить все 6 пакетов одной командой?
- Команда dpkg обрабатывает все пакеты в в том же порядке, в котором их отображает команда ls или же ls -l
- Случилось это по чистой случайности или же по воле великих админских богов, но расположенные в алфавитном порядке пакеты извлеченные из архива, как раз складываются в таком порядке что при установке каждого пакета, все предидущие пакеты от которых он мог зависеть уже установлены.
- Если вдруг порядок пакетов когда-то изменится, то ставить их надо в следующем порядке:
- common — независит ни от чего
- common-nls — зависит от common
- server — зависит от common
- server-nls — зависит от server
- ws — зависит от server
- ws-nls — зависит от ws
- Таким образом вы не сможете установить пакет ws, пока не установите server, который в свою очередь требует common
- Пакеты *-nls — языковые пакеты. Если вам не требуется функционал который они предоставляют их можно не устанавливать. Кто-то может поспорить, у меня все сервера работают без nls пакетов. Выбор за вами. Для чистоты последующих экспериментов я поставлю все пакеты.
-
Запускаем сервер 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 берем etersoft1. Устанавливаем 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