Added passeneg manager. Part 5

devel
Alexey Berezhok 4 months ago
parent d3f7451c9b
commit c572522f43

@ -289,6 +289,22 @@ add_web_config() {
domain_idn=$domain
format_domain_idn
PASS_TPL=""
#Passenger generator
if [ -e /usr/local/hestia/bin/v-ext-modules ]; then
res=$(/usr/local/hestia/bin/v-ext-modules state passenger_manager | tail -n 1)
if [ -n "$res" ]; then
enabled=$(echo "$res" | grep enabled)
if [ -n "$enabled" ]; then
ruby_res=$(/usr/local/hestia/bin/v-ext-modules-run passenger_manager get_user_ruby "$domain" | tail -n1)
if [ -n "$ruby_res" ]; then
:
#TODO
fi
fi
fi
fi
WEBTPL_LOCATION="$WEBTPL/$1"
if [ "$1" != "$PROXY_SYSTEM" ] && [ -n "$WEB_BACKEND" ] && [ -d "$WEBTPL_LOCATION/$WEB_BACKEND" ]; then
if [ -f "$WEBTPL_LOCATION/$WEB_BACKEND/$2" ]; then

@ -164,9 +164,16 @@ class PassengerWorker < Kernel::ModuleCoreWorker
val = hestia_get_file_key_pair(dom_file, domain)
result = Hash.new
result["RUBY"] = val
hestia_print_array_of_hashes(result, format, "RUBY")
a_result = []
a_result << result
hestia_print_array_of_hashes(a_result, format, "RUBY")
ACTION_OK
end
when "get_tpl_path"
result = [{ "RUBY_TPL" => get_module_paydata_dir }]
format = (args[1].nil? ? "shell" : args[1].strip)
hestia_print_array_of_hashes(result, format, "RUBY_TPL")
ACTION_OK
else
log_return("Unknown commands. #{args}")
end

@ -0,0 +1,48 @@
# Default Web Domain Template #
# DO NOT MODIFY THIS FILE! CHANGES WILL BE LOST WHEN REBUILDING DOMAINS #
#=========================================================================#
server {
listen %ip%:%proxy_ssl_port% ssl;
server_name %domain_idn% %alias_idn%;
root %docroot%
error_log /var/log/%web_system%/domains/%domain%.error.log error;
ssl_certificate %ssl_pem%;
ssl_certificate_key %ssl_key%;
ssl_stapling on;
ssl_stapling_verify on;
# TLS 1.3 0-RTT anti-replay
if ($anti_replay = 307) { return 307 https://$host$request_uri; }
if ($anti_replay = 425) { return 425; }
include %home%/%user%/conf/web/%domain%/nginx.hsts.conf*;
location ~ /\.(?!well-known\/|file) {
deny all;
return 404;
}
passenger_enabled on;
passenger_user %user%;
passenger_group %user%;
location / {
passenger_base_uri /;
passenger_app_root %docroot%;
passenger_document_root %docroot%;
passenger_startup_file config.rb;
passenger_app_type rack;
}
location /error/ {
alias %home%/%user%/web/%domain%/document_errors/;
}
disable_symlinks if_not_owner from=%sdocroot%;
proxy_hide_header Upgrade;
include %home%/%user%/conf/web/%domain%/nginx.ssl.conf_*;
}

@ -0,0 +1,33 @@
# Default Web Domain Template #
# DO NOT MODIFY THIS FILE! CHANGES WILL BE LOST WHEN REBUILDING DOMAINS #
#=========================================================================#
server {
listen %ip%:%proxy_port%;
server_name %domain_idn% %alias_idn%;
root %docroot%;
error_log /var/log/%web_system%/domains/%domain%.error.log error;
include %home%/%user%/conf/web/%domain%/nginx.forcessl.conf*;
location ~ /\.(?!well-known\/|file) {
deny all;
return 404;
}
passenger_enabled on;
passenger_user %user%;
passenger_group %user%;
location / {
passenger_base_uri /;
passenger_app_root %docroot%;
passenger_document_root %docroot%;
passenger_startup_file config.rb;
passenger_app_type rack;
}
disable_symlinks if_not_owner from=%docroot%;
include %home%/%user%/conf/web/%domain%/nginx.conf_*;
}

@ -133,8 +133,13 @@ class Kernel::ModuleCoreWorker
ACTION_OK
end
def get_module_paydata_dir()
"#{Kernel::PluginConfiguration::MODULES_DATA_PATH}/#{self.class::MODULE_ID}/"
end
def get_module_paydata(file_path)
"#{Kernel::PluginConfiguration::MODULES_DATA_PATH}/#{self.class::MODULE_ID}/#{file_path}"
dir = get_module_paydata_dir
"#{dir}#{file_path}"
end
def get_module_conf(file_path)

@ -477,7 +477,7 @@ if ($passenger_state == "enabled") {
<div class="form-check u-mb10">
<input class="form-check-input" type="checkbox" name="v_passenger_enabled" id="v_passenger_enabled"
<?php
if ($domain_ruby["RUBY"] != "") {
if ($domain_ruby[0]["RUBY"] != "") {
echo "checked";
}
?> >
@ -493,7 +493,7 @@ if ($passenger_state == "enabled") {
<?php
foreach ($rubys as $key => $value) {
echo "\t\t\t\t<option value=\"".htmlentities($value["RUBY"])."\"";
if ((!empty($domain_ruby)) && ( $value["RUBY"] == $domain_ruby["RUBY"] )){
if ((!empty($domain_ruby)) && ( $value["RUBY"] == $domain_ruby[0]["RUBY"] )){
echo ' selected' ;
}
echo ">".htmlentities($value["RUBY"])."</option>\n";

Loading…
Cancel
Save