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

Материал из ALT Linux Wiki
Нет описания правки
 
(не показано 37 промежуточных версий этого же участника)
Строка 1: Строка 1:
Вкратце:
Всё нижеследующее можно сделать на железе, но зачем, если [[Контейнеры_systemd-nspawn|контейнеризация]] работает «из коробки»?
 
=Вкратце=
#Разворачиваем альт-контейнер в конфигурации: 2 ядра, 2 ГБ памяти, 4 ГБ места (занято будет тоже 2, но нужно место под логи и пр.).
[[Файл:Ras1c-add.png|мини|Добавление сервера]]
#Обновляем его: {{cmd|# apt-get update && apt-get dist-upgrade}}
#Разворачиваем альт-контейнер в конфигурации:
#Доустанавливаем надобности: {{cmd|# apt-get install -y htop java-17-openjdk lsof mc sudo}}
#:*2 ядра (похоже, и одного хватает),
#Скачиваем [https://it-expertise.ru/pusk/?utm_source=altlinux&utm_medium=organic&utm_campaign=pusk#download архив] (<code>ite-pusk-v*.tar.gz</code>) Панели Управления Службами и Компонентами (ПУСиК).
#:*2 ГБ памяти (хотя и полутора достаточно),
#Распаковываем его содержимое в {{path|/opt/}}.
#:*4 ГБ места (занято будет тоже 2, но пойдут логи — да и вообще запас карман не тянет).
#Скачиваем с [https://its.1c.ru/db/metod8dev#content:4985:hdoc этой] странички <code>java-api-8.3.11.zip</code> по ссылке '''«Копировать java-api для версий платформы 8.3.11 и старше»''' — или более новой, когда появится.
#Обновляем его: {{cmd|# apt-get update && apt-get -y dist-upgrade}}
#Извлекаем в {{path|/opt/pusk/}} из его глубоких потрохов (архив в архиве архива) каталог {{path|lib}}.
#Доустанавливаем надобности: {{cmd|# apt-get install -y ...''(см. список ниже)''}}
#:*'''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/}}.
#Скачиваем с [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/}} уже развёрнутую свежую 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}}
#Спустя минуту проверяем, что сервиз поднят:
#Спустя минуту проверяем, что сервис поднят:
#:<pre>[root@ras1c ~]# lsof -ni :8080
#:<source lang=bash>
[root@ras1c ~]# lsof -ni :8080
COMMAND PID USER  FD  TYPE    DEVICE SIZE/OFF NODE NAME
COMMAND PID USER  FD  TYPE    DEVICE SIZE/OFF NODE NAME
java    155 root  16u  IPv6 228332872      0t0  TCP *:webcache (LISTEN)
java    155 root  16u  IPv6 228332872      0t0  TCP *:webcache (LISTEN)
</pre>
</source>
#Браузером по адресу http://ип.или.имя.контейнера:8080/ заполняем '''{{nav|Подключения|Добавить}}''' ''(см. верхний снимок)''.
#И — за работу! ''(см. нижний снимок)''
[[Файл:Ras1c-work.png|мини|Рабочее соединение]]
 
=Примечания=
Порт веб-морды меняется через конфиг {{path|/opt/pusk/data/application.properties}}
 
А если хочется безопасности, то не зная, как это прикрутить к яве (и возможно ли вообще такое), вижу один вариант:
#поставить nginx и настроить в нём перекид с 80 порта на самосертифицированный 443 с прицелом на порт 8080 (ЯВная веб-морда);
#подключения к 8080 извне закрыть фаерволом.
 
=Обратная связь=
*[https://t.me/gbIMoBou @gbIMoBou]
*[[Участник:Дым#Заметки|Другие статьи]]

Текущая версия от 06:46, 28 июня 2024

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

Вкратце

Добавление сервера
  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) Панели Управления Службами и Компонентами (ПУСиК) в /opt/.
  5. Скачиваем с этой странички ещё один архив по ссылке «Копировать java-api для версий платформы 8.3.11 и старше» — или более новую версию, когда появится.
  6. Извлекаем из его глубоких потрохов (архив в архиве архива) в /opt/pusk/ каталог lib
  7. Копируем в тот же /opt/ уже развёрнутую свежую 1С-ку (со своего компа, к примеру: /opt/1cv8), удостоверившись, что в самом нижнем её подкаталоге есть бинарник ras — им будет запускаться собственно RAS.
  8. Запускаем установку: # /opt/pusk/ite-pusk-linux.sh install
  9. По её ОКейному завершению командуем: # systemctl enable --now ite-pusk
  10. Спустя минуту проверяем, что сервис поднят:
    [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)
    
  11. Браузером по адресу http://ип.или.имя.контейнера:8080/ заполняем Подключения ▷ Добавить (см. верхний снимок).
  12. И — за работу! (см. нижний снимок)
Рабочее соединение

Примечания

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

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

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

Обратная связь