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