ikiyossa.ru

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

Установка 1С сервера на Ubuntu Server [серверная часть]

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

***** Вариант 1 *****

Установка 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

wget http://security.ubuntu.com/ubuntu/pool/main/i/icu/libicu48_4.8.1.1-3_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

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’

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

cd /tmp

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

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

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

***** Вариант 2 *****

Скачиваем необходимую версию библиотеки 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

Подключение под debian 7/8, ubuntu 12.04/14.04/16.04:
sudo sh -c ‘echo «deb http://1c.postgrespro.ru/deb/ $(lsb_release -cs) main» > /etc/apt/sources.list.d/postgrespro-1c.list’
wget —quiet -O — http://1c.postgrespro.ru/keys/GPG-KEY-POSTGRESPRO-1C | sudo apt-key add — && sudo apt-get update
sudo apt-get install postgresql-pro-1c-9.6

взято отсюда https://postgrespro.ru/products/1c_build

***** Настройка *****

После установки любым из двух вариантов от имени суперпользователя в файле /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С Сервер.

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

sudo service postgresql restart

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

psql -U postgres -d template1 -c «ALTER USER postgres PASSWORD ‘ert%poLK1′»

От имени суперпользователя в файле /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 ntp.ufanet.ru
sudo service ntp start

================

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

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

sudo apt-get install imagemagick
sudo apt-get install unixodbc
sudo apt-get install ttf-mscorefonts-installer
(в процессе установки необходимо принять условия лицензионного соглашения)
sudo apt-get install libgsf-1-114

Скачиваем с сайта 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
(опционально для поддержки дополнительных языков)

sudo dpkg -i 1c-enterprise83-common_8.3.7-2027_amd64.deb && sudo dpkg -i 1c-enterprise83-common-nls_8.3.7-2027_amd64.deb && sudo dpkg -i 1c-enterprise83-server_8.3.7-2027_amd64.deb && sudo dpkg -i 1c-enterprise83-server-nls_8.3.7-2027_amd64.deb && sudo dpkg -i 1c-enterprise83-ws_8.3.7-2027_amd64.deb && sudo dpkg -i 1c-enterprise83-ws-nls_8.3.7-2027_amd64.deb

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

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

Запускаем 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-common_1.14.41-1_all.deb

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

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

sudo dpkg -i libgsf-1-common_1.14.41-1_all.deb
sudo dpkg -i libgsf-1-114_1.14.41-1_i386.deb

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

cd /tmp
sudo dpkg -i 1c-enterprise83-common_8.3.
(обязательно)
sudo dpkg -i 1c-enterprise83-common-nls_8.3.
(опционально для поддержки дополнительных языков)
sudo dpkg -i 1c-enterprise83-server_8.3.
(обязательно)
sudo dpkg -i 1c-enterprise83-server-nls_8.3
(опционально для поддержки дополнительных языков)
sudo dpkg -i 1c-enterprise83-ws_8.3.
(опционально для работы веб-клиента)
sudo dpkg -i 1c-enterprise83-ws-nls_8.3.
(опционально для поддержки дополнительных языков)
sudo dpkg -i 1c-enterprise83-crs_8.3.
(опционально для функционирования хранилища конфигураций)

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

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

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

sudo service srv1cv83 start

================

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

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

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

sudo -i

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

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

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

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

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

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, например:
192.168.0.111 test.example.com test
(промежутки должны быть пробелами, а не табами)

На клиентской 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:1741.

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

service postgresql status

Если все ОК, то статус должен быть «online».

service srv1cv83 status

Если все ОК, то должны быть следующие статусы:

— Init script: STARTED

— Ragent RUNNING

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

service ufw status

Если файрфол запущен, то статус должен быть «start/running».

================

http://infostart.ru/public/502542/
http://weblst.ru/2014/12/24/publikaciya-bazy-1s-na-apache-2-2-ubuntu/
http://infostart.ru/public/303420/
http://sanotes.ru/podnimaem-server-1c-ubuntu-server-postgresql/
https://www.stseprounof.org/create-db-1c-linux/

Перед созданием базы в /etc/hosts добавляем короткое имя сервера

Вопросы под закрытие:
Утилита администрирования сервера 1С
лицензирование 1С сервера прогр. лицензии
Лицензирование МФС HASP
Администрирование Пост гри (мониторинг работы, менеджер БД)

================

**** Создание базы данных ****
Запускаем 1С толстый клиент.
Имя сервера
Пользователь: postgres
Пароль:
Постоянное шифрование
СУБД: PostgreSQL

================

**** Активация 1С сервера ломалка ****

cd /tmp/
sudo chmod +x 1c8_uni2patch_lin
sudo /tmp/1c8_uni2patch_lin /opt/1C/v8.3/i386/backend.so
sudo /tmp/1c8_uni2patch_lin /opt/1C/v8.3/i386/backbas.so

================

Смена портов

sudo nano /etc/init.d/srv1cv83
по умолчанию
SRV1CV8_PORT=1540 — агент
SRV1CV8_REGPORT=1541 — кластер
SRV1CV8_RANGE=1560:1691 — диапозон

sudo service srv1cv83 status
sudo service srv1cv83 stop

sudo rm /home/usr1cv8/.1cv8/1C/1cv8/1cv8wsrv.lst
или
sudo nano /home/usr1cv8/.1cv8/1C/1cv8/1cv8wsrv.lst
меняем порт

sudo service srv1cv83 start

================

Публикация веб базы (не отрабатывает)

sudo mkdir /shared/
sudo mkdir /shared/wwwroot/
cd /opt/1С/v8.3/i386
./webinst -apache22 -wsdir IT -dir /shared/wwwroot/ITPub -connstr «Srvr=10.1.100.15;Ref=IT;» -confPath /etc/apache2/httpd.conf

«./webinst» — запуск на исполнение
«-apache22» — публикуем на апаче
«-wsdir IT» — имя, по которому будет доступна ваша база из-вне, в данном случае адрес будет выглядеть http://ВашИПАдрес/IT
«-dir /shared/wwwroot/TestPub» — пусть к папке, где будет располагаться файл default.vrd
«-connstr «Srvr=10.1.100.15;Ref=IT;» – строка подключения к информационной базе
«-confPath /etc/apache2/httpd.conf» — путь к конфигурационному файлу апача

================

Установка HASP

http://download.etersoft.ru/pub/Etersoft/HASP/last/Ubuntu

Качаем сервис
wget http://download.etersoft.ru/pub/Etersoft/HASP/last/Ubuntu/14.04/haspd-modules_7.40-eter10ubuntu_i386.deb
Качаем драйвер ключей
wget http://download.etersoft.ru/pub/Etersoft/HASP/last/Ubuntu/14.04/haspd_7.40-eter10ubuntu_i386.deb

Установим
sudo dpkg -i haspd_7.40-eter10ubuntu_i386.deb
sudo dpkg -i haspd-modules_7.40-eter10ubuntu_i386.deb
sudo apt install -f

Перезапустим сервис
service haspd restart

Для удаленного управления и конфигурирования сервиса отредактируем файл hasplm.ini
nano /etc/hasplm/hasplm.ini

добавим в него
[SERVER]
ACCremote = 1

Перезапустим сервис
service haspd restart

ну и в браузере наберем HOST_IP:1947

================

Просмотр БД
psql -U postgres -l

Создание БД из консоли
sudo createdb -U postgres -T template0 BUH_DB

Восстановление БД из бэкапа
sudo psql -U postgres BUH_DB < /backup/buh_db.pgsql.backup