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


Поднимаем сервер 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

Ubuntu + PostgreSQL + Сервер 1С

Устанавливаем Ubuntu Server 14.04 Не забываем роли openssh-server и samba-server Начинаем установку PosrgreSQL сервера Подключаем репозиторий PostgresPro для ubuntu 12.04/14.04/14.10/15.04: sudo sh -c 'echo "deb [arch=amd64] 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 Устанавливаем необходимые пакеты в систему: sudo apt-get install postgresql-pro-1c-9.4 Затем PostgreSQL необходимо проинициализировать с русской локалью. Это нужно для корректной работы внутренних механизмов 1С: sudo locale-gen en_US ru_RU ru_RU.UTF-8 export LANG="ru_RU.UTF-8" Если система была установлена с языком отличным от русского, то дополнительно необходимо сделать основной русскую локаль: sudo update-locale LANG=ru_RU.UTF8 Теперь переконфигурируем локали: sudo dpkg-reconfigure locales Затем создаем директорию для хранения баз 1С PostgreSQL и устанавливаем на нее права для пользователя postgres: sudo chown postgres: /1cdb/ Устанавливаем пароль для пользователя postgres и вводим пароль для пользователя и подтверждение Теперь инициализируем базу: /usr/lib/postgresql/9.4/bin/initdb -D /1cdb/ --locale=ru_RU.UTF-8 psql -U postgres -c "alter user postgres with password 'ПАРОЛЬ_ПОЛЬЗОВАТЕЛЯ_POSTGRES';" Проверяем состояние службы сервера PostgreSQL sudo service postgres status Если сервер запущен – переходим к установке сервера 1С Установка сервера 1С Устанавливаем необходимые пакеты sudo apt-get install imagemagick sudo apt-get install libgsf-1-114 sudo apt-get install ttf-mscorefonts-installer sudo apt-get install unixodbc Монтируем, если нужно папку на ПК с Windows и переносим пакеты для нужной версии сервера 1С sudo mount –t cifs //ip_пк_с_сетевой_папкой/папка/  /mnt/install/ -o user=”Username”, password=”Password”,sec=ntlm Переносим пакеты на сервер и устанавливаем их Устанавливаем владельца папки 1С: chown -R usr1cv8:grp1cv8 /opt/1C Проверяем статус сервера и запускаем его Если сервер не стартует, проверяем наличие в файле /etc/hosts записи устанавливающей соответствие между именем локального Ubuntu Server и его ip-адресом Когда все запустилось, переходим к разворачиванию резервных копий баз 1С выполненных средствами PostgreSQL. Предполагаем, что дампы уже перенесены на наш сервер и лежат в домашнем каталоге пользователя  /home/user/dumps Создаем базу данных PostgreSQL createdb databasename   (вместо databasename – реальное имя базы данных) Загружаем в нашу базу дамп pg_restore  -U postgres –d databasename –v  /home/user/dump/dumpname.custom После того как загрузка прошла и ошибок нет, подключаемся к нашему серверу 1С консолью администрирования и создаем новую информационную базу. В качестве сервера PostgreSQL указываем наш сервер с пользователем postgre и базой данных databasename. Снимаем галочку «создавать базу данных в случае ее отсутствия». Все.

iaa690.blogspot.com

PostgreSQL, версия 9.6.3-1.1C установка ubuntu 16.04

Поддержка этой версии в 1С:Предприятии 8.3 реализована в версии 8.3.10 и старше. Нагрузочное тестирование проводилось на версиях 1С:Предприятия 8.3.10. Для использования PostgreSQL 9.6.3-1.1C с версиями 1С:Предприятия ниже 8.3.10 необходимо его собрать с установленным значением параметра integer_datetimes=off

    Ubuntu 16.04    sudo apt-get install libicu55 postgresql-common

Дополнительные модули:    plperl    plpython    plpython3    pltcl    test    devel    docs

# apt-get install libicu55 postgresql-commonСкачиваем в cd /home/user  postgresql_9.6.3_1.1C_amd64_deb.tar.bz2  postgresql_9.6.3_1.1C_amd64_addon_deb.tar.bz2# cd /home/user  # tar -xvf postgresql_9.6.3_1.1C_amd64_deb.tar.bz2# cd postgresql-9.6.3-1.1C_amd64_deb# dpkg -i *.deb# cd /home/user # tar -xvf postgresql_9.6.3_1.1C_amd64_addon_deb.tar.bz2# cd postgresql-9.6.3-1.1C_amd64_addon_deb# dpkg -i *.deb# su - postgres$ psql -l                                  Список баз данных    Имя    | Владелец | Кодировка | LC_COLLATE  |  LC_CTYPE   |     Права доступа     -----------+----------+-----------+-------------+-------------+----------------------- postgres  | postgres | UTF8      | ru_RU.UTF-8 | ru_RU.UTF-8 |  template0 | postgres | UTF8      | ru_RU.UTF-8 | ru_RU.UTF-8 | =c/postgres          +           |          |           |             |             | postgres=CTc/postgres template1 | postgres | UTF8      | ru_RU.UTF-8 | ru_RU.UTF-8 | =c/postgres          +           |          |           |             |             | postgres=CTc/postgres(3 строки)$ psqlpostgres=#

Далее наберем\passwordвведем два раза новый пароль passи наберем команду\qдля выхода.$ exitОбратите внимание, что данный пароль устанавливается для внутреннего пользователя базы данных, а не для одноименного пользователя операционной системы debian.Проверим, корректно ли запущен и работает наш сервер PostgreSQL который нам нужен для дальнейшего развертывания базы данных. Выполним# service postgresql status

renbuar.blogspot.com

Предприятие 8.3.13.1472 PostgreSQL, версия 10.3-2.1C

Установка 1С 8.3.13.1472 СУБД PostgreSQL, версия 10.3-2.1C ubuntu 16.04.5

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

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

Проще всего пробросить в виртуальную машину лицензии 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 и повторите с начала.

$ lsusbBus 001 Device 002: ID 80ee:0021 VirtualBox USB TabletBus 001 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

Пробросить hasp средствами VirtualBox

$ lsusbBus 001 Device 004: ID 0529:0001 Aladdin Knowledge Systems HASP copy protection dongleBus 001 Device 003: ID 0529:0001 Aladdin Knowledge Systems HASP copy protection dongleBus 001 Device 002: ID 80ee:0021 VirtualBox USB TabletBus 001 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

2. Настройка сети скриптом. Узнаем ip и имя адаптера$ ip a2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000    link/ether 08:00:27:53:b6:81 brd ff:ff:ff:ff:ff:ff    inet 192.168.0.169/24 brd 192.168.0.255 scope global enp0s3

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

$ nano network.sh

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

#!/bin/bash# настройка ip и hostname#----------------------------------------------------------------------_hostname="ufo"# real computer#_iface="enp0s31f6"# kvm iface#_iface="ens3"# virtualbox iface_iface="enp0s3"#_iface="enp1s0" _address="192.168.0.101"_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.service#sudo 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 restart networking.service #sudo systemctl start networking.service#sudo 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 sh network.sh------------------------------------------

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

$ sudo reboot

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

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

Файлы необходимые для установки (предварительно нужно скачать по указанным в начале статьи ссылкам):postgresql_10.3_2.1C_amd64_deb.tar.bz2postgresql_10.3_2.1C_amd64_addon_deb.tar.bz2client_8_3_13_1472.deb64.tar.gzdeb64_8_3_13_1472.tar.gzdeb64.tar.gz  #переименуем так 64 битный сервер для debclient.deb64.tar.gz #переименуем так 64 битный клиенте для debfonts-ttf-ms_1.0-eter4ubuntu_all.debaksusbd_7.81-1_amd64.debИсправим bugSeveral regex warnings when installing latest postgres update

sudo nano /usr/sbin/pam_getenvстрока 78 заменить$val =~ s/(?<!\\)\${([^}]+)}/$ENV{$1}||""/eg; на$val =~ s/(?<!\\)\$\{([^}]+)\}/$ENV{$1}||""/eg;

Install PostgreSQL 10 on Ubuntu Xenial-pgdg

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

$ nano install_post103_2.sh

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

#!/bin/shsudo apt-get install libicu55  -ywget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt/ xenial-pgdg main" >> /etc/apt/sources.list.d/postgresql.list'sudo apt update -ysudo apt-get install postgresql-common libtcl8.6 -y #sudo cp /usr/share/hunspell/ru_RU.aff  /usr/share/hunspell/ru_RU.aff.copy#sudo sed -e '1s/^\xef\xbb\xbf//' /usr/share/hunspell/ru_RU.affmkdir -p /tmp/postcp /home/user/test/postgresql_10.3_2.1C_amd64_deb.tar.bz2 /tmp/post/cp /home/user/test/postgresql_10.3_2.1C_amd64_addon_deb.tar.bz2 /tmp/post/cd /tmp/post tar -xvf postgresql_10.3_2.1C_amd64_deb.tar.bz2cd  postgresql-10.3-2.1C_amd64_debsudo dpkg -i *.debcd /tmp/post/tar -xvf postgresql_10.3_2.1C_amd64_addon_deb.tar.bz2cd postgresql-10.3-2.1C_amd64_addon_debsudo dpkg -i *.debsudo -u postgres psql -U postgres -c "alter user postgres with password 'pass';"sudo cp /etc/postgresql/10/main/postgresql.conf /etc/postgresql/10/main/postgresql.conf.baksudo rm /etc/apt/sources.list.d/postgresql.listsudo apt update  -y#Делаем проверки #sudo systemctl status postgresql.service#ss -tunpl | grep 5432

# установка 1сmkdir -p /tmp/1ctmpcd /tmp/1ctmpsudo apt install imagemagick -ysudo 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.deb#sudo 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/deb64_8_3_13_1472.tar.gz /tmp/1ctmp/deb64.tar.gzcp /home/user/test/client_8_3_13_1472.deb64.tar.gz /tmp/1ctmp/client.deb64.tar.gztar xvzf 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 statusmkdir /tmp/haspcd /tmp/haspcp /home/user/test/aksusbd_7.81-1_amd64.deb  /tmp/haspsudo dpkg -i aksusbd_7.81-1_amd64.deb

sudo dpkg -i *.deb#sudo apt-get install -f -y

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

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

Выполним:

$ ./install_post103_2.sh

или$ sudo sh install_post103_2.sh

Не встал скриптом imagemagick? Без строчки ниже будет ругаться при входе в 1с$ sudo apt-get install imagemagick  -y

$ sudo reboot

$ sudo systemctl status postgresql.service● postgresql.service - PostgreSQL RDBMS   Loaded: loaded (/lib/systemd/system/postgresql.service; enabled; vendor preset: enabled)   Active: active (exited) since Ср 2018-03-14 16:45:43 MSK; 7min ago  Process: 1430 ExecStart=/bin/true (code=exited, status=0/SUCCESS) Main PID: 1430 (code=exited, status=0/SUCCESS)    Tasks: 0   Memory: 0B      CPU: 0   CGroup: /system.slice/postgresql.service

мар 14 16:45:43 kamin systemd[1]: Starting PostgreSQL RDBMS...мар 14 16:45:43 kamin systemd[1]: Started PostgreSQL RDBMS.user@kamin:~$

$ sudo ss -tunpl | grep 5432tcp    LISTEN     0      128       *:5432                  *:*                   users:(("postgres",pid=1269,fd=6))   $ sudo systemctl start postgresql.service$ sudo systemctl restart postgresql.service$ sudo systemctl stop postgresql.service

$ sudo systemctl status srv1cv83.service● srv1cv83.service - LSB: Starts and stops the 1C:Enterprise daemons   Loaded: loaded (/etc/init.d/srv1cv83; bad; vendor preset: enabled)   Active: active (exited) since Ср 2018-03-14 16:45:46 MSK; 11min ago     Docs: man:systemd-sysv-generator(8)  Process: 1215 ExecStart=/etc/init.d/srv1cv83 start (code=exited, status=0/SUCCESS)    Tasks: 0   Memory: 0B      CPU: 0

мар 14 16:45:41 kamin systemd[1]: Starting LSB: Starts and stops the 1C:Enterprise daemons...мар 14 16:45:41 kamin su[1267]: Successful su for usr1cv8 by rootмар 14 16:45:41 kamin su[1267]: + ??? root:usr1cv8мар 14 16:45:41 kamin su[1267]: pam_unix(su:session): session opened for user usr1cv8 by (uid=0)мар 14 16:45:46 kamin srv1cv83[1215]: Starting 1C:Enterprise 8.3 server: OKмар 14 16:45:46 kamin systemd[1]: Started LSB: Starts and stops the 1C:Enterprise daemons.

$ sudo ss -tlnp | grep :15LISTEN     0      128          *:1560                     *:*                   users:(("rphost",pid=1402,fd=23))LISTEN     0      128          *:1540                     *:*                   users:(("rphost",pid=1402,fd=15),("ragent",pid=1305,fd=15))LISTEN     0      128          *:1541                     *:*                   users:(("rmngr",pid=1325,fd=12))LISTEN     0      128         :::1560                    :::*                   users:(("rphost",pid=1402,fd=22))LISTEN     0      128         :::1540                    :::*                   users:(("rphost",pid=1402,fd=14),("ragent",pid=1305,fd=14))LISTEN     0      128         :::1541                    :::*                   users:(("rmngr",pid=1325,fd=11))

sudo service aksusbd status● aksusbd.service - Sentinel LDK Runtime Environment (aksusbd daemon)   Loaded: loaded (/etc/systemd/system/aksusbd.service; enabled; vendor preset: enabled)   Active: active (running) since Пт 2018-08-31 19:02:54 MSK; 5min ago  Process: 856 ExecStart=/usr/sbin/aksusbd_x86_64 (code=exited, status=0/SUCCESS) Main PID: 858 (aksusbd_x86_64)    Tasks: 3   Memory: 544.0K      CPU: 2ms   CGroup: /system.slice/aksusbd.service           └─858 /usr/sbin/aksusbd_x86_64

авг 31 19:02:54 ufo systemd[1]: Starting Sentinel LDK Runtime Environment (aksusbd daemon)...авг 31 19:02:54 ufo aksusbd[858]: loaded, daemon version: 7.81.1.80357, key API (USB) version: 3.88 (parallel driver not availавг 31 19:02:54 ufo systemd[1]: Started Sentinel LDK Runtime Environment (aksusbd daemon).      

$ sudo poweroff

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

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

Можно подключать базу 1С postgres пароль pass(вместо astra имя своего сервера)

Для 32 Gb RAM иначе не запустится!!!

sudo cp  /etc/postgresql/10/main/postgresql.conf /etc/postgresql/10/main/postgresql.conf.bak  sudo nano  /etc/postgresql/10/main/postgresql.conf

Заменить:

Сохранить.

$ sudo systemctl restart postgresql.service$ sudo systemctl restart srv1cv83.service  . $ nano changeip.sh

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

#!/bin/bash# настройка ip и hostname#----------------------------------------------------------------------_hostname="kamin"# real computer#_iface="enp0s31f6"# kvm iface#_iface="ens3"# virtualbox iface#_iface="enp0s3"_iface="enp1s0" _address="192.168.1.95"_gateway="192.168.1.1"_netmask="255.255.255.0"_nameserver="8.8.8.8"#----------------------------------------------------------------------# настроим статический 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"# перезагрузим сетьsudo systemctl restart networking.service

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

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

Выполним:

$ ./changeip.sh

renbuar.blogspot.com

Установка 1С:Документооборот на VPS-сервере Ubuntu с PostgreSQL и Apache 2

В данной статье мы рассмотрим установку программы «1С:Документооборот КОРП 2.0» с модулем «Корпоративные процессы» на виртуальный сервер VPS (или VDS). Вы также можете установить любой другой продукт на базе «1С:Предприятие 8.3».

Мы постараемся изложить информацию так, что бы пользователи и администраторы, мало знакомые с Linux (Ubuntu), могли выполнить все действия и развернуть базу данных в среде Linux.Для установки «1С:Документооборот» будем использовать виртуальный сервер VPS для установки демонстрационной версии и нам будет достаточно VPS с такими системными характеристиками: RAM 2G, HDD 15GB и, что достаточно важно CPU не менее, чем с 2 или 3-я ядрами 2.6GHz. Для коммерческой эксплуатации виртуального сервера VPS с «1С:Документооборот КОРП» понадобиться более производительный сервер, с оперативной памятью минимум 4-6, а лучше 8-12 GB, а также SSD диском.

Так как основной рабочей операционной системой у нас является Windows, а установка VPS будет идти по протоколу SSH в Linux (Ubuntu 14 LTS), то необходимо установить клиентскую программу putty.exe. Данная программа является бесплатной и позволяет подключаться по протоколу SSH к удаленным серверам.

Подключимся к нашему новому VPS (VDS) серверу для установки на него демо-версии программы «1С:Документооборот КОРП» с интегрированным модулем «Корпоративные процессы».

Подготовка сервера Ubuntu для установки «1С:Предприятие 8.3»

Проверим, какая операционная система у нас установлена:cat /etc/issueПроверим свободное и занятое место на диске: df -hПроверим доступную и занятую память: free -mЕсли все ОК, установим новый пароль для нашего пользователяpasswd rootОбновим список программ, доступных из репозитория apt-get updateи выполним их обновление apt-get upgradeУстановим редактор текстовых файловapt-get install nanoДиспетчер файлов Midnight Commander (похожий на Norton Comander из MS DOS). apt-get install mcПрограмму, показывающую загрузку процессора apt-get install htop

Теперь немного обезопасим наш сервер от несанкционированного доступа. В частности, мы запретим вход пользователю root, создадим нового пользователя для доступа к серверу, изменим номер порта SSH и выполним другие настройки.

Обратите внимание на то, что хотя мы запретим логин пользователю root, мы всё равно в любой момент сможем работать под этой учетной записью введя команду su и пароль учетной записи root

Создаем нового пользователя myuser и его домашний каталог useradd myuser -mПосле выполнения данной команды были созданы новый пользовтель myuser и его домашний каталог /home/myuserдобавляем нашего нового пользователя в группу sudo, что бы он мог выполнять привилегированные операцииusermod -aG sudo myuserУстановим пароль пользователя passwd myuserУстановим bash средой исполнения для нашего нового пользователя chsh -s /bin/bash mainВнесем изменения в параметры доступа по SSH, для этого отредактируем файл sshd_configвыполним команду nano /etc/ssh/sshd_configзаменим порт 22 на порт port 2234установим запрет на вход с правами rootPermitRootLogin noустановим разрешение для входа нашего нового пользователя AllowUsers myuserесли данной строки в файлеsshd_configнет, то её нужно будет добавить.

Для сохранения файла нажмем в редакторе nano сочетание клавиш Ctrl+O и Enter, для выхода из редактора nano нажмем Ctrl+X и перезапустим наш сервис SSH, что бы изменился порт доступа и другие параметры service ssh restart

Теперь, не закрывая сеанса root, проверим возможность доступа нашего нового пользователя по новому порту через putty.exeЗапускаем putty.exe, устанавливаем новый порт и проверяем вход через myuserМы можем упростить и, в тоже время, дополнительно обезопасить вход на наш сервер заменив вход по паролю на вход с использованием открытого ключа SSH.

Создадим в домашнем каталоге нашего пользователя каталог для хранения открытых ключей доступа компьютеров, с которых возможен вход на наш VPS сервер.mkdir ~/.ssh

Если мы ранее не создавали пары открытых и закрытых ключей SSH, то их необходимо создать, например с помощью утилиты puttygen.exe, создание ключей несколько выходит за рамки нашей статьи о развертывании базы данных «1С:Документооборот КОРП» на VPS-сервере и широко освещено в сети Интернет.

После создания открытых ключей нам необходимо добавить их в файл authorized_keys на нашем сервере. Для этого выполните командуnano ~/.ssh/authorized_keys

Обратите внимание — быстро скопировать текст из буфера Windows в терминал SSH можно кликнув правой кнопкой мышки, текст из буфера будет вставлен в открытую в терминале программу (например, в текстовый редактор nano или командную строку).

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

Например, это может быть SSH ключ, сгенерированный на рабочей станции Windows, на ноутбуке, а также ключи, сгенерированные на других серверах Linux, например для выполнения регулярных операций архивирования на удаленные сервера и прочее.

После входа пользователя myuser мы можем выполнять все команды с префиксом sudo либо сразу переключиться в среду пользователя root, выполнив команду su

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

Проверим доступ к нему командой ping имягде имя это имя нашего сервера полученное командой hostnameесли пинг не идет, то это обязательно нужно исправить, иначе сервер «1С:Предприятие 8.3» с большой вероятностью при запуске командой service srv1cv83 startне будет запускаться и будет выдавать неочевидную ошибку:Starting 1C:Enterprise 8.3 server: Error: service failed to start!Итак, если команда ping имяне выполняется корректно, то добавим имя нашего сервера в файл hosts, выполним командуnano /etc/hostsдобавим в конец файла строку127.0.0.1 имяСнова выполнимping имя

Установка вспомогательных программ и библиотек Ubuntu

Теперь можно переходить к установке «1С:Предприятие 8.3» для нашей базы «1С:Документооборот КОРП» и сервера PostgreSQL.

Сервер PostgreSQL можно достаточно просто заменить на IBM DB2, установка которого более простая и быстрая, но в данной статье мы будем ставить именно PostgreSQL.

Предварительно нам нужно будет поставить ряд вспомогательных программ (imagemagick и другие) их, конечно, можно поставить вручную скачав с сайта разработчика и установив нужные пакеты. Но, операционные системы Linux, в том числе Ubuntu представляют более удобные механизмы установки из репозиториев программ выполнением простой команды apt-get install <имя пакета>. Команда apt-get является достаточно мощным средством установки программ (apt = advanced packaging tool).

К сожалению, список доступных пакетов в репозиториях программ после установки Ubuntu не достаточно полный, точнее он содержит только ссылки на актульные, проверенные и одобренные программы. Как это часто бывает, такой список не всегда полный, поэтому мы отредактируем список источников репозитория, выполнив командуnano /etc/apt/sources.list

Дополним файл источников следующим списком:deb https://archive.canonical.com/ubuntu trusty partner deb https://us-west-2.ec2.archive.ubuntu.com/ubuntu/ trusty multiverse deb-src https://us-west-2.ec2.archive.ubuntu.com/ubuntu/ trusty multiverse deb https://us-west-2.ec2.archive.ubuntu.com/ubuntu/ trusty-updates multiverse deb-src https://us-west-2.ec2.archive.ubuntu.com/ubuntu/ trusty-updates multiverse deb https://us-west-2.ec2.archive.ubuntu.com/ubuntu/ trusty universe deb-src https://us-west-2.ec2.archive.ubuntu.com/ubuntu/ trusty universe deb https://us-west-2.ec2.archive.ubuntu.com/ubuntu/ trusty-updates universe deb-src https://us-west-2.ec2.archive.ubuntu.com/ubuntu/ trusty-updates universe deb https://archive.ubuntu.com/ubuntu precise main restricted universe deb https://archive.ubuntu.com/ubuntu precise-updates main restricted universe deb https://security.ubuntu.com/ubuntu precise-security main restricted universe multiverse deb https://archive.canonical.com/ubuntu lucid partner deb-src https://archive.canonical.com/ubuntu lucid partner

Как мы писали ранее, можно вставить эти строки в буфер Windows и затем нажать правую кнопку мышки в терминале, таким образом все строки будут скопированы в редактор nano из буфера. Сохраним файл, нажав Ctrl+O и выйдем из редактора нажав Ctrl+X.

Обновим списки программ репозитория, выполнив командуapt-get updateТеперь всё готово к установке вспомогательных программ. Выполним командуapt-get install libssl0.9.8 libossp-uuid16 libxslt1.1 libicu52 libt1-5 t1utils imagemagick unixodbc texlive-base libgfs-1.3-2Далее установим шрифты Microsoft, которые корректно отображают данные в «1С:Предприятие 8.3». Такие шрифты не встроены в Ubuntu, так как они являются проприетарными и лицензированы Microsoft. Тем не менее мы теперь можем их устанавливать, т.к. отредактировали список источников /etc/apt/sources.list. Итак, выполним командуapt-get install ttf-mscorefonts-installerПосле выполнения команды начнется процедура установки шрифтов, будет выведено лицензионное соглашение Microsoft которое будет необходимо принять.

Перейдем теперь к установке сервера PostgreSQL.

Установка сервера PostgreSQL для «1С:Предприятие 8» на сервере Ubuntu

Установку PostgreSQL для «1С:Документооборот КОРП» необходимо выполнять из специального дистрибутива, подготовленного фирмой «1С» и размещенного на её официальном сайте, либо оригинального дистрибутива PostgreSQL с применением специальных патчей. В противном случае работа «1С:Документооборот» на таком сервере будет невозможна.

Так как нам необходимо обеспечить работу PostgreSQL с базами данных «1С:Предприятие 8.3» которые имеют кодировку UTF8 и русскую сортировку, то необходимо предварительно настроить локаль операционной системы.

Установим специальный пакет, обеспечивающий полнофункциональную поддержку Unicode и локали. Для операционной системы Ubuntu версии 14 этот пакет имеет наименование libicu52. Установим его, выполнив команду apt-get install libicu52Посмотрим, какая текущая локаль у нас имеется, выполним командуlocaleЕсли в ней нет ru_RU.UTF-8, то её необходимо установить. Давайте установим, выполним следующие команды: locale-gen en_US ru_RU locale-gen ru_RU.UTF-8 export LANG=ru_RU.UTF-8 dpkg-reconfigure localesСнова выполним командуlocaleВ результате выполнения мы должны получить примерно такие значения:После выполнения всех действий давайте перезагрузим наш VPS первый раз, выполнив команду reboot

После перезагрузки зайдем под пользователем myuser и выполним командуsuдля входа как пользователь root.

Проверим текущую локаль. Выполним командуlocaleесли локаль сбросилась, то добавим в файл/root/.bashrc строкуexport LANG=ru_RU.UTF-8и также выполним командуexport LANG=ru_RU.UTF-8Отредактировать файл .bashrc можно командойnano /root/.bashrc

Перейдем к установке PostgreSQL из дистрибутивов. Если несколько способов загрузить дистрибутивы на VPS сервер, например можно воспользоваться командой wget или другими. Из среды Windows проще всего передать файлы через дополнительную программу, например, через WinSCP.

Откроем наш VPS с пользователем myuser из этой программы, указав наш порт 2234 и IP адрес. Создадим в домашнем каталоге пользователя каталог /home/myuser/1c/postgre и загрузим на него дистрибутив PostgreSQL, можем сразу загрузить в каталог /home/myuser/1c/server и дистрибутив «1С:Предприятие 8» для Linux (DEB-пакеты).С помощью программы WinSCP мы загрузили дистрибутивы в формате .tar.gz. Это файлы архивов их можно распаковать программой tar (если она у вас не установлена, вы можете её установить через apt-get install tar). Например, для распаковки в текущую директорию можно выполнить командуtar xvzf <имя>.tar.gz

Но мы ранее установили файловый менеджер Midnight Comander, поэтому давайте его запустим, выполнив команду mc

Перейдем в каталог /home/myuser/1c, войдем в архивный файл, выделим кнопкой Ins на клавиатуре все файлы и нажимаем F5 для их извлечениz в другую часть окна MC (в ней также должен быть выбран каталог /home/myuser/1c).Выйдем из программы MC нажав F10, перейдем в каталог с распакованными дистрибутивами, набрав в консоли cd /home/myusers/1c/postgres

Теперь всё готово к установке PostgreSQL для запуска нашей базы данных «1С:Документооборот КОРП». Так как все пакеты с расширением .deb уже доступны на нашем VPS мы воспользуемся командой dpkg (Depackager).

Эта команда является одной из основных в Linux и устанавливает программы из пакетов .deb (в ветви Linux Debian). В отличие от команды apt-get она не проверяет наличие программ в каких-либо репозиатриях и ничего не скачивает из интернета, просто берет пакет с жесткого диска и устанавливает его.

Итак, в каталоге /home/myusers/1c/postgres выполним команду dpkg -i *.debДанная команда установит все файлы с расширением .deb.В ходе установки будет выдано много сообщений, если среди них вы заметите сообщения об ошибках, то пытайтесь их исправить введя команду apt-get -f install

Основная причина сообщений об ошибках — это отсутствие каких-либо необходимых библиотек или программ. Команда apt-get -f install команда анализирует такие ситуации и автоматчиски устанавливает недостающие библиотеки и программы (ключ -f это значение force, что значит принудительно).

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

Если ошибок не было или все они были исправлены командой apt-get -f install, то перейдем к нашему серверу и проверим, что же было установлен. Выполним команду su — postgresДанная команда запускает среду выполнения пользователя postgres (дефис говорит о том, что будут загружены все параметры среды исполнения пользователя postgres).Давайте выведем текущий список баз данных PostgreSQL. Выполнимpsql -lВнимательно проверьте список. Везде должна быть указана кодировка UTF-8 и ru_RU.UTF-8

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

Нажмите Ctrl-Z для выхода из списка баз данных.

Теперь установим пароль пользователя postgres. Под пользователем root выполним команду sudo -u postgres psqlДалее наберем \passwordвведем два раза новый парольи наберем команду \qдля выхода.Обратите внимание, что данный пароль устанавливается для внутреннего пользователя базы данных, а не для одноименного пользователя операционной системы Ubuntu

Проверим, корректно ли запущен и работает наш сервер PostgreSQL который нам нужен для дальнейшего развертывания базы данных «1С:Документооборот». Выполнимservice postgresql statusМы должны получить строку с номером порта (обычно 5432) и статусом online.Если всё ОК, то пока завершим установку PostgreSQL и перейдем к установке сервера «1С:Предприятие 8.3»

Установка сервера «1С:Предприятие 8.3» на Ubuntu

Для установки программы «1С:Документооборот» на сервер «1С:Предприятие 8.3» под управление Ubuntu, необходимо скопировать файлы дистрибутива с сервера «1С» в каталог нашего VPS. Мы проделали это с помощью программы WinSCP когда копировали файлы дистрибутива PostgreSQL. Теперь дистрибутив «1С» располагается в каталоге /home/myuser/1c/server.

Перейдем в каталог, набрав в командной строке Linuxcd /home/myusers/1c/server (путь может отличаться, если вы загрузили файлы в другой каталог вашего VPS-сервера).

Извлечем файлы с помощью команды tar xvzf <имя>.tar.gz или, что нам кажется проще, через копирование из архива в Midnight Commander как мы делали при распаковке архивов PostgreSQL.

После распаковки архивов .gz в пакеты .deb можно переходить к их установке.В отличие от установки пакетов сервера PostgreSQL, установку пакетов сервера «1С:Предприятие 8.3» лучше выполнять в определенной последовательности. Вот она:dpkg -i 1c-enterprise83-common_8.3.6-2299_i386.debdpkg -i 1c-enterprise83-ws_8.3.6-2299_i386.debdpkg -i 1c-enterprise83-ws-nls_8.3.6-2299_i386.debdpkg -i 1c-enterprise83-common-nls_8.3.6-2299_i386.debdpkg -i 1c-enterprise83-server_8.3.6-2299_i386.debdpkg -i 1c-enterprise83-crs_8.3.6-2299_i386.debdpkg -i 1c-enterprise83-server-nls_8.3.6-2299_i386.deb

В примере выше указаны пакеты сервера «1С» версии 2299, актуального на момент написания данной статьи, в вашем случае цифры релиза могут быть другие.

Кроме того, мы устанавливаем пакеты для 32-х разрядной операционной системы, т.к. у нашей VPS всего 2GB оперативной памяти и смысла ставить 64-х разрядную операционную систему и «1С» нет.

Вы также можете установить пакеты командойdpkg -i *.deb и затем apt-get -f installно корректность такой установки не гарантируется. На данный день рекомендуем всё же ставить пакеты в указанной выше последовательности.

В процессе установки сервера «1С:Предприятие 8.3» у нас был создан новый пользователь операционной системы Ubuntu usr1cv8 и группа grp1cv8.

Давайте теперь установим им права доступа на каталог /opt/1C, где располагаются файлы сервера «1С:Предприятие 8.3» в операционной системе Ubuntu.Установим права доступа на каталогchown -R usr1cv8:grp1cv8 /opt/1CПосле этого можно перейти к запуску сервиса сервера. Наберем в командной строке service srv1cv8 start

Должен появиться статус OK.К сожалению, иногда мы видим надпись: Starting 1C:Enterprise 8.3 server: Error: service failed to start!

Средства диагностики и логирования проблем в «1С:Предприятие 8.3» для Linux достаточно ограничены. Основываясь на нашем опыте, основная причина появления такого сообщения (если все компоненты были установлены корректно), это проблема с hostname, точнее с записями в DNS или /etc/hosts как было описано выше.

Вы также можете запустить встроенные средства диагностики Ubuntu (а также Debain) выполняя командуbash -x /etc/init.d/srv1cv83 startи анализируя полученные диагностические сообщения.

Если вам потребуется полностью переустановить «1С:Предприятие 8.3» под Linux, то необходимо будет удалить все пакеты 1c-enterprise83. Получить их список можно командойdpkg -l | grep 1c-Далее начинаем удалять в такой, рекомендуемой, последовательности:dpkg -remove 1c-enterprise83-common dpkg -remove 1c-enterprise83-crs dpkg -remove 1c-enterprise83-ws dpkg -remove 1c-enterprise83-server-nls dpkg -remove 1c-enterprise83-server dpkg -remove 1c-enterprise83-common-nls dpkg -remove 1c-enterprise83-common dpkg -remove 1c-enterprise83-server dpkg — purge 1c-enterprise83-serverПроверяем, что пакетов не осталось, снова выполнив dpkg -l | grep 1c-После удаления можно перейти к повторной установке deb пакетов сервера «1С:Предприятие 8.3». Если установка или запуск сервера не удается, рекомендуем поискать ответ в google.

Проверка, настройка и оптимизация сервера PostgreSQL

Ранее мы уже установили PostgreSQL и сервер «1С:Предприятие 8.3». Давайте теперь выполним настройку и оптимизацию сервера баз данных PostgreSQL.

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

Основные параметры расположены в файле postgresql.conf. Давайте отредактируем его, выполнив команду nano /etc/postgresql/9.4/main/postgresql.confНаш VPS сервер имеет всего 2GB оперативной памяти, постараемся использовать их наиболее оптимальным способом.

Установим следующие значения:work_mem 64MB maintenance_work_mem 256MB temp_buffers 16MB wal_buffers 512KBЕсли вы готовы ради роста производительности несколько снизить надежность записи на диски, то можно отключить постоянную синхронизацию кэша. Для этого установим следующие параметры:fsync = off full_page_writes = off

Если на вашем VPS используется SSD диск, то имеет смысл установить следующее значение параметраrandom_page_cost=1.5Приведенные выше параметры являются ориентировочными и применимыми для VPS с размером памяти 2GB. PostgreSQL имеет большие возможности по настройке и оптимизации производительности в работе с базами данных «1С:Предприятие 8.3».

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

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

После изменения параметров сервера, перезапустим его:service postgresql restart

Подключение нового сервера и создание базы данных

Так как мы не устанавливали клиентские пакеты на сервере VPS с Ubuntu, то нам остается выполнить создание и подключение баз данных с рабочей станции с Windows. Для этого запустим программу «Администрирование серверов «1С:Предприятия» и добавим наш новый сервер.

Укажем у сервера IP адрес и порт 1540. По умолчанию «1С» создает локальный кластер, мы можем использовать его, но его локальный адрес нужно будет прописывать в файле lmhosts, сопоставляя с IP-адресом виртуального VPS сервера. Рекомендуем удалить локальный кластер и создать новый, при создании нового кластера серверов «1С:Предприятие 8.3» указать IP адрес нашего виртуального VPS сервера и порт 1541.

В новом кластере создадим информационную базу данных для «1С:Документооборот». На рисунке ниже показан пример создания такой базы данных. Укажите тип сервера PostgreSQL, IP адрес сервера, в качестве пользователя укажите postgres и пароль, который вы установили ранее.

Попробуем создать базу данных. Можно отследить рост нагрузки на ваш сервер запустив командуhtop

Пример вывода из htop в процессе создания базы данных приведен на рисунке ниже.

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

Если создание прошло успешно, то можно подключать данную информационную базу, входить в режиме «1С:Конфигуратор» и загружать базу «1С:Документооборот КОРП» из архива.

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

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

Продолжим установку и настройку на следующей странице.

xn--90afdtkhdeabaxvge.net

Установка 1С Сервер 8.3.7 (i386 и x64) и PostgreSQL 9.4.x x64 на Ubuntu Server 14.04 x64 / itvdonsk / С IT по жизни

Рассматривается вариант установки 32-битного и 64-битного 1С Сервера 8.3.7 (на примере версии 8.3.7.1970), а также 64-битного PostgreSQL 9.4.x на 64-битный Ubuntu Server 14.04. Опционально приводятся варианты настройки Timezone и синхронизации времени, установки Apache 2.2, настройки файрвола UFW, установки OpenJDK 1.8 и включения режима отладки 1С Сервера на 64-битном Ubuntu Server 14.04.

Установите Ubuntu Server 14.04 x64 с поддержкой OpenSSH и все дальнейшие действия будем производить через SSH-консоль.

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

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

Создаем локаль английского языка:

Создаем локаль русского языка:

По умолчанию устанавливаем локаль русского языка:

sudo update-locale LANG=ru_RU.UTF8

sudo update-locale LANG=ru_RU.UTF8

Переконфигурируем локали:

sudo dpkg-reconfigure locales

sudo dpkg-reconfigure locales

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

sudo apt-get install libxslt1.1 ssl-cert

sudo apt-get install libxslt1.1 ssl-cert

Установка PostgreSQL 9.4.2-1.1C вручную

Скачиваем необходимую версию библиотеки libicu (например, в каталог /tmp) и устанавливаем ее:

cd /tmp wget http://security.ubuntu.com/ubuntu/pool/main/i/icu/libicu48_4.8.1.1-3ubuntu0.6_amd64.deb sudo dpkg -i libicu48_4.8.1.1-3ubuntu0.6_amd64.deb

cd /tmp

wget http://security.ubuntu.com/ubuntu/pool/main/i/icu/libicu48_4.8.1.1-3ubuntu0.6_amd64.deb

sudo dpkg -i libicu48_4.8.1.1-3ubuntu0.6_amd64.deb

Скачиваем с сайта 1С все необходимые deb-файлы в каталог /tmp и устанавливаем их именно в такой последовательности:

cd /tmp sudo dpkg -i libpq5_9.4.2-1.1C_amd64.deb sudo dpkg -i postgresql-client-common_154.1.1C_all.deb sudo dpkg -i postgresql-common_154.1.1C_all.deb sudo dpkg -i postgresql-client-9.4_9.4.2-1.1C_amd64.deb sudo dpkg -i postgresql-9.4_9.4.2-1.1C_amd64.deb sudo dpkg -i postgresql-contrib-9.4_9.4.2-1.1C_amd64.deb

cd /tmp

sudo dpkg -i libpq5_9.4.2-1.1C_amd64.deb

sudo dpkg -i postgresql-client-common_154.1.1C_all.deb

sudo dpkg -i postgresql-common_154.1.1C_all.deb

sudo dpkg -i postgresql-client-9.4_9.4.2-1.1C_amd64.deb

sudo dpkg -i postgresql-9.4_9.4.2-1.1C_amd64.deb

sudo dpkg -i postgresql-contrib-9.4_9.4.2-1.1C_amd64.deb

Установка PostgreSQL 9.4.x с сайта авторов сборки PostgreSQL для 1С (альтернативный вариант)

Добавляем репозиторий 1c.postgrespro.ru:

sudo sh -c 'echo "deb http://1c.postgrespro.ru/deb/ $(lsb_release -cs) main" > /etc/apt/sources.list.d/postgrespro-1c.list'

sudo sh -c 'echo "deb http://1c.postgrespro.ru/deb/ $(lsb_release -cs) main" > /etc/apt/sources.list.d/postgrespro-1c.list'

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

cd /tmp wget --quiet -O - http://1c.postgrespro.ru/keys/GPG-KEY-POSTGRESPRO-1C-92 | sudo apt-key add - && sudo apt-get update

cd /tmp

wget --quiet -O - http://1c.postgrespro.ru/keys/GPG-KEY-POSTGRESPRO-1C-92 | sudo apt-key add - && sudo apt-get update

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

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

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

 

После установки любым из двух вариантов от имени суперпользователя в файле /etc/postgresql/9.4/main/pg_hba.conf  строку для соединения через Unix-сокет  local all postgres peer для пользователя postgres приводим к виду:

Для бОльшей безопасности от имени суперпользователя в файле /etc/postgresql/9.4/main/postgresql.conf  строку listen_addresses = '*'  приводим к виду:

listen_addresses = 'localhost'

listen_addresses = 'localhost'

Это ограничит доступ к серверу базы данных PostgreSQL только внутри машины, на которой он установлен. Данное ограничение можно реализовать только в случае, когда 1С Сервер и PostgreSQL установлены на одной машине. Если указанные сервера расположены на разных машинах, то необходимо оставить опцию listen_addresses = '*'  или вместо '*'  указать IP-адрес машины, на которой установлен 1С Сервер.

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

sudo service postgresql restart

sudo service postgresql restart

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

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

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

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

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

sudo service postgresql restart

sudo service postgresql restart

 

Дополнение

1. Если забыли или не правильно установили локаль по-умолчанию перед установкой PostgreSQL или хотите изменить каталог размещения кластера базы данных:

После установки PostgreSQL кластер базы данных размещается в каталоге, который можно найти в файле /etc/postgresql/9.4/main/postgresql.conf  в строке data_directory  (обычно это /var/lib/postgresql/9.4/main ). Если необходимо кластер базы данных разместить в другом каталоге, например в /var/lib/pgsql , то можно сделать следующее:

  1. создать дампы всех необходимых баз данных
  2. остановить сервис PostgreSQL:

    sudo service postgresql stop

    sudo service postgresql stop

  3. удалить текущий каталог кластера базы данных:

    sudo rm -rf /var/lib/postgresql

    sudo rm -rf /var/lib/postgresql

  4. установить пароль для UNIX-пользователя postgres:
  5. создать новый каталог кластера базы данных:

    sudo mkdir /var/lib/pgsql

    sudo mkdir /var/lib/pgsql

  6. установить UNIX-пользователя postgres владельцем каталога /var/lib/pgsql:

    sudo chown -R postgres:postgres /var/lib/pgsql

    sudo chown -R postgres:postgres /var/lib/pgsql

  7. от имени UNIX-пользователя postgres инициализировать кластер базы данных с новым каталогом и новой локалью:

    su postgres -c '/usr/lib/postgresql/9.4/bin/initdb -D /var/lib/pgsql --locale=ru_RU.UTF-8'

    su postgres -c '/usr/lib/postgresql/9.4/bin/initdb -D /var/lib/pgsql --locale=ru_RU.UTF-8'

  8. от имени суперпользователя в файле /etc/postgresql/9.4/main/postgresql.conf  изменить значение каталога кластера базы данных на новое размещение, т.е. в приведенном примере строку  data_directory = '/var/lib/postgresql/9.4/main' нужно привести к виду   data_directory = '/var/lib/pgsql' и сохранить файл
  9. запустить сервис PostgreSQL:

    sudo service postgresql start

    sudo service postgresql start

  10. восстановить необходимые базы данных из дампов

 

2. Если PostgreSQL переустанавливался после того, как был установлен 1С Сервер, и невозможно подключить клиент к информационной базе:

  1. перезапустите сервис PostgreSQL:

    sudo service postgresql restart

    sudo service postgresql restart

  2. перезапустите сервис 1С Сервера:

    sudo service srv1cv83 restart

    sudo service srv1cv83 restart

    или перезагрузите весь сервер с Ubuntu:

2. Установка Timezone и синхронизация времени (опционально).

При необходимости установить Timezone и синхронизировать время операционной системы, необходимо выполнить следующие действия:

Сконфигурировать часовой пояс:

sudo dpkg-reconfigure tzdata

sudo dpkg-reconfigure tzdata

и выбрать необходимый часовой пояс.

Установить ntp-протокол и произвести синхронизацию времени:

sudo apt-get install ntp sudo service ntp stop sudo ntpdate -s time.nist.gov sudo service ntp start

sudo apt-get install ntp

sudo service ntp stop

sudo ntpdate -s time.nist.gov

sudo service ntp start

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

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

sudo apt-get install imagemagick sudo apt-get install unixodbc sudo apt-get install ttf-mscorefonts-installer sudo apt-get install libgsf-1-114

sudo apt-get install imagemagick

sudo apt-get install unixodbc

sudo apt-get install ttf-mscorefonts-installer

sudo apt-get install libgsf-1-114

(в процессе установки необходимо принять условия лицензионного соглашения)

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

cd /tmp sudo dpkg -i 1c-enterprise83-common_8.3.7-1970_amd64.deb sudo dpkg -i 1c-enterprise83-common-nls_8.3.7-1970_amd64.deb sudo dpkg -i 1c-enterprise83-server_8.3.7-1970_amd64.deb sudo dpkg -i 1c-enterprise83-server-nls_8.3.7-1970_amd64.deb sudo dpkg -i 1c-enterprise83-ws_8.3.7-1970_amd64.deb sudo dpkg -i 1c-enterprise83-ws-nls_8.3.7-1970_amd64.deb

cd /tmp

sudo dpkg -i 1c-enterprise83-common_8.3.7-1970_amd64.deb

sudo dpkg -i 1c-enterprise83-common-nls_8.3.7-1970_amd64.deb

sudo dpkg -i 1c-enterprise83-server_8.3.7-1970_amd64.deb

sudo dpkg -i 1c-enterprise83-server-nls_8.3.7-1970_amd64.deb

sudo dpkg -i 1c-enterprise83-ws_8.3.7-1970_amd64.deb

sudo dpkg -i 1c-enterprise83-ws-nls_8.3.7-1970_amd64.deb

Изменяем владельца каталога /opt/1C:

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

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

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

sudo service srv1cv83 start

sudo service srv1cv83 start

4. Установка 32-битного 1С Сервера 8.3.7.

Включаем поддержку архитектуры i386 и обновляем список пакетов:

sudo dpkg --add-architecture i386 sudo apt-get update

sudo dpkg --add-architecture i386

sudo apt-get update

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

sudo apt-get install imagemagick:i386 sudo apt-get install unixodbc:i386 sudo apt-get install ttf-mscorefonts-installer

sudo apt-get install imagemagick:i386

sudo apt-get install unixodbc:i386

sudo apt-get install ttf-mscorefonts-installer

(в процессе установки необходимо принять условия лицензионного соглашения)

Версия i386 библиотеки libgsf-1-114 отсутствует в репозитории Ubuntu, однако имеется в репозитории Debian. Поэтому нам придется скачать эту библиотеку из репозитория Debian. Скачиваем версию i386 библиотеки libgsf-1-114 (например, в каталог /tmp) и устанавливаем ее именно в такой последовательности:

cd /tmp wget http://ftp.us.debian.org/debian/pool/main/libg/libgsf/libgsf-1-common_1.14.36-1_all.deb wget http://ftp.us.debian.org/debian/pool/main/libg/libgsf/libgsf-1-114_1.14.36-1_i386.deb sudo dpkg -i libgsf-1-common_1.14.36-1_all.deb sudo dpkg -i libgsf-1-114_1.14.36-1_i386.deb

cd /tmp

wget http://ftp.us.debian.org/debian/pool/main/libg/libgsf/libgsf-1-common_1.14.36-1_all.deb

wget http://ftp.us.debian.org/debian/pool/main/libg/libgsf/libgsf-1-114_1.14.36-1_i386.deb

sudo dpkg -i libgsf-1-common_1.14.36-1_all.deb

sudo dpkg -i libgsf-1-114_1.14.36-1_i386.deb

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

cd /tmp sudo dpkg -i 1c-enterprise83-common_8.3.7-1970_i386.deb sudo dpkg -i 1c-enterprise83-common-nls_8.3.7-1970_i386.deb sudo dpkg -i 1c-enterprise83-server_8.3.7-1970_i386.deb sudo dpkg -i 1c-enterprise83-server-nls_8.3.7-1970_i386.deb sudo dpkg -i 1c-enterprise83-ws_8.3.7-1970_i386.deb sudo dpkg -i 1c-enterprise83-ws-nls_8.3.7-1970_i386.deb sudo dpkg -i 1c-enterprise83-crs_8.3.7-1970_i386.deb

cd /tmp

sudo dpkg -i 1c-enterprise83-common_8.3.7-1970_i386.deb

sudo dpkg -i 1c-enterprise83-common-nls_8.3.7-1970_i386.deb

sudo dpkg -i 1c-enterprise83-server_8.3.7-1970_i386.deb

sudo dpkg -i 1c-enterprise83-server-nls_8.3.7-1970_i386.deb

sudo dpkg -i 1c-enterprise83-ws_8.3.7-1970_i386.deb

sudo dpkg -i 1c-enterprise83-ws-nls_8.3.7-1970_i386.deb

sudo dpkg -i 1c-enterprise83-crs_8.3.7-1970_i386.deb

Изменяем владельца каталога /opt/1C:

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

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

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

sudo service srv1cv83 start

sudo service srv1cv83 start

5. Установка Apache 2.2 (опционально)

От имени суперпользователя добавим в список следующие репозитории:

Переключаемся в консоль суперпользователя:

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

cat <<EOF >> /etc/apt/sources.list deb http://archive.ubuntu.com/ubuntu precise main restricted universe deb http://archive.ubuntu.com/ubuntu precise-updates main restricted universe deb http://security.ubuntu.com/ubuntu precise-security main restricted universe multiverse EOF

cat <<EOF >> /etc/apt/sources.list

deb http://archive.ubuntu.com/ubuntu precise main restricted universe

deb http://archive.ubuntu.com/ubuntu precise-updates main restricted universe

deb http://security.ubuntu.com/ubuntu precise-security main restricted universe multiverse

EOF

Редактируем или создаем файл /etc/apt/preferences.d/preferences , добавляя в него следующие строки:

Package: apache2* Pin: release n=precise Pin-Priority: 900

Package: apache2*

Pin: release n=precise

Pin-Priority: 900

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

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

Устанавливаем Apache 2.2:

sudo apt-get install apache2

sudo apt-get install apache2

Проверяем версию установленного Apache:

6. Настройка файрвола UFW (опционально)

Для обеспечения бОльшей безопасности желательно настроить и включить файрвол UFW. Для этого необходимо выполнить следующие действия:

sudo ufw allow ssh #для доступа по HTTP-протоколу sudo ufw allow 80 #для доступа по HTTPS-протоколу sudo ufw allow 443 #для работы 1С Сервера, если кластер серверов установлен со стандартными значениями портов sudo ufw allow 1540 sudo ufw allow 1541 sudo ufw allow 1560:1591/tcp sudo ufw enable #включаем файрвол

sudo ufw allow ssh

#для доступа по HTTP-протоколу

sudo ufw allow 80

#для доступа по HTTPS-протоколу

sudo ufw allow 443

#для работы 1С Сервера, если кластер серверов установлен со стандартными значениями портов

sudo ufw allow 1540

sudo ufw allow 1541

sudo ufw allow 1560:1591/tcp

sudo ufw enable #включаем файрвол

7. Установка OpenJDK 1.8 (опционально)

При необходимости запуска java-приложений (в том числе из 1С), можно установить OpenJDK 1.8 следующим образом:

Добавляем ppa-репозиторий и обновляем список пакетов:

sudo add-apt-repository ppa:openjdk-r/ppa sudo apt-get update

sudo add-apt-repository ppa:openjdk-r/ppa

sudo apt-get update

Устанавливаем OpenJDK:

для установки JDK

sudo apt-get install openjdk-8-jdk

sudo apt-get install openjdk-8-jdk

для установки только JRE

sudo apt-get install openjdk-8-jre

sudo apt-get install openjdk-8-jre

Актуализируем Java-машину (если ранее уже была установлена младшая версия Java):

sudo update-alternatives --config java

sudo update-alternatives --config java

Актуализируем Java-компилятор (если ранее уже была установлена младшая версия Java):

sudo update-alternatives --config javac

sudo update-alternatives --config javac

Проверяем установленную версию Java:

8. Включение режима отладки 1С Сервера (опционально)

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

sudo service srv1cv83 stop

sudo service srv1cv83 stop

От имени суперпользователя редактируем файл /etc/init.d/srv1cv83 , а именно — находим следующую строку:

itvdonsk.ru

Установка 1С 8.1 + PostgreSQL в Ubuntu Linux 64 bit

 Поскольку при установке сервера 1с и postgresql на линукс-сервер возникает масса нюансов, которые постоянно забываются, опишу процесс на этой страничке.

Итак имеем 64-битный линукс Ubuntu Скачиваем 64-битные пакеты сервера 1С и postgresql  - сервер 1с http://users.v8.1c.ru/Platform_8_3_3_21C_pln64_s.aspx - postgres 

Распаковываем rar-архивы например сервер 1С например в 

/usr/local/1c

и postgresql в 

/usr/local/1c/pgsql

Postgresql на сайте 1с лежат в rpm, поэтому переделаем полученные пакеты в deb . Для чего 

apt-get install chkconfig // Пригодится, поскольку вызывается из установочных скриптов apt-get install alien

 

cd /usr/local/1c/pgsql  alien --scripts --to-deb *.rpm groupadd -g 5026 -o -r postgres  useradd -g postgres -o -r -d /var/lib/pgsql -s /bin/bash -c \ "PostgreSQL Server" -u 5026 postgres

 

//Тут в оригинале ID группы и пользователя был 26, но в ubuntu он занят группой type , поэтому заменил 5026 Последние две строки есть в скриптах установки, но в нашей системе они не срабатывают. 

 

Установка

 

dpkg -i *.deb

Переходим в каталог сервера 1с 

cd /usr/local/1c dpkg -i *.deb

Можно переопределить каталог для баз, насколько помню, постгрес лучше работал в файловой системе ext2 (хотя это непринципиально) 

mkdir /bases mkdir /bases/basetest chown -R postgres:postgres /bases

Теперь надо сделать ссылки на библиотеки, которые нужны 1с-совскому постгресу , почему то старые 

cd /lib ln -s libreadline.so.5.2 libreadline.so.4  ln -s libncurses.so libtermcap.so.2

И еще кое что перед инициализацией базы 

echo 134217728 >/proc/sys/kernel/shmmax /usr/share/locales/install-language-pack en_US

 

Настройка

Теперь сама инициализация 

su postgres initdb -D /bases/basetest

и стартуем postgres 

pg_ctl -D /bases/basetest -l /bases/basetest/pg.log start

Все, скрипт запуска - домашнее задание. Сервер 1с запускается обычно 

/etc/init.d/srv1cv81 start

Проверяем 

netstat -atu

если вот такие строки видно, то значит все должно быть хорошо. 

tcp 0 0 *:1560 *:* LISTEN tcp 0 0 *:postgresql *:* LISTEN tcp 0 0 *:1561 *:* LISTEN tcp 0 0 *:1562 *:* LISTEN tcp 0 0 *:1563 *:* LISTEN

Кое-где на сайтах постгреса кроме

echo 134217728 >/proc/sys/kernel/shmmax

Предлагают еще

echo 134217728 >/proc/sys/kernel/shmall

Ну чтоб не набирать после перезапуска руками

echo kernel.shmmax=134217728 >>/etc/sysctl.conf

echo kernel.shmall=134217728 >>/etc/sysctl.conf

 

Ну и скрипт для запуска постгреса

 

#!/bin/sh

case $1 in

restart)

sudo -u postgres -H pg_ctl -D /bases/basetest -l /bases/basetest/pg.log stop

sudo -u postgres -H pg_ctl -D /bases/basetest -l /bases/basetest/pg.log start

;;

start)

sudo -u postgres -H pg_ctl -D /bases/basetest -l /bases/basetest/pg.log start

;;

stop)

sudo -u postgres -H pg_ctl -D /bases/basetest -l /bases/basetest/pg.log stop

;;

*)

echo start|stop|restart

return 1;

;;

esac

 

update-rc.d postgresql defaults

update-rc.d srv1cv81 defaults

 

Источник: http://www.backline.ru/

www.openkazan.info