Web-администрирование серверов 1С: различия между версиями

Материал из ALT Linux Wiki
Нет описания правки
Нет описания правки
 
(не показано 14 промежуточных версий этого же участника)
Строка 1: Строка 1:
Вкратце:
Всё нижеследующее можно сделать на железе, но зачем, если [[Контейнеры_systemd-nspawn|контейнеризация]] работает «из коробки»?
=Вкратце=
[[Файл:Ras1c-add.png|мини|Добавление сервера]]
[[Файл:Ras1c-add.png|мини|Добавление сервера]]
#Разворачиваем альт-контейнер в конфигурации: 2 ядра, 2 ГБ памяти, 4 ГБ места (занято будет тоже 2, но нужно место под логи и пр.).
#Разворачиваем альт-контейнер в конфигурации:
#:*2 ядра (похоже, и одного хватает),
#:*2 ГБ памяти (хотя и полутора достаточно),
#:*4 ГБ места (занято будет тоже 2, но пойдут логи — да и вообще запас карман не тянет).
#Обновляем его: {{cmd|# apt-get update && apt-get -y dist-upgrade}}
#Обновляем его: {{cmd|# apt-get update && apt-get -y dist-upgrade}}
#Доустанавливаем надобности: {{cmd|# apt-get install -y htop java-17-openjdk lsof mc sudo}}
#Доустанавливаем надобности: {{cmd|# apt-get install -y ...''(см. список ниже)''}}
#Скачиваем [https://it-expertise.ru/pusk/?utm_source=altlinux&utm_medium=organic&utm_campaign=pusk#download архив] (<code>ite-pusk-v*.tar.gz</code>) '''П'''анели '''У'''правления '''С'''лужбами '''и К'''омпонентами (ПУСиК).
#:*'''java-17-openjdk''' — для запуска ЯВной веб-морды;
#:*'''unzip''' — для распаковки библиотек;
#:*'''mc''' — для распаковки не командами, а копированием нужного каталога из архива (и вообще штука нужная):
#:*'''sudo''' — для инсталляции сервиса (можно прямо из '''mc''');
#:*'''lsof''' — для проверки его доступности;
#:*'''htop''' — для слежения за его нагрузками.
#Скачиваем [https://it-expertise.ru/pusk/?utm_source=altlinux&utm_medium=organic&utm_campaign=pusk#download архив] (<code>ite-pusk-v*.tar.gz</code>) '''П'''анели '''У'''правления '''С'''лужбами '''и К'''омпонентами ('''ПУСиК''').
#Распаковываем его содержимое в {{path|/opt/}}
#Распаковываем его содержимое в {{path|/opt/}}
#Скачиваем с [https://its.1c.ru/db/metod8dev#content:4985:hdoc этой] странички <code>java-api-8.3.11.zip</code> по ссылке '''«Копировать java-api для версий платформы 8.3.11 и старше»''' — или более новой, когда появится.
#Скачиваем с [https://its.1c.ru/db/metod8dev#content:4985:hdoc этой] странички ещё один архив по ссылке [https://its.1c.ru/db/files/1CITS/EXE/java-api-8.3.11/java-api-8.3.11.zip '''«Копировать java-api для версий платформы 8.3.11 и старше»'''] — или более новую версию, когда появится.
#Извлекаем из его глубоких потрохов (архив в архиве архива) в {{path|/opt/pusk/}} каталог {{path|lib}}
#Извлекаем из его глубоких потрохов (архив в архиве архива) в {{path|/opt/pusk/}} каталог {{path|lib}}
#Копируем в тот же {{path|/opt/}} уже развёрнутую свежую 1С-ку (со своего компа, к примеру: {{path|/opt/1cv8}}), удостоверившись, что в самом нижнем её подкаталоге есть бинарник {{cmd|ras}} — им будет запускаться собственно RAS.
#Копируем в тот же {{path|/opt/}} уже развёрнутую свежую 1С-ку (со своего компа, к примеру: {{path|/opt/1cv8}}), удостоверившись, что в самом нижнем её подкаталоге есть бинарник {{cmd|ras}} — им будет запускаться собственно RAS.
#Запускаем установку: {{cmd|# /opt/pusk/ite-pusk-linux.sh install}}
#Запускаем установку: {{cmd|# /opt/pusk/ite-pusk-linux.sh install}}
#По её '''ОК'''ейному завершению командуем: {{cmd|# systemctl --enable ite-pusk}}
#По её '''ОК'''ейному завершению командуем: {{cmd|# systemctl enable --now ite-pusk}}
#Спустя минуту проверяем, что сервис поднят:
#Спустя минуту проверяем, что сервис поднят:
#:<source lang=bash>
#:<source lang=bash>
Строка 20: Строка 30:
#И — за работу! ''(см. нижний снимок)''
#И — за работу! ''(см. нижний снимок)''
[[Файл:Ras1c-work.png|мини|Рабочее соединение]]
[[Файл:Ras1c-work.png|мини|Рабочее соединение]]
=Примечания=
Порт веб-морды меняется через конфиг {{path|/opt/pusk/data/application.properties}}
А если хочется безопасности, то не зная, как это прикрутить к яве (и возможно ли вообще такое), вижу один вариант:
*поставить nginx и настроить в нём перекид с 80 порта на самосертифицированный 443 с прицелом на порт 8080 (ЯВная веб-морда);
*подключения к 8080 извне закрыть фаерволом.

Текущая версия от 00:38, 14 августа 2023

Всё нижеследующее можно сделать на железе, но зачем, если контейнеризация работает «из коробки»?

Вкратце

Добавление сервера
  1. Разворачиваем альт-контейнер в конфигурации:
    • 2 ядра (похоже, и одного хватает),
    • 2 ГБ памяти (хотя и полутора достаточно),
    • 4 ГБ места (занято будет тоже 2, но пойдут логи — да и вообще запас карман не тянет).
  2. Обновляем его: # apt-get update && apt-get -y dist-upgrade
  3. Доустанавливаем надобности: # apt-get install -y ...(см. список ниже)
    • java-17-openjdk — для запуска ЯВной веб-морды;
    • unzip — для распаковки библиотек;
    • mc — для распаковки не командами, а копированием нужного каталога из архива (и вообще штука нужная):
    • sudo — для инсталляции сервиса (можно прямо из mc);
    • lsof — для проверки его доступности;
    • htop — для слежения за его нагрузками.
  4. Скачиваем архив (ite-pusk-v*.tar.gz) Панели Управления Службами и Компонентами (ПУСиК).
  5. Распаковываем его содержимое в /opt/
  6. Скачиваем с этой странички ещё один архив по ссылке «Копировать java-api для версий платформы 8.3.11 и старше» — или более новую версию, когда появится.
  7. Извлекаем из его глубоких потрохов (архив в архиве архива) в /opt/pusk/ каталог lib
  8. Копируем в тот же /opt/ уже развёрнутую свежую 1С-ку (со своего компа, к примеру: /opt/1cv8), удостоверившись, что в самом нижнем её подкаталоге есть бинарник ras — им будет запускаться собственно RAS.
  9. Запускаем установку: # /opt/pusk/ite-pusk-linux.sh install
  10. По её ОКейному завершению командуем: # systemctl enable --now ite-pusk
  11. Спустя минуту проверяем, что сервис поднят:
    [root@ras1c ~]# lsof -ni :8080
    COMMAND PID USER   FD   TYPE    DEVICE SIZE/OFF NODE NAME
    java    155 root   16u  IPv6 228332872      0t0  TCP *:webcache (LISTEN)
    
  12. Браузером по адресу http://ип.или.имя.контейнера:8080/ заполняем Подключения ▷ Добавить (см. верхний снимок).
  13. И — за работу! (см. нижний снимок)
Рабочее соединение

Примечания

Порт веб-морды меняется через конфиг /opt/pusk/data/application.properties

А если хочется безопасности, то не зная, как это прикрутить к яве (и возможно ли вообще такое), вижу один вариант:

  • поставить nginx и настроить в нём перекид с 80 порта на самосертифицированный 443 с прицелом на порт 8080 (ЯВная веб-морда);
  • подключения к 8080 извне закрыть фаерволом.