Compare commits
4 Commits
aae561716c
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
27b237a3c7 | ||
|
|
5349d46d71 | ||
|
|
75df7a2554 | ||
|
|
479a65e0dd |
@@ -156,23 +156,15 @@ else
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
# Check if required modules for apache2 are enabled
|
# Check if required modules for apache2 are enabled
|
||||||
if [ "$WEB_SYSTEM" = "apache2" ]; then
|
if [ "$WEB_SYSTEM" = "httpd" ]; then
|
||||||
if [ -f /etc/redhat-release ]; then
|
if ! httpd -M | grep 'proxy_fcgi_module' ; then
|
||||||
if ! httpd -M | grep 'proxy_fcgi_module' ; then
|
sed 's/#LoadModule proxy_fcgi_module/LoadModule proxy_fcgi_module/' -i /etc/httpd/conf.modules.d/00-proxy.conf
|
||||||
sed 's/#LoadModule proxy_fcgi_module/LoadModule proxy_fcgi_module/' -i /etc/httpd/conf.modules.d/00-proxy.conf
|
sed 's/#LoadModule proxy_module/LoadModule proxy_module/' -i /etc/httpd/conf.modules.d/00-proxy.conf
|
||||||
sed 's/#LoadModule proxy_module/LoadModule proxy_module/' -i /etc/httpd/conf.modules.d/00-proxy.conf
|
|
||||||
fi
|
|
||||||
if ! httpd -M | grep 'setenvif_module' ; then
|
|
||||||
sed 's/#LoadModule setenvif_module/LoadModule setenvif_module/' -i /etc/httpd/conf.modules.d/00-base.conf
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
if ! a2query -q -m proxy_fcgi; then
|
|
||||||
a2enmod -q proxy_fcgi
|
|
||||||
fi
|
|
||||||
if ! a2query -q -m setenvif; then
|
|
||||||
a2enmod -q setenvif
|
|
||||||
fi
|
|
||||||
fi
|
fi
|
||||||
|
if ! httpd -M | grep 'setenvif_module' ; then
|
||||||
|
sed 's/#LoadModule setenvif_module/LoadModule setenvif_module/' -i /etc/httpd/conf.modules.d/00-base.conf
|
||||||
|
fi
|
||||||
|
|
||||||
$BIN/v-restart-web "yes"
|
$BIN/v-restart-web "yes"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|||||||
@@ -425,14 +425,18 @@ add_web_config() {
|
|||||||
|
|
||||||
MOD_CONF="/etc/httpd/conf.modules.d/09-mod-php.conf"
|
MOD_CONF="/etc/httpd/conf.modules.d/09-mod-php.conf"
|
||||||
PHP_DEFAULT="/usr/bin/php-cgi"
|
PHP_DEFAULT="/usr/bin/php-cgi"
|
||||||
php_ver=$(grep -m1 '^LoadModule php_module ' "$MOD_CONF" | grep -oP 'php\d{2}')
|
if [ -e $MOD_CONF ]; then
|
||||||
|
php_ver=$(grep -m1 '^LoadModule php_module ' "$MOD_CONF" | grep -oP 'php\d{2}')
|
||||||
|
else
|
||||||
|
php_ver=$(find /etc/httpd/conf.modules.d -maxdepth 1 -type f -name '*-php*-php.conf' -print -quit | sed -n 's/.*-\(php[0-9]\+\)-php\.conf$/\1/p')
|
||||||
|
fi
|
||||||
php_cgi_path=$PHP_DEFAULT
|
php_cgi_path=$PHP_DEFAULT
|
||||||
|
|
||||||
if [ -n "$php_ver" ]; then
|
if [ -n "$php_ver" ]; then
|
||||||
if [ -n "$php_type" ]; then
|
if [ -n "$php_type" ]; then
|
||||||
php_cgi_path="/opt/brepo/${php_ver}/bin/php-cgi"
|
php_cgi_path="/opt/brepo/${php_ver}/bin/php-cgi"
|
||||||
else
|
else
|
||||||
php_cgi_path="/etc/opt/remi/php${php_ver}/bin/php-cgi"
|
php_cgi_path="/opt/remi/${php_ver}/root/bin/php-cgi"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|||||||
@@ -20,15 +20,15 @@ class PassengerWorker < Kernel::ModuleCoreWorker
|
|||||||
ID: 2,
|
ID: 2,
|
||||||
NAME: MODULE_ID,
|
NAME: MODULE_ID,
|
||||||
DESCR: "Added passenger support for nginx",
|
DESCR: "Added passenger support for nginx",
|
||||||
REQ: "puppet_installer",
|
REQ: "",
|
||||||
CONF: "yes",
|
CONF: "yes",
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
def enable
|
def enable
|
||||||
log_file = get_log
|
log_file = get_log
|
||||||
f_inst_pp = get_module_paydata("passenger_installer.pp")
|
f_inst_pp = get_module_paydata("passenger_installer.yml")
|
||||||
f_uninst_pp = get_module_paydata("passenger_uninstaller.pp")
|
f_uninst_pp = get_module_paydata("passenger_uninstaller.yml")
|
||||||
if !check
|
if !check
|
||||||
inf = info
|
inf = info
|
||||||
log("Req error, needed #{inf[:REQ]}")
|
log("Req error, needed #{inf[:REQ]}")
|
||||||
@@ -36,16 +36,16 @@ class PassengerWorker < Kernel::ModuleCoreWorker
|
|||||||
else
|
else
|
||||||
begin
|
begin
|
||||||
prepare_default_ruby_conf
|
prepare_default_ruby_conf
|
||||||
log("install packages for passenger + nginx support: /usr/bin/puppet apply --detailed-exitcodes #{f_inst_pp}")
|
log("install packages for passenger + nginx support: /usr/bin/ansible-playbook -vv #{f_inst_pp}")
|
||||||
result_action = `/usr/bin/puppet apply --detailed-exitcodes "#{f_inst_pp}" 2>&1`
|
result_action = `LC_ALL=C.UTF-8 /usr/bin/ansible-playbook -vv "#{f_inst_pp}" 2>&1`
|
||||||
ex_status = $?.exitstatus
|
ex_status = $?.exitstatus
|
||||||
if ex_status.to_i == 0 || ex_status.to_i == 2
|
if ex_status.to_i == 0 || ex_status.to_i == 2
|
||||||
log(result_action)
|
log(result_action)
|
||||||
super
|
super
|
||||||
else
|
else
|
||||||
log(result_action)
|
log(result_action)
|
||||||
log("Try to disable action: /usr/bin/puppet apply --detailed-exitcodes #{f_uninst_pp}")
|
log("Try to disable action: /usr/bin/ansible-playbook -vv #{f_uninst_pp}")
|
||||||
result_action = `/usr/bin/puppet apply --detailed-exitcodes "#{f_uninst_pp}" 2>&1`
|
result_action = `LC_ALL=C.UTF-8 /usr/bin/ansible-playbook -vv "#{f_uninst_pp}" 2>&1`
|
||||||
"module installation error. See log #{log_file}"
|
"module installation error. See log #{log_file}"
|
||||||
end
|
end
|
||||||
rescue => e
|
rescue => e
|
||||||
@@ -57,14 +57,14 @@ class PassengerWorker < Kernel::ModuleCoreWorker
|
|||||||
|
|
||||||
def disable
|
def disable
|
||||||
log_file = get_log
|
log_file = get_log
|
||||||
f_uninst_pp = get_module_paydata("passenger_uninstaller.pp")
|
f_uninst_pp = get_module_paydata("passenger_uninstaller.yml")
|
||||||
if !check_domains_with_passenger
|
if !check_domains_with_passenger
|
||||||
return log_return("Presents domains with passenger support disable it first")
|
return log_return("Presents domains with passenger support disable it first")
|
||||||
end
|
end
|
||||||
begin
|
begin
|
||||||
log("uninstall packages for passenger + nginx support")
|
log("uninstall packages for passenger + nginx support")
|
||||||
log("Try to disable action: /usr/bin/puppet apply --detailed-exitcodes #{f_uninst_pp}")
|
log("Try to disable action: /usr/bin/ansible-playbook -vv #{f_uninst_pp}")
|
||||||
result_action = `/usr/bin/puppet apply --detailed-exitcodes "#{f_uninst_pp}" 2>&1`
|
result_action = `LC_ALL=C.UTF-8 /usr/bin/ansible-playbook -vv "#{f_uninst_pp}" 2>&1`
|
||||||
ex_status = $?.exitstatus
|
ex_status = $?.exitstatus
|
||||||
if ex_status.to_i == 0 || ex_status.to_i == 2
|
if ex_status.to_i == 0 || ex_status.to_i == 2
|
||||||
log(result_action)
|
log(result_action)
|
||||||
|
|||||||
@@ -0,0 +1,69 @@
|
|||||||
|
---
|
||||||
|
- name: Install Passenger and configure Nginx on localhost
|
||||||
|
hosts: localhost
|
||||||
|
connection: local
|
||||||
|
become: true
|
||||||
|
gather_facts: false
|
||||||
|
environment:
|
||||||
|
LANG: en_US.UTF-8
|
||||||
|
LC_ALL: en_US.UTF-8
|
||||||
|
tasks:
|
||||||
|
# Устанавливаем Ruby и зависимости
|
||||||
|
- name: Install rubygems-devel
|
||||||
|
ansible.builtin.dnf:
|
||||||
|
name: rubygems-devel
|
||||||
|
state: present
|
||||||
|
- name: Install rubygem-rake
|
||||||
|
ansible.builtin.dnf:
|
||||||
|
name: rubygem-rake
|
||||||
|
state: present
|
||||||
|
- name: Install ruby-devel
|
||||||
|
ansible.builtin.dnf:
|
||||||
|
name: ruby-devel
|
||||||
|
state: present
|
||||||
|
- name: Install rubygem-rack
|
||||||
|
ansible.builtin.dnf:
|
||||||
|
name: rubygem-rack
|
||||||
|
state: present
|
||||||
|
- name: Install alt-brepo-ruby33-devel
|
||||||
|
ansible.builtin.dnf:
|
||||||
|
name: alt-brepo-ruby33-devel
|
||||||
|
state: present
|
||||||
|
- name: Install alt-brepo-ruby33-rubygem-rake
|
||||||
|
ansible.builtin.dnf:
|
||||||
|
name: alt-brepo-ruby33-rubygem-rake
|
||||||
|
state: present
|
||||||
|
# Устанавливаем Passenger и модуль Nginx
|
||||||
|
- name: Install passenger-devel
|
||||||
|
ansible.builtin.dnf:
|
||||||
|
name: passenger-devel
|
||||||
|
state: present
|
||||||
|
- name: Install passenger
|
||||||
|
ansible.builtin.dnf:
|
||||||
|
name: passenger
|
||||||
|
state: present
|
||||||
|
- name: Install nginx-mod-http-passenger
|
||||||
|
ansible.builtin.dnf:
|
||||||
|
name: nginx-mod-http-passenger
|
||||||
|
state: present
|
||||||
|
# Конфигурируем Nginx для Passenger
|
||||||
|
- name: Create passenger.conf
|
||||||
|
ansible.builtin.copy:
|
||||||
|
dest: /etc/nginx/conf.d/passenger.conf
|
||||||
|
content: |
|
||||||
|
passenger_root /usr/share/ruby/vendor_ruby/phusion_passenger/locations.ini;
|
||||||
|
passenger_ruby /usr/bin/ruby;
|
||||||
|
passenger_instance_registry_dir /var/run/passenger-instreg;
|
||||||
|
passenger_user_switching on;
|
||||||
|
passenger_env_var PASSENGER_COMPILE_NATIVE_SUPPORT_BINARY 0;
|
||||||
|
passenger_env_var PASSENGER_DOWNLOAD_NATIVE_SUPPORT_BINARY 0;
|
||||||
|
- name: Create passenger_includer.conf
|
||||||
|
ansible.builtin.copy:
|
||||||
|
dest: /etc/nginx/conf.d/main/passenger.conf
|
||||||
|
content: |
|
||||||
|
load_module modules/ngx_http_passenger_module.so;
|
||||||
|
# Перезапускаем Nginx
|
||||||
|
- name: Restart nginx service
|
||||||
|
ansible.builtin.service:
|
||||||
|
name: nginx
|
||||||
|
state: restarted
|
||||||
@@ -0,0 +1,38 @@
|
|||||||
|
---
|
||||||
|
- name: Uninstall Passenger and configure Nginx on localhost
|
||||||
|
hosts: localhost
|
||||||
|
connection: local
|
||||||
|
become: true
|
||||||
|
gather_facts: false
|
||||||
|
environment:
|
||||||
|
LANG: en_US.UTF-8
|
||||||
|
LC_ALL: en_US.UTF-8
|
||||||
|
tasks:
|
||||||
|
# Удалаем модуль nginx-passenger
|
||||||
|
- name: Remove nginx-mod-http-passenger package
|
||||||
|
ansible.builtin.dnf:
|
||||||
|
name: nginx-mod-http-passenger
|
||||||
|
state: absent
|
||||||
|
# Удалаем passenger и зависимости
|
||||||
|
- name: Remove passenger-devel package
|
||||||
|
ansible.builtin.dnf:
|
||||||
|
name: passenger-devel
|
||||||
|
state: absent
|
||||||
|
- name: Remove passenger package
|
||||||
|
ansible.builtin.dnf:
|
||||||
|
name: passenger
|
||||||
|
state: absent
|
||||||
|
# Удаляем конфигурационные файлы Nginx
|
||||||
|
- name: Remove passenger.conf
|
||||||
|
ansible.builtin.file:
|
||||||
|
path: /etc/nginx/conf.d/passenger.conf
|
||||||
|
state: absent
|
||||||
|
- name: Remove passenger_includer.conf
|
||||||
|
ansible.builtin.file:
|
||||||
|
path: /etc/nginx/conf.d/main/passenger.conf
|
||||||
|
state: absent
|
||||||
|
# Перезапускаем Nginx (необязательно, но полезно)
|
||||||
|
- name: Restart nginx service
|
||||||
|
ansible.builtin.service:
|
||||||
|
name: nginx
|
||||||
|
state: restarted
|
||||||
@@ -911,7 +911,7 @@ if [ "$apache" = 'no' ]; then
|
|||||||
software=$(echo "$software" | sed -e "s/mod_suphp//")
|
software=$(echo "$software" | sed -e "s/mod_suphp//")
|
||||||
software=$(echo "$software" | sed -e "s/mod_fcgid//")
|
software=$(echo "$software" | sed -e "s/mod_fcgid//")
|
||||||
software=$(echo "$software" | sed -e "s/mod_ssl//")
|
software=$(echo "$software" | sed -e "s/mod_ssl//")
|
||||||
software=$(echo "$software" | sed -e "s/php${php_v}-php.${arch}//")
|
software=$(echo "$software" | sed -e "s/php${php_v}-php//")
|
||||||
software=$(echo "$software" | sed -e "s/brepo-php${php_v}-mod-apache//")
|
software=$(echo "$software" | sed -e "s/brepo-php${php_v}-mod-apache//")
|
||||||
mod_php="disable"
|
mod_php="disable"
|
||||||
fi
|
fi
|
||||||
@@ -956,11 +956,11 @@ if [ "$mysql8" = 'no' ]; then
|
|||||||
software=$(echo "$software" | sed -e "s/mysql-common//")
|
software=$(echo "$software" | sed -e "s/mysql-common//")
|
||||||
fi
|
fi
|
||||||
if [ "$mysql" = 'no' ] && [ "$mysql8" = 'no' ]; then
|
if [ "$mysql" = 'no' ] && [ "$mysql8" = 'no' ]; then
|
||||||
software=$(echo "$software" | sed -e "s/php${php_v}-php-mysql.${arch}//")
|
software=$(echo "$software" | sed -e "s/php${php_v}-php-mysql//")
|
||||||
fi
|
fi
|
||||||
if [ "$postgresql" = 'no' ]; then
|
if [ "$postgresql" = 'no' ]; then
|
||||||
software=$(echo "$software" | sed -e "s/postgresql-server//")
|
software=$(echo "$software" | sed -e "s/postgresql-server//")
|
||||||
software=$(echo "$software" | sed -e "s/php${php_v}-php-pgsql.${arch}//")
|
software=$(echo "$software" | sed -e "s/php${php_v}-php-pgsql//")
|
||||||
software=$(echo "$software" | sed -e "s/phppgadmin//")
|
software=$(echo "$software" | sed -e "s/phppgadmin//")
|
||||||
php_modules_install=$(echo "$php_modules_install" | sed -e "s/pgsql//")
|
php_modules_install=$(echo "$php_modules_install" | sed -e "s/pgsql//")
|
||||||
php_modules_install=$(echo "$php_modules_install" | sed -e "s/pdo_pgsql//")
|
php_modules_install=$(echo "$php_modules_install" | sed -e "s/pdo_pgsql//")
|
||||||
@@ -974,12 +974,12 @@ if [ "$iptables" = 'no' ]; then
|
|||||||
software=$(echo "$software" | sed -e "s/fail2ban//")
|
software=$(echo "$software" | sed -e "s/fail2ban//")
|
||||||
fi
|
fi
|
||||||
if [ "$phpfpm" = 'yes' ]; then
|
if [ "$phpfpm" = 'yes' ]; then
|
||||||
software=$(echo "$software" | sed -e "s/php${php_v}-php-cgi.${arch}//")
|
software=$(echo "$software" | sed -e "s/php${php_v}-php-cgi//")
|
||||||
software=$(echo "$software" | sed -e "s/httpd-itk//")
|
software=$(echo "$software" | sed -e "s/httpd-itk//")
|
||||||
software=$(echo "$software" | sed -e "s/mod_ruid2 //")
|
software=$(echo "$software" | sed -e "s/mod_ruid2 //")
|
||||||
software=$(echo "$software" | sed -e "s/mod_suphp//")
|
software=$(echo "$software" | sed -e "s/mod_suphp//")
|
||||||
software=$(echo "$software" | sed -e "s/mod_fcgid//")
|
software=$(echo "$software" | sed -e "s/mod_fcgid//")
|
||||||
software=$(echo "$software" | sed -e "s/php${php_v}-php.${arch}//")
|
software=$(echo "$software" | sed -e "s/php${php_v}-php//")
|
||||||
software=$(echo "$software" | sed -e "s/brepo-php${php_v}-mod-apache//")
|
software=$(echo "$software" | sed -e "s/brepo-php${php_v}-mod-apache//")
|
||||||
mod_php="disable"
|
mod_php="disable"
|
||||||
fi
|
fi
|
||||||
@@ -1478,7 +1478,9 @@ if [ "$apache" = 'yes' ]; then
|
|||||||
if [ -e /etc/httpd/conf.dmod_suphp.conf ]; then
|
if [ -e /etc/httpd/conf.dmod_suphp.conf ]; then
|
||||||
cp /etc/httpd/conf.d/mod_suphp.conf /etc/httpd/conf.h.d/mod_suphp.conf
|
cp /etc/httpd/conf.d/mod_suphp.conf /etc/httpd/conf.h.d/mod_suphp.conf
|
||||||
fi
|
fi
|
||||||
ln -s "/etc/httpd/conf.d.prep/php${php_v}.conf" /etc/httpd/conf.modules.d/09-mod-php.conf
|
if [ -e "/etc/httpd/conf.d.prep/php${php_v}.conf" ]; then
|
||||||
|
ln -s "/etc/httpd/conf.d.prep/php${php_v}.conf" /etc/httpd/conf.modules.d/09-mod-php.conf
|
||||||
|
fi
|
||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|||||||
@@ -43,12 +43,5 @@
|
|||||||
|
|
||||||
IncludeOptional %home%/%user%/conf/web/%domain%/%web_system%.ssl.conf_*
|
IncludeOptional %home%/%user%/conf/web/%domain%/%web_system%.ssl.conf_*
|
||||||
IncludeOptional /etc/httpd/conf.h.d/*.inc
|
IncludeOptional /etc/httpd/conf.h.d/*.inc
|
||||||
<IfModule mod_ruid2.c>
|
|
||||||
RMode config
|
|
||||||
RUidGid %user% %group%
|
|
||||||
RGroups apache
|
|
||||||
</IfModule>
|
|
||||||
<IfModule mpm_itk.c>
|
|
||||||
AssignUserID %user% %group%
|
|
||||||
</IfModule>
|
|
||||||
</VirtualHost>
|
</VirtualHost>
|
||||||
|
|||||||
@@ -38,12 +38,5 @@
|
|||||||
</Directory>
|
</Directory>
|
||||||
IncludeOptional %home%/%user%/conf/web/%domain%/%web_system%.conf_*
|
IncludeOptional %home%/%user%/conf/web/%domain%/%web_system%.conf_*
|
||||||
IncludeOptional /etc/httpd/conf.h.d/*.inc
|
IncludeOptional /etc/httpd/conf.h.d/*.inc
|
||||||
<IfModule mod_ruid2.c>
|
|
||||||
RMode config
|
|
||||||
RUidGid %user% %group%
|
|
||||||
RGroups apache
|
|
||||||
</IfModule>
|
|
||||||
<IfModule mpm_itk.c>
|
|
||||||
AssignUserID %user% %group%
|
|
||||||
</IfModule>
|
|
||||||
</VirtualHost>
|
</VirtualHost>
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
|
|
||||||
Name: hestia
|
Name: hestia
|
||||||
Version: 1.9.6
|
Version: 1.9.6
|
||||||
Release: 7%{dist}
|
Release: 9%{dist}
|
||||||
Summary: Hestia Control Panel
|
Summary: Hestia Control Panel
|
||||||
Group: System Environment/Base
|
Group: System Environment/Base
|
||||||
License: GPLv3
|
License: GPLv3
|
||||||
@@ -36,8 +36,7 @@ Requires(post): systemd
|
|||||||
Requires(preun): systemd
|
Requires(preun): systemd
|
||||||
Requires(postun): systemd
|
Requires(postun): systemd
|
||||||
Requires: ruby
|
Requires: ruby
|
||||||
Requires: puppet
|
Requires: ansible-core
|
||||||
Requires: puppet-stdlib
|
|
||||||
|
|
||||||
Provides: hestia = %{version}-%{release}
|
Provides: hestia = %{version}-%{release}
|
||||||
Conflicts: redhat-release < 8
|
Conflicts: redhat-release < 8
|
||||||
@@ -184,7 +183,10 @@ fi
|
|||||||
%{_tmpfilesdir}/%{name}.conf
|
%{_tmpfilesdir}/%{name}.conf
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
* Fri Mar 27 2026 Alexey Berezhok <a@bayrepo.ru> - 1.9.6-7
|
* Sun Mar 29 2026 Alexey Berezhok <a@bayrepo.ru> - 1.9.6-9
|
||||||
|
- Added support ansible instead of puppet
|
||||||
|
|
||||||
|
* Fri Mar 27 2026 Alexey Berezhok <a@bayrepo.ru> - 1.9.6-8
|
||||||
- Fixed installation of panel without PHP-FPM
|
- Fixed installation of panel without PHP-FPM
|
||||||
- Fixed mod_php, fcgid, fcgi mode
|
- Fixed mod_php, fcgid, fcgi mode
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user