Метою цієї роботи є узагальнення методів установки і настройки 32- і 64-бітного 1С Сервера 8.3.7, а також сервера бази даних PostgreSQL 9.4.x, на 64-бітний Ubuntu Server 14.04.

Установка 32-бітного 1С Сервера на 64-бітний Ubuntu 14.04 - завдання далеко не тривіальна через відмінності в архітектурі пакетів і вимагає для свого вирішення нестандартних підходів. Крім цього, порушено тему установки Apache 2.2 на Ubuntu Server 14.04 замість Apache 2.4, що також є непростим завданням. Необхідність наявності Apache 2.2 пов'язана з тим, що версії платформи 1С 8.3.7 в режимі веб-клієнта працюють тільки з версією Apache 2.2, але не 2.4, що входить в стандартну конфігурацію Ubuntu 14.04.

Таким чином, наведена стаття повинна дозволити використовувати на Ubuntu Server 14.04 x64 32- і 64-бітний 1С Сервер 8.3.7 з веб-клієнтом.

У статті використані матеріали статей про встановлення 1С Сервера і PostgreSQL.

Тож почнемо.

Встановіть Ubuntu Server 14.04 x64 з підтримкою OpenSSH і всі подальші дії будемо проводити через SSH-консоль.

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

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

sudo locale-gen en_US
(Створюємо локаль англійської мови)
sudo locale-gen ru_RU
(Створюємо локаль російської мови)
sudo update-locale LANG = ru_RU.UTF8
(По-замовчуванню встановлюємо локаль російської мови)
sudo dpkg-reconfigure locales
(Переконфігуріруем локалі)

Встановлюємо необхідні пакети:

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

Беремо з сайту 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

Установка PostgreSQL 9.4.x (на момент написання статті 9.4.6) з сайту авторів збірки 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"

Імпортуємо ключ сховища та оновлюємо список пакетів:

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

Після установки будь-яким з двох варіантів відімені суперкористувача в файлі/etc/postgresql/9.4/main/pg_hba.conf рядок для з'єднання через Unix-сокет

local all postgres peer
для користувача postgres приводимо до виду:
local all postgres trust

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

Це обмежить доступ до сервера бази даних PostgreSQL тільки всередині машини, на якій він встановлений. Дане обмеження можна реальзовать тільки в разі, коли 1С Сервер і PostgreSQL встановлені на одній машині. Якщо зазначені сервера розташовані на різних машинах, то необхідно залишити опцію listen_addresses = "*" або замість "*" вказати IP-адресу машини, на якій встановлено 1С Сервер.

Змінюємо пароль суперкористувача postgres:

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

Від імені суперкористувача в файлі/etc/postgresql/9.4/main/pg_hba.conf всі методи аутентифікації встановлюємо в значення md5, наприклад:
local all postgres md5

Перезапускаємо сервіс PostgreSQL:

sudo service postgresql restart

ДОПОВНЕННЯ:

* Якщо забули або не правильно встановили локаль за замовчуванням перед установкою PostgreSQL або хочете змінити каталог розміщення кластера бази даних:

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

Створити дампи всіх необхідних баз даних

Зупинити сервіс PostgreSQL:

sudo service postgresql stop

Видалити поточний каталог кластера бази даних:

sudo rm -rf / var / lib / postgresql

Встановити пароль для UNIX-користувача postgres:

sudo passwd postgres

Створити новий каталог кластера бази даних:

sudo mkdir / var / lib / pgsql

Встановити UNIX-користувача postgres власником каталогу / var / lib / pgsql:

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

Від імені UNIX-користувача postgres форматувати кластер бази даних з новим каталогом і нової локаллю:

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

Від імені суперкористувача в файлі /etc/postgresql/9.4/main/postgresql.conf змінити значення каталогу кластера бази даних на нове розміщення, тобто в наведеному прикладі рядок data_directory = "/var/lib/postgresql/9.4/main"
потрібно привести до виду
data_directory = "/ var / lib / pgsql"
і зберегти файл

Запустити сервіс PostgreSQL:

sudo service postgresql start

Відновити необхідні бази даних з дампів

* Якщо PostgreSQL перевстановлювати після того, як було встановлено 1С Сервер, і неможливо підключити клієнт до Інфобази:

Перезапустіть сервіс PostgreSQL:

sudo service postgresql restart

Перезапустіть сервіс 1С Сервера:

sudo service srv1cv83 restart

Перезавантажте весь сервер з Ubuntu:

sudo reboot

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

При необхідності встановити Timezone і синхронізувати час операційної системи, необхідно виконати наступні дії:

Конфігурувати часовий пояс:

sudo dpkg-reconfigure tzdata
і вибрати необхідний часовий пояс

Встановити ntp-протокол і провести синхронізацію часу:

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 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
(Опціонально для підтримки додаткових мов)

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

sudo service srv1cv83 start

4. Встановлення 32-бітного 1С Сервера 8.3.7.

Включаємо підтримку архітектури i386 і оновлюємо список пакетів:

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
(В процесі установки необхідно прийняти умови ліцензійної угоди)

версія 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

Беремо з сайту 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
(Опціонально для функціонування сховища конфігурацій)

Змінюємо власника каталогу / opt / 1C:

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

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

sudo service srv1cv83 start

5. Установка Apache 2.2 (опціонально, велике спасибі за рекомендацію).

Від імені суперкористувача додамо в список наступні репозиторії:

- перемикається в консоль суперкористувача:

- додаємо репозиторії:

cat<> /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

- виходимо з консолі суперкористувача:

exit

- оновлюємо список пакетів:

sudo apt-get update

- встановлюємо Apache 2.2:

sudo apt-get install apache2

- перевіряємо версію встановленого Apache:

apache2 -v

6. Налаштування файрвола UFW (опціонально).

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

sudo ufw allow ssh
або
sudo ufw allow 22
(Якщо для протоколу SSH використовується порт 22)

sudo ufw allow 80
(Для доступу по HTTP-протоколу)

sudo ufw allow 443
(Для доступу по HTTPS-протоколу)

sudo ufw allow 1540
sudo ufw allow 1541
sudo ufw allow 1560 1591 / tcp
(Для роботи 1С Сервера, якщо кластер серверів встановлений зі стандартними значеннями портів)

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

Встановлюємо OpenJDK:

sudo apt-get install openjdk-8-jdk
(Для установки JDK)
або
sudo apt-get install openjdk-8-jre
(Для установки тільки JRE)

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

sudo update-alternatives --config java

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

sudo update-alternatives --config javac

перевіряємо встановлену версію Java:

java -version

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

Зупиняємо сервіс 1С Сервера:

sudo service srv1cv83 stop

Від імені суперкористувача редагуємо файл /etc/init.d/srv1cv83, а саме - знаходимо наступний рядок:

# SRV1CV8_DEBUG =

раскомментіруем її і дамо значення 1 так, щоб вийшла наступна рядок:

SRV1CV8_DEBUG = 1

зберігаємо файл /etc/init.d/srv1cv83 і запускаємо сервіс 1С Сервера:

sudo service srv1cv83 start

На клієнтській машині вменю конфігурації "Параметри" -> "Запуск 1С: Підприємства" -> "Додаткові" включаємо наступні пункути:

"Встановлювати режим дозволу налагодження"

"Починати налагодження при запуску"

9. Параметри для створення інформаційної бази на сервері і підключення до неї.

Від імені суперкористувача необхідно відредагувати файл / Etc / hosts таким чином, щоб в ньому була рядок:

IP адреса машини, на якій встановлено 1С Сервер hostname -f hostname, наприклад:

(Проміжки повинні бути пробілами, а не табами)

На клієнтської WINDOWS-машині від імені адміністраторав файл C: \ Windows \ System32 \ drivers \ etc \ hosts необхідно д одати рядок, зазначену вище, наприклад:
192.168.0.111 test.example.com test

При створенні інформаційної бази в консолі Адміністрування 1С серверів в якості сервера бази даних бажано вказувати localhost (допустимо вказувати hostname машини, на якій запущений PostgreSQL і 1С Сервер, і який прописаний у файліC: \ Windows \ System32 \ drivers \ etc \ hosts). Дана рекомендація дійсна тільки для випадку, коли 1С Сервер і PostgreSQL знаходяться на одній машині. В іншому випадку замість localhost необхідно вказувати hostname машини, на якій встановлено PostgreSQL.

При підключенні до створеної інформаційної бази як кластера серверів бажано вказувати hostname машини, на якій запущений 1С Сервер і який прописаний у файлі C: \ Windows \ System32 \ drivers \ etc \ hosts (для Windows-клієнтської машини), а в якості інформаційної бази в кластері - ім'я інформаційної бази, вказане при її створенні. Якщо кластер серверів запущений на нестандартних портах, то в якості кластера серверів вказати hostname: port, наприклад srv1c: тисяча сімсот сорок одна.

Перевіряємо стан сервісів на Ubuntu-сервері:

service postgresql status

Якщо все ОК, то статус повинен бути "online".

service srv1cv83 status

Якщо все ОК, то повинні бути наступні статуси:

Init script: STARTED

Ragent RUNNING

При необхідності перевіряємо статус файрволу:

service ufw status

Якщо файрфол запущений, то статус повинен бути "start / running".

На цьому установку і налаштування 1С Сервера + PostgreSQL + Ubuntu 14.04 завершуємо.

Розглядається варіант установки 64-бітного 1С Сервера 8.3.10 (на прикладі версії 8.3.10. 2168 ), А також 64-бітного PostgreSQL 9.4.2 на 64-бітний Ubuntu Server 16.04. Опціонально наводяться варіанти настройки Timezone і синхронізації часу, установки Apache 2.4, установки OpenJDK 1.8 і включення режиму налагодження 1С Сервера на 64-бітному Ubuntu Server 16.04.

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

Встановлюємо необхідні локалі і визначаємо локаль за замовчуванням (вона повинна збігатися з мовою бази даних, яка буде створюватися при створенні інформаційної бази на 1С Сервері. При Невипадково мов в процесі створення інформаційної бази буде видаватися помилка):

sudo locale-gen en_US
(Створюємо локаль англійської мови)
sudo locale-gen ru_RU
(Створюємо локаль російської мови)
sudo update-locale LANG = ru_RU.UTF8
(По-замовчуванню встановлюємо локаль російської мови)
sudo dpkg-reconfigure locales
(Переконфігуріруем локалі)

Встановлюємо необхідні пакети:

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

Беремо з сайту 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

Установка PostgreSQL 9.4.x (на момент написання статті 9.4.6) з сайту авторів збірки PostgreSQL для 1С (велике спасибі audion за посилання):

Додаємо репозиторій 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'

Імпортуємо ключ сховища та оновлюємо список пакетів:

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

Після установки будь-яким з двох варіантів від імені суперкористувача в файлі /etc/postgresql/9.4/main/pg_hba.conf рядок для з'єднання через Unix-сокет

local all postgres peer
для користувача postgres приводимо до виду:
local all postgres trust

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

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

Змінюємо пароль суперкористувача postgres:

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

Від імені суперкористувача в файлі /etc/postgresql/9.4/main/pg_hba.conf всі методи аутентифікації встановлюємо в значення md5, наприклад:
local all postgres md5

Перезапускаємо сервіс PostgreSQL:

sudo service postgresql restart

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

При необхідності встановити Timezone і синхронізувати час операційної системи, необхідно виконати наступні дії:

- настроїти часовий пояс:

sudo dpkg-reconfigure tzdata
і вибрати необхідний часовий пояс

- встановити ntp-протокол і провести синхронізацію часу:

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

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

Встановлюємо необхідні залежності:

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.10-2168_amd64.deb
(Обов'язково)
sudo dpkg -i 1c-enterprise83-common-nls_8.3.10-2168_amd64.deb

sudo dpkg -i 1c-enterprise83-server_8.3.10-2168_amd64.deb
(Обов'язково)
sudo dpkg -i 1c-enterprise83-server-nls_8.3.10-2168_amd64.deb
(Опціонально для підтримки додаткових мов)
sudo dpkg -i 1c-enterprise83-ws_8.3.10-2168_amd64.deb
(Опціонально для роботи веб-клієнта)
sudo dpkg -i 1c-enterprise83-ws-nls_8.3.10-2168_amd64.deb
(Опціонально для підтримки додаткових мов)

Змінюємо власника каталогу / opt / 1C:

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

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

sudo service srv1cv83 start

4. Установка Apache 2.4

sudo apt-get install apache2

- перевіряємо версію встановленого Apache:

apache2 -v

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

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

- додаємо ppa-репозиторій і оновлюємо список пакетів:

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

- встановлюємо OpenJDK:

sudo apt-get install openjdk-8-jdk
(Для установки JDK)
або
sudo apt-get install openjdk-8-jre
(Для установки тільки JRE)

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

sudo update-alternatives -config java

- актуалізуємо Java-компілятор (якщо раніше вже була встановлена ​​молодша версія Java):

sudo update-alternatives -config javac

- перевіряємо встановлену версію Java:

java -version

6. Включення режиму налагодження 1С Сервера (опціонально).

Зупиняємо сервіс 1С Сервера:

sudo service srv1cv83 stop

Від імені суперкористувача редагуємо файл /etc/init.d/srv1cv83, а саме - знаходимо наступний рядок:

# SRV1CV8_DEBUG =

раскомментіруем її і дамо значення 1 так, щоб вийшла наступна рядок:

SRV1CV8_DEBUG = 1

зберігаємо файл /etc/init.d/srv1cv83 і запускаємо сервіс 1С Сервера:

sudo service srv1cv83 start

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

«Встановлювати режим дозволу налагодження»

«Починати налагодження при запуску

7. Параметри для створення інформаційної бази на сервері і підключення до неї.

Від імені суперкористувача необхідно відредагувати файл / etc / hosts таким чином, щоб в ньому була рядок:

IP адреса машини, на якій встановлено 1С Сервер hostname -f hostname, наприклад:

(Проміжки повинні бути пробілами, а не табами)

На клієнтської WINDOWS-машині від імені адміністратора в файл C: \ Windows \ System32 \ drivers \ etc \ hosts необхідно додати рядок, зазначену вище, наприклад:
192.168.0.111 test.example.com test

При створенні інформаційної бази в консолі Адміністрування 1С серверів в якості сервера бази даних бажано вказувати localhost (допустимо вказувати hostname машини, на якій запущений PostgreSQL і 1С Сервер, і який прописаний у файлі C: \ Windows \ System32 \ drivers \ etc \ hosts). Дана рекомендація дійсна тільки для випадку, коли 1С Сервер і PostgreSQL знаходяться на одній машині. В іншому випадку замість localhost необхідно вказувати hostname машини, на якій встановлено PostgreSQL.

При підключенні до створеної інформаційної бази як кластера серверів бажано вказувати hostname машини, на якій запущений 1С Сервер і який прописаний у файлі C: \ Windows \ System32 \ drivers \ etc \ hosts (для Windows-клієнтської машини), а в якості інформаційної бази в кластері - ім'я інформаційної бази, вказане при її створенні. Якщо кластер серверів запущений на нестандартних портах, то в якості кластера серверів вказати hostname: port, наприклад srv1c: 1 741.

Перевіряємо стан сервісів на Ubuntu-сервері:

service postgresql status

Якщо все ОК, то статус повинен бути «online».

service srv1cv83 status

Якщо все ОК, то повинні бути наступні статуси:

- Init script: STARTED

- Ragent RUNNING

Оновлення 1C сервера.

Для поновлення сервера 1C Підприємства під Ubuntu Linux. Необхідно зробити ряд операцій, спочатку необхідно дізнатися, які пакети раніше були встановлені. Для того, що б дізнатися, які пакети були встановлені в консолі виконуємо команду:

dpkg -l | more | grep 1c-enter> rem.txt

cat rem.txt

Пакети будуть відображатися в алфавітному порядку, в такому вигляді:

1c-enterprise83-client 8.3.10.2168 1C: Enterprise 8.3 client applications
1c-enterprise83-client-nls 8.3.10.2168 National resource files for 1C: Enterpise 8.3 client applications for Linux ii 1c-enterprise83-common 8.3.10.2168 1C: Enterprise 8.3 common components
1c-enterprise83-common-nls 8.3.10.2168 National resource files for 1C: Enterpise 8.3 common components for Linux ii 1c-enterprise83-server 8.3.10.2168 1C: Enterprise 8.3 server for Linux
1c-enterprise83-server-nls 8.3.10.2168 National resource files for 1C: Enterpise 8.3 server for Linux
1c-enterprise83-ws 8.3.10.2168 1C: Enterpise 8.3 Web-services components for Linux
1c-enterprise83-ws-nls 8.3.10.2168

systemctrl stop srv1cv83

Після зупинки сервера, виконуємо команди:

dpkg -r 1c-enterprise83-ws-nls
dpkg -r 1c-enterprise83-ws
dpkg -r 1c-enterprise83-server-nls
dpkg -r 1c-enterprise83-server
dpkg -r 1c-enterprise83-common-nls
dpkg -r 1c-enterprise83-common

Якщо встановлений клієнт, то:

dpkg -r 1c-enterprise83-client-nls
dpkg -r 1c-enterprise83-client

Після видалення. переходимо в папку, попередньо скопіювавши туди нові пакети і встановлюємо все нові пакети запустивши команду:

dpkg -i * .deb

На цьому все. Спасибі за увагу.

Так само під час установки, треба не забути відзначити чекбокс навпроти встановлювати 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 update

Sudo apt-get dist-upgrade

Ставимо Midnight Commander (mc)

Sudo apt-get install 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:

Passwd 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 вручну. Для того що б зміни вступили в силу, набираємо:

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

Tar xvfz * .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';

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 для Linux
4) 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

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

Service srv1cv82 status

Повинно висвітиться:

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 одна тисячі п'ятсот сорок одна -j ACCEPT -A INPUT -p tcp -m multiport --dports 1560 1591 -j ACCEPT

Перевірка працездатності робочих процесів сервера:

Netstat -tlnp | grep: 15

Повинні отримати приблизно таку картинку:

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 одна тисяча п'ятсот сорок одна -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.

Can not access /lib/libc-*.so: No such file or directory Can not 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

Подивимося, що конкретно не може виявити скрипт, запускаємо:

Echo $ aliasFullName

отримуємо:

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/

Вставляємо ключ, перенавантажуємо сервер. Працездатність ключів перевіряємо командою:

Sudo service haspd status

Повинні бути запущені: aksusbd, winehasp, hasplm, hasplmd.

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

Ставимо apache:

Apt-get install apache2

Редагуємо /etc/apache2/apache2.conf, де задаємо директиву ServerName вказує на ім'я сервера.

ServerName "ubuntus12"

В іншому випадку при запуску apach'a отримаємо повідомлення:

Httpd: Could not reliably determine the server "s fully qualified domain name, using 127.0.0.1 for ServerName

У кореневому каталозі сайту, створюємо директорію base, де base - ім'я бази до якої ми будемо надавати доступ.

Mkdir / var / www / 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 /" 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

Service apache2 restart

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

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

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

Umount -l / 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

#! / 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 postgres
crontab -e // додати завдання
crontab -l // перегляд завдань
crontab -r // видалити завдання

# Запустити о 18:50 хвилин

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

# Запускати кожні 15 хвилин

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

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

установка PostgreSQL

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

sudo dpkg-reconfigure locales


sudo apt-get install libicu55

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

Після установки можна зробити деякі настройки 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:

Тепер у нас є можливість поміняти пароль суперкористувача 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в процесі установки попросить прийняти ліцензійну угоду:


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

deb http://old-releases.ubuntu.com/ubuntu/ raring main restricted universe multiverse
deb-src http://old-releases.ubuntu.com/ubuntu/ raring main restricted universe multiverse
deb http://old-releases.ubuntu.com/ubuntu/ raring-updates main restricted universe multiverse
deb-src http://old-releases.ubuntu.com/ubuntu/ raring-updates main restricted universe multiverse
deb http://old-releases.ubuntu.com/ubuntu/ raring-backports main restricted universe multiverse
deb-src http://old-releases.ubuntu.com/ubuntu/ raring-backports main restricted universe multiverse
deb http://old-releases.ubuntu.com/ubuntu/ raring-proposed main restricted universe multiverse
deb-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 потрібно додати рядки:

<результат команды 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 можна так:

Включення налагодження на сервері

Зупиняємо сервер:

sudo service srv1cv83 stop

У файлі /etc/init.d/srv1cv83 знаходимо рядок:

Наводимо її до виду:

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

sudo service srv1cv83 start

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

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

Налаштування UFW

UFW - це проста утиліта для конфігурації файрвола Netfilter.