Украли американские шпионы чертежи МИГ-29.
Собрали у себя,получается паровоз.Снова собрали-опять паровоз!
Ничего понять не могут. Решили сознаваться.
На нашем заводе собирают-стоит МиГ-29!
Спрашивают рабочего:"Как же ты его собрал, по чертежам?"
Он им отвечает:"Внизу,мелкими буквами написано:
"После сборки-обработать напильником!".
©анекдот времен СССР
Руководств как установить 1С:Сервер взаимодействия превеликое множество, как на этом сайте, так и на официальном ресурсе ИТС. Именно поэтому, хотя предыдущих моих публикациях стоял хештег #Рецепты от Капитана, в этой его поставить рука не поворачивается.
Однако и эта статья имеет место быть. Поясню почему.
Есть простой вопрос: Вовочке дали два яблока, одно он отдал Машеньке, сколько яблок осталось у Вовочки?
Ответ: одно яблоко, может дать только гуманитарий, технарь ответит, что неизвестно, сколько яблок у Вовочки было изначально.
Так и язык инструкций, либо неизвестно начальное состояние системы, либо затеряется сноска мелким шрифтом, из-за которой затеряется ваш рабочий день.
Инструкции сайта ИТС методически грамотные и приятные глазу, в них единый стиль именования, если хотите культура кода и однозначно, они обязательны к прочтению.
Про них можно сказать уверенно - по ним вы точно не соберете работающий сервер с первого раза.
Есть еще академический язык, отличный курс от преподавателя УЦ 1С Арутюнова Сергея Рафаэльевича.
Там вы закопаетесь в кроличью нору максимально глубоко, однако на промышленную систему из нее не выйдете, уткнувшись в философскую фразу: Здесь вам не курсы по Linux.
К тому же академическое обучение в течении восьми часов дается нелегко.
Как и любое академическое образование, курс в первую очередь учит вас думать, а не только шашкой махать. По возможности запишитесь и посмотрите.
На это уйдет три дня по 8+ часов.
Но большинству не хочется такого длинного пути, хочется
немного подумать, немного скопипастить и чтобы все взлетело, отсюда все остальные опусы и мой в том числе.
В части просмотренных мной статей автор то запустит службы из-под рута, по брандмауэр отключит.
В это время грустит один сотрудник службы безопасности, если она есть в вашей компании или совесть, если накатывают воспоминания Win9x.CIH...
Зато радуются +100500 хацкеров. Напрасно думать, что в корпоративной сети их нет. Вы просто не представляете, на что способны скучающие менеджеры по продажам. Если кто не в курсе, то пароль пользователя БД в текущей версии 1С:Сервера взаимодействия лежит в текстовом файле и если это postgres, то безопасности хана.
А хочется, чтобы и быстро и хорошо. Поэтому и пишу эти строки.
Кратко:
Повторив построчно команды из этой публикации вы с очень высокой степенью гарантии получите рабочий 1С:Сервер взаимодействия, который можно использовать в рабочем контуре.
Полностью команды под катом, чтобы не запутаться в простыне текста, далее в публикации будут рассмотрены моменты на которые не заостряется внимание в официальной инструкции ИТС.
Все ссылки внизу статьи.
Установка 1С:Сервер взаимодействия 24 идет на CentOS 7, CentOS 8, RedOS 7.3 облачных серверов одинаковой конфигурации
Одновременно, чтобы три раза не бегать рассмотреть все актуальные системы сразу.
В тексте инструкции строки, которые касаются только одной системы будут выделены цветом, жирным шрифтом показаны отличия от инструкции ИТС.
В каталоге /install лежат установочные пакеты сервера взаимодействия и java загруженные с сайта ИТС
- CentOS 7 - классика, у кого есть доступ на kb.1c.ru, найдет там взятые с боевых контуров инструкции установки, которые сработают, но год выпуска наводит на размышления
- CentOS 8 - уже теплее, но актуальным ядром может похвастаться наш родной
- RedOS 7.3. Не буду здесь разводить дискуссий про отечественного производителя. Его кстати каждый может увидеть в зеркале. Кто не разу не прибивал в печатной форме хардкодом ФИО главного бухгалтера, может кинуть в меня камнем.
Чего не хватает на мой взгляд, это форума поддержки, чтобы не приходилось утекать на stackoverflow.
Те, кто не любит читать буквы, может посмотреть видео
Полный листинг установки:
Купила группа РеноНиссан завод АвтоВАЗ.
Перенастроили производство, запускают конвейер.На выходе Жигули!
Демонтируют оборудование, пригнали новое из Японии.Снова Жигули!
Привозят работников из Франции.- Жигули!
Около завода холм, на нём отдыхают бывшие гл. инженер и директор завода.
Инженер директору:
- А я тебе говорил - место проклятое. А ты всё - руки не оттуда растут...
©анекдот.ру
Нюансы установки:
Даже чистые системы, только что развернутые в облаке, будут возможно отличаться друг от друга и от установки из образа загруженного с сайта производителя, поскольку их образы заранее подготовили админы, которых в народе зовут системными.
Поэтому в любом случае надо осмотреться, обновить систему, проверить наличие нужных пакетов и отключить ipv6, если вы его не используете.
Создаем отдельного пользователя БД postgres
su postgres
psql
ALTER USER postgres WITH PASSWORD '123456';
CREATE USER db_user WITH PASSWORD '123456';
CREATE DATABASE cs_db OWNER db_user;
\c cs_db
CREATE EXTENSION IF NOT EXISTS "uuid-ossp";
\q
exit
Перед установкой сервисов 1С:Сервера взаимодействия проверяем существование каталога и устанавливаем переменную JAVA_HOME
export JAVA_HOME=/usr/lib/jvm/bellsoft-java11-full.x86_64/
далее ее используем в строке создания сервисов
ring hazelcast --instance hc_instance service create --username hc_user --stopped --java-home $JAVA_HOME
ring elasticsearch --instance es_instance service create --username es_user --stopped --java-home $JAVA_HOME
ring cs --instance cs_instance service create --username cs_user --stopped --java-home $JAVA_HOME
На корпоративе к программисту подошла симпатичная бухгалтерша и предложила:
- Может быть мы уединимся и займемся непозволительным?
-Ух ты! Будем делить на ноль!
обрадовался программист
©анекдот.ру
Можно конечно запустить все службы с правами суперпользователя, отключить брандмауэр, отключить встроенные средства безопасности ОС, для верности записать пароли в текстовый файл и ждать пока мимо проплывет зарплата премию...
Да еще пароль везде использовать 123456 :)
Не забудьте поменять его на надежный при копипасте из листинга публикации!
При включенном selinux сервисы 1С:Сервера взаимодействия запустятся только в CentOS 7, в его старших (младших?) братьях будет таймаут запуска с не совсем информативным сообщением ошибки.
Это отрабатывает selinux
Если безопасность вам не важна то идем в cd /etc/selinux
изменяем в файле config
SELINUX=enforcing на SELINUX=disabled или SELINUX=permissive
Если здоровье и рассудок вам дороги, то не отключаем selinux, а создаем правила для него
Понадобится утилита audit2allow
С ее помощью можно легко преобразовать записи лога файла аудита в правила selinux
ausearch -c 'systemd' --raw | audit2allow -M my-systemd - так рекомендуют разработчики CentOS
grep systemd /var/log/audit/audit.log | audit2allow -M my-systemd - такой пример на сайте RedHat и на мой взгляд он отрабатывает лучше
остается только применить и перечитать правила
semodule -i my-systemd.pp
semodule -R
после этого все сервисы запустятся при включенном selinux
С брандмауэром еще проще
firewall-cmd --permanent --zone=public --add-port=9094/tcp
firewall-cmd --reload
Для полного фен-шуя остается переключиться на защищенный канал, к тому же, если для доступа к базе 1С используется веб-клиент по HTTPS, то сервер взаимодействия должен использовать протокол WSS в обязательном порядке.
Некоторая проблема в том что админы, откликающиеся на системных, привыкли и будут просить закрытый ключ сгенерированный openssl, а хранилище ключей у вас keystore java, управляемое утилитой keytool.
Сработает такой путь:
создаем хранилище
mkdir /var/cs/cs_instance/data/security
cd mkdir /var/cs/cs_instance/data/security
keytool -keystore /var/cs/cs_instance/data/security/websocket-keystore.jks -genkey -alias RedOS-7.3.local
RedOS-7.3.local - нужно заменить на ваш алиас, путь к хранилищу - рекомендованный 1С
экспортируем и конвертируем закрытый ключ
keytool -importkeystore -srckeystore /var/cs/cs_instance/data/security/websocket-keystore.jks -srcstorepass 123456 -srckeypass 123456 -srcalias RedOS-7.3.local -destalias RedOS-7.3.local -destkeystore identity.p12 -deststoretype PKCS12 -deststorepass 123456 -destkeypass 123456
openssl pkcs12 -in identity.p12 -nodes -nocerts -out private_key.pem
openssl pkcs12 -in identity.p12 -nokeys -out cert.pem
Любезнейше прошу извинить, за допущенные опечатки.
Кто их найдет или у кого не получится установка по полному листингу, пишите в комментариях или возмущайтесь любым другим образом.
Огромная благодарность облачному провайдеру © Serverspace за предоставленное оборудование, без них видео не получилось бы записать.
Желающие проверить/разобраться во всем самостоятельно, вам предлагается список ссылок:
- 1С:Сервер взаимодействия 24. Тестовая версия Глава 4. Настройка и конфигурирование
- УЦ №1 Курс Администрирование 1С:Предприятия на линукс. Сервер взаимодействия
- Настройка 1С:Сервера взаимодействия и медиасервера
- Руководство для начинающих по SELinux
- keytool - Key and Certificate Management Tool
Ссылки на другие руководства:
- Сервер 1С:Предприятие на Ubuntu 16.04 и PostgreSQL 9.6, для тех, кто хочет узнать его вкус. Рецепт от Капитана
- Подготовка к экзамену 1С:Специалист по платформе. Рецепты от Капитана
- Настройка сборки данных в Performance Monitor Windows Server. Рецепты от Капитана
Надеюсь, статья вам сэкономит больше времени, чем вы потратите на ее прочтение.
И останется минутка поставить плюс или минус.
P.S. Если у вас найдется поставить много плюсов, то рассмотрим полностью развертывание в облаке сети полностью на отечественном РедОС.