Added passeneg manager. Part 11

devel
Alexey Berezhok 3 months ago
parent 9036a02b5b
commit 5443ea44dd

@ -146,6 +146,18 @@ if [[ $BACKEND =~ ^.*PHP-([0-9])\_([0-9])$ ]]; then
else
version=$(multiphp_default_version)
fi
# Delete ruby if exists
if [ -e /usr/local/hestia/bin/v-ext-modules ]; then
res=$(/usr/local/hestia/bin/v-ext-modules state passenger_manager csv | tail -n 1 | /usr/bin/xargs | cut -d"," -f6 )
if [ -n "$res" ]; then
enabled=$(echo "$res" | grep enabled)
if [ -n "$enabled" ]; then
/usr/local/hestia/bin/v-ext-modules-run passenger_manager disable_user "$domain"
fi
fi
fi
# Restarting web server
$BIN/v-restart-web "$restart"
check_result $? "Web restart failed" > /dev/null

@ -6,7 +6,13 @@ class PassengerWorker < Kernel::ModuleCoreWorker
MODULE_ID = "passenger_manager"
def check_domains_with_passenger
true
dom_file = get_module_conf("domains.conf")
val = hestia_get_file_keys_value(dom_file)
if val.empty?
true
else
false
end
end
def info
@ -169,6 +175,16 @@ class PassengerWorker < Kernel::ModuleCoreWorker
hestia_print_array_of_hashes(a_result, format, "RUBY")
ACTION_OK
end
when "list_users_ruby"
dom_file = get_module_conf("domains.conf")
format = (args[1].nil? ? "shell" : args[1].strip)
val = hestia_get_file_keys_value(dom_file)
result = Array.new
val.each do |key, value|
result << { "DOMAIN" => key, "RUBY" => value }
end
hestia_print_array_of_hashes(result, format, "DOMAIN,RUBY")
ACTION_OK
when "get_tpl_path"
result = [{ "RUBY_TPL" => get_module_paydata_dir }]
format = (args[1].nil? ? "shell" : args[1].strip)

@ -1,3 +1,38 @@
package {
ensure => installed,
name => 'rubygems-devel',
provider => 'dnf',
}
package {
ensure => installed,
name => 'rubygem-rake',
provider => 'dnf',
}
package {
ensure => installed,
name => 'ruby-devel',
provider => 'dnf',
}
package {
ensure => installed,
name => 'rubygem-rack',
provider => 'dnf',
}
package {
ensure => installed,
name => 'alt-brepo-ruby33-devel',
provider => 'dnf',
}
package {
ensure => installed,
name => 'alt-brepo-ruby33-rubygem-rake',
provider => 'dnf',
}
package {
ensure => installed,
name => 'passenger-devel',
provider => 'dnf',
}
package { 'passenger':
ensure => installed,
name => 'passenger',
@ -14,7 +49,9 @@ package { 'passenger':
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_user_switching on;
passenger_env_var PASSENGER_COMPILE_NATIVE_SUPPORT_BINARY 0;
passenger_env_var PASSENGER_DOWNLOAD_NATIVE_SUPPORT_BINARY 0;',
}
-> file { 'passenger_includer.conf':
ensure => file,

@ -268,6 +268,26 @@ def hestia_get_file_key_pair(file, key)
value
end
def hestia_get_file_keys_value(file)
value = Hash.new
if File.exist?(file)
File.open(file, File::RDONLY) do |f|
f.flock(File::LOCK_SH)
f.each do |line|
result = line.strip.split("=", 2)
if result.length > 1
k = result[0].strip
v = result[1].strip
if k != ""
value[k] = v
end
end
end
end
end
value
end
def hestia_save_file_key_pair(file, key, value)
File.open(file, File::RDWR | File::CREAT, 0600) do |f|
f.flock(File::LOCK_EX)

@ -2026,7 +2026,7 @@ write_config_value "POLICY_SYSTEM_PROTECTED_ADMIN" "no"
write_config_value "POLICY_SYSTEM_PASSWORD_RESET" "yes"
write_config_value "POLICY_SYSTEM_HIDE_SERVICES" "no"
write_config_value "POLICY_SYSTEM_ENABLE_BACON" "no"
write_config_value "PLUGIN_APP_INSTALLER" "true"
write_config_value "PLUGIN_APP_INSTALLER" "false"
write_config_value "DEBUG_MODE" "no"
write_config_value "ENFORCE_SUBDOMAIN_OWNERSHIP" "yes"
write_config_value "USE_SERVER_SMTP" "false"

Loading…
Cancel
Save