Fixes
This commit is contained in:
35
README.ru.md
35
README.ru.md
@@ -85,3 +85,38 @@ sudo dnf install _packages/ispmanager-plugin-nginx_mod_rewrite_plugin-0.0.1-1.el
|
||||
Для отмены сборки, нажмите кнопку "Отменить сборку". Для сборки и установки хука пересборки при обновлении nginx необходимо нажать "Собать модуль и установить хук на пересборку".
|
||||
|
||||
Процесс сборки можно будет изучить в логе: `/usr/local/mgr5/var/nginx-mod-rewrite-plugin.log.
|
||||
|
||||
Если сборка прошла успешно, то в на сервере появится файл:
|
||||
|
||||
```
|
||||
# cat /usr/share/nginx/modules/ngx_http_apache_rewrite_module.conf
|
||||
load_module "/usr/lib64/nginx/modules/ngx_http_apache_rewrite_module.so";
|
||||
```
|
||||
и файл:
|
||||
|
||||
```
|
||||
/usr/lib64/nginx/modules/ngx_http_apache_rewrite_module.so
|
||||
```
|
||||
соответсвенно.
|
||||
|
||||
Далее нужно перейти в глобальные настройки модуля:
|
||||
|
||||

|
||||
|
||||
Для этого как показано на изображении нужно перети во "Все разделы" и далее найти раздел "mod_rewrite для nginx" и его пункт меню "Настройка модуля nginx".
|
||||
|
||||
Откроется следующее окно настроек:
|
||||
|
||||

|
||||
|
||||
Где:
|
||||
|
||||
- Добавить модуль nginx - галочка позволяет отключить модуль nginx глобально, т.е в файле `/usr/share/nginx/modules/ngx_http_apache_rewrite_module.conf` закомментируется строка подгрузки модуля. Здесь нужно быть осторожным, если есть хоть один сайт с опцией, которую приносит модуль, то nginx будет ругаться на неизвестную опцию и не сможет запуститься. Поэтому прежде чем отключать, необходимо отключить на всех сайтах опции mod_rewrite для nginx.
|
||||
- Использовать шаблон для настройки сайта - текущий плагин, позволяет двумя способами встроиться в конфигурацию сайта. Вариант 1 - глобальное включение mod_rewrite для сайта(есои галочка не включена), Вариант 2 - включение mod_rewrite для location через шаблон ispmanager (если галочка включена). О каждом варианте настроек будет расказоно ниже.
|
||||
- Включить вывод дополнительной информации в лог - если галочка включена, то в лог файл `/usr/local/mgr5/var/nginx-mod-rewrite-plugin-addon.log` записывается детальная работа самого плагина ispmanager. Может понадобиться если плагин некорректно работает. В общих лучаях данная галочка должна быть отключена.
|
||||
|
||||
Включить же mod_rewrite для сайта можно через меню "Сайты":
|
||||
|
||||

|
||||
|
||||
В меню выбрать интересующий сайт и включить галочку "Включить для сайта поддержку mod_rewrite для nginx". И сохранить.
|
||||
|
||||
BIN
img/isp_mod_rewrite3.png
Normal file
BIN
img/isp_mod_rewrite3.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 45 KiB |
BIN
img/isp_mod_rewrite4.png
Normal file
BIN
img/isp_mod_rewrite4.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 30 KiB |
BIN
img/isp_mod_rewrite5.png
Normal file
BIN
img/isp_mod_rewrite5.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 73 KiB |
@@ -2,10 +2,25 @@
|
||||
|
||||
import os
|
||||
import xml.etree.ElementTree as etree
|
||||
from xml.dom import minidom
|
||||
from sys import stdin
|
||||
import subprocess
|
||||
import datetime
|
||||
|
||||
def dump_all_to_log(root):
|
||||
log_path = '/usr/local/mgr5/var/nginx-mod-rewrite-plugin.log'
|
||||
try:
|
||||
with open(log_path, 'a') as log_file:
|
||||
timestamp = datetime.datetime.now().isoformat()
|
||||
xml_str = etree.tostring(root, encoding='unicode')
|
||||
# Pretty‑print the XML
|
||||
pretty_xml = minidom.parseString(xml_str).toprettyxml(indent=" ")
|
||||
log_file.write(f"{timestamp} - Dumping XML to log:\n{pretty_xml}\n")
|
||||
log_file.write(f"{timestamp} - Environment variables:\n")
|
||||
for key, value in sorted(os.environ.items()):
|
||||
log_file.write(f"{key}={value}\n")
|
||||
except Exception:
|
||||
pass
|
||||
|
||||
def CheckModuleExists():
|
||||
module_path = '/usr/share/nginx/modules/ngx_http_apache_rewrite_module.conf'
|
||||
@@ -97,13 +112,10 @@ def Handle(root):
|
||||
for child in list(parent):
|
||||
if child.tag == 'textdata' and child.get('name') == 'nginx_mod_rewrite_plugin_msg':
|
||||
parent.remove(child)
|
||||
# Find the messages element with name "nginx_mod_rewrite_plugin.settings"
|
||||
messages_elem = root.find(".//messages[@name='nginx_mod_rewrite_plugin.settings']")
|
||||
if messages_elem is not None:
|
||||
# Find the msg element with name "msg_create" and change its text
|
||||
msg_create_elem = messages_elem.find(".//msg[@name='msg_create']")
|
||||
if msg_create_elem is not None:
|
||||
msg_create_elem.text = 'Ничего не делать'
|
||||
for buttons in root.findall(".//buttons"):
|
||||
for btn in list(buttons):
|
||||
if btn.tag == 'button' and btn.get('name') == 'ok':
|
||||
buttons.remove(btn)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
@@ -134,14 +146,10 @@ if __name__ == "__main__":
|
||||
if child.tag == 'textdata' and child.get('name') == 'nginx_mod_rewrite_plugin_msg':
|
||||
parent.remove(child)
|
||||
|
||||
# Find the messages element with name "nginx_mod_rewrite_plugin.settings"
|
||||
messages_elem = root.find(".//messages[@name='nginx_mod_rewrite_plugin.settings']")
|
||||
if messages_elem is not None:
|
||||
# Find the msg element with name "msg_create" and change its text
|
||||
msg_create_elem = messages_elem.find(".//msg[@name='msg_create']")
|
||||
if msg_create_elem is not None:
|
||||
msg_create_elem.text = 'Ничего не делать'
|
||||
|
||||
for buttons in root.findall(".//buttons"):
|
||||
for btn in list(buttons):
|
||||
if btn.tag == 'button' and btn.get('name') == 'ok':
|
||||
buttons.remove(btn)
|
||||
|
||||
etree.dump(root)
|
||||
quit(0)
|
||||
|
||||
@@ -5,6 +5,13 @@
|
||||
<settings>nginx_mod_rewrite_plugin.settings</settings>
|
||||
<free />
|
||||
</plugin>
|
||||
<mainmenu level="admin+">
|
||||
<modernmenu>
|
||||
<node name="nginx_mod_rewrite_plugin_menu" customicon="/manimg/icons/mod_rewrite_menu.svg">
|
||||
<node name="nginx_mod_rewrite_plugin_menu_settings" customicon="/manimg/icons/mod_rewrite_tool.svg"/>
|
||||
</node>
|
||||
</modernmenu>
|
||||
</mainmenu>
|
||||
<handler name="nginx_mod_rewrite_plugin.py" type="xml">
|
||||
<func name="nginx_mod_rewrite_plugin.settings" />
|
||||
</handler>
|
||||
@@ -14,11 +21,11 @@
|
||||
<textdata name="nginx_mod_rewrite_plugin_msg" type="banner" status="warning"/>
|
||||
<textdata name="nginx_mod_rewrite_plugin_msg_info" type="banner" status="info"/>
|
||||
</field>
|
||||
</form>
|
||||
<buttons>
|
||||
<button name="ok" type="ok" />
|
||||
<button name="cancel" type="cancel" />
|
||||
</buttons>
|
||||
</form>
|
||||
</metadata>
|
||||
<metadata name="site.edit" type="form">
|
||||
<form>
|
||||
@@ -43,13 +50,6 @@
|
||||
<event name="site.edit" after="yes"/>
|
||||
<func name="nginx_mod_rewrite_plugin_menu_settings"/>
|
||||
</handler>
|
||||
<mainmenu level="admin+">
|
||||
<modernmenu>
|
||||
<node name="nginx_mod_rewrite_plugin_menu" customicon="/manimg/icons/mod_rewrite_menu.svg">
|
||||
<node name="nginx_mod_rewrite_plugin_menu_settings" customicon="/manimg/icons/mod_rewrite_tool.svg"/>
|
||||
</node>
|
||||
</modernmenu>
|
||||
</mainmenu>
|
||||
<metadata name="nginx_mod_rewrite_plugin_menu_settings" type="form">
|
||||
<form needconfirm="yes">
|
||||
<field name="nginx_mod_rewrite_plugin_menu_module_enable">
|
||||
|
||||
Reference in New Issue
Block a user