Added spec update and docs update

devel
Alexey Berezhok 3 months ago
parent 6bd321a1da
commit 62eb67af03

@ -150,6 +150,7 @@ function sidebarDocs() {
collapsed: false,
items: [
{ text: 'PHP cli селектор', link: '/docs/extensions/php-cli-selector.md' },
{ text: 'Расширенные модули', link: '/docs/extensions/extended-modules.md' },
],
},
];

@ -0,0 +1,150 @@
# Расширенные модули
## Что такое модули
Модули расширения панели позволяют расширять функционал панели.
## Как управлять модулями
Для доступа к модулям расширения необходимо из-под пользователя `admin` перейти в `Настройки сервера`:
![ext_modules_step1](/images/ext_modules_step1.png)
Далее в строке выбора настроек выбрать `Доп. модули`:
![ext_modules_step2](/images/ext_modules_step2.png)
Далее откроется страинца достпных модулей и их сотояния.
Пример страницы с демонстрационными модулями приведен ниже:
![ext_modules_step3](/images/ext_modules_step3.png)
Данная страница содержит следующую информацию:
- **ID модуля** - числовой идентификатор модуля
- **Имя модуля** - сивольный идентификатор модуля
- **Описание модуля** - краткая ифнормация о модуле
- **Состояние** - включен(enabled) или выключен(disabled)
- **Зависимости** - список модулей, которые должны быть включены для работы текущего модуля
- **Конфигурация** - дополнительные настройки модуля (при наличии)
Если модуль выключен, его состояние отображается как disabled.
Для включения модуля необходимо нажать на кнопку <i class="fas fa-play"></i>, для выключения модуля необходимо нажать на кнопку <i class="fas fa-stop"></i>.
## Список предустановленных модулей
- **puppet_installer** - установить puppet, для большинства модулей требуется puppet для изменения конфигурации системы, поэтому требуется, чтоб этот модуль был включен, при включении он установит puppet в систему.
- **empty_module** - пустой модуль, его включение или выключение не начто не влияет, является примером написания модулей
- **passenger_manager** - модуль по установке и настройке passenger в систему.
## Управление модулями из командной строки
Для управления модулями используется утилита `v-ext-modules`.
Доступные команды:
- **list** - вывести список доступных модулей
- **enable module_name** - включить модуль
- **disable module_name** - выключить модуль
- **state module_name** - состояние модуля
Примеры:
```
# v-ext-modules list csv
1,puppet_installer,"Added puppet support, needed for another modules","","",enabled
2,passenger_manager,Added passenger support for nginx,puppet_installer,yes,enabled
3,empty_module,Just empty module for storing max module id,"","",disabled
```
```
# v-ext-modules state passenger_manager
ID NAME DESCR STATE REQ CONF
-- ---- ----- ----- --- ----
2 passenger_manager Added passenger support for nginx enabled puppet_installer yes
```
## passenger_manager
Модуль, для добавления поддержки passenger+nginx для запуска (пока что только) ruby приложений.
### passenger_manager настройка
Для настройки модуля нажмите на ссылку `Изменить`:
![ext_modules_step4](/images/ext_modules_step4.png)
Откроется страница вида:
![ext_modules_step5](/images/ext_modules_step5.png)
- **Добавить новый путь ruby** - добавить путь к бинарному файлу интерпретатору ruby, если его еще нет в списке ниже
- **Ruby list** - список достпных для выбора ruby интерпретаторов. Для удаления ruby из списка необходимо нажать на значек <i class="fas fa-trash-can"></i>.
При активации `passenger_manager` в меню настройки домена для пользователя появляется кнопка `Настройки passenger`:
![ext_modules_step6](/images/ext_modules_step6.png)
При нажатии на которую открывается форма:
![ext_modules_step7](/images/ext_modules_step7.png)
Где можно активировать passenger для домена установкой галочки `Включить passenger для домена`, а так же выбрать из списка ruby.
Галочка `Включить логирование в браузер`, активирует вывод лога ошибки приложения в браузер, рекомендуется ее включать только при настройке приложения.
Пример установки приложения:
пусть есть пользователь `test2` и домен `ttt142.my.brp`, для него активируется passenger.
Для него генерируются следующие настройки:
```
location / {
passenger_base_uri /;
passenger_app_root /home/test2/web/ttt142.my.brp/private;
passenger_document_root /home/test2/web/ttt142.my.brp/public_html;
passenger_startup_file config.rb;
passenger_app_type rack;
}
```
В `config.rb` необходимо поместить инструкции запуска приложения:
```
# encoding: UTF-8
require './test'
run Sinatra::Application
```
и соновное приложение разметсить в каталоге `/home/test2/web/ttt142.my.brp/private`.
Остальная логика будет размещена в `test.rb`, для примера вот так:
```
!/usr/bin/env ruby
require 'sinatra'
get '/' do
"Hello #{Process.uid}"
end
```
Статические файлы располагать в каталоге `/home/test2/web/ttt142.my.brp/public_html`, а так же из этого каталога удалить файл `index.html` создаваемый как заглушка для пустого сайта.
Так же создать файл `Gemfile` в каталоге `/home/test2/web/ttt142.my.brp/private` и выполнить от пользователя:
```
bundle config set --local path 'vendor'
bundle install
```
или по старому:
```
bundle install --path=vendor
```
для установки пользователю необходимых гемов локально.

@ -59,4 +59,4 @@
## Дополнения
- [PHP cli селектор](/docs/extensions/php-cli-selector.md')
- [Расширенные модули](/docs/extensions/extended-modules.md')

@ -83,13 +83,13 @@ cp original.sh new.sh
## Установка модулей PHP
```bash
apt install php-package-name
dnf install php-package-name
```
Например, следующая команда установит `php-memcached` и `php-redis`, включая необходимые дополнительные пакеты для PHP.
```bash
apt install php-memcached php-redis
dnf install php-memcached php-redis
```
## Nginx FastCGI Cache
@ -102,12 +102,6 @@ FastCGI применяется только для сервера Nginx + PHP-FP
Кэш FastCGI лучше всего подходит для сайтов, получающих много запросов и страницы которых не так часто меняются, например, новостной сайт. Для более динамичных сайтов могут потребоваться изменения в конфигурации или полное его отключение.
### Почему программные пакеты x и y не работают с кэшем FastCGI
Поскольку у нас более 20 различных шаблонов, и мы не используем их все, мы решили прекратить выпуск новых в будущем и надеемся, что сообщество поможет улучшить шаблоны, [отправив запрос на извлечение](https://github.com/hestiacp/hestiacp/pulls).
Если вы хотите добавить поддержку определенного шаблона, следуйте инструкциям ниже.
### Как включить кэш FastCGI для моего пользовательского шаблона
Найдите блок, в котором вы вызываете `fastcgi_pass`:
@ -153,7 +147,7 @@ v-purge-nginx-cache user domain.tld
Да, Hestia отлично работает с веб-сокетами, однако наши шаблоны по умолчанию включают по умолчанию:
```bash
proxy_hide_header Обновление
proxy_hide_header Upgrade
```
Это решило проблему с загрузкой веб-сайтов Safari.

@ -123,8 +123,12 @@
Здесь также будут отображаться любые пользовательские шаблоны.
- **srvproxy**: шаблон для конфигурации прокси для любого внутреннего сервиса, например gitea, который запускается и присоединеятся к порту или создает unix-сокет. При выборе данного шаблона, появляется дополнительное поле `Установить порт для локального сервиса`, в котором нужно указать путь к unix-сокету или порт внутреннего сервиса. В качестве шаблона Backend в данном случае можно выбрать `no-php`, т.к. в данном случае бакэндом будет сервис.
![domain_proxy](/images/proxy_domain.png)
::: tip
Любые пользовательские шаблоны, начинающиеся с `caching-`, позволят использовать кнопку **<i class="fas fa-fw fa-trash"></i> Очистить кэш Nginx**. Убедитесь, что файл `.sh` существует для `caching-my-template` с как минимум [этим содержимым](https://github.com/hestiacp/hestiacp/blob/main/install/deb/templates/web/nginx/caching.sh)
Любые пользовательские шаблоны, начинающиеся с `caching-`, позволят использовать кнопку **<i class="fas fa-fw fa-trash"></i> Очистить кэш Nginx**. Убедитесь, что файл `.sh` существует для `caching-my-template` с как минимум [этим содержимым](https://dev.brepo.ru/bayrepo/hestiacp/raw/branch/master/install/rpm/templates/web/nginx/caching.sh)
:::
### Веб-шаблоны

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.1 KiB

@ -2,7 +2,7 @@
%global _hardened_build 1
Name: hestia
Version: 1.8.6
Version: 1.9.1
Release: 1%{dist}
Summary: Hestia Control Panel
Group: System Environment/Base
@ -187,6 +187,11 @@ fi
%{_tmpfilesdir}/%{name}.conf
%changelog
* Mon Dec 30 2024 Alexey Berezhok <a@bayrepo.ru> - 1.9.1-1
- Added port specification ofor local services on domain editing
- Added support extended modules
- Added support passenger with nginx and ruby
* Thu Sep 05 2024 Alexey Berezhok <a@bayrepo.ru> - 1.8.6-1
- Fixed firewall rules restoring on system reboot

@ -26,4 +26,8 @@
```
получаем файл ru/LC_MESSAGES/hestiacp.po.new
## Обновление mo файла после добавления локализации
```
./hst_convert_po2mo.sh ru
```

Loading…
Cancel
Save