Метою цієї роботи є узагальнення методів установки і настройки 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<
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 /"
В / 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 потрібно додати рядки:
В якості роздільників повинні бути прогалини, а не табуляції.
Додаткові налаштування
Всі наведені нижче дії не є обов'язковими.
установка 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.