Added spec update and docs update
@@ -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' },
|
||||
],
|
||||
},
|
||||
];
|
||||
|
||||
150
docs/docs/extensions/extended-modules.md
Normal file
@@ -0,0 +1,150 @@
|
||||
# Расширенные модули
|
||||
|
||||
## Что такое модули
|
||||
|
||||
Модули расширения панели позволяют расширять функционал панели.
|
||||
|
||||
## Как управлять модулями
|
||||
|
||||
Для доступа к модулям расширения необходимо из-под пользователя `admin` перейти в `Настройки сервера`:
|
||||
|
||||

|
||||
|
||||
Далее в строке выбора настроек выбрать `Доп. модули`:
|
||||
|
||||

|
||||
|
||||
Далее откроется страинца достпных модулей и их сотояния.
|
||||
|
||||
Пример страницы с демонстрационными модулями приведен ниже:
|
||||
|
||||

|
||||
|
||||
Данная страница содержит следующую информацию:
|
||||
|
||||
- **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 настройка
|
||||
|
||||
Для настройки модуля нажмите на ссылку `Изменить`:
|
||||
|
||||

|
||||
|
||||
Откроется страница вида:
|
||||
|
||||

|
||||
|
||||
- **Добавить новый путь ruby** - добавить путь к бинарному файлу интерпретатору ruby, если его еще нет в списке ниже
|
||||
- **Ruby list** - список достпных для выбора ruby интерпретаторов. Для удаления ruby из списка необходимо нажать на значек <i class="fas fa-trash-can"></i>.
|
||||
|
||||
При активации `passenger_manager` в меню настройки домена для пользователя появляется кнопка `Настройки passenger`:
|
||||
|
||||

|
||||
|
||||
При нажатии на которую открывается форма:
|
||||
|
||||

|
||||
|
||||
Где можно активировать 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`, т.к. в данном случае бакэндом будет сервис.
|
||||
|
||||

|
||||
|
||||
::: 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)
|
||||
:::
|
||||
|
||||
### Веб-шаблоны
|
||||
|
||||
BIN
docs/public/images/ext_modules_step1.png
Normal file
|
After Width: | Height: | Size: 8.3 KiB |
BIN
docs/public/images/ext_modules_step2.png
Normal file
|
After Width: | Height: | Size: 27 KiB |
BIN
docs/public/images/ext_modules_step3.png
Normal file
|
After Width: | Height: | Size: 33 KiB |
BIN
docs/public/images/ext_modules_step4.png
Normal file
|
After Width: | Height: | Size: 12 KiB |
BIN
docs/public/images/ext_modules_step5.png
Normal file
|
After Width: | Height: | Size: 23 KiB |
BIN
docs/public/images/ext_modules_step6.png
Normal file
|
After Width: | Height: | Size: 21 KiB |
BIN
docs/public/images/ext_modules_step7.png
Normal file
|
After Width: | Height: | Size: 16 KiB |
BIN
docs/public/images/proxy_domain.png
Normal file
|
After Width: | Height: | Size: 8.1 KiB |