Init
This commit is contained in:
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@@ -0,0 +1 @@
|
||||
/tmp
|
||||
35
ispmanager-plugin-nginx_mod_rewrite_plugin.spec
Normal file
35
ispmanager-plugin-nginx_mod_rewrite_plugin.spec
Normal file
@@ -0,0 +1,35 @@
|
||||
Name: ispmanager-plugin-nginx_mod_rewrite_plugin
|
||||
Version: 0.0.1
|
||||
Release: 1%{?dist}
|
||||
Summary: Модуль nginx mod_rewrite
|
||||
License: Apache License 2.0
|
||||
URL: https://github.com/bayrepo/ngx_http_apache_rewrite_module
|
||||
Source0: %{name}-%{version}.tar.gz
|
||||
BuildRequires: wget
|
||||
|
||||
%description
|
||||
Модуль добавления поддержки mod_rewrite правил и .htaccess в nginx
|
||||
|
||||
%prep
|
||||
%setup -q
|
||||
|
||||
%build
|
||||
# nothing to build
|
||||
|
||||
%install
|
||||
mkdir -p %{buildroot}/usr/local/mgr5/etc/plugins/ispmgr
|
||||
mkdir -p %{buildroot}/usr/local/mgr5/addon
|
||||
cp -a ispmgr/* %{buildroot}/usr/local/mgr5/etc/plugins/ispmgr/
|
||||
cp -a nginx_mod_rewrite_plugin.py %{buildroot}/usr/local/mgr5/addon/
|
||||
mkdir -p %{buildroot}/usr/local/ispmanager-mod_rewrite
|
||||
wget -O %{buildroot}/usr/local/ispmanager-mod_rewrite/mod_rewrite.zip https://github.com/bayrepo/ngx_http_apache_rewrite_module/archive/refs/heads/main.zip
|
||||
|
||||
%files
|
||||
/usr/local/mgr5/etc/xml/ispmgr_mod_nginx_mod_rewrite_plugin.xml
|
||||
/usr/local/mgr5/etc/plugins/ispmgr/nginx_mod_rewrite_plugin.xml
|
||||
%attr(700, root, root) /usr/local/mgr5/addon/nginx_mod_rewrite_plugin.py
|
||||
%attr(600, root, root) /usr/local/ispmanager-mod_rewrite/mod_rewrite.zip
|
||||
|
||||
%changelog
|
||||
* Mon Jun 29 2026 Alexey BayRepo <a@bayrepo.ru> - 0.0.1-1
|
||||
- Initial release
|
||||
57
usr/local/mgr5/addon/nginx_mod_rewrite_plugin.py
Executable file
57
usr/local/mgr5/addon/nginx_mod_rewrite_plugin.py
Executable file
@@ -0,0 +1,57 @@
|
||||
#!/usr/bin/env python3
|
||||
|
||||
import os
|
||||
import xml.etree.ElementTree as etree
|
||||
from sys import stdin
|
||||
|
||||
|
||||
def CheckModuleExists():
|
||||
module_path = '/usr/share/nginx/modules/ngx_http_apache_rewrite_module.conf'
|
||||
if os.path.isfile(module_path):
|
||||
return 'mod_rewrite already installed'
|
||||
return None
|
||||
|
||||
def InstallModule():
|
||||
#Todo func
|
||||
return None
|
||||
|
||||
# Обработка нажатия на кнопку "Сохранить"
|
||||
def Handle(root):
|
||||
result = True
|
||||
result_error = CheckModuleExists()
|
||||
if result_error is None:
|
||||
result_error = InstallModule()
|
||||
result = result_error is None
|
||||
|
||||
if not result:
|
||||
# Формирование сообщения об ошибке согласно структуре в metadata
|
||||
error = etree.SubElement(root, "error")
|
||||
error.set('code', '1')
|
||||
error.set('type', 'nginx_mod_rewrite_plugin')
|
||||
error.set('object', 'wrong_value')
|
||||
param = etree.SubElement(error, 'param')
|
||||
param.text = 'wrong_value'
|
||||
param.set('name', 'object')
|
||||
param.set('type', 'msg')
|
||||
param = etree.SubElement(error, 'param')
|
||||
param.set('name', 'value')
|
||||
param.text = result_error
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
func = os.getenv("PARAM_func")
|
||||
correct_function = False
|
||||
|
||||
if func == "nginx_mod_rewrite_plugin.settings":
|
||||
correct_function = True
|
||||
elif func == "plugin.settings":
|
||||
if os.getenv("PARAM_plugin_settings") == "nginx_mod_rewrite_plugin":
|
||||
correct_function = True
|
||||
root = etree.parse(stdin).getroot()
|
||||
|
||||
if correct_function:
|
||||
if os.getenv("PARAM_clicked_button") == "ok":
|
||||
Handle(root)
|
||||
|
||||
etree.dump(root)
|
||||
quit(0)
|
||||
@@ -0,0 +1,13 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<mgrdata>
|
||||
<plugin name="nginx_mod_rewrite_plugin">
|
||||
<dist>1</dist>
|
||||
<free />
|
||||
<settings>nginx_mod_rewrite_plugin.settings</settings>
|
||||
<msg name="desc_short" lang="ru">Модуль nginx mod_rewrite</msg>
|
||||
<msg
|
||||
name="desc_full"
|
||||
lang="ru"
|
||||
>Модуль добавления поддержки mod_rewrite правил и .htaccess в nginx<br/><a href="https://github.com/bayrepo/ngx_http_apache_rewrite_module" target="_blank">Документация по настройкам модуля</a></msg>
|
||||
</plugin>
|
||||
</mgrdata>
|
||||
@@ -0,0 +1,34 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<mgrdata>
|
||||
<plugin name="nginx_mod_rewrite_plugin">
|
||||
<dist>1</dist>
|
||||
<settings>nginx_mod_rewrite_plugin.settings</settings>
|
||||
<free />
|
||||
</plugin>
|
||||
<handler name="nginx_mod_rewrite_plugin.py" type="xml">
|
||||
<func name="nginx_mod_rewrite_plugin.settings" />
|
||||
</handler>
|
||||
<metadata name="nginx_mod_rewrite_plugin.settings" type="form" mgr="ispmgr">
|
||||
<form>
|
||||
<field name="nginx_mod_rewrite_plugin_field" noname="yes" fullwidth="yes">
|
||||
<textdata name="nginx_mod_rewrite_plugin_msg" type="msg" />
|
||||
</field>
|
||||
</form>
|
||||
<buttons>
|
||||
<button name="ok" type="ok" />
|
||||
<button name="cancel" type="cancel" />
|
||||
</buttons>
|
||||
</metadata>
|
||||
<lang name="ru">
|
||||
<messages name="nginx_mod_rewrite_plugin.settings">
|
||||
<msg name="title">Установка модуля для nginx</msg>
|
||||
<msg name="nginx_mod_rewrite_plugin_msg">Данный плагин установит ряд пакетов для сборки модуля nginx</msg>
|
||||
<msg name="msg_create">Собрать модуль и установить хук на пересборку</msg>
|
||||
<msg name="msg_back"><< Отменить сборку</msg>
|
||||
</messages>
|
||||
<messages name="mgrerror_nginx_mod_rewrite_plugin">
|
||||
<msg name="msg_error_nginx_mod_rewrite_plugin">Ошибка модуля: __object__</msg>
|
||||
<msg name="wrong_value">__value__</msg>
|
||||
</messages>
|
||||
</lang>
|
||||
</mgrdata>
|
||||
Reference in New Issue
Block a user