From afcf1a15729ba350d8bc60829cc7125f933fd544 Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Mon, 15 Mar 2021 19:42:12 +0100 Subject: [PATCH 001/896] Update Changelog.md --- Changelog.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Changelog.md b/Changelog.md index 475fe080..a9f65487 100644 --- a/Changelog.md +++ b/Changelog.md @@ -1,7 +1,7 @@ Version 0.9.8-26-43 [15-Mar-2021] ================================================== * [Security] fix for: CSRF remote code execution in UploadHandler.php - CVE-2021-28379 (Credits to: Fady Osman @fady_othman) -* [Security] fix for: Local privilege escalation from user account to admin account user via v-add-web-domain (Credits to: Two independent security researchers, Marti Guasch Jiménez and Francisco Andreu Sanz, working with the SSD Secure Disclosure program) (and also thanks to HestiaCP @hestiacp for fix) +* [Security] fix for: Local privilege escalation from user account to admin account via v-add-web-domain (Credits to: Two independent security researchers, Marti Guasch Jiménez and Francisco Andreu Sanz, working with the SSD Secure Disclosure program) (and also thanks to HestiaCP @hestiacp for fix) * [Security] fix for: Local privilege escalation in v-generate-ssl-cert (potential user to admin or root escalation) (Credits to: Numan Türle @numanturle, thanks to HestiaCP @hestiacp for fix) * [Security] fix for: Local privilege escalation in /web/api/ via v-make-tmp-file (probably admin to root escalation) (Credits to: Numan Türle @numanturle, thanks to HestiaCP @hestiacp for fix) * [Security] fix for: Cross site scripting in /web/add/ip/ (admin to other admin XSS escalation) (Credits to: Numan Türle @numanturle, thanks to HestiaCP @hestiacp for fix) From 627684c0bd98e762f4c54add5e255a7ba22a7f16 Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Tue, 16 Mar 2021 00:19:03 +0100 Subject: [PATCH 002/896] Fix duplicated DNS records in DNS cluster Credits to: @madeITBelgium --- bin/v-insert-dns-domain | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/v-insert-dns-domain b/bin/v-insert-dns-domain index b767b576..9e6874df 100755 --- a/bin/v-insert-dns-domain +++ b/bin/v-insert-dns-domain @@ -50,7 +50,7 @@ if [ "$flush" = 'records' ]; then fi # Flush domain -if [ "$flush" ! = 'no' ]; then +if [ "$flush" != 'no' ]; then sed -i "/DOMAIN='$DOMAIN'/d" $USER_DATA/dns.conf 2> /dev/null fi From 1b9d3bb0cc5af166de3d2e84ccbb194f6d92e3fb Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Wed, 17 Mar 2021 13:21:14 +0100 Subject: [PATCH 003/896] css fix --- web/css/styles.min.css | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/web/css/styles.min.css b/web/css/styles.min.css index 302f9c01..614dda49 100644 --- a/web/css/styles.min.css +++ b/web/css/styles.min.css @@ -651,8 +651,8 @@ input[type="checkbox"] { } .l-center { - margin: 0 auto; - max-width: 998px; + margin: 0 5%; + max-width: 100%; } .l-logo { From c907e11151689b005b3f4bc3e35f607f6dac7757 Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Tue, 23 Mar 2021 14:11:45 +0100 Subject: [PATCH 004/896] rollback css fix --- web/css/styles.min.css | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/web/css/styles.min.css b/web/css/styles.min.css index 614dda49..302f9c01 100644 --- a/web/css/styles.min.css +++ b/web/css/styles.min.css @@ -651,8 +651,8 @@ input[type="checkbox"] { } .l-center { - margin: 0 5%; - max-width: 100%; + margin: 0 auto; + max-width: 998px; } .l-logo { From a4977253ca05dc253af7e04e4fb136d6f1a7700c Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Tue, 23 Mar 2021 14:33:27 +0100 Subject: [PATCH 005/896] css fix on right place MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Thanks to Miloš Spasić --- web/templates/admin/list_server_info.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/web/templates/admin/list_server_info.html b/web/templates/admin/list_server_info.html index 748c940e..eaaf34cd 100644 --- a/web/templates/admin/list_server_info.html +++ b/web/templates/admin/list_server_info.html @@ -40,5 +40,5 @@ -
From f5cc2bb7f24e9bdb4cdb3be425383967fb4fdc53 Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Sun, 4 Apr 2021 18:36:27 +0200 Subject: [PATCH 006/896] Check if it's vesta package MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Credits to: Numan Türle @numanturle --- bin/v-update-sys-vesta | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/bin/v-update-sys-vesta b/bin/v-update-sys-vesta index f3373823..8db9242d 100755 --- a/bin/v-update-sys-vesta +++ b/bin/v-update-sys-vesta @@ -28,6 +28,23 @@ source $VESTA/conf/vesta.conf # Checking arg number check_args '1' "$#" 'PACKAGE' +valid=0 +if [ "$package" = "vesta" ]; then + valid=1 +fi +if [ "$package" = "vesta-nginx" ]; then + valid=1 +fi +if [ "$package" = "vesta-php" ]; then + valid=1 +fi +if [ "$package" = "vesta-softaculous" ]; then + valid=1 +fi +if [ $valid -eq 0 ]; then + echo "Package $package is not valid" + exit 1 +fi #----------------------------------------------------------# # Action # From d20f1aebd0a189de7dd485ab820b9f835da1e8b0 Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Sun, 4 Apr 2021 18:48:41 +0200 Subject: [PATCH 007/896] Preventing multiple execution of v-backup-users --- bin/v-backup-users | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/bin/v-backup-users b/bin/v-backup-users index 640c1916..5b9f75f4 100755 --- a/bin/v-backup-users +++ b/bin/v-backup-users @@ -4,6 +4,14 @@ # # The function backups all system users. +scriptname="v-backup-users" +pidof -x "$scriptname" +for pid in $(pidof -x "$scriptname"); do + if [ $pid != $$ ]; then + echo "[$(date)] : $scriptname : Process is already running with PID $pid" + exit 1 + fi +done #----------------------------------------------------------# # Variable&Function # From 75209618a0f45c9dd67b785be090d5fabe270c51 Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Sun, 4 Apr 2021 18:55:49 +0200 Subject: [PATCH 008/896] Update v-backup-users --- bin/v-backup-users | 1 - 1 file changed, 1 deletion(-) diff --git a/bin/v-backup-users b/bin/v-backup-users index 5b9f75f4..9671c9e8 100755 --- a/bin/v-backup-users +++ b/bin/v-backup-users @@ -5,7 +5,6 @@ # The function backups all system users. scriptname="v-backup-users" -pidof -x "$scriptname" for pid in $(pidof -x "$scriptname"); do if [ $pid != $$ ]; then echo "[$(date)] : $scriptname : Process is already running with PID $pid" From 6ac6f50598d8de41b9f77a5819d293e0cc5888e7 Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Sun, 4 Apr 2021 19:05:47 +0200 Subject: [PATCH 009/896] Update vesta_compile.sh --- src/deb/vesta_compile.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/deb/vesta_compile.sh b/src/deb/vesta_compile.sh index d266d228..389781c9 100644 --- a/src/deb/vesta_compile.sh +++ b/src/deb/vesta_compile.sh @@ -58,9 +58,9 @@ BUILD_DATE=$(date +"%d-%b-%Y") # Set Version for compiling VESTA_V=$VESTA_VER"_amd64" -NGINX_V='1.17.7' -OPENSSL_V='1.1.1d' -PCRE_V='8.43' +NGINX_V='1.19.9' +OPENSSL_V='1.1.1k' +PCRE_V='8.44' ZLIB_V='1.2.11' PHP_V='5.6.40' From 23d02598a1829a893766677175fded191eb9dd37 Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Sun, 4 Apr 2021 19:13:17 +0200 Subject: [PATCH 010/896] Update control --- src/deb/nginx/control | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/deb/nginx/control b/src/deb/nginx/control index a263250f..54cada5d 100644 --- a/src/deb/nginx/control +++ b/src/deb/nginx/control @@ -1,7 +1,7 @@ Source: vesta-nginx Package: vesta-nginx Priority: optional -Version: 0.9.8-26 +Version: 0.9.8-26-44 Section: admin Maintainer: Predrag DamnjanovicHomepage: http://myvestacp.com From 7d05689ca9cb42ab90f7c60c19e4215a3d6d9eda Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Sun, 4 Apr 2021 19:17:58 +0200 Subject: [PATCH 011/896] Update copyright --- src/deb/nginx/copyright | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/deb/nginx/copyright b/src/deb/nginx/copyright index 5f58e6bd..3feceb98 100644 --- a/src/deb/nginx/copyright +++ b/src/deb/nginx/copyright @@ -3,7 +3,7 @@ Upstream-Name: vesta-nginx Source: http://myvestacp.com Files: * -Copyright: 2019 MyVesta +Copyright: 2021 MyVesta License: GPL-3.0+ Remarks: MyVesta is a fork from VestaCP, special thanks to vestacp.com and Serghey Rodin From 801395c2b1b2b8f544dcd90f9e5e643a3a1ee280 Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Sun, 4 Apr 2021 19:30:23 +0200 Subject: [PATCH 012/896] vesta-0.9.8-26-44 --- src/deb/latest.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/deb/latest.txt b/src/deb/latest.txt index c9ff1cd0..56430e65 100644 --- a/src/deb/latest.txt +++ b/src/deb/latest.txt @@ -1 +1 @@ -vesta-0.9.8-26-43 +vesta-0.9.8-26-44 From 5f8579697c187e8621f0191cfd1600e45c9638ad Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Sun, 4 Apr 2021 19:39:04 +0200 Subject: [PATCH 013/896] Update Changelog.md --- Changelog.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/Changelog.md b/Changelog.md index a9f65487..250fbb89 100644 --- a/Changelog.md +++ b/Changelog.md @@ -1,3 +1,10 @@ +Version 0.9.8-26-44 [04-Apr-2021] +================================================== +* [Security] Preventing denial-of-service in openssl library in vesta-nginx service (CVE-2021-3449) +* [Security] Preventing admin to install non-vesta packages from vesta admin user interface (Credits to: Numan Türle @numanturle) +* [Bugfix] Preventing multiple execution of v-backup-users +* [UserInterface] CSS fix for Apache status table (Credits to: Milos Spasic) + Version 0.9.8-26-43 [15-Mar-2021] ================================================== * [Security] fix for: CSRF remote code execution in UploadHandler.php - CVE-2021-28379 (Credits to: Fady Osman @fady_othman) From 78f8c0cb110c4e8efb5f0a610d80b34fc994485c Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Sun, 4 Apr 2021 19:41:16 +0200 Subject: [PATCH 014/896] Update Changelog.md --- Changelog.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Changelog.md b/Changelog.md index 250fbb89..d4db2e5c 100644 --- a/Changelog.md +++ b/Changelog.md @@ -1,7 +1,7 @@ Version 0.9.8-26-44 [04-Apr-2021] ================================================== * [Security] Preventing denial-of-service in openssl library in vesta-nginx service (CVE-2021-3449) -* [Security] Preventing admin to install non-vesta packages from vesta admin user interface (Credits to: Numan Türle @numanturle) +* [Security] Preventing admin to install non-vesta packages from vesta admin panel user interface (Credits to: Numan Türle @numanturle) * [Bugfix] Preventing multiple execution of v-backup-users * [UserInterface] CSS fix for Apache status table (Credits to: Milos Spasic) From 39318bafef7079c02d2bac0a1bd960785ba8491f Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Sun, 11 Apr 2021 16:58:35 +0200 Subject: [PATCH 015/896] Logging LetsEncrypt process --- bin/v-add-letsencrypt-domain | 101 ++++++++++++++++++++++++++++++++--- 1 file changed, 93 insertions(+), 8 deletions(-) diff --git a/bin/v-add-letsencrypt-domain b/bin/v-add-letsencrypt-domain index 15361ffb..9dbc335f 100755 --- a/bin/v-add-letsencrypt-domain +++ b/bin/v-add-letsencrypt-domain @@ -73,11 +73,16 @@ is_object_unsuspended 'user' 'USER' "$user" is_object_valid 'web' 'DOMAIN' "$domain" is_object_unsuspended 'web' 'DOMAIN' "$domain" get_domain_values 'web' + +echo "-----------------------------------------------------------------------------------" >> /usr/local/vesta/log/letsencrypt.log +echo "[$(date)] : v-add-letsencrypt-domain $domain [$aliases]" >> /usr/local/vesta/log/letsencrypt.log + # check if alias is the letsencrypt wildcard domain, if not, make the normal checks if [[ "$aliases" != "*.$domain" ]]; then for alias in $(echo "$aliases" |tr ',' '\n' |sort -u); do check_alias="$(echo $ALIAS |tr ',' '\n' |grep ^$alias$)" if [ -z "$check_alias" ]; then + echo "[$(date)] : EXIT=domain alias $alias doesn't exist" >> /usr/local/vesta/log/letsencrypt.log check_result $E_NOTEXIST "domain alias $alias doesn't exist" fi done @@ -88,11 +93,14 @@ fi; #----------------------------------------------------------# # Registering LetsEncrypt user account +echo "[$(date)] : v-add-letsencrypt-user $user" >> /usr/local/vesta/log/letsencrypt.log $BIN/v-add-letsencrypt-user $user +echo "[$(date)] : result: $?" >> /usr/local/vesta/log/letsencrypt.log if [ "$?" -ne 0 ]; then touch $VESTA/data/queue/letsencrypt.pipe sed -i "/ $domain /d" $VESTA/data/queue/letsencrypt.pipe send_notice "LETSENCRYPT" "Account registration failed" + echo "[$(date)] : EXIT=LE account registration" >> /usr/local/vesta/log/letsencrypt.log check_result $E_CONNECT "LE account registration" >/dev/null fi @@ -101,9 +109,11 @@ source $USER_DATA/ssl/le.conf # Checking wildcard alias if [ "$aliases" = "*.$domain" ]; then + echo "[$(date)] : Checking wildcard alias" >> /usr/local/vesta/log/letsencrypt.log wildcard='yes' proto="dns-01" if [ ! -e "$VESTA/data/users/$user/dns/$domain.conf" ]; then + echo "[$(date)] : EXIT=DNS domain $domain doesn't exist" >> /usr/local/vesta/log/letsencrypt.log check_result $E_NOTEXIST "DNS domain $domain doesn't exist" fi else @@ -111,14 +121,21 @@ else fi # Requesting nonce / STEP 1 +echo "[$(date)] : --- Requesting nonce / STEP 1 ---" >> /usr/local/vesta/log/letsencrypt.log +echo "[$(date)] : curl -s -I \"$API/directory\"" >> /usr/local/vesta/log/letsencrypt.log answer=$(curl -s -I "$API/directory") +echo "[$(date)] : answer=$answer" >> /usr/local/vesta/log/letsencrypt.log nonce=$(echo "$answer" |grep -i nonce |cut -f2 -d \ |tr -d '\r\n') +echo "[$(date)] : nonce=$nonce" >> /usr/local/vesta/log/letsencrypt.log status=$(echo "$answer"|grep HTTP/ |tail -n1 |cut -f 2 -d ' ') +echo "[$(date)] : status=$status" >> /usr/local/vesta/log/letsencrypt.log if [[ "$status" -ne 200 ]]; then + echo "[$(date)] : EXIT=Let's Encrypt nonce request status $status" >> /usr/local/vesta/log/letsencrypt.log check_result $E_CONNECT "Let's Encrypt nonce request status $status" fi # Placing new order / STEP 2 +echo "[$(date)] : --- Placing new order / STEP 2 ---" >> /usr/local/vesta/log/letsencrypt.log url="$API/acme/new-order" payload='{"identifiers":[' for identifier in $(echo $domain,$aliases |tr ',' '\n' |sort -u); do @@ -127,38 +144,62 @@ for identifier in $(echo $domain,$aliases |tr ',' '\n' |sort -u); do done payload=$(echo "$payload"|sed "s/,$//") payload=$payload']}' +echo "[$(date)] : payload=$payload" >> /usr/local/vesta/log/letsencrypt.log +echo "[$(date)] : query_le_v2 \"$url\" \"$payload\" \"$nonce\"" >> /usr/local/vesta/log/letsencrypt.log answer=$(query_le_v2 "$url" "$payload" "$nonce") +echo "[$(date)] : answer=$answer" >> /usr/local/vesta/log/letsencrypt.log nonce=$(echo "$answer" |grep -i nonce |cut -f2 -d \ |tr -d '\r\n') +echo "[$(date)] : nonce=$nonce" >> /usr/local/vesta/log/letsencrypt.log authz=$(echo "$answer" |grep "acme/authz" |cut -f2 -d '"') +echo "[$(date)] : authz=$authz" >> /usr/local/vesta/log/letsencrypt.log finalize=$(echo "$answer" |grep 'finalize":' |cut -f4 -d '"') +echo "[$(date)] : finalize=$finalize" >> /usr/local/vesta/log/letsencrypt.log status=$(echo "$answer" |grep HTTP/ |tail -n1 |cut -f2 -d ' ') +echo "[$(date)] : status=$status" >> /usr/local/vesta/log/letsencrypt.log if [[ "$status" -ne 201 ]]; then + echo "[$(date)] : EXIT=Let's Encrypt new auth status $status" >> /usr/local/vesta/log/letsencrypt.log check_result $E_CONNECT "Let's Encrypt new auth status $status" fi # Requesting authorization token / STEP 3 +echo "[$(date)] : --- Requesting authorization token / STEP 3 ---" >> /usr/local/vesta/log/letsencrypt.log for auth in $authz; do payload='' + echo "[$(date)] : for auth=$auth" >> /usr/local/vesta/log/letsencrypt.log + echo "[$(date)] : query_le_v2 \"$auth\" \"$payload\" \"$nonce\"" >> /usr/local/vesta/log/letsencrypt.log answer=$(query_le_v2 "$auth" "$payload" "$nonce") + echo "[$(date)] : answer=$answer" >> /usr/local/vesta/log/letsencrypt.log url=$(echo "$answer" |grep -A3 $proto |grep url |cut -f 4 -d \") + echo "[$(date)] : url=$url" >> /usr/local/vesta/log/letsencrypt.log token=$(echo "$answer" |grep -A3 $proto |grep token |cut -f 4 -d \") + echo "[$(date)] : token=$token" >> /usr/local/vesta/log/letsencrypt.log nonce=$(echo "$answer" |grep -i nonce |cut -f2 -d \ |tr -d '\r\n') + echo "[$(date)] : nonce=$nonce" >> /usr/local/vesta/log/letsencrypt.log status=$(echo "$answer"|grep HTTP/ |tail -n1 |cut -f 2 -d ' ') + echo "[$(date)] : status=$status" >> /usr/local/vesta/log/letsencrypt.log if [[ "$status" -ne 200 ]]; then + echo "[$(date)] : EXIT=Let's Encrypt acme/authz bad status $status" >> /usr/local/vesta/log/letsencrypt.log check_result $E_CONNECT "Let's Encrypt acme/authz bad status $status" fi - # Accepting challenge / STEP 4 + # Configuring challenge / STEP 4 + echo "[$(date)] : --- Configuring challenge / STEP 4 ---" >> /usr/local/vesta/log/letsencrypt.log + echo "[$(date)] : wildcard=$wildcard" >> /usr/local/vesta/log/letsencrypt.log if [ "$wildcard" = 'yes' ]; then record=$(printf "%s" "$token.$THUMB" |\ openssl dgst -sha256 -binary |encode_base64) old_records=$($BIN/v-list-dns-records $user $domain plain|grep 'TXT') old_records=$(echo "$old_records" |grep _acme-challenge |cut -f 1) for old_record in $old_records; do - $BIN/v-delete-dns-record $user $domain $old_record + $BIN/v-delete-dns-record "$user" "$domain" "$old_record" done - $BIN/v-add-dns-record $user $domain "_acme-challenge" "TXT" $record - check_result $? "DNS _acme-challenge record wasn't created" + $BIN/v-add-dns-record "$user" "$domain" "_acme-challenge" "TXT" "$record" + exitstatus=$? + echo "[$(date)] : v-add-dns-record \"$user\" \"$domain\" \"_acme-challenge\" \"TXT\" \"$record\"" >> /usr/local/vesta/log/letsencrypt.log + if [ "$exitstatus" -ne 0 ]; then + echo "[$(date)] : EXIT=DNS _acme-challenge record wasn't created" >> /usr/local/vesta/log/letsencrypt.log + fi + check_result $exitstatus "DNS _acme-challenge record wasn't created" else if [ "$WEB_SYSTEM" = 'nginx' ] || [ ! -z "$PROXY_SYSTEM" ]; then if [ -f "/usr/local/vesta/web/inc/nginx_proxy" ]; then @@ -167,6 +208,7 @@ for auth in $authz; do acme_challenge="$well_known/acme-challenge" mkdir -p $acme_challenge echo "$token.$THUMB" > $acme_challenge/$token + echo "[$(date)] : in $acme_challenge/$token we put: $token.$THUMB" >> /usr/local/vesta/log/letsencrypt.log chown -R $user:$user $well_known else # default nginx method @@ -179,15 +221,22 @@ for auth in $authz; do echo ' return 200 "$1.'$THUMB'";' >> $conf echo '}' >> $conf fi + echo "[$(date)] : in $conf we put: $THUMB" >> /usr/local/vesta/log/letsencrypt.log if [ ! -e "$sconf" ]; then ln -s "$conf" "$sconf" fi + echo "[$(date)] : v-restart-proxy" >> /usr/local/vesta/log/letsencrypt.log $BIN/v-restart-proxy if [ -z "$PROXY_SYSTEM" ]; then # apache-less variant + echo "[$(date)] : v-restart-web" >> /usr/local/vesta/log/letsencrypt.log $BIN/v-restart-web fi - check_result $? "Proxy restart failed" >/dev/null + exitstatus=$? + if [ "$exitstatus" -ne 0 ]; then + echo "[$(date)] : EXIT=Proxy restart failed = $exitstatus" >> /usr/local/vesta/log/letsencrypt.log + fi + check_result $exitstatus "Proxy restart failed" >/dev/null fi else well_known="$HOMEDIR/$user/web/$domain/public_html/.well-known" @@ -195,13 +244,16 @@ for auth in $authz; do mkdir -p $acme_challenge echo "$token.$THUMB" > $acme_challenge/$token chown -R $user:$user $well_known + echo "[$(date)] : in $acme_challenge/$token we put: $token.$THUMB" >> /usr/local/vesta/log/letsencrypt.log # $BIN/v-restart-web # check_result $? "Web restart failed" >/dev/null fi fi # Requesting ACME validation / STEP 5 + echo "[$(date)] : --- Requesting ACME validation / STEP 5 ---" >> /usr/local/vesta/log/letsencrypt.log validation_check=$(echo "$answer" |grep '"valid"') + echo "[$(date)] : validation_check=$validation_check" >> /usr/local/vesta/log/letsencrypt.log if [[ ! -z "$validation_check" ]]; then validation='valid' else @@ -211,22 +263,33 @@ for auth in $authz; do # Doing pol check on status i=1 while [ "$validation" = 'pending' ]; do + echo "[$(date)] : - Doing pol check on status" >> /usr/local/vesta/log/letsencrypt.log payload='{}' + echo "[$(date)] : query_le_v2 \"$url\" \"$payload\" \"$nonce\"" >> /usr/local/vesta/log/letsencrypt.log answer=$(query_le_v2 "$url" "$payload" "$nonce") + echo "[$(date)] : answer=$answer" >> /usr/local/vesta/log/letsencrypt.log validation=$(echo "$answer"|grep -A1 $proto |tail -n1|cut -f4 -d \") + echo "[$(date)] : validation=$validation" >> /usr/local/vesta/log/letsencrypt.log nonce=$(echo "$answer" |grep -i nonce |cut -f2 -d \ |tr -d '\r\n') + echo "[$(date)] : nonce=$nonce" >> /usr/local/vesta/log/letsencrypt.log status=$(echo "$answer"|grep HTTP/ |tail -n1 |cut -f 2 -d ' ') + echo "[$(date)] : status=$status" >> /usr/local/vesta/log/letsencrypt.log if [[ "$status" -ne 200 ]]; then + echo "[$(date)] : EXIT=Let's Encrypt validation status $status" >> /usr/local/vesta/log/letsencrypt.log check_result $E_CONNECT "Let's Encrypt validation status $status" fi i=$((i + 1)) if [ "$i" -gt 10 ]; then + echo "[$(date)] : EXIT=Let's Encrypt domain validation timeout" >> /usr/local/vesta/log/letsencrypt.log check_result $E_CONNECT "Let's Encrypt domain validation timeout" fi - sleep $((i*2)) + sleeping=$((i*2)) + echo "[$(date)] : sleep $sleeping (i=$i)" >> /usr/local/vesta/log/letsencrypt.log + sleep $sleeping done if [ "$validation" = 'invalid' ]; then + echo "[$(date)] : EXIT=Let's Encrypt domain verification failed" >> /usr/local/vesta/log/letsencrypt.log check_result $E_CONNECT "Let's Encrypt domain verification failed" fi done @@ -237,40 +300,62 @@ ssl_dir=$($BIN/v-generate-ssl-cert "$domain" "info@$domain" "US" "California"\ "San Francisco" "Vesta" "IT" "$aliases" |tail -n1 |awk '{print $2}') # Sending CSR to finalize order / STEP 6 +echo "[$(date)] : --- Sending CSR to finalize order / STEP 6 ---" >> /usr/local/vesta/log/letsencrypt.log + csr=$(openssl req -in $ssl_dir/$domain.csr -outform DER |encode_base64) payload='{"csr":"'$csr'"}' +echo "[$(date)] : query_le_v2 \"$finalize\" \"$payload\" \"$nonce\"" >> /usr/local/vesta/log/letsencrypt.log answer=$(query_le_v2 "$finalize" "$payload" "$nonce") +echo "[$(date)] : answer=$answer" >> /usr/local/vesta/log/letsencrypt.log nonce=$(echo "$answer" |grep -i nonce |cut -f2 -d \ |tr -d '\r\n') +echo "[$(date)] : nonce=$nonce" >> /usr/local/vesta/log/letsencrypt.log status=$(echo "$answer"|grep HTTP/ |tail -n1 |cut -f 2 -d ' ') +echo "[$(date)] : status=$status" >> /usr/local/vesta/log/letsencrypt.log certificate=$(echo "$answer"|grep 'certificate":' |cut -f4 -d '"') +echo "[$(date)] : certificate=$certificate" >> /usr/local/vesta/log/letsencrypt.log if [[ "$status" -ne 200 ]]; then + echo "[$(date)] : EXIT=Let's Encrypt finalize bad status $status" >> /usr/local/vesta/log/letsencrypt.log check_result $E_CONNECT "Let's Encrypt finalize bad status $status" fi # Downloading signed certificate / STEP 7 +echo "[$(date)] : --- Downloading signed certificate / STEP 7 ---" >> /usr/local/vesta/log/letsencrypt.log +echo "[$(date)] : query_le_v2 \"$certificate\" \"\" \"$nonce\"" >> /usr/local/vesta/log/letsencrypt.log answer=$(query_le_v2 "$certificate" "" "$nonce" "$ssl_dir/$domain.pem") +echo "[$(date)] : answer=$answer" >> /usr/local/vesta/log/letsencrypt.log status=$(echo "$answer"|grep HTTP/ |tail -n1 |cut -f 2 -d ' ') +echo "[$(date)] : status=$status" >> /usr/local/vesta/log/letsencrypt.log if [[ "$status" -ne 200 ]]; then [ -d "$ssl_dir" ] && rm -rf "$ssl_dir" + echo "[$(date)] : EXIT=Let's Encrypt downloading signed cert failed status: $status" >> /usr/local/vesta/log/letsencrypt.log check_result $E_NOTEXIST "Let's Encrypt downloading signed cert failed status: $status" fi # Splitting up downloaded pem +echo "[$(date)] : - Splitting up downloaded pem" >> /usr/local/vesta/log/letsencrypt.log crt_end=$(grep -n END $ssl_dir/$domain.pem |head -n1 |cut -f1 -d:) +echo "[$(date)] : crt_end=$crt_end" >> /usr/local/vesta/log/letsencrypt.log head -n $crt_end $ssl_dir/$domain.pem > $ssl_dir/$domain.crt pem_lines=$(wc -l $ssl_dir/$domain.pem |cut -f 1 -d ' ') +echo "[$(date)] : pem_lines=$pem_lines" >> /usr/local/vesta/log/letsencrypt.log ca_end=$(grep -n "BEGIN" $ssl_dir/$domain.pem |tail -n1 |cut -f 1 -d :) +echo "[$(date)] : ca_end=$ca_end" >> /usr/local/vesta/log/letsencrypt.log ca_end=$(( pem_lines - crt_end + 1 )) +echo "[$(date)] : ca_end=$ca_end" >> /usr/local/vesta/log/letsencrypt.log tail -n $ca_end $ssl_dir/$domain.pem > $ssl_dir/$domain.ca # Adding SSL ssl_home=$(search_objects 'web' 'LETSENCRYPT' 'yes' 'SSL_HOME') $BIN/v-delete-web-domain-ssl $user $domain >/dev/null 2>&1 +echo "[$(date)] : v-add-web-domain-ssl $user $domain $ssl_dir $ssl_home" >> /usr/local/vesta/log/letsencrypt.log $BIN/v-add-web-domain-ssl $user $domain $ssl_dir $ssl_home -if [ "$?" -ne '0' ]; then +$exitstatus=$? +echo "[$(date)] : v-add-web-domain-ssl status: $exitstatus" >> /usr/local/vesta/log/letsencrypt.log +if [ "$exitstatus" -ne '0' ]; then touch $VESTA/data/queue/letsencrypt.pipe sed -i "/ $domain /d" $VESTA/data/queue/letsencrypt.pipe + echo "[$(date)] : EXIT=$domain certificate installation failed" >> /usr/local/vesta/log/letsencrypt.log send_notice 'LETSENCRYPT' "$domain certificate installation failed" check_result $? "SSL install" >/dev/null fi @@ -301,7 +386,7 @@ sed -i "/ $domain /d" $VESTA/data/queue/letsencrypt.pipe # Notifying user send_notice 'LETSENCRYPT' "$domain SSL has been installed successfully" - +echo "[$(date)] : EXIT=***** $domain SSL has been installed successfully *****" >> /usr/local/vesta/log/letsencrypt.log # Logging log_event "$OK" "$ARGUMENTS" From e9b6cd6d0928fe8b5767ae440fdd91e4c2dd328b Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Sun, 11 Apr 2021 18:12:07 +0200 Subject: [PATCH 016/896] Update v-add-letsencrypt-domain --- bin/v-add-letsencrypt-domain | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/v-add-letsencrypt-domain b/bin/v-add-letsencrypt-domain index 9dbc335f..a87d7618 100755 --- a/bin/v-add-letsencrypt-domain +++ b/bin/v-add-letsencrypt-domain @@ -357,7 +357,7 @@ if [ "$exitstatus" -ne '0' ]; then sed -i "/ $domain /d" $VESTA/data/queue/letsencrypt.pipe echo "[$(date)] : EXIT=$domain certificate installation failed" >> /usr/local/vesta/log/letsencrypt.log send_notice 'LETSENCRYPT' "$domain certificate installation failed" - check_result $? "SSL install" >/dev/null + check_result $exitstatus "SSL install" >/dev/null fi # Adding LE autorenew cronjob From f1acff47effc1da5d0013d97d40af4b2121b18dc Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Sun, 11 Apr 2021 18:15:06 +0200 Subject: [PATCH 017/896] Temporary fix for double "END CERTIFICATE" Credits to HestiaCP @hestiacp --- bin/v-add-letsencrypt-domain | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/bin/v-add-letsencrypt-domain b/bin/v-add-letsencrypt-domain index a87d7618..94ccb9be 100755 --- a/bin/v-add-letsencrypt-domain +++ b/bin/v-add-letsencrypt-domain @@ -345,6 +345,11 @@ ca_end=$(( pem_lines - crt_end + 1 )) echo "[$(date)] : ca_end=$ca_end" >> /usr/local/vesta/log/letsencrypt.log tail -n $ca_end $ssl_dir/$domain.pem > $ssl_dir/$domain.ca +# Temporary fix for double "END CERTIFICATE" +if [[ $(head -n 1 $ssl_dir/$domain.ca) = "-----END CERTIFICATE-----" ]]; then + sed -i '1,2d' $ssl_dir/$domain.ca +fi + # Adding SSL ssl_home=$(search_objects 'web' 'LETSENCRYPT' 'yes' 'SSL_HOME') $BIN/v-delete-web-domain-ssl $user $domain >/dev/null 2>&1 From a7b209ff3f65e7e2741a214caee9650b65662a0a Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Sun, 11 Apr 2021 19:39:19 +0200 Subject: [PATCH 018/896] Update v-add-letsencrypt-domain --- bin/v-add-letsencrypt-domain | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/bin/v-add-letsencrypt-domain b/bin/v-add-letsencrypt-domain index 94ccb9be..3f666f67 100755 --- a/bin/v-add-letsencrypt-domain +++ b/bin/v-add-letsencrypt-domain @@ -332,17 +332,17 @@ if [[ "$status" -ne 200 ]]; then fi # Splitting up downloaded pem -echo "[$(date)] : - Splitting up downloaded pem" >> /usr/local/vesta/log/letsencrypt.log +# echo "[$(date)] : - Splitting up downloaded pem" >> /usr/local/vesta/log/letsencrypt.log crt_end=$(grep -n END $ssl_dir/$domain.pem |head -n1 |cut -f1 -d:) -echo "[$(date)] : crt_end=$crt_end" >> /usr/local/vesta/log/letsencrypt.log +# echo "[$(date)] : crt_end=$crt_end" >> /usr/local/vesta/log/letsencrypt.log head -n $crt_end $ssl_dir/$domain.pem > $ssl_dir/$domain.crt pem_lines=$(wc -l $ssl_dir/$domain.pem |cut -f 1 -d ' ') -echo "[$(date)] : pem_lines=$pem_lines" >> /usr/local/vesta/log/letsencrypt.log +# echo "[$(date)] : pem_lines=$pem_lines" >> /usr/local/vesta/log/letsencrypt.log ca_end=$(grep -n "BEGIN" $ssl_dir/$domain.pem |tail -n1 |cut -f 1 -d :) -echo "[$(date)] : ca_end=$ca_end" >> /usr/local/vesta/log/letsencrypt.log +# echo "[$(date)] : ca_end=$ca_end" >> /usr/local/vesta/log/letsencrypt.log ca_end=$(( pem_lines - crt_end + 1 )) -echo "[$(date)] : ca_end=$ca_end" >> /usr/local/vesta/log/letsencrypt.log +# echo "[$(date)] : ca_end=$ca_end" >> /usr/local/vesta/log/letsencrypt.log tail -n $ca_end $ssl_dir/$domain.pem > $ssl_dir/$domain.ca # Temporary fix for double "END CERTIFICATE" From 74209ee7dbb393e70271af8c9547c31f52a840bf Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Mon, 12 Apr 2021 00:12:04 +0200 Subject: [PATCH 019/896] Warn admin if LE renewing failed for hostname --- bin/v-update-letsencrypt-ssl | 25 +++++++++++++++++++++---- 1 file changed, 21 insertions(+), 4 deletions(-) diff --git a/bin/v-update-letsencrypt-ssl b/bin/v-update-letsencrypt-ssl index 36d7a1e9..3105c86c 100755 --- a/bin/v-update-letsencrypt-ssl +++ b/bin/v-update-letsencrypt-ssl @@ -23,6 +23,9 @@ source $VESTA/conf/vesta.conf #----------------------------------------------------------# lecounter=0 +hostname=$(hostname) + +echo "[$(date)] : -----------------------------------------------------------------------------------" >> /usr/local/vesta/log/letsencrypt_cron.log # Checking user certificates for user in $($BIN/v-list-users plain |cut -f 1); do @@ -31,8 +34,20 @@ for user in $($BIN/v-list-users plain |cut -f 1); do for domain in $(search_objects 'web' 'LETSENCRYPT' 'yes' 'DOMAIN'); do fail_counter=$(get_web_counter "$user" "$domain" 'LETSENCRYPT_FAIL_COUNT') - if [[ "$fail_counter" -ge 7 ]]; then - echo "$domain failed $fail_counter times for LetsEncrypt renewing, skipping" + + if [[ "$fail_counter" -ge 8 ]]; then + if [ "$hostname" = "$domain" ]; then + if [ -z "$SKIP_HOSTNAME_LETSENCRIPT_RENEWING_WARNING" ]; then + email=$(grep CONTACT $VESTA/data/users/admin/user.conf) + email=$(echo "$email" | cut -f 2 -d "'") + echo "hostname $domain failed for LetsEncrypt renewing" | $SENDMAIL -s "LetsEncrypt renewing hostname $hostname" "$email" 'yes' + fi + fi + fi + + if [[ "$fail_counter" -ge 8 ]]; then + # echo "$domain failed $fail_counter times for LetsEncrypt renewing, skipping" + echo "[$(date)] : $domain failed $fail_counter times for LetsEncrypt renewing, skipping" >> /usr/local/vesta/log/letsencrypt_cron.log continue; fi crt_data=$(openssl x509 -text -in $USER_DATA/ssl/$domain.crt) @@ -53,11 +68,13 @@ for user in $($BIN/v-list-users plain |cut -f 1); do aliases=$(echo "$aliases" |sed -e ':a;N;$!ba;s/\n/,/g') msg=$($BIN/v-add-letsencrypt-domain $user $domain $aliases) if [ $? -ne 0 ]; then - echo "$domain $msg" if [[ $msg == *"is suspended" ]]; then - echo "OK, it's suspended" + echo "[$(date)] : SUSPENDED: $domain $msg" >> /usr/local/vesta/log/letsencrypt_cron.log else + echo "[$(date)] : $domain $msg" >> /usr/local/vesta/log/letsencrypt_cron.log + echo "$domain $msg" fail_counter=$(alter_web_counter "$user" "$domain" 'LETSENCRYPT_FAIL_COUNT') + echo "[$(date)] : fail_counter = $fail_counter" >> /usr/local/vesta/log/letsencrypt_cron.log echo "fail_counter = $fail_counter" fi fi From dba978b2007549097b4f29958b6bea9e488c0378 Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Mon, 12 Apr 2021 00:13:33 +0200 Subject: [PATCH 020/896] Update v-update-letsencrypt-ssl --- bin/v-update-letsencrypt-ssl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/bin/v-update-letsencrypt-ssl b/bin/v-update-letsencrypt-ssl index 3105c86c..be61c6c9 100755 --- a/bin/v-update-letsencrypt-ssl +++ b/bin/v-update-letsencrypt-ssl @@ -35,7 +35,7 @@ for user in $($BIN/v-list-users plain |cut -f 1); do fail_counter=$(get_web_counter "$user" "$domain" 'LETSENCRYPT_FAIL_COUNT') - if [[ "$fail_counter" -ge 8 ]]; then + if [[ "$fail_counter" -ge 7 ]]; then if [ "$hostname" = "$domain" ]; then if [ -z "$SKIP_HOSTNAME_LETSENCRIPT_RENEWING_WARNING" ]; then email=$(grep CONTACT $VESTA/data/users/admin/user.conf) @@ -45,7 +45,7 @@ for user in $($BIN/v-list-users plain |cut -f 1); do fi fi - if [[ "$fail_counter" -ge 8 ]]; then + if [[ "$fail_counter" -ge 7 ]]; then # echo "$domain failed $fail_counter times for LetsEncrypt renewing, skipping" echo "[$(date)] : $domain failed $fail_counter times for LetsEncrypt renewing, skipping" >> /usr/local/vesta/log/letsencrypt_cron.log continue; From 1f56c826e3f2cb0bc5a1052bc57540a44c6de6f7 Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Mon, 12 Apr 2021 10:01:38 +0200 Subject: [PATCH 021/896] Update v-add-letsencrypt-domain --- bin/v-add-letsencrypt-domain | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/v-add-letsencrypt-domain b/bin/v-add-letsencrypt-domain index 3f666f67..edd2c8d5 100755 --- a/bin/v-add-letsencrypt-domain +++ b/bin/v-add-letsencrypt-domain @@ -355,7 +355,7 @@ ssl_home=$(search_objects 'web' 'LETSENCRYPT' 'yes' 'SSL_HOME') $BIN/v-delete-web-domain-ssl $user $domain >/dev/null 2>&1 echo "[$(date)] : v-add-web-domain-ssl $user $domain $ssl_dir $ssl_home" >> /usr/local/vesta/log/letsencrypt.log $BIN/v-add-web-domain-ssl $user $domain $ssl_dir $ssl_home -$exitstatus=$? +exitstatus=$? echo "[$(date)] : v-add-web-domain-ssl status: $exitstatus" >> /usr/local/vesta/log/letsencrypt.log if [ "$exitstatus" -ne '0' ]; then touch $VESTA/data/queue/letsencrypt.pipe From e1d962e60b6025b404f6428824807b5e8baf877c Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Tue, 13 Apr 2021 10:50:53 +0200 Subject: [PATCH 022/896] Introducing UPDATE_SSL_SCRIPT2 callback --- bin/v-add-web-domain-ssl | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/bin/v-add-web-domain-ssl b/bin/v-add-web-domain-ssl index 2c0f78ae..6d9deb9b 100755 --- a/bin/v-add-web-domain-ssl +++ b/bin/v-add-web-domain-ssl @@ -149,6 +149,13 @@ if [ ! -z "$UPDATE_SSL_SCRIPT" ]; then eval "$UPDATE_SSL_SCRIPT $user $domain" fi +UPDATE_SSL_SCRIPT2='' +source $VESTA/conf/vesta.conf +if [ ! -z "$UPDATE_SSL_SCRIPT2" ]; then + eval "$UPDATE_SSL_SCRIPT2 $user $domain" +fi + + # Logging log_history "enabled ssl support for $domain" log_event "$OK" "$ARGUMENTS" From d40424eb4d5af632b39d3183d6928184da787eb8 Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Tue, 13 Apr 2021 12:44:27 +0200 Subject: [PATCH 023/896] Create node-app-3000.tpl --- .../tools/nodejs-nginx-templates/node-app-3000.tpl | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 src/deb/for-download/tools/nodejs-nginx-templates/node-app-3000.tpl diff --git a/src/deb/for-download/tools/nodejs-nginx-templates/node-app-3000.tpl b/src/deb/for-download/tools/nodejs-nginx-templates/node-app-3000.tpl new file mode 100644 index 00000000..851ac0dc --- /dev/null +++ b/src/deb/for-download/tools/nodejs-nginx-templates/node-app-3000.tpl @@ -0,0 +1,8 @@ +server { + listen %ip%:%proxy_port%; + server_name %domain_idn% %alias_idn%; + location / { + rewrite ^(.*) https://%domain_idn%$1 permanent; + } +include %home%/%user%/conf/web/*nginx.%domain_idn%.conf_letsencrypt; +} From dd9c8cf1f6f1aca23582c71fafdd78f8df7f591c Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Tue, 13 Apr 2021 12:45:32 +0200 Subject: [PATCH 024/896] nodejs nginx templates --- .../node-app-3000-no-https-force.stpl | 52 +++++++++++++++++++ .../node-app-3000-no-https-force.tpl | 45 ++++++++++++++++ .../node-app-3000-pass-to-https.stpl | 52 +++++++++++++++++++ .../node-app-3000-pass-to-https.tpl | 8 +++ .../nodejs-nginx-templates/node-app-3000.stpl | 52 +++++++++++++++++++ .../node-app-nextjs-3000.stpl | 37 +++++++++++++ .../node-app-nextjs-3000.tpl | 8 +++ 7 files changed, 254 insertions(+) create mode 100644 src/deb/for-download/tools/nodejs-nginx-templates/node-app-3000-no-https-force.stpl create mode 100644 src/deb/for-download/tools/nodejs-nginx-templates/node-app-3000-no-https-force.tpl create mode 100644 src/deb/for-download/tools/nodejs-nginx-templates/node-app-3000-pass-to-https.stpl create mode 100644 src/deb/for-download/tools/nodejs-nginx-templates/node-app-3000-pass-to-https.tpl create mode 100644 src/deb/for-download/tools/nodejs-nginx-templates/node-app-3000.stpl create mode 100644 src/deb/for-download/tools/nodejs-nginx-templates/node-app-nextjs-3000.stpl create mode 100644 src/deb/for-download/tools/nodejs-nginx-templates/node-app-nextjs-3000.tpl diff --git a/src/deb/for-download/tools/nodejs-nginx-templates/node-app-3000-no-https-force.stpl b/src/deb/for-download/tools/nodejs-nginx-templates/node-app-3000-no-https-force.stpl new file mode 100644 index 00000000..85fb4a95 --- /dev/null +++ b/src/deb/for-download/tools/nodejs-nginx-templates/node-app-3000-no-https-force.stpl @@ -0,0 +1,52 @@ +server { + listen %ip%:%proxy_ssl_port%; + server_name %domain_idn% %alias_idn%; + ssl on; + ssl_certificate %ssl_pem%; + ssl_certificate_key %ssl_key%; + error_log /var/log/%web_system%/domains/%domain%.error.log error; + + # test %port_num% + ssl_protocols TLSv1 TLSv1.1 TLSv1.2; + ssl_prefer_server_ciphers on; + ssl_ciphers 'EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH'; + + root %sdocroot%/public; + index index.html; + + location / { + proxy_pass http://localhost:3000; + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection 'upgrade'; + proxy_set_header Host $host; + proxy_cache_bypass $http_upgrade; + + + # try_files $uri $uri/ @rewrites; + + location ~* ^.+\.(%proxy_extentions%)$ { + access_log /var/log/%web_system%/domains/%domain%.log combined; + access_log /var/log/%web_system%/domains/%domain%.bytes bytes; + expires max; + } + } + + location @rewrites { + rewrite ^(.+)$ /index.html last; + } + + location /error/ { + alias %home%/%user%/web/%domain%/document_errors/; + } + + + location ~ /\.ht {return 404;} + location ~ /\.svn/ {return 404;} + location ~ /\.git/ {return 404;} + location ~ /\.hg/ {return 404;} + location ~ /\.bzr/ {return 404;} + + include %home%/%user%/conf/web/*nginx.%domain_idn%.conf_letsencrypt; + include %home%/%user%/conf/web/s%proxy_system%.%domain%.conf*; +} \ No newline at end of file diff --git a/src/deb/for-download/tools/nodejs-nginx-templates/node-app-3000-no-https-force.tpl b/src/deb/for-download/tools/nodejs-nginx-templates/node-app-3000-no-https-force.tpl new file mode 100644 index 00000000..fff0aebb --- /dev/null +++ b/src/deb/for-download/tools/nodejs-nginx-templates/node-app-3000-no-https-force.tpl @@ -0,0 +1,45 @@ +server { + listen %ip%:%proxy_port%; + server_name %domain_idn% %alias_idn%; + error_log /var/log/%web_system%/domains/%domain%.error.log error; + + root %sdocroot%/public; + index index.html; + + location / { + proxy_pass http://localhost:3000; + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection 'upgrade'; + proxy_set_header Host $host; + proxy_cache_bypass $http_upgrade; + + + # try_files $uri $uri/ @rewrites; + + location ~* ^.+\.(%proxy_extentions%)$ { + access_log /var/log/%web_system%/domains/%domain%.log combined; + access_log /var/log/%web_system%/domains/%domain%.bytes bytes; + expires max; + } + } + + location @rewrites { + rewrite ^(.+)$ /index.html last; + } + + location /error/ { + alias %home%/%user%/web/%domain%/document_errors/; + } + + location ~ /\.ht {return 404;} + location ~ /\.svn/ {return 404;} + location ~ /\.git/ {return 404;} + location ~ /\.hg/ {return 404;} + location ~ /\.bzr/ {return 404;} + + disable_symlinks if_not_owner from=%docroot%; + + include %home%/%user%/conf/web/nginx.%domain%.conf*; +} + diff --git a/src/deb/for-download/tools/nodejs-nginx-templates/node-app-3000-pass-to-https.stpl b/src/deb/for-download/tools/nodejs-nginx-templates/node-app-3000-pass-to-https.stpl new file mode 100644 index 00000000..a392afef --- /dev/null +++ b/src/deb/for-download/tools/nodejs-nginx-templates/node-app-3000-pass-to-https.stpl @@ -0,0 +1,52 @@ +server { + listen %ip%:%proxy_ssl_port%; + server_name %domain_idn% %alias_idn%; + ssl on; + ssl_certificate %ssl_pem%; + ssl_certificate_key %ssl_key%; + error_log /var/log/%web_system%/domains/%domain%.error.log error; + + # test %port_num% + ssl_protocols TLSv1 TLSv1.1 TLSv1.2; + ssl_prefer_server_ciphers on; + ssl_ciphers 'EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH'; + + root %sdocroot%/public; + index index.html; + + location / { + proxy_pass https://localhost:3000; + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection 'upgrade'; + proxy_set_header Host $host; + proxy_cache_bypass $http_upgrade; + + + # try_files $uri $uri/ @rewrites; + + location ~* ^.+\.(%proxy_extentions%)$ { + access_log /var/log/%web_system%/domains/%domain%.log combined; + access_log /var/log/%web_system%/domains/%domain%.bytes bytes; + expires max; + } + } + + location @rewrites { + rewrite ^(.+)$ /index.html last; + } + + location /error/ { + alias %home%/%user%/web/%domain%/document_errors/; + } + + + location ~ /\.ht {return 404;} + location ~ /\.svn/ {return 404;} + location ~ /\.git/ {return 404;} + location ~ /\.hg/ {return 404;} + location ~ /\.bzr/ {return 404;} + + include %home%/%user%/conf/web/*nginx.%domain_idn%.conf_letsencrypt; + include %home%/%user%/conf/web/s%proxy_system%.%domain%.conf*; +} \ No newline at end of file diff --git a/src/deb/for-download/tools/nodejs-nginx-templates/node-app-3000-pass-to-https.tpl b/src/deb/for-download/tools/nodejs-nginx-templates/node-app-3000-pass-to-https.tpl new file mode 100644 index 00000000..851ac0dc --- /dev/null +++ b/src/deb/for-download/tools/nodejs-nginx-templates/node-app-3000-pass-to-https.tpl @@ -0,0 +1,8 @@ +server { + listen %ip%:%proxy_port%; + server_name %domain_idn% %alias_idn%; + location / { + rewrite ^(.*) https://%domain_idn%$1 permanent; + } +include %home%/%user%/conf/web/*nginx.%domain_idn%.conf_letsencrypt; +} diff --git a/src/deb/for-download/tools/nodejs-nginx-templates/node-app-3000.stpl b/src/deb/for-download/tools/nodejs-nginx-templates/node-app-3000.stpl new file mode 100644 index 00000000..85fb4a95 --- /dev/null +++ b/src/deb/for-download/tools/nodejs-nginx-templates/node-app-3000.stpl @@ -0,0 +1,52 @@ +server { + listen %ip%:%proxy_ssl_port%; + server_name %domain_idn% %alias_idn%; + ssl on; + ssl_certificate %ssl_pem%; + ssl_certificate_key %ssl_key%; + error_log /var/log/%web_system%/domains/%domain%.error.log error; + + # test %port_num% + ssl_protocols TLSv1 TLSv1.1 TLSv1.2; + ssl_prefer_server_ciphers on; + ssl_ciphers 'EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH'; + + root %sdocroot%/public; + index index.html; + + location / { + proxy_pass http://localhost:3000; + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection 'upgrade'; + proxy_set_header Host $host; + proxy_cache_bypass $http_upgrade; + + + # try_files $uri $uri/ @rewrites; + + location ~* ^.+\.(%proxy_extentions%)$ { + access_log /var/log/%web_system%/domains/%domain%.log combined; + access_log /var/log/%web_system%/domains/%domain%.bytes bytes; + expires max; + } + } + + location @rewrites { + rewrite ^(.+)$ /index.html last; + } + + location /error/ { + alias %home%/%user%/web/%domain%/document_errors/; + } + + + location ~ /\.ht {return 404;} + location ~ /\.svn/ {return 404;} + location ~ /\.git/ {return 404;} + location ~ /\.hg/ {return 404;} + location ~ /\.bzr/ {return 404;} + + include %home%/%user%/conf/web/*nginx.%domain_idn%.conf_letsencrypt; + include %home%/%user%/conf/web/s%proxy_system%.%domain%.conf*; +} \ No newline at end of file diff --git a/src/deb/for-download/tools/nodejs-nginx-templates/node-app-nextjs-3000.stpl b/src/deb/for-download/tools/nodejs-nginx-templates/node-app-nextjs-3000.stpl new file mode 100644 index 00000000..1d8dcffe --- /dev/null +++ b/src/deb/for-download/tools/nodejs-nginx-templates/node-app-nextjs-3000.stpl @@ -0,0 +1,37 @@ +server { + listen %ip%:%proxy_ssl_port%; + server_name %domain_idn% %alias_idn%; + ssl on; + ssl_certificate %ssl_pem%; + ssl_certificate_key %ssl_key%; + error_log /var/log/%web_system%/domains/%domain%.error.log error; + + # test %port_num% + ssl_protocols TLSv1 TLSv1.1 TLSv1.2; + ssl_prefer_server_ciphers on; + ssl_ciphers 'EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH'; + + location / { + # reverse proxy for next server + proxy_pass http://localhost:3000; + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection 'upgrade'; + proxy_set_header Host $host; + proxy_cache_bypass $http_upgrade; + + # we need to remove this 404 handling + # because next's _next folder and own handling + # try_files $uri $uri/ =404; + } + + + location ~ /\.ht {return 404;} + location ~ /\.svn/ {return 404;} + location ~ /\.git/ {return 404;} + location ~ /\.hg/ {return 404;} + location ~ /\.bzr/ {return 404;} + + include %home%/%user%/conf/web/*nginx.%domain_idn%.conf_letsencrypt; + include %home%/%user%/conf/web/s%proxy_system%.%domain%.conf*; +} \ No newline at end of file diff --git a/src/deb/for-download/tools/nodejs-nginx-templates/node-app-nextjs-3000.tpl b/src/deb/for-download/tools/nodejs-nginx-templates/node-app-nextjs-3000.tpl new file mode 100644 index 00000000..851ac0dc --- /dev/null +++ b/src/deb/for-download/tools/nodejs-nginx-templates/node-app-nextjs-3000.tpl @@ -0,0 +1,8 @@ +server { + listen %ip%:%proxy_port%; + server_name %domain_idn% %alias_idn%; + location / { + rewrite ^(.*) https://%domain_idn%$1 permanent; + } +include %home%/%user%/conf/web/*nginx.%domain_idn%.conf_letsencrypt; +} From d03d8e95371f9599b29ac7708e29b99549f3983c Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Tue, 13 Apr 2021 18:07:03 +0200 Subject: [PATCH 025/896] send_email_to_admin function --- func/main.sh | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/func/main.sh b/func/main.sh index c128202b..5f71bb1f 100644 --- a/func/main.sh +++ b/func/main.sh @@ -1098,3 +1098,19 @@ no_symlink_chmod() { chmod "${filemode}" "${i}" done } + +# $1 = subject +# $2 = body +send_email_to_admin() { + email=$(grep CONTACT /usr/local/vesta/data/users/admin/user.conf) + email=$(echo "$email" | cut -f 2 -d "'") + if [ -z "$email" ]; then + if [ ! -z "$NOTIFY_ADMIN_FULL_BACKUP" ]; then + email=$NOTIFY_ADMIN_FULL_BACKUP + fi + fi + if [ -z "$email" ]; then + return; + fi + echo "$2" | $SENDMAIL -s "$1" "$email" 'yes' +} From 6b30357f9a3997917f9ea4d1cb8765e940e5515a Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Tue, 13 Apr 2021 18:09:33 +0200 Subject: [PATCH 026/896] Update v-update-letsencrypt-ssl --- bin/v-update-letsencrypt-ssl | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/bin/v-update-letsencrypt-ssl b/bin/v-update-letsencrypt-ssl index be61c6c9..aa1f8167 100755 --- a/bin/v-update-letsencrypt-ssl +++ b/bin/v-update-letsencrypt-ssl @@ -38,9 +38,7 @@ for user in $($BIN/v-list-users plain |cut -f 1); do if [[ "$fail_counter" -ge 7 ]]; then if [ "$hostname" = "$domain" ]; then if [ -z "$SKIP_HOSTNAME_LETSENCRIPT_RENEWING_WARNING" ]; then - email=$(grep CONTACT $VESTA/data/users/admin/user.conf) - email=$(echo "$email" | cut -f 2 -d "'") - echo "hostname $domain failed for LetsEncrypt renewing" | $SENDMAIL -s "LetsEncrypt renewing hostname $hostname" "$email" 'yes' + send_email_to_admin "LetsEncrypt renewing hostname $hostname" "Warning: hostname $domain failed for LetsEncrypt renewing" fi fi fi From be9710f9ead3ce8142d7cff8b76399c4bf04fcc1 Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Tue, 13 Apr 2021 18:25:56 +0200 Subject: [PATCH 027/896] Update v-update-letsencrypt-ssl --- bin/v-update-letsencrypt-ssl | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/bin/v-update-letsencrypt-ssl b/bin/v-update-letsencrypt-ssl index aa1f8167..80b07159 100755 --- a/bin/v-update-letsencrypt-ssl +++ b/bin/v-update-letsencrypt-ssl @@ -35,11 +35,10 @@ for user in $($BIN/v-list-users plain |cut -f 1); do fail_counter=$(get_web_counter "$user" "$domain" 'LETSENCRYPT_FAIL_COUNT') - if [[ "$fail_counter" -ge 7 ]]; then + if [[ "$fail_counter" -eq 7 ]]; then if [ "$hostname" = "$domain" ]; then - if [ -z "$SKIP_HOSTNAME_LETSENCRIPT_RENEWING_WARNING" ]; then - send_email_to_admin "LetsEncrypt renewing hostname $hostname" "Warning: hostname $domain failed for LetsEncrypt renewing" - fi + fail_counter=$(alter_web_counter "$user" "$domain" 'LETSENCRYPT_FAIL_COUNT') + send_email_to_admin "LetsEncrypt renewing hostname $hostname" "Warning: hostname $domain failed for LetsEncrypt renewing" fi fi From 3611b888e572257eb0b6a18b4627452452686c20 Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Tue, 13 Apr 2021 18:55:22 +0200 Subject: [PATCH 028/896] Update v-update-letsencrypt-ssl --- bin/v-update-letsencrypt-ssl | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/bin/v-update-letsencrypt-ssl b/bin/v-update-letsencrypt-ssl index 80b07159..ac3e2eda 100755 --- a/bin/v-update-letsencrypt-ssl +++ b/bin/v-update-letsencrypt-ssl @@ -33,16 +33,20 @@ for user in $($BIN/v-list-users plain |cut -f 1); do for domain in $(search_objects 'web' 'LETSENCRYPT' 'yes' 'DOMAIN'); do + limit_check=1 fail_counter=$(get_web_counter "$user" "$domain" 'LETSENCRYPT_FAIL_COUNT') - if [[ "$fail_counter" -eq 7 ]]; then - if [ "$hostname" = "$domain" ]; then + if [[ "$hostname" = "$domain" ]]; then + if [[ "$fail_counter" -eq 7 ]]; then + limit_check=0 + fi + if [[ "$fail_counter" -eq 8 ]]; then fail_counter=$(alter_web_counter "$user" "$domain" 'LETSENCRYPT_FAIL_COUNT') send_email_to_admin "LetsEncrypt renewing hostname $hostname" "Warning: hostname $domain failed for LetsEncrypt renewing" fi fi - if [[ "$fail_counter" -ge 7 ]]; then + if [[ "$fail_counter" -ge 7 ]] && [[ "$limit_check" -eq 1 ]]; then # echo "$domain failed $fail_counter times for LetsEncrypt renewing, skipping" echo "[$(date)] : $domain failed $fail_counter times for LetsEncrypt renewing, skipping" >> /usr/local/vesta/log/letsencrypt_cron.log continue; From 76efd9a1cd14bd5eb05d1a6ab3606596168d34a2 Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Tue, 13 Apr 2021 19:05:07 +0200 Subject: [PATCH 029/896] Version 0.9.8-26-45 --- src/deb/latest.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/deb/latest.txt b/src/deb/latest.txt index 56430e65..c95b3f55 100644 --- a/src/deb/latest.txt +++ b/src/deb/latest.txt @@ -1 +1 @@ -vesta-0.9.8-26-44 +vesta-0.9.8-26-45 From 7c5948b579df8e7944c0183c1807d5ddd69e131f Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Tue, 13 Apr 2021 19:12:17 +0200 Subject: [PATCH 030/896] Update Changelog.md --- Changelog.md | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/Changelog.md b/Changelog.md index d4db2e5c..cedb6cc7 100644 --- a/Changelog.md +++ b/Changelog.md @@ -1,4 +1,10 @@ -Version 0.9.8-26-44 [04-Apr-2021] +Version 0.9.8-26-45 [13-Apr-2021] +================================================== +* [Feature] Logging whole LetsEncrypt process to /usr/local/vesta/log/letsencrypt.log and /usr/local/vesta/log/letsencrypt_cron.log +* [Feature] Warn admin once (by sending email) if LetsEncrypt renewing failed for server hostname +* [Bugfix] Correct truncating of CA LetsEncrypt certificate (thanks to HestiaCP @hestiacp for fix) + +* Version 0.9.8-26-44 [04-Apr-2021] ================================================== * [Security] Preventing denial-of-service in openssl library in vesta-nginx service (CVE-2021-3449) * [Security] Preventing admin to install non-vesta packages from vesta admin panel user interface (Credits to: Numan Türle @numanturle) From 7293dd9f7b9de9310b97db0e5a2348a3dab39671 Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Tue, 13 Apr 2021 19:12:41 +0200 Subject: [PATCH 031/896] Update Changelog.md --- Changelog.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Changelog.md b/Changelog.md index cedb6cc7..78567100 100644 --- a/Changelog.md +++ b/Changelog.md @@ -4,7 +4,7 @@ Version 0.9.8-26-45 [13-Apr-2021] * [Feature] Warn admin once (by sending email) if LetsEncrypt renewing failed for server hostname * [Bugfix] Correct truncating of CA LetsEncrypt certificate (thanks to HestiaCP @hestiacp for fix) -* Version 0.9.8-26-44 [04-Apr-2021] +Version 0.9.8-26-44 [04-Apr-2021] ================================================== * [Security] Preventing denial-of-service in openssl library in vesta-nginx service (CVE-2021-3449) * [Security] Preventing admin to install non-vesta packages from vesta admin panel user interface (Credits to: Numan Türle @numanturle) From e6067fa57be7528ff224aa2015a4ba19936544f7 Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Tue, 13 Apr 2021 21:16:22 +0200 Subject: [PATCH 032/896] Rename node-app-nextjs-3000.stpl to node-app-that-also-handle-static files-3000.stpl --- ...00.stpl => node-app-that-also-handle-static files-3000.stpl} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename src/deb/for-download/tools/nodejs-nginx-templates/{node-app-nextjs-3000.stpl => node-app-that-also-handle-static files-3000.stpl} (99%) diff --git a/src/deb/for-download/tools/nodejs-nginx-templates/node-app-nextjs-3000.stpl b/src/deb/for-download/tools/nodejs-nginx-templates/node-app-that-also-handle-static files-3000.stpl similarity index 99% rename from src/deb/for-download/tools/nodejs-nginx-templates/node-app-nextjs-3000.stpl rename to src/deb/for-download/tools/nodejs-nginx-templates/node-app-that-also-handle-static files-3000.stpl index 1d8dcffe..9b0a5853 100644 --- a/src/deb/for-download/tools/nodejs-nginx-templates/node-app-nextjs-3000.stpl +++ b/src/deb/for-download/tools/nodejs-nginx-templates/node-app-that-also-handle-static files-3000.stpl @@ -34,4 +34,4 @@ server { include %home%/%user%/conf/web/*nginx.%domain_idn%.conf_letsencrypt; include %home%/%user%/conf/web/s%proxy_system%.%domain%.conf*; -} \ No newline at end of file +} From 2a4832abf53a1bbad8b066a245ecad38e933d22c Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Tue, 13 Apr 2021 21:19:57 +0200 Subject: [PATCH 033/896] Update and rename node-app-nextjs-3000.tpl to node-app-that-also-handle-static files-3000tpl --- .../node-app-nextjs-3000.tpl | 8 ----- ...-app-that-also-handle-static files-3000tpl | 29 +++++++++++++++++++ 2 files changed, 29 insertions(+), 8 deletions(-) delete mode 100644 src/deb/for-download/tools/nodejs-nginx-templates/node-app-nextjs-3000.tpl create mode 100644 src/deb/for-download/tools/nodejs-nginx-templates/node-app-that-also-handle-static files-3000tpl diff --git a/src/deb/for-download/tools/nodejs-nginx-templates/node-app-nextjs-3000.tpl b/src/deb/for-download/tools/nodejs-nginx-templates/node-app-nextjs-3000.tpl deleted file mode 100644 index 851ac0dc..00000000 --- a/src/deb/for-download/tools/nodejs-nginx-templates/node-app-nextjs-3000.tpl +++ /dev/null @@ -1,8 +0,0 @@ -server { - listen %ip%:%proxy_port%; - server_name %domain_idn% %alias_idn%; - location / { - rewrite ^(.*) https://%domain_idn%$1 permanent; - } -include %home%/%user%/conf/web/*nginx.%domain_idn%.conf_letsencrypt; -} diff --git a/src/deb/for-download/tools/nodejs-nginx-templates/node-app-that-also-handle-static files-3000tpl b/src/deb/for-download/tools/nodejs-nginx-templates/node-app-that-also-handle-static files-3000tpl new file mode 100644 index 00000000..93267737 --- /dev/null +++ b/src/deb/for-download/tools/nodejs-nginx-templates/node-app-that-also-handle-static files-3000tpl @@ -0,0 +1,29 @@ +server { + listen %ip%:%proxy_port%; + server_name %domain_idn% %alias_idn%; + error_log /var/log/%web_system%/domains/%domain%.error.log error; + + location / { + # reverse proxy for next server + proxy_pass http://localhost:3000; + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection 'upgrade'; + proxy_set_header Host $host; + proxy_cache_bypass $http_upgrade; + + # we need to remove this 404 handling + # because next's _next folder and own handling + # try_files $uri $uri/ =404; + } + + location ~ /\.ht {return 404;} + location ~ /\.svn/ {return 404;} + location ~ /\.git/ {return 404;} + location ~ /\.hg/ {return 404;} + location ~ /\.bzr/ {return 404;} + + disable_symlinks if_not_owner from=%docroot%; + + include %home%/%user%/conf/web/nginx.%domain%.conf*; +} From a4732472084c5959a008ad87a38932ddac3aa62b Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Tue, 13 Apr 2021 21:24:34 +0200 Subject: [PATCH 034/896] Rename node-app-that-also-handle-static files-3000.stpl to node-app-also-handle-static files-3000.stpl --- ...iles-3000.stpl => node-app-also-handle-static files-3000.stpl} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename src/deb/for-download/tools/nodejs-nginx-templates/{node-app-that-also-handle-static files-3000.stpl => node-app-also-handle-static files-3000.stpl} (100%) diff --git a/src/deb/for-download/tools/nodejs-nginx-templates/node-app-that-also-handle-static files-3000.stpl b/src/deb/for-download/tools/nodejs-nginx-templates/node-app-also-handle-static files-3000.stpl similarity index 100% rename from src/deb/for-download/tools/nodejs-nginx-templates/node-app-that-also-handle-static files-3000.stpl rename to src/deb/for-download/tools/nodejs-nginx-templates/node-app-also-handle-static files-3000.stpl From 3bc6bcd9ab96039b7a782d21c53c39b5821b0dc5 Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Tue, 13 Apr 2021 21:24:59 +0200 Subject: [PATCH 035/896] Rename node-app-that-also-handle-static files-3000tpl to node-app-also-handle-static files-3000tpl --- ...ic files-3000tpl => node-app-also-handle-static files-3000tpl} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename src/deb/for-download/tools/nodejs-nginx-templates/{node-app-that-also-handle-static files-3000tpl => node-app-also-handle-static files-3000tpl} (100%) diff --git a/src/deb/for-download/tools/nodejs-nginx-templates/node-app-that-also-handle-static files-3000tpl b/src/deb/for-download/tools/nodejs-nginx-templates/node-app-also-handle-static files-3000tpl similarity index 100% rename from src/deb/for-download/tools/nodejs-nginx-templates/node-app-that-also-handle-static files-3000tpl rename to src/deb/for-download/tools/nodejs-nginx-templates/node-app-also-handle-static files-3000tpl From c5e4a069fa345520ced3ad5a08e105d13399e326 Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Tue, 13 Apr 2021 21:27:51 +0200 Subject: [PATCH 036/896] Rename node-app-also-handle-static files-3000.stpl to node-app-also-handle-static-files-3000.stpl --- ...iles-3000.stpl => node-app-also-handle-static-files-3000.stpl} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename src/deb/for-download/tools/nodejs-nginx-templates/{node-app-also-handle-static files-3000.stpl => node-app-also-handle-static-files-3000.stpl} (100%) diff --git a/src/deb/for-download/tools/nodejs-nginx-templates/node-app-also-handle-static files-3000.stpl b/src/deb/for-download/tools/nodejs-nginx-templates/node-app-also-handle-static-files-3000.stpl similarity index 100% rename from src/deb/for-download/tools/nodejs-nginx-templates/node-app-also-handle-static files-3000.stpl rename to src/deb/for-download/tools/nodejs-nginx-templates/node-app-also-handle-static-files-3000.stpl From 74823ca988ed552eac4797c7de6b02018548ad00 Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Tue, 13 Apr 2021 21:28:21 +0200 Subject: [PATCH 037/896] Rename node-app-also-handle-static files-3000tpl to node-app-also-handle-static-files-3000tpl --- ...ic files-3000tpl => node-app-also-handle-static-files-3000tpl} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename src/deb/for-download/tools/nodejs-nginx-templates/{node-app-also-handle-static files-3000tpl => node-app-also-handle-static-files-3000tpl} (100%) diff --git a/src/deb/for-download/tools/nodejs-nginx-templates/node-app-also-handle-static files-3000tpl b/src/deb/for-download/tools/nodejs-nginx-templates/node-app-also-handle-static-files-3000tpl similarity index 100% rename from src/deb/for-download/tools/nodejs-nginx-templates/node-app-also-handle-static files-3000tpl rename to src/deb/for-download/tools/nodejs-nginx-templates/node-app-also-handle-static-files-3000tpl From 543e6b5bc9c9796a287d876318311970d262bc33 Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Thu, 15 Apr 2021 20:24:33 +0200 Subject: [PATCH 038/896] Sorting issue fix Closing https://github.com/myvesta/vesta/issues/116 Thanks to @jaapmarcus and @hestiacp --- web/templates/admin/list_user.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/web/templates/admin/list_user.html b/web/templates/admin/list_user.html index 4685d183..7dd47577 100644 --- a/web/templates/admin/list_user.html +++ b/web/templates/admin/list_user.html @@ -81,7 +81,7 @@ ?> " sort-date="=strtotime($data[$key]['DATE'].' '.$data[$key]['TIME'])?>" sort-name="=$key?>" +v_unit_id="=$key?>" sort-date="=strtotime($data[$key]['DATE'].' '.$data[$key]['TIME'])?>" sort-name="=strtolower($key)?>" sort-bandwidth="=$data[$key]['U_BANDWIDTH']?>" sort-disk="=$data[$key]['U_DISK']?>" sort-star=" if($_SESSION['favourites']['USER'][$key] == 1) echo '1'; else echo '0'; ?>">From b7c6eba7a54f935465d48455ca43c9b396a49e27 Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Sat, 17 Apr 2021 18:24:17 +0200 Subject: [PATCH 039/896] New cloudflare IP addresses --- install/debian/10/nginx/nginx.conf | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/install/debian/10/nginx/nginx.conf b/install/debian/10/nginx/nginx.conf index ccf657de..6d5e36ba 100644 --- a/install/debian/10/nginx/nginx.conf +++ b/install/debian/10/nginx/nginx.conf @@ -77,6 +77,8 @@ http { set_real_ip_from 103.21.244.0/22; set_real_ip_from 103.22.200.0/22; set_real_ip_from 103.31.4.0/22; + set_real_ip_from 104.16.0.0/13; + set_real_ip_from 104.24.0.0/14; set_real_ip_from 141.101.64.0/18; set_real_ip_from 108.162.192.0/18; set_real_ip_from 190.93.240.0/20; @@ -84,7 +86,6 @@ http { set_real_ip_from 197.234.240.0/22; set_real_ip_from 198.41.128.0/17; set_real_ip_from 162.158.0.0/15; - set_real_ip_from 104.16.0.0/12; set_real_ip_from 172.64.0.0/13; set_real_ip_from 131.0.72.0/22; set_real_ip_from 2400:cb00::/32; From b207d508d87f1971d9d96a3e3ba287cf4f7dd373 Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Sat, 17 Apr 2021 18:27:47 +0200 Subject: [PATCH 040/896] New cloudflare IP adresses --- install/debian/9/nginx/nginx.conf | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/install/debian/9/nginx/nginx.conf b/install/debian/9/nginx/nginx.conf index 745e1082..989c6b63 100644 --- a/install/debian/9/nginx/nginx.conf +++ b/install/debian/9/nginx/nginx.conf @@ -76,6 +76,8 @@ http { set_real_ip_from 103.21.244.0/22; set_real_ip_from 103.22.200.0/22; set_real_ip_from 103.31.4.0/22; + set_real_ip_from 104.16.0.0/13; + set_real_ip_from 104.24.0.0/14; set_real_ip_from 141.101.64.0/18; set_real_ip_from 108.162.192.0/18; set_real_ip_from 190.93.240.0/20; @@ -83,7 +85,6 @@ http { set_real_ip_from 197.234.240.0/22; set_real_ip_from 198.41.128.0/17; set_real_ip_from 162.158.0.0/15; - set_real_ip_from 104.16.0.0/12; set_real_ip_from 172.64.0.0/13; set_real_ip_from 131.0.72.0/22; set_real_ip_from 2400:cb00::/32; From 0ad91de3a35249be529f88c6409a5b95e54fba91 Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Sat, 17 Apr 2021 18:29:19 +0200 Subject: [PATCH 041/896] New cloudflare IP adresses --- install/debian/8/nginx/nginx.conf | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/install/debian/8/nginx/nginx.conf b/install/debian/8/nginx/nginx.conf index 65520501..989c6b63 100644 --- a/install/debian/8/nginx/nginx.conf +++ b/install/debian/8/nginx/nginx.conf @@ -72,27 +72,28 @@ http { # Cloudflare https://www.cloudflare.com/ips + set_real_ip_from 173.245.48.0/20; set_real_ip_from 103.21.244.0/22; set_real_ip_from 103.22.200.0/22; set_real_ip_from 103.31.4.0/22; - set_real_ip_from 104.16.0.0/12; - set_real_ip_from 108.162.192.0/18; - set_real_ip_from 131.0.72.0/22; + set_real_ip_from 104.16.0.0/13; + set_real_ip_from 104.24.0.0/14; set_real_ip_from 141.101.64.0/18; - set_real_ip_from 162.158.0.0/15; - set_real_ip_from 172.64.0.0/13; - set_real_ip_from 173.245.48.0/20; - set_real_ip_from 188.114.96.0/20; + set_real_ip_from 108.162.192.0/18; set_real_ip_from 190.93.240.0/20; + set_real_ip_from 188.114.96.0/20; set_real_ip_from 197.234.240.0/22; set_real_ip_from 198.41.128.0/17; + set_real_ip_from 162.158.0.0/15; + set_real_ip_from 172.64.0.0/13; + set_real_ip_from 131.0.72.0/22; set_real_ip_from 2400:cb00::/32; set_real_ip_from 2606:4700::/32; set_real_ip_from 2803:f800::/32; set_real_ip_from 2405:b500::/32; set_real_ip_from 2405:8100::/32; - set_real_ip_from 2c0f:f248::/32; set_real_ip_from 2a06:98c0::/29; + set_real_ip_from 2c0f:f248::/32; real_ip_header CF-Connecting-IP; From 79402b233604615eb3b281dc2b787448977bb582 Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Sat, 17 Apr 2021 18:46:49 +0200 Subject: [PATCH 042/896] Updating CloudFlare IP addresses --- src/deb/vesta/postinst | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/deb/vesta/postinst b/src/deb/vesta/postinst index acf13709..c9154edc 100755 --- a/src/deb/vesta/postinst +++ b/src/deb/vesta/postinst @@ -23,6 +23,16 @@ fi echo "1" > /usr/local/vesta/data/upgrades/show_changelog chmod a=rw /usr/local/vesta/data/upgrades/show_changelog +# Updating CloudFlare IP addresses +if [ ! -f "/usr/local/vesta/data/upgrades/update-cloudflare-ips" ]; then + if [ -f "/etc/nginx/nginx.conf" ]; then + touch /usr/local/vesta/data/upgrades/update-cloudflare-ips + echo "== Updating CloudFlare IP addresses" + sed -i 's/ set_real_ip_from 104.16.0.0/12;/ set_real_ip_from 104.16.0.0/13;\n set_real_ip_from 104.24.0.0/14;/g' /etc/nginx/nginx.conf + systemctl restart nginx + fi +fi + # Tuning of php-fpm pool.d config files (perfomances and limits) if [ ! -f "/usr/local/vesta/data/upgrades/tune-fpm-config-files-v2" ]; then touch /usr/local/vesta/data/upgrades/tune-fpm-config-files-v2 From 92fa49bd6cb1623ccbf3e6032e19466491fdc6a6 Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Sat, 17 Apr 2021 18:50:33 +0200 Subject: [PATCH 043/896] Update vst-install-debian.sh --- install/vst-install-debian.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/install/vst-install-debian.sh b/install/vst-install-debian.sh index ec1928e0..d433af05 100755 --- a/install/vst-install-debian.sh +++ b/install/vst-install-debian.sh @@ -1630,6 +1630,7 @@ touch /usr/local/vesta/data/upgrades/clearing-letsencrypt-pipe touch /usr/local/vesta/data/upgrades/limit_max_recipients touch /usr/local/vesta/data/upgrades/roundcube_smtp_auth touch /usr/local/vesta/data/upgrades/apache_status_public_access +touch /usr/local/vesta/data/upgrades/update-cloudflare-ips # Secret URL secretquery='' From c7a089b37e24f67b20e24dd44f901e711cb82737 Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Sat, 17 Apr 2021 19:09:01 +0200 Subject: [PATCH 044/896] Updating CloudFlare IP addresses --- src/deb/vesta/postinst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/deb/vesta/postinst b/src/deb/vesta/postinst index c9154edc..35194389 100755 --- a/src/deb/vesta/postinst +++ b/src/deb/vesta/postinst @@ -28,7 +28,7 @@ if [ ! -f "/usr/local/vesta/data/upgrades/update-cloudflare-ips" ]; then if [ -f "/etc/nginx/nginx.conf" ]; then touch /usr/local/vesta/data/upgrades/update-cloudflare-ips echo "== Updating CloudFlare IP addresses" - sed -i 's/ set_real_ip_from 104.16.0.0/12;/ set_real_ip_from 104.16.0.0/13;\n set_real_ip_from 104.24.0.0/14;/g' /etc/nginx/nginx.conf + sed -i "s| set_real_ip_from 104.16.0.0\/12;| set_real_ip_from 104.16.0.0/13;\n set_real_ip_from 104.24.0.0/14;|g" /etc/nginx/nginx.conf systemctl restart nginx fi fi From 693ad5cff270c9af6fc24d7d4a39af4b690922a5 Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Sat, 17 Apr 2021 19:30:07 +0200 Subject: [PATCH 045/896] Version 0.9.8-26-46 --- src/deb/latest.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/deb/latest.txt b/src/deb/latest.txt index c95b3f55..82624a72 100644 --- a/src/deb/latest.txt +++ b/src/deb/latest.txt @@ -1 +1 @@ -vesta-0.9.8-26-45 +vesta-0.9.8-26-46 From 54fbba596b96472b48a3327df50dae7dcfe2fe5a Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Sat, 17 Apr 2021 19:32:17 +0200 Subject: [PATCH 046/896] Update Changelog.md --- Changelog.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Changelog.md b/Changelog.md index 78567100..dc9ff804 100644 --- a/Changelog.md +++ b/Changelog.md @@ -1,3 +1,7 @@ +Version 0.9.8-26-46 [17-Apr-2021] +================================================== +* [Feature] Updating CloudFlare IP addresses + Version 0.9.8-26-45 [13-Apr-2021] ================================================== * [Feature] Logging whole LetsEncrypt process to /usr/local/vesta/log/letsencrypt.log and /usr/local/vesta/log/letsencrypt_cron.log From 5b7c04a8f218a3d9691a6cf965d720868d8ab0c3 Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Wed, 21 Apr 2021 21:47:30 +0200 Subject: [PATCH 047/896] Rename node-app-also-handle-static-files-3000tpl to node-app-also-handle-static-files-3000.tpl --- ...c-files-3000tpl => node-app-also-handle-static-files-3000.tpl} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename src/deb/for-download/tools/nodejs-nginx-templates/{node-app-also-handle-static-files-3000tpl => node-app-also-handle-static-files-3000.tpl} (100%) diff --git a/src/deb/for-download/tools/nodejs-nginx-templates/node-app-also-handle-static-files-3000tpl b/src/deb/for-download/tools/nodejs-nginx-templates/node-app-also-handle-static-files-3000.tpl similarity index 100% rename from src/deb/for-download/tools/nodejs-nginx-templates/node-app-also-handle-static-files-3000tpl rename to src/deb/for-download/tools/nodejs-nginx-templates/node-app-also-handle-static-files-3000.tpl From fe1f5f91f299417f9e3fdde64ce705ab95f59f88 Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Fri, 30 Apr 2021 03:49:41 +0200 Subject: [PATCH 048/896] proftpd tls.conf --- install/debian/10/proftpd/tls.conf | 63 ++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 install/debian/10/proftpd/tls.conf diff --git a/install/debian/10/proftpd/tls.conf b/install/debian/10/proftpd/tls.conf new file mode 100644 index 00000000..9da0017b --- /dev/null +++ b/install/debian/10/proftpd/tls.conf @@ -0,0 +1,63 @@ +# +# Proftpd sample configuration for FTPS connections. +# +# Note that FTPS impose some limitations in NAT traversing. +# See http://www.castaglia.org/proftpd/doc/contrib/ProFTPD-mini-HOWTO-TLS.html +# for more information. +# ++ # If mod_tls was built as a shared/DSO module, load it + LoadModule mod_tls.c + ++TLSEngine on +TLSLog /var/log/proftpd/tls.log +# this is an example of protocols, proftp works witl all, but use only the most secure ones like TLSv1.1 and TLSv1.2 +TLSProtocol TLSv1.1 TLSv1.2 +# +# Server SSL certificate. You can generate a self-signed certificate using +# a command like: +# +# openssl req -x509 -newkey rsa:1024 \ +# -keyout /etc/ssl/private/proftpd.key -out /etc/ssl/certs/proftpd.crt \ +# -nodes -days 365 +# +# The proftpd.key file must be readable by root only. The other file can be +# readable by anyone. +# +# chmod 0600 /etc/ssl/private/proftpd.key +# chmod 0640 /etc/ssl/private/proftpd.key +# +TLSRSACertificateFile /usr/local/vesta/ssl/certificate.crt +TLSRSACertificateKeyFile /usr/local/vesta/ssl/certificate.key +# +# CA the server trusts... +#TLSCACertificateFile /etc/ssl/certs/CA.pem +# ...or avoid CA cert and be verbose +#TLSOptions NoCertRequest EnableDiags +# ... or the same with relaxed session use for some clients (e.g. FireFtp) +#TLSOptions NoCertRequest EnableDiags NoSessionReuseRequired +# +# +# Per default drop connection if client tries to start a renegotiate +# This is a fix for CVE-2009-3555 but could break some clients. +# +#TLSOptions AllowClientRenegotiations +# +TLSOptions NoSessionReuseRequired AllowClientRenegotiations +# Authenticate clients that want to use FTP over TLS? +# +#TLSVerifyClient off +# +# Are clients required to use FTP over TLS when talking to this server? +# +TLSRequired off +# +# Allow SSL/TLS renegotiations when the client requests them, but +# do not force the renegotations. Some clients do not support +# SSL/TLS renegotiations; when mod_tls forces a renegotiation, these +# clients will close the data connection, or there will be a timeout +# on an idle data connection. +# +TLSRenegotiate required off + From 91961383d9b05d6305b2117718bc5d105a586cf4 Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Fri, 30 Apr 2021 03:51:04 +0200 Subject: [PATCH 049/896] Include /etc/proftpd/tls.conf --- install/debian/10/proftpd/proftpd.conf | 2 ++ 1 file changed, 2 insertions(+) diff --git a/install/debian/10/proftpd/proftpd.conf b/install/debian/10/proftpd/proftpd.conf index 3eb0ec2c..b144b8a5 100644 --- a/install/debian/10/proftpd/proftpd.conf +++ b/install/debian/10/proftpd/proftpd.conf @@ -4,6 +4,8 @@ ServerAdmin root@localhost DefaultServer on DefaultRoot ~ !adm +Include /etc/proftpd/tls.conf +VRootEngine on VRootAlias /etc/security/pam_env.conf etc/security/pam_env.conf From 139f864b5471ca4e0ff1104ccc25999f0c167289 Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Fri, 30 Apr 2021 04:03:43 +0200 Subject: [PATCH 050/896] Proftpd tls.conf --- install/debian/9/proftpd/tls.conf | 63 +++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 install/debian/9/proftpd/tls.conf diff --git a/install/debian/9/proftpd/tls.conf b/install/debian/9/proftpd/tls.conf new file mode 100644 index 00000000..9da0017b --- /dev/null +++ b/install/debian/9/proftpd/tls.conf @@ -0,0 +1,63 @@ +# +# Proftpd sample configuration for FTPS connections. +# +# Note that FTPS impose some limitations in NAT traversing. +# See http://www.castaglia.org/proftpd/doc/contrib/ProFTPD-mini-HOWTO-TLS.html +# for more information. +# + + # If mod_tls was built as a shared/DSO module, load it + LoadModule mod_tls.c + ++TLSEngine on +TLSLog /var/log/proftpd/tls.log +# this is an example of protocols, proftp works witl all, but use only the most secure ones like TLSv1.1 and TLSv1.2 +TLSProtocol TLSv1.1 TLSv1.2 +# +# Server SSL certificate. You can generate a self-signed certificate using +# a command like: +# +# openssl req -x509 -newkey rsa:1024 \ +# -keyout /etc/ssl/private/proftpd.key -out /etc/ssl/certs/proftpd.crt \ +# -nodes -days 365 +# +# The proftpd.key file must be readable by root only. The other file can be +# readable by anyone. +# +# chmod 0600 /etc/ssl/private/proftpd.key +# chmod 0640 /etc/ssl/private/proftpd.key +# +TLSRSACertificateFile /usr/local/vesta/ssl/certificate.crt +TLSRSACertificateKeyFile /usr/local/vesta/ssl/certificate.key +# +# CA the server trusts... +#TLSCACertificateFile /etc/ssl/certs/CA.pem +# ...or avoid CA cert and be verbose +#TLSOptions NoCertRequest EnableDiags +# ... or the same with relaxed session use for some clients (e.g. FireFtp) +#TLSOptions NoCertRequest EnableDiags NoSessionReuseRequired +# +# +# Per default drop connection if client tries to start a renegotiate +# This is a fix for CVE-2009-3555 but could break some clients. +# +#TLSOptions AllowClientRenegotiations +# +TLSOptions NoSessionReuseRequired AllowClientRenegotiations +# Authenticate clients that want to use FTP over TLS? +# +#TLSVerifyClient off +# +# Are clients required to use FTP over TLS when talking to this server? +# +TLSRequired off +# +# Allow SSL/TLS renegotiations when the client requests them, but +# do not force the renegotations. Some clients do not support +# SSL/TLS renegotiations; when mod_tls forces a renegotiation, these +# clients will close the data connection, or there will be a timeout +# on an idle data connection. +# +TLSRenegotiate required off + From 2ac32032a8e0fdcbabe59969dadca3e36b0edfb0 Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Fri, 30 Apr 2021 04:04:30 +0200 Subject: [PATCH 051/896] Include /etc/proftpd/tls.conf --- install/debian/9/proftpd/proftpd.conf | 2 ++ 1 file changed, 2 insertions(+) diff --git a/install/debian/9/proftpd/proftpd.conf b/install/debian/9/proftpd/proftpd.conf index 69ec6b2e..d2bd8667 100644 --- a/install/debian/9/proftpd/proftpd.conf +++ b/install/debian/9/proftpd/proftpd.conf @@ -4,6 +4,8 @@ ServerAdmin root@localhost DefaultServer on DefaultRoot ~ !adm +Include /etc/proftpd/tls.conf +VRootEngine on VRootAlias /etc/security/pam_env.conf etc/security/pam_env.conf From 39af1bd5017cfb9da415c7ddbfca08195996ba39 Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Fri, 30 Apr 2021 04:05:33 +0200 Subject: [PATCH 052/896] Proftpd tls.conf --- install/debian/8/proftpd/tls.conf | 63 +++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 install/debian/8/proftpd/tls.conf diff --git a/install/debian/8/proftpd/tls.conf b/install/debian/8/proftpd/tls.conf new file mode 100644 index 00000000..9da0017b --- /dev/null +++ b/install/debian/8/proftpd/tls.conf @@ -0,0 +1,63 @@ +# +# Proftpd sample configuration for FTPS connections. +# +# Note that FTPS impose some limitations in NAT traversing. +# See http://www.castaglia.org/proftpd/doc/contrib/ProFTPD-mini-HOWTO-TLS.html +# for more information. +# + + # If mod_tls was built as a shared/DSO module, load it + LoadModule mod_tls.c + ++TLSEngine on +TLSLog /var/log/proftpd/tls.log +# this is an example of protocols, proftp works witl all, but use only the most secure ones like TLSv1.1 and TLSv1.2 +TLSProtocol TLSv1.1 TLSv1.2 +# +# Server SSL certificate. You can generate a self-signed certificate using +# a command like: +# +# openssl req -x509 -newkey rsa:1024 \ +# -keyout /etc/ssl/private/proftpd.key -out /etc/ssl/certs/proftpd.crt \ +# -nodes -days 365 +# +# The proftpd.key file must be readable by root only. The other file can be +# readable by anyone. +# +# chmod 0600 /etc/ssl/private/proftpd.key +# chmod 0640 /etc/ssl/private/proftpd.key +# +TLSRSACertificateFile /usr/local/vesta/ssl/certificate.crt +TLSRSACertificateKeyFile /usr/local/vesta/ssl/certificate.key +# +# CA the server trusts... +#TLSCACertificateFile /etc/ssl/certs/CA.pem +# ...or avoid CA cert and be verbose +#TLSOptions NoCertRequest EnableDiags +# ... or the same with relaxed session use for some clients (e.g. FireFtp) +#TLSOptions NoCertRequest EnableDiags NoSessionReuseRequired +# +# +# Per default drop connection if client tries to start a renegotiate +# This is a fix for CVE-2009-3555 but could break some clients. +# +#TLSOptions AllowClientRenegotiations +# +TLSOptions NoSessionReuseRequired AllowClientRenegotiations +# Authenticate clients that want to use FTP over TLS? +# +#TLSVerifyClient off +# +# Are clients required to use FTP over TLS when talking to this server? +# +TLSRequired off +# +# Allow SSL/TLS renegotiations when the client requests them, but +# do not force the renegotations. Some clients do not support +# SSL/TLS renegotiations; when mod_tls forces a renegotiation, these +# clients will close the data connection, or there will be a timeout +# on an idle data connection. +# +TLSRenegotiate required off + From 108cb3dfdb9337edd6945729f4caa7ca3c5d40f0 Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Fri, 30 Apr 2021 04:06:09 +0200 Subject: [PATCH 053/896] Include /etc/proftpd/tls.conf --- install/debian/8/proftpd/proftpd.conf | 2 ++ 1 file changed, 2 insertions(+) diff --git a/install/debian/8/proftpd/proftpd.conf b/install/debian/8/proftpd/proftpd.conf index 69ec6b2e..d2bd8667 100644 --- a/install/debian/8/proftpd/proftpd.conf +++ b/install/debian/8/proftpd/proftpd.conf @@ -4,6 +4,8 @@ ServerAdmin root@localhost DefaultServer on DefaultRoot ~ !adm +Include /etc/proftpd/tls.conf +VRootEngine on VRootAlias /etc/security/pam_env.conf etc/security/pam_env.conf From 0a0d3a4649df03d1e2b9521d7f6e0c2fd3cb5b9b Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Fri, 30 Apr 2021 04:08:42 +0200 Subject: [PATCH 054/896] Copy Proftpd tls.conf in installer --- install/vst-install-debian.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/install/vst-install-debian.sh b/install/vst-install-debian.sh index d433af05..8921a4d7 100755 --- a/install/vst-install-debian.sh +++ b/install/vst-install-debian.sh @@ -1040,6 +1040,7 @@ fi if [ "$proftpd" = 'yes' ]; then echo "127.0.0.1 $servername" >> /etc/hosts cp -f $vestacp/proftpd/proftpd.conf /etc/proftpd/ + cp -f $vestacp/proftpd/tls.conf /etc/proftpd/ update-rc.d proftpd defaults service proftpd start check_result $? "proftpd start failed" From 17b4b25f97534e224ecf82d27cec0ba3343d6bd5 Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Sun, 16 May 2021 11:46:40 +0200 Subject: [PATCH 055/896] Add files via upload --- .../node-app-4000-and-websocket-6001.stpl | 68 +++++++++++++++++++ .../node-app-4000-and-websocket-6001.tpl | 25 +++++++ 2 files changed, 93 insertions(+) create mode 100644 src/deb/for-download/tools/nodejs-nginx-templates/node-app-4000-and-websocket-6001.stpl create mode 100644 src/deb/for-download/tools/nodejs-nginx-templates/node-app-4000-and-websocket-6001.tpl diff --git a/src/deb/for-download/tools/nodejs-nginx-templates/node-app-4000-and-websocket-6001.stpl b/src/deb/for-download/tools/nodejs-nginx-templates/node-app-4000-and-websocket-6001.stpl new file mode 100644 index 00000000..0def9f53 --- /dev/null +++ b/src/deb/for-download/tools/nodejs-nginx-templates/node-app-4000-and-websocket-6001.stpl @@ -0,0 +1,68 @@ +server { + listen %ip%:%proxy_ssl_port%; + server_name %domain_idn% %alias_idn%; + ssl on; + ssl_certificate %ssl_pem%; + ssl_certificate_key %ssl_key%; + error_log /var/log/%web_system%/domains/%domain%.error.log error; + + # test %port_num% + ssl_protocols TLSv1 TLSv1.1 TLSv1.2; + ssl_prefer_server_ciphers on; + ssl_ciphers 'EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH'; + + root %sdocroot%/public; + index index.html; + + location / { + proxy_pass http://localhost:4000; + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection 'upgrade'; + proxy_set_header Host $host; + proxy_cache_bypass $http_upgrade; + + + # try_files $uri $uri/ @rewrites; + + location ~* ^.+\.(%proxy_extentions%)$ { + access_log /var/log/%web_system%/domains/%domain%.log combined; + access_log /var/log/%web_system%/domains/%domain%.bytes bytes; + expires max; + } + } + + + location /app { + proxy_pass http://127.0.0.1:6001; + proxy_set_header Host $host; + proxy_read_timeout 60; + proxy_connect_timeout 60; + proxy_redirect off; + + # Allow the use of websockets + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection 'upgrade'; + proxy_set_header Host $host; + proxy_cache_bypass $http_upgrade; + } + + location @rewrites { + rewrite ^(.+)$ /index.html last; + } + + location /error/ { + alias %home%/%user%/web/%domain%/document_errors/; + } + + + location ~ /\.ht {return 404;} + location ~ /\.svn/ {return 404;} + location ~ /\.git/ {return 404;} + location ~ /\.hg/ {return 404;} + location ~ /\.bzr/ {return 404;} + + include %home%/%user%/conf/web/*nginx.%domain_idn%.conf_letsencrypt; + include %home%/%user%/conf/web/s%proxy_system%.%domain%.conf*; +} \ No newline at end of file diff --git a/src/deb/for-download/tools/nodejs-nginx-templates/node-app-4000-and-websocket-6001.tpl b/src/deb/for-download/tools/nodejs-nginx-templates/node-app-4000-and-websocket-6001.tpl new file mode 100644 index 00000000..958b2594 --- /dev/null +++ b/src/deb/for-download/tools/nodejs-nginx-templates/node-app-4000-and-websocket-6001.tpl @@ -0,0 +1,25 @@ +server { + listen %ip%:%proxy_port%; + server_name %domain_idn% %alias_idn%; + location / { + rewrite ^(.*) https://%domain_idn%$1 permanent; + } + + location /app { + proxy_pass http://127.0.0.1:6001; + proxy_set_header Host $host; + proxy_read_timeout 60; + proxy_connect_timeout 60; + proxy_redirect off; + + # Allow the use of websockets + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection 'upgrade'; + proxy_set_header Host $host; + proxy_cache_bypass $http_upgrade; + } + + +include %home%/%user%/conf/web/*nginx.%domain_idn%.conf_letsencrypt; +} From d368a7e6d46fae3924accbf2ba4c16a1c741b5e1 Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Sun, 30 May 2021 19:21:06 +0200 Subject: [PATCH 056/896] More logical restore backup template --- web/templates/admin/list_backup_detail.html | 16 +++++----------- 1 file changed, 5 insertions(+), 11 deletions(-) diff --git a/web/templates/admin/list_backup_detail.html b/web/templates/admin/list_backup_detail.html index 39790652..137d0099 100644 --- a/web/templates/admin/list_backup_detail.html +++ b/web/templates/admin/list_backup_detail.html @@ -4,13 +4,6 @@ + +AuthPAMConfig proftpd +AuthOrder mod_auth_pam.c* mod_auth_unix.c +UseReverseDNS off +User proftpd +Group nogroup +MaxInstances 100 +UseSendfile off +LogFormat default "%h %l %u %t \"%r\" %s %b" +LogFormat auth "%v [%P] %h %t \"%r\" %s" +ListOptions -a +RequireValidShell off +PassivePorts 12000 12100 +TransferLog /var/log/proftpd/xferlog +SystemLog /var/log/proftpd/proftpd.log + +- + @@ -34,7 +34,7 @@@@ -40,7 +33,8 @@
- - - @@ -19,13 +12,13 @@ - + From 8fe06a215397936b4c7901f8e852bde553affaee Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Sun, 30 May 2021 20:23:23 +0200 Subject: [PATCH 058/896] Update sr.php --- web/inc/i18n/sr.php | 3 +++ 1 file changed, 3 insertions(+) diff --git a/web/inc/i18n/sr.php b/web/inc/i18n/sr.php index 2b91b293..a83aeb32 100644 --- a/web/inc/i18n/sr.php +++ b/web/inc/i18n/sr.php @@ -755,4 +755,7 @@ $LANG['sr'] = array( 'maximum characters length, including prefix' => 'maksimalna dužina sme biti %s karaktera, uključujući i prefix', 'Email Credentials' => 'Email lozinka i podešavanja', + + 'selected' => 'selektovano', + 'First select what to restore' => 'Prvo selektujte šta tačno želite da vratite' ); From f1da73a7bd77101ce46703b466104f3366a8e727 Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Sun, 30 May 2021 20:25:21 +0200 Subject: [PATCH 059/896] Update list_backup_detail.html --- web/templates/admin/list_backup_detail.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/web/templates/admin/list_backup_detail.html b/web/templates/admin/list_backup_detail.html index cc1a9f0e..6c2812cf 100644 --- a/web/templates/admin/list_backup_detail.html +++ b/web/templates/admin/list_backup_detail.html @@ -18,7 +18,7 @@-From 1739c8c73163904ea9e1a493128d1f2fa2e00424 Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Sun, 30 May 2021 20:17:27 +0200 Subject: [PATCH 057/896] Update list_backup_detail.html --- web/templates/admin/list_backup_detail.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/web/templates/admin/list_backup_detail.html b/web/templates/admin/list_backup_detail.html index 137d0099..cc1a9f0e 100644 --- a/web/templates/admin/list_backup_detail.html +++ b/web/templates/admin/list_backup_detail.html @@ -18,7 +18,7 @@=__('Listing')?> =htmlentities($_GET['backup'])?>+=__('Listing')?> =htmlentities($_GET['backup'])?>+=__('First select what to restore:')?>- + From e1f32c04706ce7b1f2b8cf3cbf041fc24a2d4b4f Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Sun, 30 May 2021 20:46:34 +0200 Subject: [PATCH 062/896] Enabling TLS for ProFTPD FTPS --- src/deb/vesta/postinst | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/deb/vesta/postinst b/src/deb/vesta/postinst index 35194389..fe80212f 100755 --- a/src/deb/vesta/postinst +++ b/src/deb/vesta/postinst @@ -23,6 +23,20 @@ fi echo "1" > /usr/local/vesta/data/upgrades/show_changelog chmod a=rw /usr/local/vesta/data/upgrades/show_changelog +# Enabling TLS for ProFTPD FTPS +if [ ! -f "/usr/local/vesta/data/upgrades/enable-tls-in-proftpd" ]; then + if [ -f "/etc/proftpd/proftpd.conf" ]; then + touch /usr/local/vesta/data/upgrades/enable-tls-in-proftpd + check_grep=$(grep -c 'tls' /etc/proftpd/proftpd.conf) + if [ "$check_grep" -eq 0 ]; then + echo "== Enabling TLS for ProFTPD FTPS" + wget -nv https://c.myvestacp.com/debian/10/proftpd/tls.conf -O /etc/proftpd/tls.conf + sed -i "s|AuthPAMConfig|Include /etc/proftpd/tls.conf\n\nAuthPAMConfig|g" /etc/proftpd/proftpd.conf + systemctl restart proftpd + fi + fi +fi + # Updating CloudFlare IP addresses if [ ! -f "/usr/local/vesta/data/upgrades/update-cloudflare-ips" ]; then if [ -f "/etc/nginx/nginx.conf" ]; then From 77d1da1359abccb3573132738066a197fe8d5c42 Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Sun, 30 May 2021 20:49:02 +0200 Subject: [PATCH 063/896] Update Changelog.md --- Changelog.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/Changelog.md b/Changelog.md index dc9ff804..82f5bc60 100644 --- a/Changelog.md +++ b/Changelog.md @@ -1,3 +1,8 @@ +Version 0.9.8-26-47 [30-May-2021] +================================================== +* Enabling TLS for ProFTPD FTPS +* More logical "Restore backup" template + Version 0.9.8-26-46 [17-Apr-2021] ================================================== * [Feature] Updating CloudFlare IP addresses From a2792f8ebd392f043bca34f3caa8d9cebdd154e9 Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Sun, 30 May 2021 20:50:29 +0200 Subject: [PATCH 064/896] Update vst-install-debian.sh --- install/vst-install-debian.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/install/vst-install-debian.sh b/install/vst-install-debian.sh index 8921a4d7..bfab2778 100755 --- a/install/vst-install-debian.sh +++ b/install/vst-install-debian.sh @@ -1632,6 +1632,7 @@ touch /usr/local/vesta/data/upgrades/limit_max_recipients touch /usr/local/vesta/data/upgrades/roundcube_smtp_auth touch /usr/local/vesta/data/upgrades/apache_status_public_access touch /usr/local/vesta/data/upgrades/update-cloudflare-ips +touch /usr/local/vesta/data/upgrades/enable-tls-in-proftpd # Secret URL secretquery='' From 2d10c646ff61ca2ebed8d80f279e31dbf2287347 Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Sun, 30 May 2021 20:52:11 +0200 Subject: [PATCH 065/896] Version 0.9.8-26-47 --- src/deb/latest.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/deb/latest.txt b/src/deb/latest.txt index 82624a72..5acd4ac4 100644 --- a/src/deb/latest.txt +++ b/src/deb/latest.txt @@ -1 +1 @@ -vesta-0.9.8-26-46 +vesta-0.9.8-26-47 From 8301436be6ba6d3768c44bc23f81e0ae5af22d8c Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Wed, 9 Jun 2021 09:50:12 +0200 Subject: [PATCH 066/896] Update README.md --- README.md | 102 ++---------------------------------------------------- 1 file changed, 3 insertions(+), 99 deletions(-) diff --git a/README.md b/README.md index 7a3e5866..c34d496b 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,8 @@ -News +myVesta ================================================== -We finally have normal homepage: -- https://myvestacp.com/ +Visit our homepage: +- https://www.myvestacp.com/ Forum: - https://forum.myvestacp.com/ @@ -12,99 +12,3 @@ Knowledge base: Changelog: - https://github.com/myvesta/vesta/blob/master/Changelog.md - -myVesta Control Panel -================================================== - -* myVesta is a fork of [VestaCP](https://vestacp.com/) -* Focused on security and stability -* Therefore, only Debian is supported - keeping focus on only one eco-system - not wasting energy on compatibility with other Linux distributions -* However, it will be always synchronized with official VestaCP commits -* VestaCP commercial plugins will be only available for purchase on official [vestacp.com](https://vestacp.com/) website - we will NOT take their earnings, since we are not making this fork for monetary reasons. Instead, we are doing this with open source in mind - to enhance security and to build new features, without being interlocked with official VestaCP release cycles, and without affecting or heavily diverting from the VestaCP's planned development milestones -* With previous in mind, all features that are built for this fork (myVesta), will be offered to official VestaCP, via pull requests - -Features of myVesta -================================================== - -+ Support for Debian 10 (previous Debian releases are also supported, but Debian 10 is recommended) - -+ [nginx templates](https://github.com/myvesta/vesta/blob/master/src/deb/for-download/tools/rate-limit-tpl/install_rate_limit_tpl.sh) that can prevent denial-of-service on your server - -+ [Support for multi-PHP versions](https://github.com/myvesta/vesta/blob/master/src/deb/for-download/tools/multi-php-install.sh) - -+ You can limit the maximum number of sent emails (per hour) [per mail account](https://github.com/myvesta/vesta/blob/master/install/debian/10/exim/exim4.conf.template#L109-L110) and [per hosting account](https://github.com/myvesta/vesta/blob/master/install/debian/10/exim/exim4.conf.template#L72-L73), preventing hijacking of email accounts and preventing PHP malware scripts to send spam. - -+ You can see [what PHP scripts are sending emails](https://github.com/myvesta/vesta/blob/master/install/debian/10/php/php7.3-dedi.patch#L50), when and to whom - -+ You can completely "lock" myVesta so it can be accessed only via **secret URL**, for example https://serverhost:8083/?MY-SECRET-URL - + During installation you will be asked to choose a secret URL for your hosting panel - + Literally no PHP scripts will be alive on your hosting panel (won't be able to get executed), unless you access the hosting panel with secret URL parameter. Thus, when it happens that, let's say, some zero-day exploit pops up - attackers won't be able to access it without knowing your secret URL - PHP scripts from VestaCP will be simply dead - no one will be able to interact with your panel unless they have the secret URL. - + You can see for yourself how this mechanism was built by looking at: - + https://github.com/myvesta/vesta/blob/master/src/deb/for-download/php/php.ini#L496 - + https://github.com/myvesta/vesta/blob/master/web/inc/secure_login.php - + If you didn't set the secret URL during installation, you can do it anytime. Just execute in shell: - + `echo " /usr/local/vesta/web/inc/login_url.php` - -+ We [disabled dangerous PHP functions](https://github.com/myvesta/vesta/blob/master/install/debian/10/php/php7.3-dedi.patch#L9) in php.ini, so even if, for example, your customer's CMS gets compromised, hacker will not be able to execute shell scripts from within PHP. - -+ Apache is fully switched to mpm_event mode, while PHP is running in PHP-FPM mode, which is the most stable PHP-stack solution - + OPCache is turned on by default - -+ Auto-generating LetsEncrypt SSL for server hostname (signed SSL for Vesta 8083 port, for dovecot (IMAP & POP3) and for Exim (SMTP)) - -+ You can change Vesta port during installation or later using one command line: **v-change-vesta-port [number]** - -+ ClamAV is configured to block zip/rar/7z archives that contains executable files (just like GMail) - -+ Backup will run with lowest priority (to avoid load on server), and can be configured to run only by night (and to stop on the morning and continue next night) - -+ You can compile Vesta binaries by yourself - https://github.com/myvesta/vesta/blob/master/src/deb/vesta_compile.sh - + You can even create your own APT repository in a minute - + We are using latest nginx version for vesta-nginx package - + With your own APT infrastructure you can take security of Vesta-installer infrastructure in your own hands. You will have full control of your Vesta code (this way you can rest assured that there's 0% chance that you'll install malicious packages from repositories that may get hacked) - + Binaries that you compile are 100% compatible with official VestaCP from vestacp.com, so you can run official VestaCP code with your own binaries (in case you don't want the source code from this fork) - -Useful tools -================================================== - -+ [Script that will convert Vesta to myVesta](https://github.com/myvesta/vesta/blob/master/src/deb/for-download/tools/convert-vesta-to-myvesta.sh) - -+ [Wordpress installer in one second](https://github.com/myvesta/vesta/blob/master/bin/v-install-wordpress) - -+ [Script for importing cPanel backups to Vesta](https://forum.myvestacp.com/viewtopic.php?f=24&t=63) - -+ [Cloning script that will copy the whole site from one domain to another (sub)domain](https://github.com/myvesta/vesta/blob/master/bin/v-clone-website) - -+ [Script that will migrate your site from http to https, replacing http to https URLs in database](https://github.com/myvesta/vesta/blob/master/bin/v-migrate-site-to-https) - -+ [Script that will install multiple PHP versions on your server](https://github.com/myvesta/vesta/blob/master/src/deb/for-download/tools/multi-php-install.sh) - -+ [Script that will install nginx templates that can prevent denial-of-service on your server](https://github.com/myvesta/vesta/blob/master/src/deb/for-download/tools/rate-limit-tpl/install_rate_limit_tpl.sh) - -+ [Official Vesta Softaculous installer](https://github.com/myvesta/vesta/blob/master/src/deb/for-download/tools/install-softaculous.sh) - - -How to install ----------------------------- -Download the installation script: -```bash -curl -O http://c.myvestacp.com/vst-install-debian.sh -``` -Then run it: -```bash -bash vst-install-debian.sh -``` - -About VestaCP -================================================== - -* [Vesta](https://vestacp.com/) is an open source hosting control panel. -* Vesta has a clean and focused interface without clutter. -* Vesta has the latest of very innovative technologies. - -Special thanks to vestacp.com and Serghey Rodin for open-source VestaCP project - -License ----------------------------- -Vesta is licensed under [GPL v3 ](https://github.com/serghey-rodin/vesta/blob/master/LICENSE) license - From 7f9f1c0253bf590a7d562370858662404aad4167 Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Sun, 11 Jul 2021 15:00:25 +0200 Subject: [PATCH 067/896] update acme-challenge always --- bin/v-add-letsencrypt-domain | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/bin/v-add-letsencrypt-domain b/bin/v-add-letsencrypt-domain index edd2c8d5..b8188d2b 100755 --- a/bin/v-add-letsencrypt-domain +++ b/bin/v-add-letsencrypt-domain @@ -214,13 +214,13 @@ for auth in $authz; do # default nginx method conf="$HOMEDIR/$user/conf/web/nginx.$domain.conf_letsencrypt" sconf="$HOMEDIR/$user/conf/web/snginx.$domain.conf_letsencrypt" - if [ ! -e "$conf" ]; then + # if [ ! -e "$conf" ]; then echo 'location ~ "^/\.well-known/acme-challenge/(.*)$" {' \ > $conf echo ' default_type text/plain;' >> $conf echo ' return 200 "$1.'$THUMB'";' >> $conf echo '}' >> $conf - fi + # fi echo "[$(date)] : in $conf we put: $THUMB" >> /usr/local/vesta/log/letsencrypt.log if [ ! -e "$sconf" ]; then ln -s "$conf" "$sconf" From d6b6599709ad44b48de87faa92c30db167305406 Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Sun, 11 Jul 2021 15:39:46 +0200 Subject: [PATCH 068/896] Grep carefully for 'END CERTIFICATE' --- bin/v-add-letsencrypt-domain | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/bin/v-add-letsencrypt-domain b/bin/v-add-letsencrypt-domain index b8188d2b..ed6e5e90 100755 --- a/bin/v-add-letsencrypt-domain +++ b/bin/v-add-letsencrypt-domain @@ -333,13 +333,13 @@ fi # Splitting up downloaded pem # echo "[$(date)] : - Splitting up downloaded pem" >> /usr/local/vesta/log/letsencrypt.log -crt_end=$(grep -n END $ssl_dir/$domain.pem |head -n1 |cut -f1 -d:) +crt_end=$(grep -n 'END CERTIFICATE' $ssl_dir/$domain.pem |head -n1 |cut -f1 -d:) # echo "[$(date)] : crt_end=$crt_end" >> /usr/local/vesta/log/letsencrypt.log head -n $crt_end $ssl_dir/$domain.pem > $ssl_dir/$domain.crt pem_lines=$(wc -l $ssl_dir/$domain.pem |cut -f 1 -d ' ') # echo "[$(date)] : pem_lines=$pem_lines" >> /usr/local/vesta/log/letsencrypt.log -ca_end=$(grep -n "BEGIN" $ssl_dir/$domain.pem |tail -n1 |cut -f 1 -d :) +ca_end=$(grep -n 'BEGIN CERTIFICATE' $ssl_dir/$domain.pem |tail -n1 |cut -f 1 -d :) # echo "[$(date)] : ca_end=$ca_end" >> /usr/local/vesta/log/letsencrypt.log ca_end=$(( pem_lines - crt_end + 1 )) # echo "[$(date)] : ca_end=$ca_end" >> /usr/local/vesta/log/letsencrypt.log From 96dd1287642ec7115421d8687dac544d0317cd6c Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Sun, 11 Jul 2021 15:53:40 +0200 Subject: [PATCH 069/896] Update Changelog.md --- Changelog.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Changelog.md b/Changelog.md index 82f5bc60..0605428d 100644 --- a/Changelog.md +++ b/Changelog.md @@ -1,3 +1,7 @@ +Version 0.9.8-26-48 [11-Jul-2021] +================================================== +* Fixed two bugs in LetsEncrypt generating process + Version 0.9.8-26-47 [30-May-2021] ================================================== * Enabling TLS for ProFTPD FTPS From 71ac6f2a570d628f014efbb0d6a0f4d7f6e2831f Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Sun, 11 Jul 2021 15:54:48 +0200 Subject: [PATCH 070/896] Version 0.9.8-26-48 --- src/deb/latest.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/deb/latest.txt b/src/deb/latest.txt index 5acd4ac4..fa6171f7 100644 --- a/src/deb/latest.txt +++ b/src/deb/latest.txt @@ -1 +1 @@ -vesta-0.9.8-26-47 +vesta-0.9.8-26-48 From 23ae0227c0680f748a1779f3de2e9b56a19ed2d8 Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Mon, 12 Jul 2021 14:09:16 +0200 Subject: [PATCH 071/896] Update control --- src/deb/vesta/control | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/deb/vesta/control b/src/deb/vesta/control index 0cb5f67d..534e200a 100644 --- a/src/deb/vesta/control +++ b/src/deb/vesta/control @@ -3,8 +3,8 @@ Package: vesta Priority: optional Version: 0.9.8-26 Section: admin -Maintainer: Predrag DamnjanovicFrom 0233834da4a1c11d3c5b70d29d73a6f4d724b937 Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Sun, 30 May 2021 20:26:48 +0200 Subject: [PATCH 060/896] Update sr.php --- web/inc/i18n/sr.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/web/inc/i18n/sr.php b/web/inc/i18n/sr.php index a83aeb32..4cb8db27 100644 --- a/web/inc/i18n/sr.php +++ b/web/inc/i18n/sr.php @@ -756,6 +756,6 @@ $LANG['sr'] = array( 'Email Credentials' => 'Email lozinka i podešavanja', - 'selected' => 'selektovano', + 'restore selected' => 'vrati selektovano', 'First select what to restore' => 'Prvo selektujte šta tačno želite da vratite' ); From cf75660818a422dfa5a3a813f51acbc40e0c0585 Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Sun, 30 May 2021 20:28:35 +0200 Subject: [PATCH 061/896] Update list_backup_detail.html --- web/templates/admin/list_backup_detail.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/web/templates/admin/list_backup_detail.html b/web/templates/admin/list_backup_detail.html index 6c2812cf..096f5198 100644 --- a/web/templates/admin/list_backup_detail.html +++ b/web/templates/admin/list_backup_detail.html @@ -18,7 +18,7 @@=__('Listing')?> =htmlentities($_GET['backup'])?>-=__('First select what to restore:')?>+=__('First select what to restore')?>:-Homepage: http://myvestacp.com +Maintainer: myVesta +Homepage: https://www.myvestacp.com Architecture: amd64 Depends: bash, awk, sed Description: Vesta From 1ebe164b15d8320a801b2b70b28ce18ab9023697 Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Mon, 12 Jul 2021 14:10:40 +0200 Subject: [PATCH 072/896] Update control --- src/deb/php/control | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/deb/php/control b/src/deb/php/control index fa32b0d5..d4298780 100644 --- a/src/deb/php/control +++ b/src/deb/php/control @@ -3,8 +3,8 @@ Package: vesta-php Priority: optional Version: 0.9.8-26 Section: admin -Maintainer: Predrag Damnjanovic -Homepage: http://myvestacp.com +Maintainer: myVesta +Homepage: https://www.myvestacp.com Architecture: amd64 Depends: vesta Description: Vesta php-fpm From 0729152f72d8cf3d69e0c6d783bdbc3c2dad498b Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Mon, 12 Jul 2021 14:11:55 +0200 Subject: [PATCH 073/896] Update control --- src/deb/nginx/control | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/deb/nginx/control b/src/deb/nginx/control index 54cada5d..86ae383a 100644 --- a/src/deb/nginx/control +++ b/src/deb/nginx/control @@ -3,8 +3,8 @@ Package: vesta-nginx Priority: optional Version: 0.9.8-26-44 Section: admin -Maintainer: Predrag Damnjanovic -Homepage: http://myvestacp.com +Maintainer: myVesta +Homepage: https://www.myvestacp.com Architecture: amd64 Depends: vesta Description: Vesta Nginx From b69f6221bb6d6347bef56bc7ce041a3f017f7134 Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Mon, 12 Jul 2021 14:13:07 +0200 Subject: [PATCH 074/896] Update copyright --- src/deb/php/copyright | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/deb/php/copyright b/src/deb/php/copyright index af8b3c23..2b3c513e 100644 --- a/src/deb/php/copyright +++ b/src/deb/php/copyright @@ -1,6 +1,6 @@ Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ Upstream-Name: vesta-php -Source: http://myvestacp.com +Source: https://www.myvestacp.com Files: * Copyright: 2019 MyVesta From d605a80d7d7b29b61ea24ca5c2d3769858b939f7 Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Mon, 12 Jul 2021 14:13:53 +0200 Subject: [PATCH 075/896] Update copyright --- src/deb/nginx/copyright | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/deb/nginx/copyright b/src/deb/nginx/copyright index 3feceb98..d6604bdf 100644 --- a/src/deb/nginx/copyright +++ b/src/deb/nginx/copyright @@ -1,9 +1,9 @@ Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ Upstream-Name: vesta-nginx -Source: http://myvestacp.com +Source: https://www.myvestacp.com Files: * -Copyright: 2021 MyVesta +Copyright: 2021 myVesta License: GPL-3.0+ Remarks: MyVesta is a fork from VestaCP, special thanks to vestacp.com and Serghey Rodin From 191f1565f6000b944f3fa61310d4c97e7ae2924e Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Mon, 12 Jul 2021 14:14:33 +0200 Subject: [PATCH 076/896] Update copyright --- src/deb/php/copyright | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/deb/php/copyright b/src/deb/php/copyright index 2b3c513e..65ee43e2 100644 --- a/src/deb/php/copyright +++ b/src/deb/php/copyright @@ -3,7 +3,7 @@ Upstream-Name: vesta-php Source: https://www.myvestacp.com Files: * -Copyright: 2019 MyVesta +Copyright: 2021 myVesta License: GPL-3.0+ Remarks: MyVesta is a fork from VestaCP, special thanks to vestacp.com and Serghey Rodin From 2e7c03b4ccd26478f7138d440ee0aee2032afadd Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Mon, 12 Jul 2021 14:16:08 +0200 Subject: [PATCH 077/896] Update copyright --- src/deb/vesta/copyright | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/deb/vesta/copyright b/src/deb/vesta/copyright index 8845a756..8930fb15 100644 --- a/src/deb/vesta/copyright +++ b/src/deb/vesta/copyright @@ -1,9 +1,9 @@ Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ Upstream-Name: vesta -Source: http://myvestacp.com +Source: https://www.myvestacp.com Files: * -Copyright: 2019 MyVesta +Copyright: 2021 myVesta License: GPL-3.0+ Remarks: MyVesta is a fork from VestaCP, special thanks to vestacp.com and Serghey Rodin From fa8321686fae680ab19787704f51a44b7abb0a28 Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Mon, 12 Jul 2021 14:55:08 +0200 Subject: [PATCH 078/896] Update vesta_compile.sh --- src/deb/vesta_compile.sh | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/deb/vesta_compile.sh b/src/deb/vesta_compile.sh index 389781c9..3e9663bd 100644 --- a/src/deb/vesta_compile.sh +++ b/src/deb/vesta_compile.sh @@ -29,7 +29,7 @@ if [ $# -gt 4 ]; then add_deb_to_apt_repo=$5 fi -MAINTAINER_EMAIL='predrag@myvestacp.com' +MAINTAINER_EMAIL='info@myvestacp.com' TARGET_DEB_NAME_MAIN='buster' TARGET_DEB_VER_MAIN='10' @@ -248,6 +248,10 @@ EOF press_enter "*** please copy above generated key to your clipboard and then paste it after pressing enter now ***" vi $PATH_OF_APT_REPO_ROOT/deb_signing.key cp $PATH_OF_APT_REPO_ROOT/deb_signing.key $PATH_OF_C_WEB_FOLDER_ROOT/deb_signing.key + cp $PATH_OF_APT_REPO_ROOT/deb_signing.key $PATH_OF_C_WEB_FOLDER_ROOT/debian/10/deb_signing.key + cp $PATH_OF_APT_REPO_ROOT/deb_signing.key $PATH_OF_C_WEB_FOLDER_ROOT/debian/9/deb_signing.key + cp $PATH_OF_APT_REPO_ROOT/deb_signing.key $PATH_OF_C_WEB_FOLDER_ROOT/debian/8/deb_signing.key + cp $PATH_OF_APT_REPO_ROOT/deb_signing.key $PATH_OF_C_WEB_FOLDER_ROOT/debian/7/deb_signing.key fi echo "=== All done" From de1f566d14e679c31d90ff4c1154019b4e598c08 Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Mon, 12 Jul 2021 14:58:30 +0200 Subject: [PATCH 079/896] Update deb_signing.key --- install/debian/10/deb_signing.key | 76 +++++++++++++++---------------- 1 file changed, 38 insertions(+), 38 deletions(-) diff --git a/install/debian/10/deb_signing.key b/install/debian/10/deb_signing.key index 9debc008..14faf4f8 100644 --- a/install/debian/10/deb_signing.key +++ b/install/debian/10/deb_signing.key @@ -1,41 +1,41 @@ -----BEGIN PGP PUBLIC KEY BLOCK----- -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 -=mMOx +mQGNBGDsNnsBDADJzQDPd4pTSrF6OTN8BmRGcHYNBIMV3iJqXGEcITizqUtooFaz +9x2ewHKREHssjFB4FcEduPabKmEgUDX+XQHRq99w8npD4eyzNzhVUv50GCFfk8Ab +4M479gO0fbu039hvepmKTs+x0wtvjC/3Wyt1IT/+nmfVgWpFWH5t0O2spMxj1Eca +un5Qy1+NAn+zI3GFx5OVXmKK9vaneDX9ztKSia3NqLGsBDS+hluSJKlyOGYkDptb +4o8vnx/jhpf921q0vKrQ4ZzzTZaBQk5fmgX8Je0SKdGULTfXGPWFBLCYiFSJVqMP +emz1yfrpPiWGrD/KJFiDetGC1KPuM9uzjGjpx3V0ZILrmX+U86peSI08cqbdz408 +QKX+fbTp56vITw37wTrVKvR4Y8CA0eQQjM6qDzbJGnRXkM+8+JqfjGCxg2oxcLn7 +NIIqyrMCDAOkwthrXX0qa8UD3zKqxnYmLzLnEJxOYBk+ccjQaH3ddj8NhMx1iEfl +Lw1tDg+ra7XceZUAEQEAAbQhbXlWZXN0YSB0ZWFtIDxpbmZvQG15dmVzdGFjcC5j +b20+iQHUBBMBCgA+FiEEJnm7CzymmC3hqXmE3RveHvHBiEcFAmDsNnsCGwMFCQPC +ZwAFCwkIBwIGFQoJCAsCBBYCAwECHgECF4AACgkQ3RveHvHBiEdC/Av/buI0U5BR +juCRBerCKeB7AJ8Yei2q0DAyFV1+UjGkT1G12jvnOv+GnJWHTCwzJjwxmHfBQKMz +7EK0gHPV7v34agfhDl/yJAttRBbrwpxC2mu2EFEN7zl90g2/714Rd46Tjtmi1z+h +k7OXM1TR6AzOglzKoR3H1tbzRiFy7kS7sAJaeWoyxQMN0O5hQz+6NYpkUHt+5xzY +1TTvS5FJdIL4m4AGtIZsMTeNrnfWulOhpYFJrTm9hRikfuFH0ttY8cuy+hCiCc8J +fcdKA7HPr5IVTIj7V+TCwnQaV7cSVVfenE4Ia960RlqN0x4gUufBKs6ySCUGxkQS +8knAQNdN9a2lbmBlpotx7HoDoAuhB3tFhsXwzSBVxya6MxTYbrzf3aEWynufXZqs +sJ5qqWBYEvVNOTB9E8Bh5eqAVMqrJNugoq/yCqJKGLJ3fnnSYpR7bHfrSxxidymX +lmqP8uuz809xqEd/bYciKoEwFAdiMPE1Tdd7RL6T/qcLeT9yymNypqI1uQGNBGDs +NnsBDADQcj+pPa2Qq1n2jZnVlV9ULhXNB3bVpgrRUQyvIEtda0aHbAjvumXQdJlA +DB3jPPoDglIotOXsyxW8Ni4+dJ+P1zggHUZfFmcbIp1cwC2gRMoz6lWPz/N2YLIr +BbXah5cIGv8hnIo1uFzihAdEXwYQNzP/giysCKNQBZrfi3NxNQLFEITTeMGH0G44 +4oEeVih3KIgbfEdO6qu3fTlO/tHa6tB2z6q2qDiT0/sqs4lgM38Z2udR1vsCi1e/ +aHIVxcBanTTdGrv27hrlHY5GT/K8mVKD+PVTuQk0lCiI5SlXvDeCQiMkyUSNr+fV +4d6214WLh6xv7TN7Op1XZVXLZLf2g7DMuaOs4ZL1oVwqwXZXbnEosyFaJdIPJMvm +mggbO7g52WABAo6U3rY33N+Dy1JbAA8R7wF3MFK6zrt0tyoK9DkpOEjo4GRjPDzG +Q/6ajOQjRIPYruRTa94PE7IyqPGDA+MvOsTsHGw/W0wDIsacWXhJsRTNDZLiWDaK +T1VOIE8AEQEAAYkBvAQYAQoAJhYhBCZ5uws8ppgt4al5hN0b3h7xwYhHBQJg7DZ7 +AhsMBQkDwmcAAAoJEN0b3h7xwYhHf+0L/36hcdqZjMawSUjWRw3g2BxcXmyfqhYq +bVeIQc7hOFSY62BcHYb5dk0ChtGefSSdE3sOtYxsLd3jBcU+32mDV74/iJfW/r3+ +9ZtFTHJ/AiybgjI6WysYNnlCuXHi/FMrByDRrZR7CkpGQ8PYZzsy8WZDaOJd2HqN +SjkSeMesuwNGB5e76ngyP++OdLn83nN2N4C7dubssN229mBg8F0zrFFroNtRGf/j +EDh30dkXt8uSsiv1Btz5uNfzLzDaMmPjITuROqCsGJVR4OwWVtYYgDKXaW7INa+E +N0sl8SGclA5/evlS+BIQMgAfKS138JDgTHc4l+eJuKQTWSyPhEoVqVM1e/C2idnK +B/j698LFBfvfhQ8UX5eZd9IyKIV/FYX2Hk7zDGaKokDdtWx82lcmSG+hXgYfWgMK +t362nvwEJVR5Qo8syYdyZKUk6E31qFPCU77RHJhTyUqbEhFOhBUg9o2xoynjYnd1 +lRP4w0e42TCozCmH3fx/Ya0a2jdTm2f79Q== +=RFAO -----END PGP PUBLIC KEY BLOCK----- From 23a01d2625617f7ab76e09e54f00aec6f576aaca Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Mon, 12 Jul 2021 14:59:06 +0200 Subject: [PATCH 080/896] Update deb_signing.key --- install/debian/9/deb_signing.key | 65 +++++++++++++++++++------------- 1 file changed, 38 insertions(+), 27 deletions(-) diff --git a/install/debian/9/deb_signing.key b/install/debian/9/deb_signing.key index 2ad2db8b..14faf4f8 100644 --- a/install/debian/9/deb_signing.key +++ b/install/debian/9/deb_signing.key @@ -1,30 +1,41 @@ -----BEGIN PGP PUBLIC KEY BLOCK----- -Version: GnuPG v1.4.12 (GNU/Linux) -mQENBFJIGbEBCAC8SHOOFo7iDTbnC2GhNZ+uBGCh226Dn1QPoFZNFM/DNakHZ6rD -G3wzr8++eKz4fJual/VLllE2N9XDPuxbozb3LLkcyY1WzJqtIXbXhFGQ/SuIeT+x -QY90XU6t2Ckze2c+zUniAWmJ8GSyVmXOoc9JxAQ1u47wvGXLzrjWXc8u8PNRYXuf -fZplTL+dFu9P0d6lP8FGsV+r9wXvvazpRTz3+H8PKrGCYT55ZQIEdG9Jgamylto2 -oVPFXkwGML+TLw6oeCIBuz2y2vtivphW4MJ3ifQjDj7k3n+DTIxfDFs8lB6VRhhY -2nMHCrcZC6U2mhmXmr6O4s1fu6irBVx05ejPABEBAAG0IFNlcmdoZXkgUm9kaW4g -PHNraWRAdmVzdGFjcC5jb20+iQE4BBMBAgAiBQJSSBmxAhsDBgsJCAcDAgYVCAIJ -CgsEFgIDAQIeAQIXgAAKCRBCxbITCh93FPdqB/93GjV9g+wBfeZYLHQK9MDU2wBb -VloYOJJae6IvYKYQVAJayD3PbHdpxrF8s9e23vdnmb9jKu6jX6oV54EIyqP2HPiN -QYc8wcea+eSHerznBixCtoQh8mtdWGFeN71zU/ig7L5qlOVF/EmxDVZTFUeivFxh -IV6qyBnktQKktE45585yKZyyLtfGoXA54DGK69OtJFh+wdkKEMmUXocMl7wUrxW6 -Cx2CuKeEXEgvwu8mRHQi3S3T9XP456qWEn5dWyMVcP660IzEuZfSJApZusNK7zG3 -WMy0/EuX7xHNY3mcNxTOUN1LsO7iHnhHD9+iKWJo9parGkMZzc92MpjDK/g7uQEN -BFJIGbEBCAC7k5QEA9WQM7E3ceNaeLMrA9lXfuzaNCcySq7ONdVAa5PxzbSKdHvz -QFoL1VFqBTYQ038lbil1XqnoM0zvIfAI3LcpS8sq92El/vPxp6jZh2Ari9Uw7x95 -k2cZMgI67g+zQMGdjVRA155nFQRCgg000xU4F7JA6+WsuLlVUmccsDv7YWJExMtC -YPxiuz5DFu8RALnw4Ckts+dbwsrcvUHhkm9b6RAsdCKjjRpUZjLgdltjH83gUVvt -i1YmdjjsVpt95dtsaG+ad852g/Rk8EdxNMkjPF6HLA67CLADP9wYaj80yPcPtylS -ycvPtcclVeHkFBRVM8xZpQd4iD19MWI1ABEBAAGJAR8EGAECAAkFAlJIGbECGwwA -CgkQQsWyEwofdxQ7tQgAhB0FwTs7L8Qr63DHC2yAnXVxgtTAY1/36CccNXVculyR -+EkLcwahms9AKhz7eQb+Mud+5vH0GRohLp2npgO38CjVUfIP5d+Y6dsthmrkF6p8 -XdV1dVK9vWX+i/YZSw/Mded30Cq4P2Yhq9EaemMT0rtli8lz2NnkZ9dFJZk1lzJC -CZmRpbjSNWqRU4f7qyh21lYk/OC/0XE8fh8CaO23TZ+6gBionoCztwb7NyC9OArN -qYlNnbmh9iNqdblykPS3bkjf34n2xyMgnIehNrM89tk8PY4UfNPhgT1TMD9W3Svq -ynNZvLuF/FIDwDeC1qcfjGbfDn9fXO/lMIIRooQYKQ== -=J2HJ +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 +lRP4w0e42TCozCmH3fx/Ya0a2jdTm2f79Q== +=RFAO -----END PGP PUBLIC KEY BLOCK----- From ff72f12fe2dcff3361368796b966c16968148866 Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Mon, 12 Jul 2021 14:59:42 +0200 Subject: [PATCH 081/896] Update deb_signing.key --- install/debian/8/deb_signing.key | 65 +++++++++++++++++++------------- 1 file changed, 38 insertions(+), 27 deletions(-) diff --git a/install/debian/8/deb_signing.key b/install/debian/8/deb_signing.key index 2ad2db8b..14faf4f8 100644 --- a/install/debian/8/deb_signing.key +++ b/install/debian/8/deb_signing.key @@ -1,30 +1,41 @@ -----BEGIN PGP PUBLIC KEY BLOCK----- -Version: GnuPG v1.4.12 (GNU/Linux) -mQENBFJIGbEBCAC8SHOOFo7iDTbnC2GhNZ+uBGCh226Dn1QPoFZNFM/DNakHZ6rD -G3wzr8++eKz4fJual/VLllE2N9XDPuxbozb3LLkcyY1WzJqtIXbXhFGQ/SuIeT+x -QY90XU6t2Ckze2c+zUniAWmJ8GSyVmXOoc9JxAQ1u47wvGXLzrjWXc8u8PNRYXuf -fZplTL+dFu9P0d6lP8FGsV+r9wXvvazpRTz3+H8PKrGCYT55ZQIEdG9Jgamylto2 -oVPFXkwGML+TLw6oeCIBuz2y2vtivphW4MJ3ifQjDj7k3n+DTIxfDFs8lB6VRhhY -2nMHCrcZC6U2mhmXmr6O4s1fu6irBVx05ejPABEBAAG0IFNlcmdoZXkgUm9kaW4g -PHNraWRAdmVzdGFjcC5jb20+iQE4BBMBAgAiBQJSSBmxAhsDBgsJCAcDAgYVCAIJ -CgsEFgIDAQIeAQIXgAAKCRBCxbITCh93FPdqB/93GjV9g+wBfeZYLHQK9MDU2wBb -VloYOJJae6IvYKYQVAJayD3PbHdpxrF8s9e23vdnmb9jKu6jX6oV54EIyqP2HPiN -QYc8wcea+eSHerznBixCtoQh8mtdWGFeN71zU/ig7L5qlOVF/EmxDVZTFUeivFxh -IV6qyBnktQKktE45585yKZyyLtfGoXA54DGK69OtJFh+wdkKEMmUXocMl7wUrxW6 -Cx2CuKeEXEgvwu8mRHQi3S3T9XP456qWEn5dWyMVcP660IzEuZfSJApZusNK7zG3 -WMy0/EuX7xHNY3mcNxTOUN1LsO7iHnhHD9+iKWJo9parGkMZzc92MpjDK/g7uQEN -BFJIGbEBCAC7k5QEA9WQM7E3ceNaeLMrA9lXfuzaNCcySq7ONdVAa5PxzbSKdHvz -QFoL1VFqBTYQ038lbil1XqnoM0zvIfAI3LcpS8sq92El/vPxp6jZh2Ari9Uw7x95 -k2cZMgI67g+zQMGdjVRA155nFQRCgg000xU4F7JA6+WsuLlVUmccsDv7YWJExMtC -YPxiuz5DFu8RALnw4Ckts+dbwsrcvUHhkm9b6RAsdCKjjRpUZjLgdltjH83gUVvt -i1YmdjjsVpt95dtsaG+ad852g/Rk8EdxNMkjPF6HLA67CLADP9wYaj80yPcPtylS -ycvPtcclVeHkFBRVM8xZpQd4iD19MWI1ABEBAAGJAR8EGAECAAkFAlJIGbECGwwA -CgkQQsWyEwofdxQ7tQgAhB0FwTs7L8Qr63DHC2yAnXVxgtTAY1/36CccNXVculyR -+EkLcwahms9AKhz7eQb+Mud+5vH0GRohLp2npgO38CjVUfIP5d+Y6dsthmrkF6p8 -XdV1dVK9vWX+i/YZSw/Mded30Cq4P2Yhq9EaemMT0rtli8lz2NnkZ9dFJZk1lzJC -CZmRpbjSNWqRU4f7qyh21lYk/OC/0XE8fh8CaO23TZ+6gBionoCztwb7NyC9OArN -qYlNnbmh9iNqdblykPS3bkjf34n2xyMgnIehNrM89tk8PY4UfNPhgT1TMD9W3Svq -ynNZvLuF/FIDwDeC1qcfjGbfDn9fXO/lMIIRooQYKQ== -=J2HJ +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 +lRP4w0e42TCozCmH3fx/Ya0a2jdTm2f79Q== +=RFAO -----END PGP PUBLIC KEY BLOCK----- From 4bb0ad5ffb192d752129c1f49c804a448763c904 Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Mon, 12 Jul 2021 15:00:13 +0200 Subject: [PATCH 082/896] Update deb_signing.key --- install/debian/7/deb_signing.key | 65 +++++++++++++++++++------------- 1 file changed, 38 insertions(+), 27 deletions(-) diff --git a/install/debian/7/deb_signing.key b/install/debian/7/deb_signing.key index 2ad2db8b..14faf4f8 100644 --- a/install/debian/7/deb_signing.key +++ b/install/debian/7/deb_signing.key @@ -1,30 +1,41 @@ -----BEGIN PGP PUBLIC KEY BLOCK----- -Version: GnuPG v1.4.12 (GNU/Linux) -mQENBFJIGbEBCAC8SHOOFo7iDTbnC2GhNZ+uBGCh226Dn1QPoFZNFM/DNakHZ6rD -G3wzr8++eKz4fJual/VLllE2N9XDPuxbozb3LLkcyY1WzJqtIXbXhFGQ/SuIeT+x -QY90XU6t2Ckze2c+zUniAWmJ8GSyVmXOoc9JxAQ1u47wvGXLzrjWXc8u8PNRYXuf -fZplTL+dFu9P0d6lP8FGsV+r9wXvvazpRTz3+H8PKrGCYT55ZQIEdG9Jgamylto2 -oVPFXkwGML+TLw6oeCIBuz2y2vtivphW4MJ3ifQjDj7k3n+DTIxfDFs8lB6VRhhY -2nMHCrcZC6U2mhmXmr6O4s1fu6irBVx05ejPABEBAAG0IFNlcmdoZXkgUm9kaW4g -PHNraWRAdmVzdGFjcC5jb20+iQE4BBMBAgAiBQJSSBmxAhsDBgsJCAcDAgYVCAIJ -CgsEFgIDAQIeAQIXgAAKCRBCxbITCh93FPdqB/93GjV9g+wBfeZYLHQK9MDU2wBb -VloYOJJae6IvYKYQVAJayD3PbHdpxrF8s9e23vdnmb9jKu6jX6oV54EIyqP2HPiN -QYc8wcea+eSHerznBixCtoQh8mtdWGFeN71zU/ig7L5qlOVF/EmxDVZTFUeivFxh -IV6qyBnktQKktE45585yKZyyLtfGoXA54DGK69OtJFh+wdkKEMmUXocMl7wUrxW6 -Cx2CuKeEXEgvwu8mRHQi3S3T9XP456qWEn5dWyMVcP660IzEuZfSJApZusNK7zG3 -WMy0/EuX7xHNY3mcNxTOUN1LsO7iHnhHD9+iKWJo9parGkMZzc92MpjDK/g7uQEN -BFJIGbEBCAC7k5QEA9WQM7E3ceNaeLMrA9lXfuzaNCcySq7ONdVAa5PxzbSKdHvz -QFoL1VFqBTYQ038lbil1XqnoM0zvIfAI3LcpS8sq92El/vPxp6jZh2Ari9Uw7x95 -k2cZMgI67g+zQMGdjVRA155nFQRCgg000xU4F7JA6+WsuLlVUmccsDv7YWJExMtC -YPxiuz5DFu8RALnw4Ckts+dbwsrcvUHhkm9b6RAsdCKjjRpUZjLgdltjH83gUVvt -i1YmdjjsVpt95dtsaG+ad852g/Rk8EdxNMkjPF6HLA67CLADP9wYaj80yPcPtylS -ycvPtcclVeHkFBRVM8xZpQd4iD19MWI1ABEBAAGJAR8EGAECAAkFAlJIGbECGwwA -CgkQQsWyEwofdxQ7tQgAhB0FwTs7L8Qr63DHC2yAnXVxgtTAY1/36CccNXVculyR -+EkLcwahms9AKhz7eQb+Mud+5vH0GRohLp2npgO38CjVUfIP5d+Y6dsthmrkF6p8 -XdV1dVK9vWX+i/YZSw/Mded30Cq4P2Yhq9EaemMT0rtli8lz2NnkZ9dFJZk1lzJC -CZmRpbjSNWqRU4f7qyh21lYk/OC/0XE8fh8CaO23TZ+6gBionoCztwb7NyC9OArN -qYlNnbmh9iNqdblykPS3bkjf34n2xyMgnIehNrM89tk8PY4UfNPhgT1TMD9W3Svq -ynNZvLuF/FIDwDeC1qcfjGbfDn9fXO/lMIIRooQYKQ== -=J2HJ +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 +lRP4w0e42TCozCmH3fx/Ya0a2jdTm2f79Q== +=RFAO -----END PGP PUBLIC KEY BLOCK----- From c174cc8dca5940d4436fe634124e3f3995ba84fb Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Mon, 12 Jul 2021 15:09:46 +0200 Subject: [PATCH 083/896] Update deb_signing.key --- install/debian/10/deb_signing.key | 76 +++++++++++++++---------------- 1 file changed, 38 insertions(+), 38 deletions(-) diff --git a/install/debian/10/deb_signing.key b/install/debian/10/deb_signing.key index 14faf4f8..d279abbd 100644 --- a/install/debian/10/deb_signing.key +++ b/install/debian/10/deb_signing.key @@ -1,41 +1,41 @@ -----BEGIN PGP PUBLIC KEY BLOCK----- -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 -lRP4w0e42TCozCmH3fx/Ya0a2jdTm2f79Q== -=RFAO +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 +qiC8NLvRaE3PVkma9Q== +=RAbI -----END PGP PUBLIC KEY BLOCK----- From f6eafa7a6f929dfcd4d2f1c5d40aba5d9fe5b437 Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Mon, 12 Jul 2021 15:10:08 +0200 Subject: [PATCH 084/896] Update deb_signing.key --- install/debian/9/deb_signing.key | 76 ++++++++++++++++---------------- 1 file changed, 38 insertions(+), 38 deletions(-) diff --git a/install/debian/9/deb_signing.key b/install/debian/9/deb_signing.key index 14faf4f8..d279abbd 100644 --- a/install/debian/9/deb_signing.key +++ b/install/debian/9/deb_signing.key @@ -1,41 +1,41 @@ -----BEGIN PGP PUBLIC KEY BLOCK----- -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 -lRP4w0e42TCozCmH3fx/Ya0a2jdTm2f79Q== -=RFAO +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 +qiC8NLvRaE3PVkma9Q== +=RAbI -----END PGP PUBLIC KEY BLOCK----- From b19ea501836ef7280e3c22cf64e86001e2172a94 Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Mon, 12 Jul 2021 15:10:31 +0200 Subject: [PATCH 085/896] Update deb_signing.key --- install/debian/8/deb_signing.key | 76 ++++++++++++++++---------------- 1 file changed, 38 insertions(+), 38 deletions(-) diff --git a/install/debian/8/deb_signing.key b/install/debian/8/deb_signing.key index 14faf4f8..d279abbd 100644 --- a/install/debian/8/deb_signing.key +++ b/install/debian/8/deb_signing.key @@ -1,41 +1,41 @@ -----BEGIN PGP PUBLIC KEY BLOCK----- -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 -lRP4w0e42TCozCmH3fx/Ya0a2jdTm2f79Q== -=RFAO +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 +qiC8NLvRaE3PVkma9Q== +=RAbI -----END PGP PUBLIC KEY BLOCK----- From ac416b15ab6a7a7304ce8a1f96b46abc08e1dbfd Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Mon, 12 Jul 2021 15:11:02 +0200 Subject: [PATCH 086/896] Update deb_signing.key --- install/debian/7/deb_signing.key | 76 ++++++++++++++++---------------- 1 file changed, 38 insertions(+), 38 deletions(-) diff --git a/install/debian/7/deb_signing.key b/install/debian/7/deb_signing.key index 14faf4f8..d279abbd 100644 --- a/install/debian/7/deb_signing.key +++ b/install/debian/7/deb_signing.key @@ -1,41 +1,41 @@ -----BEGIN PGP PUBLIC KEY BLOCK----- -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 -lRP4w0e42TCozCmH3fx/Ya0a2jdTm2f79Q== -=RFAO +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 +qiC8NLvRaE3PVkma9Q== +=RAbI -----END PGP PUBLIC KEY BLOCK----- From efcd74ce9263a8622d32b503d1be35521ee01b34 Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Mon, 12 Jul 2021 15:30:44 +0200 Subject: [PATCH 087/896] Update vesta_compile.sh --- src/deb/vesta_compile.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/deb/vesta_compile.sh b/src/deb/vesta_compile.sh index 3e9663bd..c21bdc90 100644 --- a/src/deb/vesta_compile.sh +++ b/src/deb/vesta_compile.sh @@ -243,7 +243,7 @@ Pull: $TARGET_DEB_NAME EOF if [ ! -d "/root/.gnupg" ]; then - gpg --gen-key + gpg --full-gen-key gpg --armor --export $MAINTAINER_EMAIL --output $MAINTAINER_EMAIL.gpg.key press_enter "*** please copy above generated key to your clipboard and then paste it after pressing enter now ***" vi $PATH_OF_APT_REPO_ROOT/deb_signing.key From 3b114ee25be0065d8d7f8672b6e2d9bc9fb5f765 Mon Sep 17 00:00:00 2001 From: Sofonov Evgeniy <1279489+oldgin@users.noreply.github.com> Date: Tue, 13 Jul 2021 02:12:12 +0500 Subject: [PATCH 088/896] Create default_host.tpl we determine the default host that requests for an IP or an unassigned domain were sent to this host --- .../web/nginx/php-fpm/default_host.tpl | 77 +++++++++++++++++++ 1 file changed, 77 insertions(+) create mode 100644 install/debian/10/templates/web/nginx/php-fpm/default_host.tpl diff --git a/install/debian/10/templates/web/nginx/php-fpm/default_host.tpl b/install/debian/10/templates/web/nginx/php-fpm/default_host.tpl new file mode 100644 index 00000000..45b8476e --- /dev/null +++ b/install/debian/10/templates/web/nginx/php-fpm/default_host.tpl @@ -0,0 +1,77 @@ +# +# this file directory: /usr/local/vesta/data/templates/web/nginx/php-fpm/ +# +server { + listen %ip%:%web_port% default_server; + server_name %domain_idn% %alias_idn%; + # redirect http > httpS (www cut) + return 301 https://%domain_idn%$request_uri; + root %docroot%; + index index.php index.html; + access_log /var/log/nginx/domains/%domain%.log combined; + access_log /var/log/nginx/domains/%domain%.bytes bytes; + error_log /var/log/nginx/domains/%domain%.error.log error; + + location / { + + # запрещаем всем доступ + # access is denied to everyone + deny all; + # не засоряем лог отказом в доступе + # we do not clog the blog with access denial + access_log off; + log_not_found off; + } + + error_page 403 /error/404.html; + error_page 404 /error/404.html; + error_page 500 502 503 504 /error/50x.html; + + location /error/ { + alias %home%/%user%/web/%domain%/document_errors/; + } + + location /vstats/ { + alias %home%/%user%/web/%domain%/stats/; + include %home%/%user%/conf/web/%domain%.auth*; + } + + include /etc/nginx/conf.d/phpmyadmin.inc*; + include /etc/nginx/conf.d/phppgadmin.inc*; + include /etc/nginx/conf.d/webmail.inc*; + + include %home%/%user%/conf/web/nginx.%domain%.conf*; + + gzip on; + gzip_static on; + gzip_proxied any; + gzip_min_length 512; + gzip_buffers 16 8k; + gzip_comp_level 3; + gzip_vary on; + gzip_types + application/atom+xml + application/javascript + application/json + application/ld+json + application/manifest+json + application/rss+xml + application/vnd.geo+json + application/vnd.ms-fontobject + application/x-font-ttf + application/x-web-app-manifest+json + application/xhtml+xml + application/xml + font/opentype + image/bmp + image/svg+xml + image/x-icon + text/cache-manifest + text/css + text/plain + text/vcard + text/vnd.rim.location.xloc + text/vtt + text/x-component + text/x-cross-domain-policy; +} From 1fae6fda46708704ed23e6b53c41eef367697cd7 Mon Sep 17 00:00:00 2001 From: Sofonov Evgeniy <1279489+oldgin@users.noreply.github.com> Date: Tue, 13 Jul 2021 02:20:34 +0500 Subject: [PATCH 089/896] Create default_host.stpl this template is for httpS (http2). we determine the default host that requests for an IP or an unassigned domain were sent to this host. --- .../web/nginx/php-fpm/default_host.stpl | 62 +++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 install/debian/10/templates/web/nginx/php-fpm/default_host.stpl diff --git a/install/debian/10/templates/web/nginx/php-fpm/default_host.stpl b/install/debian/10/templates/web/nginx/php-fpm/default_host.stpl new file mode 100644 index 00000000..005705ce --- /dev/null +++ b/install/debian/10/templates/web/nginx/php-fpm/default_host.stpl @@ -0,0 +1,62 @@ +### +# this file directory: +# /usr/local/vesta/data/templates/web/nginx/php-fpm/default_host.stpl +# +# +### +server { + listen %ip%:%web_ssl_port% ssl http2 default_server; + server_name %domain_idn% %alias_idn%; + root %sdocroot%; + index index.php index.html; + access_log /var/log/nginx/domains/%domain%.log combined; + access_log /var/log/nginx/domains/%domain%.bytes bytes; + error_log /var/log/nginx/domains/%domain%.error.log error; + + ssl_certificate %ssl_pem%; + ssl_certificate_key %ssl_key%; + + location / { + + location ~* ^.+\.(jpeg|jpg|png|gif|bmp|ico|svg|css|js)$ { + expires 1d; + } + + location ~ [^/]\.php(/|$) { + fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; + if (!-f $document_root$fastcgi_script_name) { + return 404; + } + + fastcgi_pass %backend_lsnr%; + fastcgi_index index.php; + include /etc/nginx/fastcgi_params; + } + } + + error_page 403 /error/404.html; + error_page 404 /error/404.html; + error_page 500 502 503 504 /error/50x.html; + + location /error/ { + alias %home%/%user%/web/%domain%/document_errors/; + } + + location ~* "/\.(htaccess|htpasswd)$" { + deny all; + return 404; + access_log off; + log_not_found off; + } + + location /vstats/ { + alias %home%/%user%/web/%domain%/stats/; + include %home%/%user%/conf/web/%domain%.auth*; + } + + include /etc/nginx/conf.d/phpmyadmin.inc*; + include /etc/nginx/conf.d/phppgadmin.inc*; + include /etc/nginx/conf.d/webmail.inc*; + + include %home%/%user%/conf/web/snginx.%domain%.conf*; +} From 3fdf72082ed197d379db344ac9b9821253e3c54f Mon Sep 17 00:00:00 2001 From: myvesta Date: Fri, 16 Jul 2021 11:30:57 +0200 Subject: [PATCH 090/896] Debian11 configs tree --- install/debian/11/apache2/apache2.conf | 95 ++ install/debian/11/apache2/status.conf | 8 + install/debian/11/bind/named.conf | 12 + install/debian/11/clamav/clamd.conf | 61 ++ install/debian/11/deb_signing.key | 41 + install/debian/11/dovecot/conf.d/10-auth.conf | 4 + .../debian/11/dovecot/conf.d/10-logging.conf | 1 + install/debian/11/dovecot/conf.d/10-mail.conf | 4 + .../debian/11/dovecot/conf.d/10-master.conf | 29 + install/debian/11/dovecot/conf.d/10-ssl.conf | 3 + .../11/dovecot/conf.d/15-mailboxes.conf | 30 + install/debian/11/dovecot/conf.d/20-imap.conf | 58 ++ install/debian/11/dovecot/conf.d/20-pop3.conf | 91 ++ .../dovecot/conf.d/auth-passwdfile.conf.ext | 9 + install/debian/11/dovecot/dovecot.conf | 4 + install/debian/11/exim/deny_senders | 1 + install/debian/11/exim/dnsbl.conf | 2 + install/debian/11/exim/exim4.conf.template | 412 +++++++++ install/debian/11/exim/spam-blocks.conf | 0 .../debian/11/fail2ban/action.d/vesta.conf | 9 + .../debian/11/fail2ban/filter.d/vesta.conf | 10 + install/debian/11/fail2ban/jail.local | 39 + install/debian/11/firewall/ports.conf | 17 + install/debian/11/firewall/rules.conf | 11 + install/debian/11/logrotate/apache2 | 19 + install/debian/11/logrotate/dovecot | 12 + install/debian/11/logrotate/nginx | 13 + install/debian/11/logrotate/vesta | 7 + install/debian/11/mysql/my-large.cnf | 44 + install/debian/11/mysql/my-medium.cnf | 42 + install/debian/11/mysql/my-small.cnf | 42 + install/debian/11/nginx/nginx.conf | 140 +++ install/debian/11/nginx/phpmyadmin.inc | 18 + install/debian/11/nginx/phppgadmin.inc | 11 + install/debian/11/nginx/status.conf | 9 + install/debian/11/nginx/webmail.inc | 15 + install/debian/11/packages/default.pkg | 18 + install/debian/11/pga/config.inc.php | 159 ++++ install/debian/11/pga/phppgadmin.conf | 31 + install/debian/11/php-fpm/www.conf | 11 + install/debian/11/php/php7.3-dedi.patch | 78 ++ install/debian/11/php/php7.3-vps.patch | 78 ++ install/debian/11/pma/apache.conf | 42 + install/debian/11/pma/config.inc.php | 146 +++ install/debian/11/pma/create_tables.sql | 385 ++++++++ install/debian/11/pma/pma.sh | 157 ++++ install/debian/11/postgresql/pg_hba.conf | 11 + install/debian/11/proftpd/proftpd.conf | 36 + install/debian/11/proftpd/tls.conf | 63 ++ install/debian/11/roundcube/apache.conf | 40 + install/debian/11/roundcube/config.inc.php | 33 + install/debian/11/roundcube/db.inc.php | 66 ++ install/debian/11/roundcube/main.inc.php | 850 ++++++++++++++++++ install/debian/11/roundcube/vesta.php | 73 ++ install/debian/11/sudo/admin | 8 + install/debian/11/templates/dns/child-ns.tpl | 14 + install/debian/11/templates/dns/default.tpl | 18 + install/debian/11/templates/dns/gmail.tpl | 12 + install/debian/11/templates/dns/office365.tpl | 22 + install/debian/11/templates/dns/yandex.tpl | 16 + .../web/apache2/PHP-FPM-73-public.sh | 88 ++ .../web/apache2/PHP-FPM-73-public.stpl | 44 + .../web/apache2/PHP-FPM-73-public.tpl | 38 + .../11/templates/web/apache2/PHP-FPM-73.sh | 92 ++ .../11/templates/web/apache2/PHP-FPM-73.stpl | 44 + .../11/templates/web/apache2/PHP-FPM-73.tpl | 38 + .../11/templates/web/awstats/awstats.tpl | 133 +++ .../debian/11/templates/web/awstats/index.tpl | 10 + .../debian/11/templates/web/awstats/nav.tpl | 23 + .../debian/11/templates/web/nginx/caching.sh | 19 + .../11/templates/web/nginx/caching.stpl | 43 + .../debian/11/templates/web/nginx/caching.tpl | 41 + .../web/nginx/force-https-legacy.stpl | 38 + .../web/nginx/force-https-legacy.tpl | 8 + .../web/nginx/force-https-public.stpl | 38 + .../web/nginx/force-https-public.tpl | 8 + .../nginx/force-https-webmail-phpmyadmin.stpl | 62 ++ .../nginx/force-https-webmail-phpmyadmin.tpl | 8 + .../11/templates/web/nginx/force-https.stpl | 38 + .../11/templates/web/nginx/force-https.tpl | 8 + .../11/templates/web/nginx/hosting-legacy.sh | 11 + .../templates/web/nginx/hosting-legacy.stpl | 38 + .../11/templates/web/nginx/hosting-legacy.tpl | 35 + .../templates/web/nginx/hosting-public.stpl | 38 + .../11/templates/web/nginx/hosting-public.tpl | 35 + .../web/nginx/hosting-webmail-phpmyadmin.stpl | 62 ++ .../web/nginx/hosting-webmail-phpmyadmin.tpl | 59 ++ .../debian/11/templates/web/nginx/hosting.sh | 11 + .../11/templates/web/nginx/hosting.stpl | 38 + .../debian/11/templates/web/nginx/hosting.tpl | 35 + .../web/nginx/php-fpm/cms_made_simple.stpl | 55 ++ .../web/nginx/php-fpm/cms_made_simple.tpl | 52 ++ .../web/nginx/php-fpm/codeigniter2.stpl | 60 ++ .../web/nginx/php-fpm/codeigniter2.tpl | 57 ++ .../web/nginx/php-fpm/codeigniter3.stpl | 55 ++ .../web/nginx/php-fpm/codeigniter3.tpl | 52 ++ .../web/nginx/php-fpm/datalife_engine.stpl | 126 +++ .../web/nginx/php-fpm/datalife_engine.tpl | 123 +++ .../templates/web/nginx/php-fpm/default.stpl | 54 ++ .../templates/web/nginx/php-fpm/default.tpl | 51 ++ .../templates/web/nginx/php-fpm/dokuwiki.stpl | 71 ++ .../templates/web/nginx/php-fpm/dokuwiki.tpl | 67 ++ .../templates/web/nginx/php-fpm/drupal6.stpl | 94 ++ .../templates/web/nginx/php-fpm/drupal6.tpl | 91 ++ .../templates/web/nginx/php-fpm/drupal7.stpl | 94 ++ .../templates/web/nginx/php-fpm/drupal7.tpl | 91 ++ .../templates/web/nginx/php-fpm/drupal8.stpl | 94 ++ .../templates/web/nginx/php-fpm/drupal8.tpl | 91 ++ .../templates/web/nginx/php-fpm/joomla.stpl | 62 ++ .../11/templates/web/nginx/php-fpm/joomla.tpl | 59 ++ .../templates/web/nginx/php-fpm/laravel.stpl | 54 ++ .../templates/web/nginx/php-fpm/laravel.tpl | 50 ++ .../templates/web/nginx/php-fpm/magento.stpl | 197 ++++ .../templates/web/nginx/php-fpm/magento.tpl | 194 ++++ .../11/templates/web/nginx/php-fpm/modx.stpl | 68 ++ .../11/templates/web/nginx/php-fpm/modx.tpl | 65 ++ .../templates/web/nginx/php-fpm/moodle.stpl | 89 ++ .../11/templates/web/nginx/php-fpm/moodle.tpl | 87 ++ .../templates/web/nginx/php-fpm/no-php.stpl | 46 + .../11/templates/web/nginx/php-fpm/no-php.tpl | 43 + .../11/templates/web/nginx/php-fpm/odoo.stpl | 69 ++ .../11/templates/web/nginx/php-fpm/odoo.tpl | 66 ++ .../templates/web/nginx/php-fpm/opencart.stpl | 58 ++ .../templates/web/nginx/php-fpm/opencart.tpl | 54 ++ .../templates/web/nginx/php-fpm/owncloud.stpl | 84 ++ .../templates/web/nginx/php-fpm/owncloud.tpl | 81 ++ .../11/templates/web/nginx/php-fpm/piwik.stpl | 72 ++ .../11/templates/web/nginx/php-fpm/piwik.tpl | 69 ++ .../templates/web/nginx/php-fpm/pyrocms.stpl | 65 ++ .../templates/web/nginx/php-fpm/pyrocms.tpl | 62 ++ .../11/templates/web/nginx/php-fpm/sendy.stpl | 88 ++ .../11/templates/web/nginx/php-fpm/sendy.tpl | 86 ++ .../web/nginx/php-fpm/wordpress.stpl | 54 ++ .../templates/web/nginx/php-fpm/wordpress.tpl | 51 ++ .../web/nginx/php-fpm/wordpress2.stpl | 66 ++ .../web/nginx/php-fpm/wordpress2.tpl | 63 ++ .../web/nginx/php-fpm/wordpress2_rewrite.stpl | 71 ++ .../web/nginx/php-fpm/wordpress2_rewrite.tpl | 67 ++ .../web/nginx/private-force-https.stpl | 38 + .../web/nginx/private-force-https.tpl | 8 + .../11/templates/web/nginx/private-hosting.sh | 11 + .../templates/web/nginx/private-hosting.stpl | 40 + .../templates/web/nginx/private-hosting.tpl | 37 + .../11/templates/web/nginx/proxy_ip.tpl | 9 + .../11/templates/web/php-fpm/default.tpl | 21 + .../11/templates/web/php-fpm/no-php.tpl | 20 + .../11/templates/web/php-fpm/socket.tpl | 24 + .../web/skel/document_errors/403.html | 29 + .../web/skel/document_errors/404.html | 28 + .../web/skel/document_errors/50x.html | 29 + .../templates/web/skel/public_html/index.html | 26 + .../templates/web/skel/public_html/robots.txt | 3 + .../web/skel/public_shtml/index.html | 26 + .../web/skel/public_shtml/robots.txt | 3 + .../debian/11/templates/web/suspend/.htaccess | 2 + .../11/templates/web/suspend/index.html | 25 + .../11/templates/web/webalizer/webalizer.tpl | 110 +++ install/debian/11/vsftpd/vsftpd.conf | 26 + 158 files changed, 9006 insertions(+) create mode 100644 install/debian/11/apache2/apache2.conf create mode 100644 install/debian/11/apache2/status.conf create mode 100644 install/debian/11/bind/named.conf create mode 100644 install/debian/11/clamav/clamd.conf create mode 100644 install/debian/11/deb_signing.key create mode 100644 install/debian/11/dovecot/conf.d/10-auth.conf create mode 100644 install/debian/11/dovecot/conf.d/10-logging.conf create mode 100644 install/debian/11/dovecot/conf.d/10-mail.conf create mode 100644 install/debian/11/dovecot/conf.d/10-master.conf create mode 100644 install/debian/11/dovecot/conf.d/10-ssl.conf create mode 100644 install/debian/11/dovecot/conf.d/15-mailboxes.conf create mode 100644 install/debian/11/dovecot/conf.d/20-imap.conf create mode 100644 install/debian/11/dovecot/conf.d/20-pop3.conf create mode 100644 install/debian/11/dovecot/conf.d/auth-passwdfile.conf.ext create mode 100644 install/debian/11/dovecot/dovecot.conf create mode 100644 install/debian/11/exim/deny_senders create mode 100644 install/debian/11/exim/dnsbl.conf create mode 100644 install/debian/11/exim/exim4.conf.template create mode 100644 install/debian/11/exim/spam-blocks.conf create mode 100644 install/debian/11/fail2ban/action.d/vesta.conf create mode 100644 install/debian/11/fail2ban/filter.d/vesta.conf create mode 100644 install/debian/11/fail2ban/jail.local create mode 100644 install/debian/11/firewall/ports.conf create mode 100644 install/debian/11/firewall/rules.conf create mode 100644 install/debian/11/logrotate/apache2 create mode 100644 install/debian/11/logrotate/dovecot create mode 100644 install/debian/11/logrotate/nginx create mode 100644 install/debian/11/logrotate/vesta create mode 100644 install/debian/11/mysql/my-large.cnf create mode 100644 install/debian/11/mysql/my-medium.cnf create mode 100644 install/debian/11/mysql/my-small.cnf create mode 100644 install/debian/11/nginx/nginx.conf create mode 100644 install/debian/11/nginx/phpmyadmin.inc create mode 100644 install/debian/11/nginx/phppgadmin.inc create mode 100644 install/debian/11/nginx/status.conf create mode 100644 install/debian/11/nginx/webmail.inc create mode 100644 install/debian/11/packages/default.pkg create mode 100644 install/debian/11/pga/config.inc.php create mode 100644 install/debian/11/pga/phppgadmin.conf create mode 100644 install/debian/11/php-fpm/www.conf create mode 100644 install/debian/11/php/php7.3-dedi.patch create mode 100644 install/debian/11/php/php7.3-vps.patch create mode 100644 install/debian/11/pma/apache.conf create mode 100644 install/debian/11/pma/config.inc.php create mode 100644 install/debian/11/pma/create_tables.sql create mode 100644 install/debian/11/pma/pma.sh create mode 100644 install/debian/11/postgresql/pg_hba.conf create mode 100644 install/debian/11/proftpd/proftpd.conf create mode 100644 install/debian/11/proftpd/tls.conf create mode 100644 install/debian/11/roundcube/apache.conf create mode 100644 install/debian/11/roundcube/config.inc.php create mode 100644 install/debian/11/roundcube/db.inc.php create mode 100644 install/debian/11/roundcube/main.inc.php create mode 100644 install/debian/11/roundcube/vesta.php create mode 100644 install/debian/11/sudo/admin create mode 100755 install/debian/11/templates/dns/child-ns.tpl create mode 100755 install/debian/11/templates/dns/default.tpl create mode 100755 install/debian/11/templates/dns/gmail.tpl create mode 100644 install/debian/11/templates/dns/office365.tpl create mode 100644 install/debian/11/templates/dns/yandex.tpl create mode 100755 install/debian/11/templates/web/apache2/PHP-FPM-73-public.sh create mode 100644 install/debian/11/templates/web/apache2/PHP-FPM-73-public.stpl create mode 100644 install/debian/11/templates/web/apache2/PHP-FPM-73-public.tpl create mode 100755 install/debian/11/templates/web/apache2/PHP-FPM-73.sh create mode 100644 install/debian/11/templates/web/apache2/PHP-FPM-73.stpl create mode 100644 install/debian/11/templates/web/apache2/PHP-FPM-73.tpl create mode 100755 install/debian/11/templates/web/awstats/awstats.tpl create mode 100755 install/debian/11/templates/web/awstats/index.tpl create mode 100755 install/debian/11/templates/web/awstats/nav.tpl create mode 100755 install/debian/11/templates/web/nginx/caching.sh create mode 100644 install/debian/11/templates/web/nginx/caching.stpl create mode 100644 install/debian/11/templates/web/nginx/caching.tpl create mode 100644 install/debian/11/templates/web/nginx/force-https-legacy.stpl create mode 100644 install/debian/11/templates/web/nginx/force-https-legacy.tpl create mode 100644 install/debian/11/templates/web/nginx/force-https-public.stpl create mode 100644 install/debian/11/templates/web/nginx/force-https-public.tpl create mode 100644 install/debian/11/templates/web/nginx/force-https-webmail-phpmyadmin.stpl create mode 100644 install/debian/11/templates/web/nginx/force-https-webmail-phpmyadmin.tpl create mode 100644 install/debian/11/templates/web/nginx/force-https.stpl create mode 100644 install/debian/11/templates/web/nginx/force-https.tpl create mode 100755 install/debian/11/templates/web/nginx/hosting-legacy.sh create mode 100644 install/debian/11/templates/web/nginx/hosting-legacy.stpl create mode 100644 install/debian/11/templates/web/nginx/hosting-legacy.tpl create mode 100644 install/debian/11/templates/web/nginx/hosting-public.stpl create mode 100644 install/debian/11/templates/web/nginx/hosting-public.tpl create mode 100644 install/debian/11/templates/web/nginx/hosting-webmail-phpmyadmin.stpl create mode 100644 install/debian/11/templates/web/nginx/hosting-webmail-phpmyadmin.tpl create mode 100755 install/debian/11/templates/web/nginx/hosting.sh create mode 100644 install/debian/11/templates/web/nginx/hosting.stpl create mode 100644 install/debian/11/templates/web/nginx/hosting.tpl create mode 100644 install/debian/11/templates/web/nginx/php-fpm/cms_made_simple.stpl create mode 100644 install/debian/11/templates/web/nginx/php-fpm/cms_made_simple.tpl create mode 100644 install/debian/11/templates/web/nginx/php-fpm/codeigniter2.stpl create mode 100644 install/debian/11/templates/web/nginx/php-fpm/codeigniter2.tpl create mode 100644 install/debian/11/templates/web/nginx/php-fpm/codeigniter3.stpl create mode 100644 install/debian/11/templates/web/nginx/php-fpm/codeigniter3.tpl create mode 100644 install/debian/11/templates/web/nginx/php-fpm/datalife_engine.stpl create mode 100644 install/debian/11/templates/web/nginx/php-fpm/datalife_engine.tpl create mode 100644 install/debian/11/templates/web/nginx/php-fpm/default.stpl create mode 100644 install/debian/11/templates/web/nginx/php-fpm/default.tpl create mode 100644 install/debian/11/templates/web/nginx/php-fpm/dokuwiki.stpl create mode 100644 install/debian/11/templates/web/nginx/php-fpm/dokuwiki.tpl create mode 100644 install/debian/11/templates/web/nginx/php-fpm/drupal6.stpl create mode 100644 install/debian/11/templates/web/nginx/php-fpm/drupal6.tpl create mode 100644 install/debian/11/templates/web/nginx/php-fpm/drupal7.stpl create mode 100644 install/debian/11/templates/web/nginx/php-fpm/drupal7.tpl create mode 100644 install/debian/11/templates/web/nginx/php-fpm/drupal8.stpl create mode 100644 install/debian/11/templates/web/nginx/php-fpm/drupal8.tpl create mode 100644 install/debian/11/templates/web/nginx/php-fpm/joomla.stpl create mode 100644 install/debian/11/templates/web/nginx/php-fpm/joomla.tpl create mode 100644 install/debian/11/templates/web/nginx/php-fpm/laravel.stpl create mode 100644 install/debian/11/templates/web/nginx/php-fpm/laravel.tpl create mode 100644 install/debian/11/templates/web/nginx/php-fpm/magento.stpl create mode 100644 install/debian/11/templates/web/nginx/php-fpm/magento.tpl create mode 100644 install/debian/11/templates/web/nginx/php-fpm/modx.stpl create mode 100644 install/debian/11/templates/web/nginx/php-fpm/modx.tpl create mode 100644 install/debian/11/templates/web/nginx/php-fpm/moodle.stpl create mode 100644 install/debian/11/templates/web/nginx/php-fpm/moodle.tpl create mode 100644 install/debian/11/templates/web/nginx/php-fpm/no-php.stpl create mode 100644 install/debian/11/templates/web/nginx/php-fpm/no-php.tpl create mode 100644 install/debian/11/templates/web/nginx/php-fpm/odoo.stpl create mode 100644 install/debian/11/templates/web/nginx/php-fpm/odoo.tpl create mode 100644 install/debian/11/templates/web/nginx/php-fpm/opencart.stpl create mode 100644 install/debian/11/templates/web/nginx/php-fpm/opencart.tpl create mode 100644 install/debian/11/templates/web/nginx/php-fpm/owncloud.stpl create mode 100644 install/debian/11/templates/web/nginx/php-fpm/owncloud.tpl create mode 100644 install/debian/11/templates/web/nginx/php-fpm/piwik.stpl create mode 100644 install/debian/11/templates/web/nginx/php-fpm/piwik.tpl create mode 100644 install/debian/11/templates/web/nginx/php-fpm/pyrocms.stpl create mode 100644 install/debian/11/templates/web/nginx/php-fpm/pyrocms.tpl create mode 100644 install/debian/11/templates/web/nginx/php-fpm/sendy.stpl create mode 100644 install/debian/11/templates/web/nginx/php-fpm/sendy.tpl create mode 100644 install/debian/11/templates/web/nginx/php-fpm/wordpress.stpl create mode 100644 install/debian/11/templates/web/nginx/php-fpm/wordpress.tpl create mode 100644 install/debian/11/templates/web/nginx/php-fpm/wordpress2.stpl create mode 100644 install/debian/11/templates/web/nginx/php-fpm/wordpress2.tpl create mode 100644 install/debian/11/templates/web/nginx/php-fpm/wordpress2_rewrite.stpl create mode 100644 install/debian/11/templates/web/nginx/php-fpm/wordpress2_rewrite.tpl create mode 100644 install/debian/11/templates/web/nginx/private-force-https.stpl create mode 100644 install/debian/11/templates/web/nginx/private-force-https.tpl create mode 100755 install/debian/11/templates/web/nginx/private-hosting.sh create mode 100644 install/debian/11/templates/web/nginx/private-hosting.stpl create mode 100644 install/debian/11/templates/web/nginx/private-hosting.tpl create mode 100644 install/debian/11/templates/web/nginx/proxy_ip.tpl create mode 100644 install/debian/11/templates/web/php-fpm/default.tpl create mode 100644 install/debian/11/templates/web/php-fpm/no-php.tpl create mode 100644 install/debian/11/templates/web/php-fpm/socket.tpl create mode 100755 install/debian/11/templates/web/skel/document_errors/403.html create mode 100755 install/debian/11/templates/web/skel/document_errors/404.html create mode 100755 install/debian/11/templates/web/skel/document_errors/50x.html create mode 100755 install/debian/11/templates/web/skel/public_html/index.html create mode 100755 install/debian/11/templates/web/skel/public_html/robots.txt create mode 100755 install/debian/11/templates/web/skel/public_shtml/index.html create mode 100755 install/debian/11/templates/web/skel/public_shtml/robots.txt create mode 100755 install/debian/11/templates/web/suspend/.htaccess create mode 100755 install/debian/11/templates/web/suspend/index.html create mode 100755 install/debian/11/templates/web/webalizer/webalizer.tpl create mode 100644 install/debian/11/vsftpd/vsftpd.conf diff --git a/install/debian/11/apache2/apache2.conf b/install/debian/11/apache2/apache2.conf new file mode 100644 index 00000000..2be3e50d --- /dev/null +++ b/install/debian/11/apache2/apache2.conf @@ -0,0 +1,95 @@ +# It is split into several files forming the configuration hierarchy outlined +# below, all located in the /etc/apache2/ directory: +# +# /etc/apache2/ +# |-- apache2.conf +# | `-- ports.conf +# |-- mods-enabled +# | |-- *.load +# | `-- *.conf +# |-- conf.d +# | `-- * + +# Global configuration +PidFile ${APACHE_PID_FILE} +Timeout 900 +ProxyTimeout 900 +KeepAlive Off +MaxKeepAliveRequests 100 +KeepAliveTimeout 10 + + + StartServers 8 + MinSpareServers 5 + MaxSpareServers 20 + ServerLimit 256 + MaxClients 200 + MaxRequestsPerChild 4000 + + ++ StartServers 2 + MinSpareThreads 25 + MaxSpareThreads 75 + ThreadLimit 64 + ThreadsPerChild 25 + MaxClients 200 + MaxRequestsPerChild 4000 + + ++ StartServers 2 + MinSpareThreads 25 + MaxSpareThreads 75 + ThreadLimit 64 + ThreadsPerChild 25 + MaxClients 200 + MaxRequestsPerChild 4000 + + +# These need to be set in /etc/apache2/envvars +User ${APACHE_RUN_USER} +Group ${APACHE_RUN_GROUP} +#User www-data +#Group www-data + +AccessFileName .htaccess + ++ Order allow,deny + Deny from all + Satisfy all + + +DefaultType None +HostnameLookups Off + +ErrorLog ${APACHE_LOG_DIR}/error.log +LogLevel warn + +# Include module configuration: +Include mods-enabled/*.load +Include mods-enabled/*.conf + +# Include list of ports to listen on and which to use for name based vhosts +Include ports.conf + +LogFormat "%v:%p %h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" vhost_combined +LogFormat "%h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combined +LogFormat "%h %l %u %t \"%r\" %>s %O" common +LogFormat "%{Referer}i -> %U" referer +LogFormat "%{User-agent}i" agent +LogFormat "%b" bytes + +Include conf.d/ + +# Include the virtual host configurations: +#Include sites-enabled/ + +ErrorDocument 403 /error/403.html +ErrorDocument 404 /error/404.html +ErrorDocument 500 /error/50x.html +ErrorDocument 501 /error/50x.html +ErrorDocument 502 /error/50x.html +ErrorDocument 503 /error/50x.html +ErrorDocument 506 /error/50x.html diff --git a/install/debian/11/apache2/status.conf b/install/debian/11/apache2/status.conf new file mode 100644 index 00000000..0d82a356 --- /dev/null +++ b/install/debian/11/apache2/status.conf @@ -0,0 +1,8 @@ +Listen 127.0.0.1:8081 ++ SetHandler server-status + Order deny,allow + Deny from all + Allow from 127.0.0.1 + # Allow from all + diff --git a/install/debian/11/bind/named.conf b/install/debian/11/bind/named.conf new file mode 100644 index 00000000..ed6ece88 --- /dev/null +++ b/install/debian/11/bind/named.conf @@ -0,0 +1,12 @@ +// This is the primary configuration file for the BIND DNS server named. +// +// Please read /usr/share/doc/bind9/README.Debian.gz for information on the +// structure of BIND configuration files in Debian, *BEFORE* you customize +// this configuration file. +// +// If you are just adding zones, please do that in /etc/bind/named.conf.local + +include "/etc/bind/named.conf.options"; +include "/etc/bind/named.conf.local"; +include "/etc/bind/named.conf.default-zones"; + diff --git a/install/debian/11/clamav/clamd.conf b/install/debian/11/clamav/clamd.conf new file mode 100644 index 00000000..c636b6d3 --- /dev/null +++ b/install/debian/11/clamav/clamd.conf @@ -0,0 +1,61 @@ +#Automatically Generated by clamav-base postinst +#To reconfigure clamd run #dpkg-reconfigure clamav-base +#Please read /usr/share/doc/clamav-base/README.Debian.gz for details +LocalSocket /var/run/clamav/clamd.ctl +FixStaleSocket true +LocalSocketGroup clamav +LocalSocketMode 666 +# TemporaryDirectory is not set to its default /tmp here to make overriding +# the default with environment variables TMPDIR/TMP/TEMP possible +User clamav +# AllowSupplementaryGroups true +ScanMail true +ScanArchive true +ArchiveBlockEncrypted false +MaxDirectoryRecursion 15 +FollowDirectorySymlinks false +FollowFileSymlinks false +ReadTimeout 180 +MaxThreads 12 +MaxConnectionQueueLength 15 +LogSyslog false +LogFacility LOG_LOCAL6 +LogClean true +LogVerbose true +PidFile /var/run/clamav/clamd.pid +DatabaseDirectory /var/lib/clamav +SelfCheck 3600 +Foreground false +Debug false +ScanPE true +ScanOLE2 true +ScanHTML true +ExitOnOOM false +LeaveTemporaryFiles false +AlgorithmicDetection true +ScanELF true +IdleTimeout 30 +PhishingSignatures true +PhishingScanURLs true +PhishingAlwaysBlockSSLMismatch false +PhishingAlwaysBlockCloak false +DetectPUA false +ScanPartialMessages false +HeuristicScanPrecedence false +StructuredDataDetection false +CommandReadTimeout 5 +SendBufTimeout 200 +MaxQueue 100 +ExtendedDetectionInfo true +OLE2BlockMacros false +StreamMaxLength 2M +MaxFileSize 2M +LogFile /var/log/clamav/clamav.log +LogTime true +LogFileUnlock false +LogFileMaxSize 0 +Bytecode true +BytecodeSecurity TrustSigned +BytecodeTimeout 60000 +OfficialDatabaseOnly false +CrossFilesystems true diff --git a/install/debian/11/deb_signing.key b/install/debian/11/deb_signing.key new file mode 100644 index 00000000..d279abbd --- /dev/null +++ b/install/debian/11/deb_signing.key @@ -0,0 +1,41 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- + +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 +qiC8NLvRaE3PVkma9Q== +=RAbI +-----END PGP PUBLIC KEY BLOCK----- diff --git a/install/debian/11/dovecot/conf.d/10-auth.conf b/install/debian/11/dovecot/conf.d/10-auth.conf new file mode 100644 index 00000000..dfcc8311 --- /dev/null +++ b/install/debian/11/dovecot/conf.d/10-auth.conf @@ -0,0 +1,4 @@ +disable_plaintext_auth = no +auth_verbose = yes +auth_mechanisms = plain login +!include auth-passwdfile.conf.ext diff --git a/install/debian/11/dovecot/conf.d/10-logging.conf b/install/debian/11/dovecot/conf.d/10-logging.conf new file mode 100644 index 00000000..a5f207d5 --- /dev/null +++ b/install/debian/11/dovecot/conf.d/10-logging.conf @@ -0,0 +1 @@ +log_path = /var/log/dovecot.log diff --git a/install/debian/11/dovecot/conf.d/10-mail.conf b/install/debian/11/dovecot/conf.d/10-mail.conf new file mode 100644 index 00000000..55313419 --- /dev/null +++ b/install/debian/11/dovecot/conf.d/10-mail.conf @@ -0,0 +1,4 @@ +mail_privileged_group = mail +mail_access_groups = mail +mail_location = maildir:%h/mail/%d/%n +pop3_uidl_format = %08Xu%08Xv diff --git a/install/debian/11/dovecot/conf.d/10-master.conf b/install/debian/11/dovecot/conf.d/10-master.conf new file mode 100644 index 00000000..a75a9aaa --- /dev/null +++ b/install/debian/11/dovecot/conf.d/10-master.conf @@ -0,0 +1,29 @@ +service imap-login { + inet_listener imap { + } + inet_listener imaps { + } +} + +service pop3-login { + inet_listener pop3 { + } + inet_listener pop3s { + } +} + + +service imap { +} + +service pop3 { +} + +service auth { + unix_listener auth-client { + group = mail + mode = 0660 + user = dovecot + } + user = dovecot +} diff --git a/install/debian/11/dovecot/conf.d/10-ssl.conf b/install/debian/11/dovecot/conf.d/10-ssl.conf new file mode 100644 index 00000000..3aaff6ee --- /dev/null +++ b/install/debian/11/dovecot/conf.d/10-ssl.conf @@ -0,0 +1,3 @@ +ssl = yes +ssl_cert = = 2.1.4) : %v.%u + # Dovecot v0.99.x : %v.%u + # tpop3d : %Mf + # + # Note that Outlook 2003 seems to have problems with %v.%u format which was + # Dovecot's default, so if you're building a new server it would be a good + # idea to change this. %08Xu%08Xv should be pretty fail-safe. + # + #pop3_uidl_format = %08Xu%08Xv + + # Permanently save UIDLs sent to POP3 clients, so pop3_uidl_format changes + # won't change those UIDLs. Currently this works only with Maildir. + #pop3_save_uidl = no + + # What to do about duplicate UIDLs if they exist? + # allow: Show duplicates to clients. + # rename: Append a temporary -2, -3, etc. counter after the UIDL. + #pop3_uidl_duplicates = allow + + # POP3 logout format string: + # %i - total number of bytes read from client + # %o - total number of bytes sent to client + # %t - number of TOP commands + # %p - number of bytes sent to client as a result of TOP command + # %r - number of RETR commands + # %b - number of bytes sent to client as a result of RETR command + # %d - number of deleted messages + # %m - number of messages (before deletion) + # %s - mailbox size in bytes (before deletion) + # %u - old/new UIDL hash. may help finding out if UIDLs changed unexpectedly + #pop3_logout_format = top=%t/%p, retr=%r/%b, del=%d/%m, size=%s + + # Maximum number of POP3 connections allowed for a user from each IP address. + # NOTE: The username is compared case-sensitively. + mail_max_userip_connections = 50 + + # Space separated list of plugins to load (default is global mail_plugins). + #mail_plugins = $mail_plugins + + # Workarounds for various client bugs: + # outlook-no-nuls: + # Outlook and Outlook Express hang if mails contain NUL characters. + # This setting replaces them with 0x80 character. + # oe-ns-eoh: + # Outlook Express and Netscape Mail breaks if end of headers-line is + # missing. This option simply sends it if it's missing. + # The list is space-separated. + #pop3_client_workarounds = +} diff --git a/install/debian/11/dovecot/conf.d/auth-passwdfile.conf.ext b/install/debian/11/dovecot/conf.d/auth-passwdfile.conf.ext new file mode 100644 index 00000000..75e6e115 --- /dev/null +++ b/install/debian/11/dovecot/conf.d/auth-passwdfile.conf.ext @@ -0,0 +1,9 @@ +passdb { + driver = passwd-file + args = scheme=MD5-CRYPT username_format=%n /etc/exim4/domains/%d/passwd +} + +userdb { + driver = passwd-file + args = username_format=%n /etc/exim4/domains/%d/passwd +} diff --git a/install/debian/11/dovecot/dovecot.conf b/install/debian/11/dovecot/dovecot.conf new file mode 100644 index 00000000..0a855351 --- /dev/null +++ b/install/debian/11/dovecot/dovecot.conf @@ -0,0 +1,4 @@ +protocols = imap pop3 +listen = *, :: +base_dir = /var/run/dovecot/ +!include conf.d/*.conf diff --git a/install/debian/11/exim/deny_senders b/install/debian/11/exim/deny_senders new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/install/debian/11/exim/deny_senders @@ -0,0 +1 @@ + diff --git a/install/debian/11/exim/dnsbl.conf b/install/debian/11/exim/dnsbl.conf new file mode 100644 index 00000000..5166b255 --- /dev/null +++ b/install/debian/11/exim/dnsbl.conf @@ -0,0 +1,2 @@ +bl.spamcop.net +zen.spamhaus.org diff --git a/install/debian/11/exim/exim4.conf.template b/install/debian/11/exim/exim4.conf.template new file mode 100644 index 00000000..7cc13c36 --- /dev/null +++ b/install/debian/11/exim/exim4.conf.template @@ -0,0 +1,412 @@ +###################################################################### +# # +# Exim configuration file for Vesta Control Panel # +# # +###################################################################### + +#SPAMASSASSIN = yes +#SPAM_SCORE = 50 +#CLAMD = yes + +disable_ipv6=true +add_environment=<; PATH=/bin:/usr/bin +keep_environment= + +domainlist local_domains = dsearch;/etc/exim4/domains/ +domainlist relay_to_domains = dsearch;/etc/exim4/domains/ +hostlist relay_from_hosts = 127.0.0.1 +hostlist whitelist = net-iplsearch;/etc/exim4/white-blocks.conf +hostlist spammers = net-iplsearch;/etc/exim4/spam-blocks.conf +no_local_from_check +untrusted_set_sender = * +acl_smtp_connect = acl_check_spammers +acl_smtp_mail = acl_check_mail +acl_smtp_rcpt = acl_check_rcpt +acl_smtp_data = acl_check_data +acl_smtp_mime = acl_check_mime + +recipients_max = 15 +recipients_max_reject = true + +# log_selector = +smtp_connection +smtp_accept_max = 50 +smtp_accept_max_per_host = 4 + +.ifdef SPAMASSASSIN +spamd_address = 127.0.0.1 783 +.endif + +.ifdef CLAMD +av_scanner = clamd: /var/run/clamav/clamd.ctl +.endif + +tls_advertise_hosts = * +tls_certificate = /usr/local/vesta/ssl/certificate.crt +tls_privatekey = /usr/local/vesta/ssl/certificate.key + +daemon_smtp_ports = 25 : 465 : 587 : 2525 +tls_on_connect_ports = 465 +never_users = root +host_lookup = * +rfc1413_hosts = * +rfc1413_query_timeout = 0s +ignore_bounce_errors_after = 2d +timeout_frozen_after = 7d + +DKIM_DOMAIN = ${lc:${domain:$h_from:}} +DKIM_FILE = /etc/exim4/domains/${lc:${domain:$h_from:}}/dkim.pem +DKIM_PRIVATE_KEY = ${if exists{DKIM_FILE}{DKIM_FILE}{0}} + + + +###################################################################### +# ACL CONFIGURATION # +# Specifies access control lists for incoming SMTP mail # +###################################################################### + +acl_not_smtp = acl_not_smtp + +begin acl + +acl_not_smtp: + deny message = Web site is sending too much emails [limitlog]: deny / account / $authenticated_id / $sender_rate / $sender_rate_period + ratelimit = 40 / 1h / $authenticated_id + + warn ratelimit = 0 / 1h / strict / $authenticated_id + log_message = Sender rate [limitlog]: log / account / $authenticated_id / $sender_rate / $sender_rate_period + + accept + +acl_check_spammers: + accept hosts = +whitelist + + drop message = Your host in blacklist on this server. + log_message = Host in blacklist + hosts = +spammers + + accept + + +acl_check_mail: + deny condition = ${if eq{$sender_helo_name}{}} + message = HELO required before MAIL + + drop message = Helo name contains a ip address (HELO was $sender_helo_name) and not is valid + condition = ${if match{$sender_helo_name}{\N((\d{1,3}[.-]\d{1,3}[.-]\d{1,3}[.-]\d{1,3})|([0-9a-f]{8})|([0-9A-F]{8}))\N}{yes}{no}} + condition = ${if match{${lc:$sender_host_name}}{.telenor.rs}{false}{true}} + condition = ${if match {${lookup dnsdb{>: defer_never,ptr=$sender_host_address}}\}{$sender_helo_name}{no}{yes}} + delay = 45s + + drop condition = ${if isip{$sender_helo_name}} + message = Access denied - Invalid HELO name (See RFC2821 4.1.3) + + drop condition = ${if eq{[$interface_address]}{$sender_helo_name}} + message = $interface_address is _my_ address + + accept + + +acl_check_rcpt: + accept hosts = : + + deny message = Email account is sending too much emails [limitlog]: deny / email / $authenticated_id / $sender_rate / $sender_rate_period + ratelimit = 40 / 1h / $authenticated_id + + warn ratelimit = 0 / 1h / strict / $authenticated_id + log_message = Sender rate [limitlog]: log / email / $authenticated_id / $sender_rate / $sender_rate_period + + deny message = Restricted characters in address + domains = +local_domains + local_parts = ^[.] : ^.*[@%!/|] + + deny message = Restricted characters in address + domains = !+local_domains + local_parts = ^[./|] : ^.*[@%!] : ^.*/\\.\\./ + + require verify = sender + + accept hosts = +relay_from_hosts + control = submission + + accept authenticated = * + control = submission/domain= + + deny message = Rejected because $sender_host_address is in a black list at $dnslist_domain\n$dnslist_text + hosts = !+whitelist + dnslists = ${readfile {/etc/exim4/dnsbl.conf}{:}} + + require message = relay not permitted + domains = +local_domains : +relay_to_domains + + deny message = smtp auth requried + sender_domains = +local_domains + !authenticated = * + + require verify = recipient + +.ifdef CLAMD + warn set acl_m0 = no + + warn condition = ${if exists {/etc/exim4/domains/$domain/antivirus}{yes}{no}} + set acl_m0 = yes +.endif + +.ifdef SPAMASSASSIN + warn set acl_m1 = no + + warn condition = ${if exists {/etc/exim4/domains/$domain/antispam}{yes}{no}} + set acl_m1 = yes +.endif + + accept + + +acl_check_data: + + deny senders = /etc/exim4/deny_senders + +.ifdef CLAMD + deny message = Message contains a virus ($malware_name) and has been rejected + malware = */defer_ok + condition = ${if eq{$acl_m0}{yes}{yes}{no}} +.endif + +.ifdef SPAMASSASSIN + warn !authenticated = * + hosts = !+relay_from_hosts + condition = ${if < {$message_size}{100K}} + condition = ${if eq{$acl_m1}{yes}{yes}{no}} + spam = nobody:true/defer_ok + add_header = X-Spam-Score: $spam_score_int + add_header = X-Spam-Bar: $spam_bar + add_header = X-Spam-Report: $spam_report + set acl_m2 = $spam_score_int + + warn condition = ${if !eq{$acl_m2}{} {yes}{no}} + condition = ${if >{$acl_m2}{SPAM_SCORE} {yes}{no}} + add_header = X-Spam-Status: Yes + message = SpamAssassin detected spam (from $sender_address to $recipients). +.endif + + accept + + +acl_check_mime: + deny message = Blacklisted file extension detected + condition = ${if match {${lc:$mime_filename}}{\N(\.ade|\.adp|\.bat|\.chm|\.cmd|\.com|\.cpl|\.exe|\.hta|\.ins|\.isp|\.jse|\.lib|\.lnk|\.mde|\.msc|\.msp|\.mst|\.pif|\.scr|\.sct|\.shb|\.sys|\.vb|\.vbe|\.vbs|\.vxd|\.wsc|\.wsf|\.wsh|\.jar)$\N}{1}{0}} + + accept + + + +###################################################################### +# AUTHENTICATION CONFIGURATION # +###################################################################### +begin authenticators + +dovecot_plain: + driver = dovecot + public_name = PLAIN + server_socket = /var/run/dovecot/auth-client + server_set_id = $auth1 + +dovecot_login: + driver = dovecot + public_name = LOGIN + server_socket = /var/run/dovecot/auth-client + server_set_id = $auth1 + + + +###################################################################### +# ROUTERS CONFIGURATION # +# Specifies how addresses are handled # +###################################################################### +begin routers + +#smarthost: +# driver = manualroute +# domains = ! +local_domains +# transport = remote_smtp +# route_list = * smartrelay.vestacp.com +# no_more +# no_verify + +dnslookup: + driver = dnslookup + domains = !+local_domains + transport = remote_smtp + no_more + +localuser_spam: + driver = accept + transport = local_spam_delivery + condition = ${if eq {${if match{$h_X-Spam-Status:}{\N^Yes\N}{yes}{no}}} {${lookup{$local_part}lsearch{/etc/exim4/domains/$domain/passwd}{yes}{no_such_user}}}} + +userforward: + driver = redirect + check_local_user + file = $home/.forward + allow_filter + no_verify + no_expn + check_ancestor + file_transport = address_file + pipe_transport = address_pipe + reply_transport = address_reply + +procmail: + driver = accept + check_local_user + require_files = ${local_part}:+${home}/.procmailrc:/usr/bin/procmail + transport = procmail + no_verify + +autoreplay: + driver = accept + require_files = /etc/exim4/domains/$domain/autoreply.${local_part}.msg + condition = ${if exists{/etc/exim4/domains/$domain/autoreply.${local_part}.msg}{yes}{no}} + retry_use_local_part + transport = userautoreply + unseen + +aliases: + driver = redirect + headers_add = X-redirected: yes + data = ${extract{1}{:}{${lookup{$local_part@$domain}lsearch{/etc/exim4/domains/$domain/aliases}}}} + require_files = /etc/exim4/domains/$domain/aliases + redirect_router = dnslookup + pipe_transport = address_pipe + unseen + +localuser_fwd_only: + driver = accept + transport = devnull + condition = ${if exists{/etc/exim4/domains/$domain/fwd_only}{${lookup{$local_part}lsearch{/etc/exim4/domains/$domain/fwd_only}{true}{false}}}} + +localuser: + driver = accept + transport = local_delivery + condition = ${lookup{$local_part}lsearch{/etc/exim4/domains/$domain/passwd}{true}{false}} + +catchall: + driver = redirect + headers_add = X-redirected: yes + require_files = /etc/exim4/domains/$domain/aliases + data = ${extract{1}{:}{${lookup{*@$domain}lsearch{/etc/exim4/domains/$domain/aliases}}}} + file_transport = local_delivery + redirect_router = dnslookup + +terminate_alias: + driver = accept + transport = devnull + condition = ${lookup{$local_part@$domain}lsearch{/etc/exim4/domains/$domain/aliases}{true}{false}} + + + +###################################################################### +# TRANSPORTS CONFIGURATION # +###################################################################### +begin transports + +remote_smtp: + driver = smtp + #helo_data = $sender_address_domain + dkim_domain = DKIM_DOMAIN + dkim_selector = mail + dkim_private_key = DKIM_PRIVATE_KEY + dkim_canon = relaxed + dkim_strict = 0 + hosts_try_chunking = !93.188.3.0/24 + +procmail: + driver = pipe + command = "/usr/bin/procmail -d $local_part" + return_path_add + delivery_date_add + envelope_to_add + user = $local_part + initgroups + return_output + +local_delivery: + driver = appendfile + maildir_format + maildir_use_size_file + user = ${extract{2}{:}{${lookup{$local_part}lsearch{/etc/exim4/domains/$domain/passwd}}}} + group = mail + create_directory + directory_mode = 770 + mode = 660 + use_lockfile = no + delivery_date_add + envelope_to_add + return_path_add + directory = "${extract{5}{:}{${lookup{$local_part}lsearch{/etc/exim4/domains/$domain/passwd}}}}/mail/$domain/$local_part" + quota = ${extract{6}{:}{${lookup{$local_part}lsearch{/etc/exim4/domains/$domain/passwd}}}}M + quota_warn_threshold = 75% + +local_spam_delivery: + driver = appendfile + maildir_format + maildir_use_size_file + user = ${extract{2}{:}{${lookup{$local_part}lsearch{/etc/exim4/domains/$domain/passwd}}}} + group = mail + create_directory + directory_mode = 770 + mode = 660 + use_lockfile = no + delivery_date_add + envelope_to_add + return_path_add + directory = "${extract{5}{:}{${lookup{$local_part}lsearch{/etc/exim4/domains/$domain/passwd}}}}/mail/$domain/$local_part/.Spam" + quota = ${extract{6}{:}{${lookup{$local_part}lsearch{/etc/exim4/domains/$domain/passwd}}}}M + quota_directory = "${extract{5}{:}{${lookup{$local_part}lsearch{/etc/exim4/domains/$domain/passwd}}}}/mail/$domain/$local_part" + quota_warn_threshold = 75% + +address_pipe: + driver = pipe + return_output + +address_file: + driver = appendfile + delivery_date_add + envelope_to_add + return_path_add + +address_reply: + driver = autoreply + +userautoreply: + driver = autoreply + file = /etc/exim4/domains/$domain/autoreply.${local_part}.msg + from = "${local_part}@${domain}" + headers = Content-Type: text/plain; charset=utf-8;\nContent-Transfer-Encoding: 8bit + subject = "${if def:h_Subject: {Autoreply: \"${rfc2047:$h_Subject:}\"} {Autoreply Message}}" + to = "${sender_address}" + +devnull: + driver = appendfile + file = /dev/null + + + +###################################################################### +# RETRY CONFIGURATION # +###################################################################### +begin retry + +# Address or Domain Error Retries +# ----------------- ----- ------- +* * F,2h,15m; G,16h,1h,1.5; F,4d,6h + + + +###################################################################### +# REWRITE CONFIGURATION # +###################################################################### +begin rewrite + + + +###################################################################### diff --git a/install/debian/11/exim/spam-blocks.conf b/install/debian/11/exim/spam-blocks.conf new file mode 100644 index 00000000..e69de29b diff --git a/install/debian/11/fail2ban/action.d/vesta.conf b/install/debian/11/fail2ban/action.d/vesta.conf new file mode 100644 index 00000000..0edfc349 --- /dev/null +++ b/install/debian/11/fail2ban/action.d/vesta.conf @@ -0,0 +1,9 @@ +# Fail2Ban configuration file for vesta + +[Definition] + +actionstart = /usr/local/vesta/bin/v-add-firewall-chain+actionstop = /usr/local/vesta/bin/v-delete-firewall-chain +actioncheck = iptables -n -L INPUT | grep -q 'fail2ban- [ \t]' +actionban = /usr/local/vesta/bin/v-add-firewall-ban +actionunban = /usr/local/vesta/bin/v-delete-firewall-ban diff --git a/install/debian/11/fail2ban/filter.d/vesta.conf b/install/debian/11/fail2ban/filter.d/vesta.conf new file mode 100644 index 00000000..36ec1001 --- /dev/null +++ b/install/debian/11/fail2ban/filter.d/vesta.conf @@ -0,0 +1,10 @@ +# Fail2Ban filter for unsuccessful Vesta authentication attempts +# + +[INCLUDES] +before = common.conf + +[Definition] +failregex = .* failed to login +ignoreregex = + diff --git a/install/debian/11/fail2ban/jail.local b/install/debian/11/fail2ban/jail.local new file mode 100644 index 00000000..eccea068 --- /dev/null +++ b/install/debian/11/fail2ban/jail.local @@ -0,0 +1,39 @@ +[ssh-iptables] +enabled = true +filter = sshd +action = vesta[name=SSH] +logpath = /var/log/auth.log +maxretry = 5 + +[vsftpd-iptables] +enabled = false +filter = vsftpd +action = vesta[name=FTP] +logpath = /var/log/vsftpd.log +maxretry = 5 + +[exim-iptables] +enabled = true +filter = exim +action = vesta[name=MAIL] +logpath = /var/log/exim4/mainlog + +[dovecot-iptables] +enabled = true +filter = dovecot +action = vesta[name=MAIL] +logpath = /var/log/dovecot.log + +[mysqld-iptables] +enabled = false +filter = mysqld-auth +action = vesta[name=DB] +logpath = /var/log/mysql.log +maxretry = 5 + +[vesta-iptables] +enabled = true +filter = vesta +action = vesta[name=VESTA] +logpath = /var/log/vesta/auth.log +maxretry = 5 diff --git a/install/debian/11/firewall/ports.conf b/install/debian/11/firewall/ports.conf new file mode 100644 index 00000000..b730d012 --- /dev/null +++ b/install/debian/11/firewall/ports.conf @@ -0,0 +1,17 @@ +PROTOCOL='TCP' PORT='20' +PROTOCOL='TCP' PORT='21' +PROTOCOL='TCP' PORT='22' +PROTOCOL='TCP' PORT='25' +PROTOCOL='TCP' PORT='53' +PROTOCOL='UDP' PORT='53' +PROTOCOL='TCP' PORT='80' +PROTOCOL='TCP' PORT='443' +PROTOCOL='TCP' PORT='110' +PROTOCOL='UDP' PORT='123' +PROTOCOL='TCP' PORT='143' +PROTOCOL='TCP' PORT='3306' +PROTOCOL='TCP' PORT='5432' +PROTOCOL='TCP' PORT='8080' +PROTOCOL='TCP' PORT='8433' +PROTOCOL='TCP' PORT='8083' +PROTOCOL='TCP' PORT='12000:12100' diff --git a/install/debian/11/firewall/rules.conf b/install/debian/11/firewall/rules.conf new file mode 100644 index 00000000..6da5a1c4 --- /dev/null +++ b/install/debian/11/firewall/rules.conf @@ -0,0 +1,11 @@ +RULE='1' ACTION='ACCEPT' PROTOCOL='ICMP' PORT='0' IP='0.0.0.0/0' COMMENT='PING' SUSPENDED='no' TIME='17:13:48' DATE='2014-09-16' +RULE='2' ACTION='ACCEPT' PROTOCOL='TCP' PORT='8083' IP='0.0.0.0/0' COMMENT='VESTA' SUSPENDED='no' TIME='07:40:16' DATE='2014-05-25' +RULE='3' ACTION='ACCEPT' PROTOCOL='TCP' PORT='3306,5432' IP='0.0.0.0/0' COMMENT='DB' SUSPENDED='yes' TIME='07:40:16' DATE='2014-05-25' +RULE='4' ACTION='ACCEPT' PROTOCOL='TCP' PORT='143,993' IP='0.0.0.0/0' COMMENT='IMAP' SUSPENDED='no' TIME='07:40:16' DATE='2014-05-25' +RULE='5' ACTION='ACCEPT' PROTOCOL='TCP' PORT='110,995' IP='0.0.0.0/0' COMMENT='POP3' SUSPENDED='no' TIME='07:40:16' DATE='2014-05-25' +RULE='6' ACTION='ACCEPT' PROTOCOL='TCP' PORT='25,465,587,2525' IP='0.0.0.0/0' COMMENT='SMTP' SUSPENDED='no' TIME='07:40:16' DATE='2014-05-25' +RULE='7' ACTION='ACCEPT' PROTOCOL='TCP' PORT='53' IP='0.0.0.0/0' COMMENT='DNS' SUSPENDED='no' TIME='07:40:16' DATE='2014-05-25' +RULE='8' ACTION='ACCEPT' PROTOCOL='UDP' PORT='53' IP='0.0.0.0/0' COMMENT='DNS' SUSPENDED='no' TIME='07:40:16' DATE='2014-05-25' +RULE='9' ACTION='ACCEPT' PROTOCOL='TCP' PORT='21,12000-12100' IP='0.0.0.0/0' COMMENT='FTP' SUSPENDED='no' TIME='07:40:16' DATE='2014-05-25' +RULE='10' ACTION='ACCEPT' PROTOCOL='TCP' PORT='80,443' IP='0.0.0.0/0' COMMENT='WEB' SUSPENDED='no' TIME='17:04:27' DATE='2014-09-24' +RULE='11' ACTION='ACCEPT' PROTOCOL='TCP' PORT='22' IP='0.0.0.0/0' COMMENT='SSH' SUSPENDED='no' TIME='17:14:41' DATE='2014-09-16' diff --git a/install/debian/11/logrotate/apache2 b/install/debian/11/logrotate/apache2 new file mode 100644 index 00000000..27629d0d --- /dev/null +++ b/install/debian/11/logrotate/apache2 @@ -0,0 +1,19 @@ +/var/log/apache2/*.log /var/log/apache2/domains/*log { + weekly + missingok + rotate 52 + compress + delaycompress + notifempty + create 640 root adm + sharedscripts + postrotate + /etc/init.d/apache2 reload > /dev/null || true + [ ! -f /var/run/nginx.pid ] || kill -USR1 `cat /var/run/nginx.pid` + endscript + prerotate + if [ -d /etc/logrotate.d/httpd-prerotate ]; then \ + run-parts /etc/logrotate.d/httpd-prerotate; \ + fi; \ + endscript +} diff --git a/install/debian/11/logrotate/dovecot b/install/debian/11/logrotate/dovecot new file mode 100644 index 00000000..ac4fd6e9 --- /dev/null +++ b/install/debian/11/logrotate/dovecot @@ -0,0 +1,12 @@ +/var/log/dovecot*.log { + weekly + rotate 4 + missingok + notifempty + compress + delaycompress + sharedscripts + postrotate + doveadm log reopen + endscript +} diff --git a/install/debian/11/logrotate/nginx b/install/debian/11/logrotate/nginx new file mode 100644 index 00000000..d667f213 --- /dev/null +++ b/install/debian/11/logrotate/nginx @@ -0,0 +1,13 @@ +/var/log/nginx/*log /var/log/nginx/domains/*log { + daily + missingok + rotate 52 + compress + delaycompress + notifempty + create 640 nginx adm + sharedscripts + postrotate + [ -f /var/run/nginx.pid ] && kill -USR1 `cat /var/run/nginx.pid` + endscript +} diff --git a/install/debian/11/logrotate/vesta b/install/debian/11/logrotate/vesta new file mode 100644 index 00000000..027a3439 --- /dev/null +++ b/install/debian/11/logrotate/vesta @@ -0,0 +1,7 @@ +/usr/local/vesta/log/*.log { + missingok + notifempty + size 30k + yearly + create 0600 root root +} diff --git a/install/debian/11/mysql/my-large.cnf b/install/debian/11/mysql/my-large.cnf new file mode 100644 index 00000000..febfda66 --- /dev/null +++ b/install/debian/11/mysql/my-large.cnf @@ -0,0 +1,44 @@ +[client] +port=3306 +socket=/var/run/mysqld/mysqld.sock + +[mysqld_safe] +socket=/var/run/mysqld/mysqld.sock + +[mysqld] +user=mysql +pid-file=/var/run/mysqld/mysqld.pid +socket=/var/run/mysqld/mysqld.sock +port=3306 +basedir=/usr +datadir=/var/lib/mysql +tmpdir=/tmp +lc-messages-dir=/usr/share/mysql +log_error=/var/log/mysql/error.log + +symbolic-links=0 + +skip-external-locking +key_buffer_size = 256M +max_allowed_packet = 32M +table_open_cache = 256 +sort_buffer_size = 1M +read_buffer_size = 1M +read_rnd_buffer_size = 4M +myisam_sort_buffer_size = 64M +thread_cache_size = 8 +query_cache_size= 16M +thread_concurrency = 8 + +#innodb_use_native_aio = 0 +innodb_file_per_table + +max_connections=200 +max_user_connections=50 +wait_timeout=10 +interactive_timeout=50 +long_query_time=5 + +sql_mode=ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION + +!includedir /etc/mysql/conf.d/ diff --git a/install/debian/11/mysql/my-medium.cnf b/install/debian/11/mysql/my-medium.cnf new file mode 100644 index 00000000..3aa8fe22 --- /dev/null +++ b/install/debian/11/mysql/my-medium.cnf @@ -0,0 +1,42 @@ +[client] +port=3306 +socket=/var/run/mysqld/mysqld.sock + +[mysqld_safe] +socket=/var/run/mysqld/mysqld.sock + +[mysqld] +user=mysql +pid-file=/var/run/mysqld/mysqld.pid +socket=/var/run/mysqld/mysqld.sock +port=3306 +basedir=/usr +datadir=/var/lib/mysql +tmpdir=/tmp +lc-messages-dir=/usr/share/mysql +log_error=/var/log/mysql/error.log + +symbolic-links=0 + +skip-external-locking +key_buffer_size = 16M +max_allowed_packet = 16M +table_open_cache = 64 +sort_buffer_size = 512K +net_buffer_length = 8K +read_buffer_size = 256K +read_rnd_buffer_size = 512K +myisam_sort_buffer_size = 8M + +#innodb_use_native_aio = 0 +innodb_file_per_table + +max_connections=70 +max_user_connections=30 +wait_timeout=10 +interactive_timeout=50 +long_query_time=5 + +sql_mode=ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION + +!includedir /etc/mysql/conf.d/ diff --git a/install/debian/11/mysql/my-small.cnf b/install/debian/11/mysql/my-small.cnf new file mode 100644 index 00000000..bd53770b --- /dev/null +++ b/install/debian/11/mysql/my-small.cnf @@ -0,0 +1,42 @@ +[client] +port=3306 +socket=/var/run/mysqld/mysqld.sock + +[mysqld_safe] +socket=/var/run/mysqld/mysqld.sock + +[mysqld] +user=mysql +pid-file=/var/run/mysqld/mysqld.pid +socket=/var/run/mysqld/mysqld.sock +port=3306 +basedir=/usr +datadir=/var/lib/mysql +tmpdir=/tmp +lc-messages-dir=/usr/share/mysql +log_error=/var/log/mysql/error.log + +symbolic-links=0 + +skip-external-locking +key_buffer_size = 16K +max_allowed_packet = 1M +table_open_cache = 4 +sort_buffer_size = 64K +read_buffer_size = 256K +read_rnd_buffer_size = 256K +net_buffer_length = 2K +thread_stack = 240K + +#innodb_use_native_aio = 0 +innodb_file_per_table + +max_connections=30 +max_user_connections=20 +wait_timeout=10 +interactive_timeout=50 +long_query_time=5 + +sql_mode=ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION + +!includedir /etc/mysql/conf.d/ diff --git a/install/debian/11/nginx/nginx.conf b/install/debian/11/nginx/nginx.conf new file mode 100644 index 00000000..6d5e36ba --- /dev/null +++ b/install/debian/11/nginx/nginx.conf @@ -0,0 +1,140 @@ +# Server globals +user www-data; +worker_processes auto; +worker_rlimit_nofile 65535; +timer_resolution 50ms; #In order to free some CPU cycles +error_log /var/log/nginx/error.log crit; +pid /var/run/nginx.pid; + + +# Worker config +events { + worker_connections 1024; + use epoll; + multi_accept on; +} + + +http { + # Main settings + sendfile on; + tcp_nopush on; + tcp_nodelay on; + client_header_timeout 1m; + client_body_timeout 1m; + client_header_buffer_size 2k; + client_body_buffer_size 256k; + client_max_body_size 256m; + large_client_header_buffers 4 8k; + send_timeout 30; + keepalive_timeout 60 60; + reset_timedout_connection on; + server_tokens off; + server_name_in_redirect off; + server_names_hash_max_size 512; + server_names_hash_bucket_size 512; + + + # Log format + log_format main '$remote_addr - $remote_user [$time_local] $request ' + '"$status" $body_bytes_sent "$http_referer" ' + '"$http_user_agent" "$http_x_forwarded_for"'; + log_format bytes '$body_bytes_sent'; + #access_log /var/log/nginx/access.log main; + access_log off; + + + # Mime settings + include /etc/nginx/mime.types; + default_type application/octet-stream; + + + # Compression + gzip on; + gzip_comp_level 9; + gzip_min_length 512; + gzip_buffers 8 64k; + gzip_types text/plain text/css text/javascript text/js text/xml application/json application/javascript application/x-javascript application/xml application/xml+rss application/x-font-ttf image/svg+xml font/opentype; + gzip_proxied any; + gzip_disable "MSIE [1-6]\."; + + # Proxy settings + proxy_redirect off; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_pass_header Set-Cookie; + proxy_connect_timeout 900; + proxy_send_timeout 900; + proxy_read_timeout 900; + proxy_buffer_size 128k; + proxy_buffers 4 256k; + proxy_busy_buffers_size 256k; + + + # Cloudflare https://www.cloudflare.com/ips + set_real_ip_from 173.245.48.0/20; + set_real_ip_from 103.21.244.0/22; + set_real_ip_from 103.22.200.0/22; + set_real_ip_from 103.31.4.0/22; + set_real_ip_from 104.16.0.0/13; + set_real_ip_from 104.24.0.0/14; + set_real_ip_from 141.101.64.0/18; + set_real_ip_from 108.162.192.0/18; + set_real_ip_from 190.93.240.0/20; + set_real_ip_from 188.114.96.0/20; + set_real_ip_from 197.234.240.0/22; + set_real_ip_from 198.41.128.0/17; + set_real_ip_from 162.158.0.0/15; + set_real_ip_from 172.64.0.0/13; + set_real_ip_from 131.0.72.0/22; + set_real_ip_from 2400:cb00::/32; + set_real_ip_from 2606:4700::/32; + set_real_ip_from 2803:f800::/32; + set_real_ip_from 2405:b500::/32; + set_real_ip_from 2405:8100::/32; + set_real_ip_from 2a06:98c0::/29; + set_real_ip_from 2c0f:f248::/32; + real_ip_header CF-Connecting-IP; + + + # SSL PCI Compliance + ssl_session_cache shared:SSL:10m; + ssl_protocols TLSv1.1 TLSv1.2; + ssl_prefer_server_ciphers on; + ssl_ciphers "ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA:DES-CBC3-SHA:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!MD5:!PSK:!RC4"; + + + # Error pages + error_page 403 /error/403.html; + error_page 404 /error/404.html; + error_page 502 503 504 /error/50x.html; + + + # Cache settings + proxy_cache_path /var/cache/nginx levels=2 keys_zone=cache:10m inactive=60m max_size=1024m; + proxy_cache_key "$host$request_uri $cookie_user"; + proxy_temp_path /var/cache/nginx/temp; + proxy_ignore_headers Expires Cache-Control; + proxy_cache_use_stale error timeout invalid_header http_502; + proxy_cache_valid any 1d; + + + # Cache bypass + map $http_cookie $no_cache { + default 0; + ~SESS 1; + ~wordpress_logged_in 1; + } + + + # File cache settings + open_file_cache max=10000 inactive=30s; + open_file_cache_valid 60s; + open_file_cache_min_uses 2; + open_file_cache_errors off; + + + # Wildcard include + include /etc/nginx/conf.d/*.conf; +} diff --git a/install/debian/11/nginx/phpmyadmin.inc b/install/debian/11/nginx/phpmyadmin.inc new file mode 100644 index 00000000..cdfc93c4 --- /dev/null +++ b/install/debian/11/nginx/phpmyadmin.inc @@ -0,0 +1,18 @@ +location /phpmyadmin { + alias /usr/share/phpmyadmin; + + location ~ /(libraries|setup) { + return 404; + } + + location ~ ^/phpmyadmin/(.*\.php)$ { + alias /usr/share/phpmyadmin/$1; + fastcgi_pass 127.0.0.1:9000; + fastcgi_index index.php; + include fastcgi_params; + fastcgi_param SCRIPT_FILENAME $request_filename; + } + location ~* ^/phpmyadmin/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ { + root /usr/share/; + } +} diff --git a/install/debian/11/nginx/phppgadmin.inc b/install/debian/11/nginx/phppgadmin.inc new file mode 100644 index 00000000..47cfcf4e --- /dev/null +++ b/install/debian/11/nginx/phppgadmin.inc @@ -0,0 +1,11 @@ +location /phppgadmin { + alias /usr/share/phppgadmin; + + location ~ ^/phppgadmin/(.*\.php)$ { + alias /usr/share/phppgadmin/$1; + fastcgi_pass 127.0.0.1:9000; + fastcgi_index index.php; + include fastcgi_params; + fastcgi_param SCRIPT_FILENAME $request_filename; + } +} diff --git a/install/debian/11/nginx/status.conf b/install/debian/11/nginx/status.conf new file mode 100644 index 00000000..c0bcd069 --- /dev/null +++ b/install/debian/11/nginx/status.conf @@ -0,0 +1,9 @@ +server { + listen 127.0.0.1:8084 default; + server_name _; + server_name_in_redirect off; + location / { + stub_status on; + access_log off; + } +} diff --git a/install/debian/11/nginx/webmail.inc b/install/debian/11/nginx/webmail.inc new file mode 100644 index 00000000..768c9049 --- /dev/null +++ b/install/debian/11/nginx/webmail.inc @@ -0,0 +1,15 @@ +location /webmail { + alias /var/lib/roundcube; + + location ~ /(config|temp|logs) { + return 404; + } + + location ~ ^/webmail/(.*\.php)$ { + alias /var/lib/roundcube/$1; + fastcgi_pass 127.0.0.1:9000; + fastcgi_index index.php; + include fastcgi_params; + fastcgi_param SCRIPT_FILENAME $request_filename; + } +} diff --git a/install/debian/11/packages/default.pkg b/install/debian/11/packages/default.pkg new file mode 100644 index 00000000..de293236 --- /dev/null +++ b/install/debian/11/packages/default.pkg @@ -0,0 +1,18 @@ +WEB_TEMPLATE='PHP-FPM-73' +PROXY_TEMPLATE='hosting' +DNS_TEMPLATE='default' +WEB_DOMAINS='unlimited' +WEB_ALIASES='unlimited' +DNS_DOMAINS='unlimited' +DNS_RECORDS='unlimited' +MAIL_DOMAINS='unlimited' +MAIL_ACCOUNTS='unlimited' +DATABASES='unlimited' +CRON_JOBS='unlimited' +DISK_QUOTA='unlimited' +BANDWIDTH='unlimited' +NS='YOURHOSTNAME1,YOURHOSTNAME2' +SHELL='nologin' +BACKUPS='2' +TIME='18:00:00' +DATE='2017-12-28' diff --git a/install/debian/11/pga/config.inc.php b/install/debian/11/pga/config.inc.php new file mode 100644 index 00000000..1eec9776 --- /dev/null +++ b/install/debian/11/pga/config.inc.php @@ -0,0 +1,159 @@ + diff --git a/install/debian/11/pga/phppgadmin.conf b/install/debian/11/pga/phppgadmin.conf new file mode 100644 index 00000000..f39247d6 --- /dev/null +++ b/install/debian/11/pga/phppgadmin.conf @@ -0,0 +1,31 @@ +Alias /phppgadmin /usr/share/phppgadmin + + + +DirectoryIndex index.php +AllowOverride None + +order deny,allow +deny from all +allow from 127.0.0.0/255.0.0.0 ::1/128 +allow from all + + diff --git a/install/debian/11/php-fpm/www.conf b/install/debian/11/php-fpm/www.conf new file mode 100644 index 00000000..3c87f33c --- /dev/null +++ b/install/debian/11/php-fpm/www.conf @@ -0,0 +1,11 @@ +[www] +listen = 127.0.0.1:9000 +listen.allowed_clients = 127.0.0.1 + +user = www-data +group = www-data + +pm = ondemand +pm.max_children = 2 +pm.max_requests = 4000 +pm.process_idle_timeout = 10s diff --git a/install/debian/11/php/php7.3-dedi.patch b/install/debian/11/php/php7.3-dedi.patch new file mode 100644 index 00000000..c044e002 --- /dev/null +++ b/install/debian/11/php/php7.3-dedi.patch @@ -0,0 +1,78 @@ +--- /etc/php/7.3/fpm/php.ini.orig 2019-07-18 16:11:18.856589963 +0200 ++++ /etc/php/7.3/fpm/php.ini 2019-07-18 17:45:51.000000000 +0200 +@@ -312,7 +312,8 @@ + ; This directive allows you to disable certain functions for security reasons. + ; It receives a comma-delimited list of function names. + ; http://php.net/disable-functions +-disable_functions = pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals, ++; disable_functions = pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals, ++disable_functions = pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,exec,system,passthru,shell_exec,proc_open,popen + + ; This directive allows you to disable certain classes for security reasons. + ; It receives a comma-delimited list of class names. +@@ -399,11 +400,11 @@ + ;max_input_nesting_level = 64 + + ; How many GET/POST/COOKIE input variables may be accepted +-;max_input_vars = 1000 ++max_input_vars = 6000 + + ; Maximum amount of memory a script may consume (128MB) + ; http://php.net/memory-limit +-memory_limit = 128M ++memory_limit = 256M + + ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + ; Error handling and logging ; +@@ -690,7 +691,7 @@ + ; Its value may be 0 to disable the limit. It is ignored if POST data reading + ; is disabled through enable_post_data_reading. + ; http://php.net/post-max-size +-post_max_size = 8M ++post_max_size = 60M + + ; Automatically add files before PHP document. + ; http://php.net/auto-prepend-file +@@ -842,7 +843,7 @@ + + ; Maximum allowed size for uploaded files. + ; http://php.net/upload-max-filesize +-upload_max_filesize = 2M ++upload_max_filesize = 50M + + ; Maximum number of files that can be uploaded via a single request + max_file_uploads = 20 +@@ -1087,7 +1088,7 @@ + + ; The path to a log file that will log all mail() calls. Log entries include + ; the full path of the script, line number, To address and headers. +-;mail.log = ++mail.log = /var/log/php-mail.log + ; Log mail to syslog (Event Log on Windows). + ;mail.log = syslog + +@@ -1791,20 +1792,20 @@ + + [opcache] + ; Determines if Zend OPCache is enabled +-;opcache.enable=1 ++opcache.enable=1 + + ; Determines if Zend OPCache is enabled for the CLI version of PHP +-;opcache.enable_cli=0 ++opcache.enable_cli=0 + + ; The OPcache shared memory storage size. +-;opcache.memory_consumption=128 ++opcache.memory_consumption=2048 + + ; The amount of memory for interned strings in Mbytes. + ;opcache.interned_strings_buffer=8 + + ; The maximum number of keys (scripts) in the OPcache hash table. + ; Only numbers between 200 and 1000000 are allowed. +-;opcache.max_accelerated_files=10000 ++opcache.max_accelerated_files=100000 + + ; The maximum percentage of "wasted" memory until a restart is scheduled. + ;opcache.max_wasted_percentage=5 diff --git a/install/debian/11/php/php7.3-vps.patch b/install/debian/11/php/php7.3-vps.patch new file mode 100644 index 00000000..803b93e8 --- /dev/null +++ b/install/debian/11/php/php7.3-vps.patch @@ -0,0 +1,78 @@ +--- /etc/php/7.3/fpm/php.ini.orig 2019-07-18 16:11:18.856589963 +0200 ++++ /etc/php/7.3/fpm/php.ini 2019-07-18 17:45:51.000000000 +0200 +@@ -312,7 +312,8 @@ + ; This directive allows you to disable certain functions for security reasons. + ; It receives a comma-delimited list of function names. + ; http://php.net/disable-functions +-disable_functions = pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals, ++; disable_functions = pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals, ++disable_functions = pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,exec,system,passthru,shell_exec,proc_open,popen + + ; This directive allows you to disable certain classes for security reasons. + ; It receives a comma-delimited list of class names. +@@ -399,11 +400,11 @@ + ;max_input_nesting_level = 64 + + ; How many GET/POST/COOKIE input variables may be accepted +-;max_input_vars = 1000 ++max_input_vars = 6000 + + ; Maximum amount of memory a script may consume (128MB) + ; http://php.net/memory-limit +-memory_limit = 128M ++memory_limit = 256M + + ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + ; Error handling and logging ; +@@ -690,7 +691,7 @@ + ; Its value may be 0 to disable the limit. It is ignored if POST data reading + ; is disabled through enable_post_data_reading. + ; http://php.net/post-max-size +-post_max_size = 8M ++post_max_size = 60M + + ; Automatically add files before PHP document. + ; http://php.net/auto-prepend-file +@@ -842,7 +843,7 @@ + + ; Maximum allowed size for uploaded files. + ; http://php.net/upload-max-filesize +-upload_max_filesize = 2M ++upload_max_filesize = 50M + + ; Maximum number of files that can be uploaded via a single request + max_file_uploads = 20 +@@ -1087,7 +1088,7 @@ + + ; The path to a log file that will log all mail() calls. Log entries include + ; the full path of the script, line number, To address and headers. +-;mail.log = ++mail.log = /var/log/php-mail.log + ; Log mail to syslog (Event Log on Windows). + ;mail.log = syslog + +@@ -1791,20 +1792,20 @@ + + [opcache] + ; Determines if Zend OPCache is enabled +-;opcache.enable=1 ++opcache.enable=1 + + ; Determines if Zend OPCache is enabled for the CLI version of PHP +-;opcache.enable_cli=0 ++opcache.enable_cli=0 + + ; The OPcache shared memory storage size. +-;opcache.memory_consumption=128 ++opcache.memory_consumption=512 + + ; The amount of memory for interned strings in Mbytes. + ;opcache.interned_strings_buffer=8 + + ; The maximum number of keys (scripts) in the OPcache hash table. + ; Only numbers between 200 and 1000000 are allowed. +-;opcache.max_accelerated_files=10000 ++opcache.max_accelerated_files=100000 + + ; The maximum percentage of "wasted" memory until a restart is scheduled. + ;opcache.max_wasted_percentage=5 diff --git a/install/debian/11/pma/apache.conf b/install/debian/11/pma/apache.conf new file mode 100644 index 00000000..2a8f69e2 --- /dev/null +++ b/install/debian/11/pma/apache.conf @@ -0,0 +1,42 @@ +# phpMyAdmin default Apache configuration + +Alias /phpmyadmin /usr/share/phpmyadmin + ++ php_flag magic_quotes_gpc Off + php_flag track_vars On + php_value include_path . + ++ + ++ ++ AddType application/x-httpd-php .php + Action application/x-httpd-php /cgi-bin/php + ++ AddType application/x-httpd-php .php + Action application/x-httpd-php /cgi-bin/php + ++ Options FollowSymLinks + DirectoryIndex index.php + + + +# Authorize for setup ++ AddType application/x-httpd-php .php + + php_flag magic_quotes_gpc Off + php_flag track_vars On + php_flag register_globals Off + php_admin_flag allow_url_fopen Off + php_value include_path . + php_admin_value upload_tmp_dir /var/lib/phpmyadmin/tmp + php_admin_value open_basedir /usr/share/phpmyadmin/:/etc/phpmyadmin/:/var/lib/phpmyadmin/:/usr/share/php/php-gettext + + ++ + +# Disallow web access to directories that don't need it ++ AuthType Basic + AuthName "phpMyAdmin Setup" + AuthUserFile /etc/phpmyadmin/htpasswd.setup + + Require valid-user ++ Order Deny,Allow + Deny from All + ++ Order Deny,Allow + Deny from All + + diff --git a/install/debian/11/pma/config.inc.php b/install/debian/11/pma/config.inc.php new file mode 100644 index 00000000..eafc6d67 --- /dev/null +++ b/install/debian/11/pma/config.inc.php @@ -0,0 +1,146 @@ +> $pmapath1 +sed -i '/savedsearches/d' $pmapath1 +sed -i '/navigationhiding/d' $pmapath1 +sed -i '/users/d' $pmapath1 +sed -i '/controlpass/d' $pmapath1 +sed -i '/favorite/d' $pmapath1 +sed -i '/usergroups/d' $pmapath1 +sed -i '/central_columns/d' $pmapath1 +sed -i '/designer_settings/d' $pmapath1 +sed -i '/export_templates/d' $pmapath1 +echo "\$cfg['Servers'][\$i]['favorite'] = 'pma__favorite';" >> $pmapath1 +echo "\$cfg['Servers'][\$i]['usergroups'] = 'pma__usergroups';" >> $pmapath1 +echo "\$cfg['Servers'][\$i]['central_columns'] = 'pma__central_columns';" >> $pmapath1 +echo "\$cfg['Servers'][\$i]['designer_settings'] = 'pma__designer_settings';" >> $pmapath1 +echo "\$cfg['Servers'][\$i]['export_templates'] = 'pma__export_templates';" >> $pmapath1 +echo "\$cfg['Servers'][\$i]['savedsearches'] = 'pma__savedsearches';" >> $pmapath1 +echo "\$cfg['Servers'][\$i]['navigationhiding'] = 'pma__navigationhiding';" >> $pmapath1 +echo "\$cfg['Servers'][\$i]['users'] = 'pma__users';" >> $pmapath1 +echo "\$cfg['Servers'][\$i]['usergroups'] = 'pma__usergroups';" >> $pmapath1 +echo "\$cfg['Servers'][\$i]['pmadb'] = 'phpmyadmin';" >> $pmapath1 +echo "\$cfg['Servers'][\$i]['controluser'] = 'pma';" >> $pmapath1 +echo "\$cfg['Servers'][\$i]['controlpass'] = '$PASS';" >> $pmapath1 +echo "\$cfg['Servers'][\$i]['bookmarktable'] = 'pma__bookmark';" >> $pmapath1 +echo "\$cfg['Servers'][\$i]['relation'] = 'pma__relation';" >> $pmapath1 +echo "\$cfg['Servers'][\$i]['userconfig'] = 'pma__userconfig';" >> $pmapath1 +echo "\$cfg['Servers'][\$i]['table_info'] = 'pma__table_info';" >> $pmapath1 +echo "\$cfg['Servers'][\$i]['column_info'] = 'pma__column_info';" >> $pmapath1 +echo "\$cfg['Servers'][\$i]['history'] = 'pma__history';" >> $pmapath1 +echo "\$cfg['Servers'][\$i]['recent'] = 'pma__recent';" >> $pmapath1 +echo "\$cfg['Servers'][\$i]['table_uiprefs'] = 'pma__table_uiprefs';" >> $pmapath1 +echo "\$cfg['Servers'][\$i]['tracking'] = 'pma__tracking';" >> $pmapath1 +echo "\$cfg['Servers'][\$i]['table_coords'] = 'pma__table_coords';" >> $pmapath1 +echo "\$cfg['Servers'][\$i]['pdf_pages'] = 'pma__pdf_pages';" >> $pmapath1 +echo "\$cfg['Servers'][\$i]['designer_coords'] = 'pma__designer_coords';" >> $pmapath1 + +sed -i '/pmadb/d' $pmapath2 +sed -i '/controluser/d' $pmapath2 +sed -i '/bookmarktable/d' $pmapath2 +sed -i '/relation/d' $pmapath2 +sed -i '/userconfig/d' $pmapath2 +sed -i '/table_info/d' $pmapath2 +sed -i '/column_info/d' $pmapath2 +sed -i '/history/d' $pmapath2 +sed -i '/recent/d' $pmapath2 +sed -i '/table_uiprefs/d' $pmapath2 +sed -i '/tracking/d' $pmapath2 +sed -i '/table_coords/d' $pmapath2 +sed -i '/pdf_pages/d' $pmapath2 +sed -i '/designer_coords/d' $pmapath2 +sed -i '/controlpass/d' $pmapath2 +sed -i '/savedsearches/d' $pmapath2 +sed -i '/navigationhiding/d' $pmapath2 +sed -i '/users/d' $pmapath2 +sed -i '/controlpass/d' $pmapath2 +sed -i '/favorite/d' $pmapath2 +sed -i '/usergroups/d' $pmapath2 +sed -i '/central_columns/d' $pmapath2 +sed -i '/designer_settings/d' $pmapath2 +sed -i '/export_templates/d' $pmapath2 +echo "\$cfg['Servers'][\$i]['favorite'] = 'pma__favorite';" >> $pmapath2 +echo "\$cfg['Servers'][\$i]['usergroups'] = 'pma__usergroups';" >> $pmapath2 +echo "\$cfg['Servers'][\$i]['central_columns'] = 'pma__central_columns';" >> $pmapath2 +echo "\$cfg['Servers'][\$i]['designer_settings'] = 'pma__designer_settings';" >> $pmapath2 +echo "\$cfg['Servers'][\$i]['export_templates'] = 'pma__export_templates';" >> $pmapath2 +echo "\$cfg['Servers'][\$i]['savedsearches'] = 'pma__savedsearches';" >> $pmapath2 +echo "\$cfg['Servers'][\$i]['navigationhiding'] = 'pma__navigationhiding';" >> $pmapath2 +echo "\$cfg['Servers'][\$i]['users'] = 'pma__users';" >> $pmapath2 +echo "\$cfg['Servers'][\$i]['usergroups'] = 'pma__usergroups';" >> $pmapath2 +echo "\$cfg['Servers'][\$i]['pmadb'] = 'phpmyadmin';" >> $pmapath2 +echo "\$cfg['Servers'][\$i]['controluser'] = 'pma';" >> $pmapath2 +echo "\$cfg['Servers'][\$i]['controlpass'] = '$PASS';" >> $pmapath2 +echo "\$cfg['Servers'][\$i]['bookmarktable'] = 'pma__bookmark';" >> $pmapath2 +echo "\$cfg['Servers'][\$i]['relation'] = 'pma__relation';" >> $pmapath2 +echo "\$cfg['Servers'][\$i]['userconfig'] = 'pma__userconfig';" >> $pmapath2 +echo "\$cfg['Servers'][\$i]['table_info'] = 'pma__table_info';" >> $pmapath2 +echo "\$cfg['Servers'][\$i]['column_info'] = 'pma__column_info';" >> $pmapath2 +echo "\$cfg['Servers'][\$i]['history'] = 'pma__history';" >> $pmapath2 +echo "\$cfg['Servers'][\$i]['recent'] = 'pma__recent';" >> $pmapath2 +echo "\$cfg['Servers'][\$i]['table_uiprefs'] = 'pma__table_uiprefs';" >> $pmapath2 +echo "\$cfg['Servers'][\$i]['tracking'] = 'pma__tracking';" >> $pmapath2 +echo "\$cfg['Servers'][\$i]['table_coords'] = 'pma__table_coords';" >> $pmapath2 +echo "\$cfg['Servers'][\$i]['pdf_pages'] = 'pma__pdf_pages';" >> $pmapath2 +echo "\$cfg['Servers'][\$i]['designer_coords'] = 'pma__designer_coords';" >> $pmapath2 + +#SOME WORK with DATABASE (table / user) +PMADB=phpmyadmin +PMAUSER=pma + +#DROP USER and TABLE +mysql -uroot <+ VRootEngine on + VRootAlias /etc/security/pam_env.conf etc/security/pam_env.conf + + Umask 002 + IdentLookups off + AllowOverwrite yes + diff --git a/install/debian/11/proftpd/tls.conf b/install/debian/11/proftpd/tls.conf new file mode 100644 index 00000000..9da0017b --- /dev/null +++ b/install/debian/11/proftpd/tls.conf @@ -0,0 +1,63 @@ +# +# Proftpd sample configuration for FTPS connections. +# +# Note that FTPS impose some limitations in NAT traversing. +# See http://www.castaglia.org/proftpd/doc/contrib/ProFTPD-mini-HOWTO-TLS.html +# for more information. +# ++ AllowAll + ++ # If mod_tls was built as a shared/DSO module, load it + LoadModule mod_tls.c + ++TLSEngine on +TLSLog /var/log/proftpd/tls.log +# this is an example of protocols, proftp works witl all, but use only the most secure ones like TLSv1.1 and TLSv1.2 +TLSProtocol TLSv1.1 TLSv1.2 +# +# Server SSL certificate. You can generate a self-signed certificate using +# a command like: +# +# openssl req -x509 -newkey rsa:1024 \ +# -keyout /etc/ssl/private/proftpd.key -out /etc/ssl/certs/proftpd.crt \ +# -nodes -days 365 +# +# The proftpd.key file must be readable by root only. The other file can be +# readable by anyone. +# +# chmod 0600 /etc/ssl/private/proftpd.key +# chmod 0640 /etc/ssl/private/proftpd.key +# +TLSRSACertificateFile /usr/local/vesta/ssl/certificate.crt +TLSRSACertificateKeyFile /usr/local/vesta/ssl/certificate.key +# +# CA the server trusts... +#TLSCACertificateFile /etc/ssl/certs/CA.pem +# ...or avoid CA cert and be verbose +#TLSOptions NoCertRequest EnableDiags +# ... or the same with relaxed session use for some clients (e.g. FireFtp) +#TLSOptions NoCertRequest EnableDiags NoSessionReuseRequired +# +# +# Per default drop connection if client tries to start a renegotiate +# This is a fix for CVE-2009-3555 but could break some clients. +# +#TLSOptions AllowClientRenegotiations +# +TLSOptions NoSessionReuseRequired AllowClientRenegotiations +# Authenticate clients that want to use FTP over TLS? +# +#TLSVerifyClient off +# +# Are clients required to use FTP over TLS when talking to this server? +# +TLSRequired off +# +# Allow SSL/TLS renegotiations when the client requests them, but +# do not force the renegotations. Some clients do not support +# SSL/TLS renegotiations; when mod_tls forces a renegotiation, these +# clients will close the data connection, or there will be a timeout +# on an idle data connection. +# +TLSRenegotiate required off + diff --git a/install/debian/11/roundcube/apache.conf b/install/debian/11/roundcube/apache.conf new file mode 100644 index 00000000..a0c87bcc --- /dev/null +++ b/install/debian/11/roundcube/apache.conf @@ -0,0 +1,40 @@ +Alias /roundcube/program/js/tiny_mce/ /usr/share/tinymce/www/ +Alias /roundcube /var/lib/roundcube +Alias /webmail /var/lib/roundcube + +# Access to tinymce files ++ Options Indexes MultiViews FollowSymLinks + AllowOverride None + Order allow,deny + allow from all + + ++ Options +FollowSymLinks + # This is needed to parse /var/lib/roundcube/.htaccess. See its + # content before setting AllowOverride to None. + AllowOverride All + order allow,deny + allow from all + + +# Protecting basic directories: + + Options -FollowSymLinks + AllowOverride None + + ++ Options -FollowSymLinks + AllowOverride None + Order allow,deny + Deny from all + + ++ Options -FollowSymLinks + AllowOverride None + Order allow,deny + Deny from all + diff --git a/install/debian/11/roundcube/config.inc.php b/install/debian/11/roundcube/config.inc.php new file mode 100644 index 00000000..0c82b1bc --- /dev/null +++ b/install/debian/11/roundcube/config.inc.php @@ -0,0 +1,33 @@ + diff --git a/install/debian/11/roundcube/main.inc.php b/install/debian/11/roundcube/main.inc.php new file mode 100644 index 00000000..55a4e082 --- /dev/null +++ b/install/debian/11/roundcube/main.inc.php @@ -0,0 +1,850 @@ +/sendmail or to syslog +$rcmail_config['smtp_log'] = true; + +// Log successful logins to/userlogins or to syslog +$rcmail_config['log_logins'] = false; + +// Log session authentication errors to /session or to syslog +$rcmail_config['log_session'] = false; + +// Log SQL queries to /sql or to syslog +$rcmail_config['sql_debug'] = false; + +// Log IMAP conversation to /imap or to syslog +$rcmail_config['imap_debug'] = false; + +// Log LDAP conversation to /ldap or to syslog +$rcmail_config['ldap_debug'] = false; + +// Log SMTP conversation to /smtp or to syslog +$rcmail_config['smtp_debug'] = false; + +// ---------------------------------- +// IMAP +// ---------------------------------- + +// the mail host chosen to perform the log-in +// leave blank to show a textbox at login, give a list of hosts +// to display a pulldown menu or set one host as string. +// To use SSL/TLS connection, enter hostname with prefix ssl:// or tls:// +// Supported replacement variables: +// %n - http hostname ($_SERVER['SERVER_NAME']) +// %d - domain (http hostname without the first part) +// %s - domain name after the '@' from e-mail address provided at login screen +// For example %n = mail.domain.tld, %d = domain.tld +$rcmail_config['default_host'] = 'localhost'; + +// TCP port used for IMAP connections +$rcmail_config['default_port'] = 143; + +// IMAP AUTH type (DIGEST-MD5, CRAM-MD5, LOGIN, PLAIN or empty to use +// best server supported one) +$rcmail_config['imap_auth_type'] = null; + +// If you know your imap's folder delimiter, you can specify it here. +// Otherwise it will be determined automatically +$rcmail_config['imap_delimiter'] = null; + +// If IMAP server doesn't support NAMESPACE extension, but you're +// using shared folders or personal root folder is non-empty, you'll need to +// set these options. All can be strings or arrays of strings. +// Folders need to be ended with directory separator, e.g. "INBOX." +// (special directory "~" is an exception to this rule) +// These can be used also to overwrite server's namespaces +$rcmail_config['imap_ns_personal'] = null; +$rcmail_config['imap_ns_other'] = null; +$rcmail_config['imap_ns_shared'] = null; + +// By default IMAP capabilities are readed after connection to IMAP server +// In some cases, e.g. when using IMAP proxy, there's a need to refresh the list +// after login. Set to True if you've got this case. +$rcmail_config['imap_force_caps'] = false; + +// By default list of subscribed folders is determined using LIST-EXTENDED +// extension if available. Some servers (dovecot 1.x) returns wrong results +// for shared namespaces in this case. http://trac.roundcube.net/ticket/1486225 +// Enable this option to force LSUB command usage instead. +$rcmail_config['imap_force_lsub'] = false; + +// Some server configurations (e.g. Courier) doesn't list folders in all namespaces +// Enable this option to force listing of folders in all namespaces +$rcmail_config['imap_force_ns'] = false; + +// IMAP connection timeout, in seconds. Default: 0 (no limit) +$rcmail_config['imap_timeout'] = 0; + +// Optional IMAP authentication identifier to be used as authorization proxy +$rcmail_config['imap_auth_cid'] = null; + +// Optional IMAP authentication password to be used for imap_auth_cid +$rcmail_config['imap_auth_pw'] = null; + +// Type of IMAP indexes cache. Supported values: 'db', 'apc' and 'memcache'. +$rcmail_config['imap_cache'] = null; + +// Enables messages cache. Only 'db' cache is supported. +$rcmail_config['messages_cache'] = false; + + +// ---------------------------------- +// SMTP +// ---------------------------------- + +// SMTP server host (for sending mails). +// To use SSL/TLS connection, enter hostname with prefix ssl:// or tls:// +// If left blank, the PHP mail() function is used +// Supported replacement variables: +// %h - user's IMAP hostname +// %n - http hostname ($_SERVER['SERVER_NAME']) +// %d - domain (http hostname without the first part) +// %z - IMAP domain (IMAP hostname without the first part) +// For example %n = mail.domain.tld, %d = domain.tld +$rcmail_config['smtp_server'] = ''; + +// SMTP port (default is 25; use 587 for STARTTLS or 465 for the +// deprecated SSL over SMTP (aka SMTPS)) +$rcmail_config['smtp_port'] = 25; + +// SMTP username (if required) if you use %u as the username Roundcube +// will use the current username for login +$rcmail_config['smtp_user'] = ''; + +// SMTP password (if required) if you use %p as the password Roundcube +// will use the current user's password for login +$rcmail_config['smtp_pass'] = ''; + +// SMTP AUTH type (DIGEST-MD5, CRAM-MD5, LOGIN, PLAIN or empty to use +// best server supported one) +$rcmail_config['smtp_auth_type'] = ''; + +// Optional SMTP authentication identifier to be used as authorization proxy +$rcmail_config['smtp_auth_cid'] = null; + +// Optional SMTP authentication password to be used for smtp_auth_cid +$rcmail_config['smtp_auth_pw'] = null; + +// SMTP HELO host +// Hostname to give to the remote server for SMTP 'HELO' or 'EHLO' messages +// Leave this blank and you will get the server variable 'server_name' or +// localhost if that isn't defined. +$rcmail_config['smtp_helo_host'] = ''; + +// SMTP connection timeout, in seconds. Default: 0 (no limit) +$rcmail_config['smtp_timeout'] = 0; + +// ---------------------------------- +// SYSTEM +// ---------------------------------- +include_once("/etc/roundcube/debian-db-roundcube.php"); + + +// THIS OPTION WILL ALLOW THE INSTALLER TO RUN AND CAN EXPOSE SENSITIVE CONFIG DATA. +// ONLY ENABLE IT IF YOU'RE REALLY SURE WHAT YOU'RE DOING! +$rcmail_config['enable_installer'] = false; + +// provide an URL where a user can get support for this Roundcube installation +// PLEASE DO NOT LINK TO THE ROUNDCUBE.NET WEBSITE HERE! +$rcmail_config['support_url'] = ''; + +// replace Roundcube logo with this image +// specify an URL relative to the document root of this Roundcube installation +$rcmail_config['skin_logo'] = null; + +// automatically create a new Roundcube user when log-in the first time. +// a new user will be created once the IMAP login succeeds. +// set to false if only registered users can use this service +$rcmail_config['auto_create_user'] = true; + +// use this folder to store log files (must be writeable for apache user) +// This is used by the 'file' log driver. +$rcmail_config['log_dir'] = '/var/log/roundcubemail/'; + +// use this folder to store temp files (must be writeable for apache user) +$rcmail_config['temp_dir'] = '/tmp'; + +// lifetime of message cache +// possible units: s, m, h, d, w +$rcmail_config['message_cache_lifetime'] = '10d'; + +// enforce connections over https +// with this option enabled, all non-secure connections will be redirected. +// set the port for the ssl connection as value of this option if it differs from the default 443 +$rcmail_config['force_https'] = true; + +// tell PHP that it should work as under secure connection +// even if it doesn't recognize it as secure ($_SERVER['HTTPS'] is not set) +// e.g. when you're running Roundcube behind a https proxy +// this option is mutually exclusive to 'force_https' and only either one of them should be set to true. +$rcmail_config['use_https'] = false; + +// Allow browser-autocompletion on login form. +// 0 - disabled, 1 - username and host only, 2 - username, host, password +$rcmail_config['login_autocomplete'] = 0; + +// Forces conversion of logins to lower case. +// 0 - disabled, 1 - only domain part, 2 - domain and local part. +// If users authentication is not case-sensitive this must be enabled. +// After enabling it all user records need to be updated, e.g. with query: +// UPDATE users SET username = LOWER(username); +$rcmail_config['login_lc'] = 0; + +// Includes should be interpreted as PHP files +$rcmail_config['skin_include_php'] = false; + +// display software version on login screen +$rcmail_config['display_version'] = false; + +// Session lifetime in minutes +// must be greater than 'keep_alive'/60 +$rcmail_config['session_lifetime'] = 10; + +// session domain: .example.org +$rcmail_config['session_domain'] = ''; + +// session name. Default: 'roundcube_sessid' +$rcmail_config['session_name'] = null; + +// Backend to use for session storage. Can either be 'db' (default) or 'memcache' +// If set to memcache, a list of servers need to be specified in 'memcache_hosts' +// Make sure the Memcache extension (http://pecl.php.net/package/memcache) version >= 2.0.0 is installed +$rcmail_config['session_storage'] = 'db'; + +// Use these hosts for accessing memcached +// Define any number of hosts in the form of hostname:port or unix:///path/to/sock.file +$rcmail_config['memcache_hosts'] = null; // e.g. array( 'localhost:11211', '192.168.1.12:11211', 'unix:///var/tmp/memcached.sock' ); + +// check client IP in session athorization +$rcmail_config['ip_check'] = false; + +// check referer of incoming requests +$rcmail_config['referer_check'] = false; + +// X-Frame-Options HTTP header value sent to prevent from Clickjacking. +// Possible values: sameorigin|deny. Set to false in order to disable sending them +$rcmail_config['x_frame_options'] = 'sameorigin'; + +// this key is used to encrypt the users imap password which is stored +// in the session record (and the client cookie if remember password is enabled). +// please provide a string of exactly 24 chars. +$rcmail_config['des_key'] = 'vtIOjLZo9kffJoqzpSbm5r1r'; + +// Automatically add this domain to user names for login +// Only for IMAP servers that require full e-mail addresses for login +// Specify an array with 'host' => 'domain' values to support multiple hosts +// Supported replacement variables: +// %h - user's IMAP hostname +// %n - http hostname ($_SERVER['SERVER_NAME']) +// %d - domain (http hostname without the first part) +// %z - IMAP domain (IMAP hostname without the first part) +// For example %n = mail.domain.tld, %d = domain.tld +$rcmail_config['username_domain'] = ''; + +// This domain will be used to form e-mail addresses of new users +// Specify an array with 'host' => 'domain' values to support multiple hosts +// Supported replacement variables: +// %h - user's IMAP hostname +// %n - http hostname ($_SERVER['SERVER_NAME']) +// %d - domain (http hostname without the first part) +// %z - IMAP domain (IMAP hostname without the first part) +// For example %n = mail.domain.tld, %d = domain.tld +$rcmail_config['mail_domain'] = ''; + +// Password charset. +// Use it if your authentication backend doesn't support UTF-8. +// Defaults to ISO-8859-1 for backward compatibility +$rcmail_config['password_charset'] = 'ISO-8859-1'; + +// How many seconds must pass between emails sent by a user +$rcmail_config['sendmail_delay'] = 0; + +// Maximum number of recipients per message. Default: 0 (no limit) +$rcmail_config['max_recipients'] = 0; + +// Maximum allowednumber of members of an address group. Default: 0 (no limit) +// If 'max_recipients' is set this value should be less or equal +$rcmail_config['max_group_members'] = 0; + +// add this user-agent to message headers when sending +$rcmail_config['useragent'] = 'Roundcube Webmail/'.RCMAIL_VERSION; + +// use this name to compose page titles +$rcmail_config['product_name'] = 'Roundcube Webmail'; + +// try to load host-specific configuration +// see http://trac.roundcube.net/wiki/Howto_Config for more details +$rcmail_config['include_host_config'] = false; + +// path to a text file which will be added to each sent message +// paths are relative to the Roundcube root folder +$rcmail_config['generic_message_footer'] = ''; + +// path to a text file which will be added to each sent HTML message +// paths are relative to the Roundcube root folder +$rcmail_config['generic_message_footer_html'] = ''; + +// add a received header to outgoing mails containing the creators IP and hostname +$rcmail_config['http_received_header'] = false; + +// Whether or not to encrypt the IP address and the host name +// these could, in some circles, be considered as sensitive information; +// however, for the administrator, these could be invaluable help +// when tracking down issues. +$rcmail_config['http_received_header_encrypt'] = false; + +// This string is used as a delimiter for message headers when sending +// a message via mail() function. Leave empty for auto-detection +$rcmail_config['mail_header_delimiter'] = NULL; + +// number of chars allowed for line when wrapping text. +// text wrapping is done when composing/sending messages +$rcmail_config['line_length'] = 72; + +// send plaintext messages as format=flowed +$rcmail_config['send_format_flowed'] = true; + +// don't allow these settings to be overriden by the user +$rcmail_config['dont_override'] = array(); + +// Set identities access level: +// 0 - many identities with possibility to edit all params +// 1 - many identities with possibility to edit all params but not email address +// 2 - one identity with possibility to edit all params +// 3 - one identity with possibility to edit all params but not email address +$rcmail_config['identities_level'] = 0; + +// Mimetypes supported by the browser. +// attachments of these types will open in a preview window +// either a comma-separated list or an array: 'text/plain,text/html,text/xml,image/jpeg,image/gif,image/png,application/pdf' +$rcmail_config['client_mimetypes'] = null; # null == default + +// mime magic database +$rcmail_config['mime_magic'] = null; + +// path to imagemagick identify binary +$rcmail_config['im_identify_path'] = null; + +// path to imagemagick convert binary +$rcmail_config['im_convert_path'] = null; + +// maximum size of uploaded contact photos in pixel +$rcmail_config['contact_photo_size'] = 160; + +// Enable DNS checking for e-mail address validation +$rcmail_config['email_dns_check'] = false; + +// ---------------------------------- +// PLUGINS +// ---------------------------------- + +// List of active plugins (in plugins/ directory) +$rcmail_config['plugins'] = array('password'); + +// ---------------------------------- +// USER INTERFACE +// ---------------------------------- + +// default messages sort column. Use empty value for default server's sorting, +// or 'arrival', 'date', 'subject', 'from', 'to', 'fromto', 'size', 'cc' +$rcmail_config['message_sort_col'] = ''; + +// default messages sort order +$rcmail_config['message_sort_order'] = 'DESC'; + +// These cols are shown in the message list. Available cols are: +// subject, from, to, fromto, cc, replyto, date, size, status, flag, attachment, 'priority' +$rcmail_config['list_cols'] = array('subject', 'status', 'fromto', 'date', 'size', 'flag', 'attachment'); + +// the default locale setting (leave empty for auto-detection) +// RFC1766 formatted language name like en_US, de_DE, de_CH, fr_FR, pt_BR +$rcmail_config['language'] = null; + +// use this format for date display (date or strftime format) +$rcmail_config['date_format'] = 'Y-m-d'; + +// give this choice of date formats to the user to select from +$rcmail_config['date_formats'] = array('Y-m-d', 'd-m-Y', 'Y/m/d', 'm/d/Y', 'd/m/Y', 'd.m.Y', 'j.n.Y'); + +// use this format for time display (date or strftime format) +$rcmail_config['time_format'] = 'H:i'; + +// give this choice of time formats to the user to select from +$rcmail_config['time_formats'] = array('G:i', 'H:i', 'g:i a', 'h:i A'); + +// use this format for short date display (derived from date_format and time_format) +$rcmail_config['date_short'] = 'D H:i'; + +// use this format for detailed date/time formatting (derived from date_format and time_format) +$rcmail_config['date_long'] = 'Y-m-d H:i'; + +// store draft message is this mailbox +// leave blank if draft messages should not be stored +// NOTE: Use folder names with namespace prefix (INBOX. on Courier-IMAP) +$rcmail_config['drafts_mbox'] = 'Drafts'; + +// store spam messages in this mailbox +// NOTE: Use folder names with namespace prefix (INBOX. on Courier-IMAP) +$rcmail_config['junk_mbox'] = 'Spam'; + +// store sent message is this mailbox +// leave blank if sent messages should not be stored +// NOTE: Use folder names with namespace prefix (INBOX. on Courier-IMAP) +$rcmail_config['sent_mbox'] = 'Sent'; + +// move messages to this folder when deleting them +// leave blank if they should be deleted directly +// NOTE: Use folder names with namespace prefix (INBOX. on Courier-IMAP) +$rcmail_config['trash_mbox'] = 'Trash'; + +// display these folders separately in the mailbox list. +// these folders will also be displayed with localized names +// NOTE: Use folder names with namespace prefix (INBOX. on Courier-IMAP) +$rcmail_config['default_folders'] = array('INBOX', 'Drafts', 'Sent', 'Spam', 'Trash'); +$rcmail_config['default_imap_folders'] = array('INBOX', 'Drafts', 'Sent', 'Spam', 'Trash'); + +// automatically create the above listed default folders on first login +$rcmail_config['create_default_folders'] = true; + +// protect the default folders from renames, deletes, and subscription changes +$rcmail_config['protect_default_folders'] = true; + +// if in your system 0 quota means no limit set this option to true +$rcmail_config['quota_zero_as_unlimited'] = false; + +// Make use of the built-in spell checker. It is based on GoogieSpell. +// Since Google only accepts connections over https your PHP installatation +// requires to be compiled with Open SSL support +$rcmail_config['enable_spellcheck'] = true; + +// Enables spellchecker exceptions dictionary. +// Setting it to 'shared' will make the dictionary shared by all users. +$rcmail_config['spellcheck_dictionary'] = false; + +// Set the spell checking engine. 'googie' is the default. 'pspell' is also available, +// but requires the Pspell extensions. When using Nox Spell Server, also set 'googie' here. +$rcmail_config['spellcheck_engine'] = 'googie'; + +// For a locally installed Nox Spell Server, please specify the URI to call it. +// Get Nox Spell Server from http://orangoo.com/labs/?page_id=72 +// Leave empty to use the Google spell checking service, what means +// that the message content will be sent to Google in order to check spelling +$rcmail_config['spellcheck_uri'] = ''; + +// These languages can be selected for spell checking. +// Configure as a PHP style hash array: array('en'=>'English', 'de'=>'Deutsch'); +// Leave empty for default set of available language. +$rcmail_config['spellcheck_languages'] = NULL; + +// Makes that words with all letters capitalized will be ignored (e.g. GOOGLE) +$rcmail_config['spellcheck_ignore_caps'] = false; + +// Makes that words with numbers will be ignored (e.g. g00gle) +$rcmail_config['spellcheck_ignore_nums'] = false; + +// Makes that words with symbols will be ignored (e.g. g@@gle) +$rcmail_config['spellcheck_ignore_syms'] = false; + +// Use this char/string to separate recipients when composing a new message +$rcmail_config['recipients_separator'] = ','; + +// don't let users set pagesize to more than this value if set +$rcmail_config['max_pagesize'] = 200; + +// Minimal value of user's 'keep_alive' setting (in seconds) +// Must be less than 'session_lifetime' +$rcmail_config['min_keep_alive'] = 60; + +// Enables files upload indicator. Requires APC installed and enabled apc.rfc1867 option. +// By default refresh time is set to 1 second. You can set this value to true +// or any integer value indicating number of seconds. +$rcmail_config['upload_progress'] = false; + +// Specifies for how many seconds the Undo button will be available +// after object delete action. Currently used with supporting address book sources. +// Setting it to 0, disables the feature. +$rcmail_config['undo_timeout'] = 0; + +// ---------------------------------- +// ADDRESSBOOK SETTINGS +// ---------------------------------- + +// This indicates which type of address book to use. Possible choises: +// 'sql' (default) and 'ldap'. +// If set to 'ldap' then it will look at using the first writable LDAP +// address book as the primary address book and it will not display the +// SQL address book in the 'Address Book' view. +$rcmail_config['address_book_type'] = 'sql'; + +// In order to enable public ldap search, configure an array like the Verisign +// example further below. if you would like to test, simply uncomment the example. +// Array key must contain only safe characters, ie. a-zA-Z0-9_ +$rcmail_config['ldap_public'] = array(); + +// If you are going to use LDAP for individual address books, you will need to +// set 'user_specific' to true and use the variables to generate the appropriate DNs to access it. +// +// The recommended directory structure for LDAP is to store all the address book entries +// under the users main entry, e.g.: +// +// o=root +// ou=people +// uid=user@domain +// mail=contact@contactdomain +// +// So the base_dn would be uid=%fu,ou=people,o=root +// The bind_dn would be the same as based_dn or some super user login. +/* + * example config for Verisign directory + * +$rcmail_config['ldap_public']['Verisign'] = array( + 'name' => 'Verisign.com', + // Replacement variables supported in host names: + // %h - user's IMAP hostname + // %n - http hostname ($_SERVER['SERVER_NAME']) + // %d - domain (http hostname without the first part) + // %z - IMAP domain (IMAP hostname without the first part) + // For example %n = mail.domain.tld, %d = domain.tld + 'hosts' => array('directory.verisign.com'), + 'port' => 389, + 'use_tls' => false, + 'ldap_version' => 3, // using LDAPv3 + 'user_specific' => false, // If true the base_dn, bind_dn and bind_pass default to the user's IMAP login. + // %fu - The full username provided, assumes the username is an email + // address, uses the username_domain value if not an email address. + // %u - The username prior to the '@'. + // %d - The domain name after the '@'. + // %dc - The domain name hierarchal string e.g. "dc=test,dc=domain,dc=com" + // %dn - DN found by ldap search when search_filter/search_base_dn are used + 'base_dn' => '', + 'bind_dn' => '', + 'bind_pass' => '', + // It's possible to bind for an individual address book + // The login name is used to search for the DN to bind with + 'search_base_dn' => '', + 'search_filter' => '', // e.g. '(&(objectClass=posixAccount)(uid=%u))' + // DN and password to bind as before searching for bind DN, if anonymous search is not allowed + 'search_bind_dn' => '', + 'search_bind_pw' => '', + // Default for %dn variable if search doesn't return DN value + 'search_dn_default' => '', + // Optional authentication identifier to be used as SASL authorization proxy + // bind_dn need to be empty + 'auth_cid' => '', + // SASL authentication method (for proxy auth), e.g. DIGEST-MD5 + 'auth_method' => '', + // Indicates if the addressbook shall be hidden from the list. + // With this option enabled you can still search/view contacts. + 'hidden' => false, + // Indicates if the addressbook shall not list contacts but only allows searching. + 'searchonly' => false, + // Indicates if we can write to the LDAP directory or not. + // If writable is true then these fields need to be populated: + // LDAP_Object_Classes, required_fields, LDAP_rdn + 'writable' => false, + // To create a new contact these are the object classes to specify + // (or any other classes you wish to use). + 'LDAP_Object_Classes' => array('top', 'inetOrgPerson'), + // The RDN field that is used for new entries, this field needs + // to be one of the search_fields, the base of base_dn is appended + // to the RDN to insert into the LDAP directory. + 'LDAP_rdn' => 'cn', + // The required fields needed to build a new contact as required by + // the object classes (can include additional fields not required by the object classes). + 'required_fields' => array('cn', 'sn', 'mail'), + 'search_fields' => array('mail', 'cn'), // fields to search in + // mapping of contact fields to directory attributes + // for every attribute one can specify the number of values (limit) allowed. + // default is 1, a wildcard * means unlimited + 'fieldmap' => array( + // Roundcube => LDAP:limit + 'name' => 'cn', + 'surname' => 'sn', + 'firstname' => 'givenName', + 'title' => 'title', + 'email' => 'mail:*', + 'phone:home' => 'homePhone', + 'phone:work' => 'telephoneNumber', + 'phone:mobile' => 'mobile', + 'phone:pager' => 'pager', + 'street' => 'street', + 'zipcode' => 'postalCode', + 'region' => 'st', + 'locality' => 'l', +// if you uncomment country, you need to modify 'sub_fields' above +// 'country' => 'c', + 'department' => 'departmentNumber', + 'notes' => 'description', +// these currently don't work: +// 'phone:workfax' => 'facsimileTelephoneNumber', +// 'photo' => 'jpegPhoto', +// 'organization' => 'o', +// 'manager' => 'manager', +// 'assistant' => 'secretary', + ), + // Map of contact sub-objects (attribute name => objectClass(es)), e.g. 'c' => 'country' + 'sub_fields' => array(), + 'sort' => 'cn', // The field to sort the listing by. + 'scope' => 'sub', // search mode: sub|base|list + 'filter' => '(objectClass=inetOrgPerson)', // used for basic listing (if not empty) and will be &'d with search queries. example: status=act + 'fuzzy_search' => true, // server allows wildcard search + 'vlv' => false, // Enable Virtual List View to more efficiently fetch paginated data (if server supports it) + 'numsub_filter' => '(objectClass=organizationalUnit)', // with VLV, we also use numSubOrdinates to query the total number of records. Set this filter to get all numSubOrdinates attributes for counting + 'sizelimit' => '0', // Enables you to limit the count of entries fetched. Setting this to 0 means no limit. + 'timelimit' => '0', // Sets the number of seconds how long is spend on the search. Setting this to 0 means no limit. + 'referrals' => true|false, // Sets the LDAP_OPT_REFERRALS option. Mostly used in multi-domain Active Directory setups + + // definition for contact groups (uncomment if no groups are supported) + // for the groups base_dn, the user replacements %fu, %u, $d and %dc work as for base_dn (see above) + // if the groups base_dn is empty, the contact base_dn is used for the groups as well + // -> in this case, assure that groups and contacts are separated due to the concernig filters! + 'groups' => array( + 'base_dn' => '', + 'scope' => 'sub', // search mode: sub|base|list + 'filter' => '(objectClass=groupOfNames)', + 'object_classes' => array("top", "groupOfNames"), + 'member_attr' => 'member', // name of the member attribute, e.g. uniqueMember + 'name_attr' => 'cn', // attribute to be used as group name + ), +); +*/ + +// An ordered array of the ids of the addressbooks that should be searched +// when populating address autocomplete fields server-side. ex: array('sql','Verisign'); +$rcmail_config['autocomplete_addressbooks'] = array('sql'); + +// The minimum number of characters required to be typed in an autocomplete field +// before address books will be searched. Most useful for LDAP directories that +// may need to do lengthy results building given overly-broad searches +$rcmail_config['autocomplete_min_length'] = 1; + +// Number of parallel autocomplete requests. +// If there's more than one address book, n parallel (async) requests will be created, +// where each request will search in one address book. By default (0), all address +// books are searched in one request. +$rcmail_config['autocomplete_threads'] = 0; + +// Max. numer of entries in autocomplete popup. Default: 15. +$rcmail_config['autocomplete_max'] = 15; + +// show address fields in this order +// available placeholders: {street}, {locality}, {zipcode}, {country}, {region} +$rcmail_config['address_template'] = '{street}
{locality} {zipcode}
{country} {region}'; + +// Matching mode for addressbook search (including autocompletion) +// 0 - partial (*abc*), default +// 1 - strict (abc) +// 2 - prefix (abc*) +// Note: For LDAP sources fuzzy_search must be enabled to use 'partial' or 'prefix' mode +$rcmail_config['addressbook_search_mode'] = 0; + +// ---------------------------------- +// USER PREFERENCES +// ---------------------------------- + +// Use this charset as fallback for message decoding +//$rcmail_config['default_charset'] = 'ISO-8859-1'; +$rcmail_config['default_charset'] = 'UTF-8'; + +// skin name: folder from skins/ +$rcmail_config['skin'] = 'larry'; + +// show up to X items in messages list view +$rcmail_config['mail_pagesize'] = 50; + +// show up to X items in contacts list view +$rcmail_config['addressbook_pagesize'] = 50; + +// sort contacts by this col (preferably either one of name, firstname, surname) +$rcmail_config['addressbook_sort_col'] = 'surname'; + +// the way how contact names are displayed in the list +// 0: display name +// 1: (prefix) firstname middlename surname (suffix) +// 2: (prefix) surname firstname middlename (suffix) +// 3: (prefix) surname, firstname middlename (suffix) +$rcmail_config['addressbook_name_listing'] = 0; + +// use this timezone to display date/time +// valid timezone identifers are listed here: php.net/manual/en/timezones.php +// 'auto' will use the browser's timezone settings +$rcmail_config['timezone'] = 'auto'; + +// prefer displaying HTML messages +$rcmail_config['prefer_html'] = true; + +// display remote inline images +// 0 - Never, always ask +// 1 - Ask if sender is not in address book +// 2 - Always show inline images +$rcmail_config['show_images'] = 0; + +// compose html formatted messages by default +// 0 - never, 1 - always, 2 - on reply to HTML message only +$rcmail_config['htmleditor'] = 0; + +// show pretty dates as standard +$rcmail_config['prettydate'] = true; + +// save compose message every 300 seconds (5min) +$rcmail_config['draft_autosave'] = 300; + +// default setting if preview pane is enabled +$rcmail_config['preview_pane'] = false; + +// Mark as read when viewed in preview pane (delay in seconds) +// Set to -1 if messages in preview pane should not be marked as read +$rcmail_config['preview_pane_mark_read'] = 0; + +// Clear Trash on logout +$rcmail_config['logout_purge'] = false; + +// Compact INBOX on logout +$rcmail_config['logout_expunge'] = false; + +// Display attached images below the message body +$rcmail_config['inline_images'] = true; + +// Encoding of long/non-ascii attachment names: +// 0 - Full RFC 2231 compatible +// 1 - RFC 2047 for 'name' and RFC 2231 for 'filename' parameter (Thunderbird's default) +// 2 - Full 2047 compatible +$rcmail_config['mime_param_folding'] = 1; + +// Set true if deleted messages should not be displayed +// This will make the application run slower +$rcmail_config['skip_deleted'] = false; + +// Set true to Mark deleted messages as read as well as deleted +// False means that a message's read status is not affected by marking it as deleted +$rcmail_config['read_when_deleted'] = true; + +// Set to true to never delete messages immediately +// Use 'Purge' to remove messages marked as deleted +$rcmail_config['flag_for_deletion'] = false; + +// Default interval for keep-alive/check-recent requests (in seconds) +// Must be greater than or equal to 'min_keep_alive' and less than 'session_lifetime' +$rcmail_config['keep_alive'] = 60; + +// If true all folders will be checked for recent messages +$rcmail_config['check_all_folders'] = false; + +// If true, after message delete/move, the next message will be displayed +$rcmail_config['display_next'] = false; + +// 0 - Do not expand threads +// 1 - Expand all threads automatically +// 2 - Expand only threads with unread messages +$rcmail_config['autoexpand_threads'] = 0; + +// When replying place cursor above original message (top posting) +$rcmail_config['top_posting'] = false; + +// When replying strip original signature from message +$rcmail_config['strip_existing_sig'] = true; + +// Show signature: +// 0 - Never +// 1 - Always +// 2 - New messages only +// 3 - Forwards and Replies only +$rcmail_config['show_sig'] = 1; + +// When replying or forwarding place sender's signature above existing message +$rcmail_config['sig_above'] = false; + +// Use MIME encoding (quoted-printable) for 8bit characters in message body +$rcmail_config['force_7bit'] = false; + +// Defaults of the search field configuration. +// The array can contain a per-folder list of header fields which should be considered when searching +// The entry with key '*' stands for all folders which do not have a specific list set. +// Please note that folder names should to be in sync with $rcmail_config['default_folders'] +$rcmail_config['search_mods'] = null; // Example: array('*' => array('subject'=>1, 'from'=>1), 'Sent' => array('subject'=>1, 'to'=>1)); + +// Defaults of the addressbook search field configuration. +$rcmail_config['addressbook_search_mods'] = null; // Example: array('name'=>1, 'firstname'=>1, 'surname'=>1, 'email'=>1, '*'=>1); + +// 'Delete always' +// This setting reflects if mail should be always deleted +// when moving to Trash fails. This is necessary in some setups +// when user is over quota and Trash is included in the quota. +$rcmail_config['delete_always'] = false; + +// Directly delete messages in Junk instead of moving to Trash +$rcmail_config['delete_junk'] = true; + +// Behavior if a received message requests a message delivery notification (read receipt) +// 0 = ask the user, 1 = send automatically, 2 = ignore (never send or ask) +// 3 = send automatically if sender is in addressbook, otherwise ask the user +// 4 = send automatically if sender is in addressbook, otherwise ignore +$rcmail_config['mdn_requests'] = 0; + +// Return receipt checkbox default state +$rcmail_config['mdn_default'] = 0; + +// Delivery Status Notification checkbox default state +$rcmail_config['dsn_default'] = 0; + +// Place replies in the folder of the message being replied to +$rcmail_config['reply_same_folder'] = false; + +// Sets default mode of Forward feature to "forward as attachment" +$rcmail_config['forward_attachment'] = false; + +// Defines address book (internal index) to which new contacts will be added +// By default it is the first writeable addressbook. +// Note: Use '0' for built-in address book. +$rcmail_config['default_addressbook'] = null; + +// Enables spell checking before sending a message. +$rcmail_config['spellcheck_before_send'] = false; + +// Skip alternative email addresses in autocompletion (show one address per contact) +$rcmail_config['autocomplete_single'] = false; + +// Default font for composed HTML message. +// Supported values: Andale Mono, Arial, Arial Black, Book Antiqua, Courier New, +// Georgia, Helvetica, Impact, Tahoma, Terminal, Times New Roman, Trebuchet MS, Verdana +$rcmail_config['default_font'] = ''; + +// end of config file diff --git a/install/debian/11/roundcube/vesta.php b/install/debian/11/roundcube/vesta.php new file mode 100644 index 00000000..b3dd167f --- /dev/null +++ b/install/debian/11/roundcube/vesta.php @@ -0,0 +1,73 @@ + + */ +class rcube_vesta_password { + function save($curpass, $passwd) + { + $rcmail = rcmail::get_instance(); + $vesta_host = $rcmail->config->get('password_vesta_host'); + + if (empty($vesta_host)) + { + $vesta_host = 'localhost'; + } + + $vesta_port = $rcmail->config->get('password_vesta_port'); + if (empty($vesta_port)) + { + $vesta_port = '8083'; + } + + $postvars = array( + 'email' => $_SESSION['username'], + 'password' => $curpass, + 'new' => $passwd + ); + + $postdata = http_build_query($postvars); + + $send = 'POST /reset/mail/ HTTP/1.1' . PHP_EOL; + $send .= 'Host: ' . $vesta_host . PHP_EOL; + $send .= 'User-Agent: PHP Script' . PHP_EOL; + $send .= 'Content-length: ' . strlen($postdata) . PHP_EOL; + $send .= 'Content-type: application/x-www-form-urlencoded' . PHP_EOL; + $send .= 'Connection: close' . PHP_EOL; + $send .= PHP_EOL; + $send .= $postdata . PHP_EOL . PHP_EOL; + + //$fp = fsockopen('ssl://' . $vesta_host, $vesta_port); + $errno = ""; + $errstr = ""; + $context = stream_context_create(); + + $result = stream_context_set_option($context, 'ssl', 'verify_peer', false); + $result = stream_context_set_option($context, 'ssl', 'verify_peer_name', false); + $result = stream_context_set_option($context, 'ssl', 'verify_host', false); + $result = stream_context_set_option($context, 'ssl', 'allow_self_signed', true); + + $fp = stream_socket_client('ssl://' . $vesta_host . ':'.$vesta_port, $errno, $errstr, 60, STREAM_CLIENT_CONNECT, $context); + fputs($fp, $send); + $result = fread($fp, 2048); + fclose($fp); + + $fp = fopen("/tmp/roundcube.log", 'w'); + fwrite($fp, "test ok"); + fwrite($fp, "\n"); + fclose($fp); + + + if(strpos($result, 'ok') && !strpos($result, 'error')) + { + return PASSWORD_SUCCESS; + } + else { + return PASSWORD_ERROR; + } + + } +} diff --git a/install/debian/11/sudo/admin b/install/debian/11/sudo/admin new file mode 100644 index 00000000..331fa1f2 --- /dev/null +++ b/install/debian/11/sudo/admin @@ -0,0 +1,8 @@ +# Created by vesta installer +Defaults env_keep="VESTA" +Defaults:admin !syslog +Defaults:admin !requiretty +Defaults:root !requiretty + +# sudo is limited to vesta scripts +admin ALL=NOPASSWD:/usr/local/vesta/bin/* diff --git a/install/debian/11/templates/dns/child-ns.tpl b/install/debian/11/templates/dns/child-ns.tpl new file mode 100755 index 00000000..42c046e4 --- /dev/null +++ b/install/debian/11/templates/dns/child-ns.tpl @@ -0,0 +1,14 @@ +ID='1' RECORD='@' TYPE='NS' PRIORITY='' VALUE='ns1.%domain%.' SUSPENDED='no' TIME='%time%' DATE='%date%' +ID='2' RECORD='@' TYPE='NS' PRIORITY='' VALUE='ns2.%domain%.' SUSPENDED='no' TIME='%time%' DATE='%date%' +ID='3' RECORD='@' TYPE='A' PRIORITY='' VALUE='%ip%' SUSPENDED='no' TIME='%time%' DATE='%date%' +ID='4' RECORD='ns1' TYPE='A' PRIORITY='' VALUE='%ip%' SUSPENDED='no' TIME='%time%' DATE='%date%' +ID='5' RECORD='ns2' TYPE='A' PRIORITY='' VALUE='%ip%' SUSPENDED='no' TIME='%time%' DATE='%date%' +ID='6' RECORD='www' TYPE='A' PRIORITY='' VALUE='%ip%' SUSPENDED='no' TIME='%time%' DATE='%date%' +ID='7' RECORD='ftp' TYPE='A' PRIORITY='' VALUE='%ip%' SUSPENDED='no' TIME='%time%' DATE='%date%' +ID='8' RECORD='mail' TYPE='A' PRIORITY='' VALUE='%ip%' SUSPENDED='no' TIME='%time%' DATE='%date%' +ID='9' RECORD='smtp' TYPE='A' PRIORITY='' VALUE='%ip%' SUSPENDED='no' TIME='%time%' DATE='%date%' +ID='10' RECORD='pop' TYPE='A' PRIORITY='' VALUE='%ip%' SUSPENDED='no' TIME='%time%' DATE='%date%' +ID='11' RECORD='imap' TYPE='A' PRIORITY='' VALUE='%ip%' SUSPENDED='no' TIME='%time%' DATE='%date%' +ID='12' RECORD='@' TYPE='MX' PRIORITY='10' VALUE='mail.%domain%.' SUSPENDED='no' TIME='%time%' DATE='%date%' +ID='13' RECORD='@' TYPE='TXT' PRIORITY='' VALUE='"v=spf1 a mx ip4:%ip% ~all"' SUSPENDED='no' TIME='%time%' DATE='%date%' +ID='14' RECORD='_dmarc' TYPE='TXT' PRIORITY='' VALUE='"v=DMARC1; p=none"' SUSPENDED='no' TIME='%time%' DATE='%date%' diff --git a/install/debian/11/templates/dns/default.tpl b/install/debian/11/templates/dns/default.tpl new file mode 100755 index 00000000..e0a37e62 --- /dev/null +++ b/install/debian/11/templates/dns/default.tpl @@ -0,0 +1,18 @@ +ID='1' RECORD='@' TYPE='NS' PRIORITY='' VALUE='%ns1%.' SUSPENDED='no' TIME='%time%' DATE='%date%' +ID='2' RECORD='@' TYPE='NS' PRIORITY='' VALUE='%ns2%.' SUSPENDED='no' TIME='%time%' DATE='%date%' +ID='3' RECORD='@' TYPE='NS' PRIORITY='' VALUE='%ns3%.' SUSPENDED='no' TIME='%time%' DATE='%date%' +ID='4' RECORD='@' TYPE='NS' PRIORITY='' VALUE='%ns4%.' SUSPENDED='no' TIME='%time%' DATE='%date%' +ID='5' RECORD='@' TYPE='NS' PRIORITY='' VALUE='%ns5%.' SUSPENDED='no' TIME='%time%' DATE='%date%' +ID='6' RECORD='@' TYPE='NS' PRIORITY='' VALUE='%ns6%.' SUSPENDED='no' TIME='%time%' DATE='%date%' +ID='7' RECORD='@' TYPE='NS' PRIORITY='' VALUE='%ns7%.' SUSPENDED='no' TIME='%time%' DATE='%date%' +ID='8' RECORD='@' TYPE='NS' PRIORITY='' VALUE='%ns8%.' SUSPENDED='no' TIME='%time%' DATE='%date%' +ID='9' RECORD='@' TYPE='A' PRIORITY='' VALUE='%ip%' SUSPENDED='no' TIME='%time%' DATE='%date%' +ID='10' RECORD='www' TYPE='A' PRIORITY='' VALUE='%ip%' SUSPENDED='no' TIME='%time%' DATE='%date%' +ID='11' RECORD='ftp' TYPE='A' PRIORITY='' VALUE='%ip%' SUSPENDED='no' TIME='%time%' DATE='%date%' +ID='12' RECORD='mail' TYPE='A' PRIORITY='' VALUE='%ip%' SUSPENDED='no' TIME='%time%' DATE='%date%' +ID='13' RECORD='smtp' TYPE='A' PRIORITY='' VALUE='%ip%' SUSPENDED='no' TIME='%time%' DATE='%date%' +ID='14' RECORD='pop' TYPE='A' PRIORITY='' VALUE='%ip%' SUSPENDED='no' TIME='%time%' DATE='%date%' +ID='15' RECORD='imap' TYPE='A' PRIORITY='' VALUE='%ip%' SUSPENDED='no' TIME='%time%' DATE='%date%' +ID='16' RECORD='@' TYPE='MX' PRIORITY='10' VALUE='mail.%domain%.' SUSPENDED='no' TIME='%time%' DATE='%date%' +ID='17' RECORD='@' TYPE='TXT' PRIORITY='' VALUE='"v=spf1 a mx ip4:%ip% ~all"' SUSPENDED='no' TIME='%time%' DATE='%date%' +ID='18' RECORD='_dmarc' TYPE='TXT' PRIORITY='' VALUE='"v=DMARC1; p=none"' SUSPENDED='no' TIME='%time%' DATE='%date%' diff --git a/install/debian/11/templates/dns/gmail.tpl b/install/debian/11/templates/dns/gmail.tpl new file mode 100755 index 00000000..219c9d24 --- /dev/null +++ b/install/debian/11/templates/dns/gmail.tpl @@ -0,0 +1,12 @@ +ID='1' RECORD='@' TYPE='NS' PRIORITY='' VALUE='%ns1%.' SUSPENDED='no' TIME='%time%' DATE='%date%' +ID='2' RECORD='@' TYPE='NS' PRIORITY='' VALUE='%ns2%.' SUSPENDED='no' TIME='%time%' DATE='%date%' +ID='3' RECORD='@' TYPE='A' PRIORITY='' VALUE='%ip%' SUSPENDED='no' TIME='%time%' DATE='%date%' +ID='4' RECORD='ftp' TYPE='A' PRIORITY='' VALUE='%ip%' SUSPENDED='no' TIME='%time%' DATE='%date%' +ID='5' RECORD='localhost' TYPE='A' PRIORITY='' VALUE='127.0.0.1' SUSPENDED='no' TIME='%time%' DATE='%date%' +ID='6' RECORD='www' TYPE='A' PRIORITY='' VALUE='%ip%' SUSPENDED='no' TIME='%time%' DATE='%date%' +ID='7' RECORD='@' TYPE='MX' PRIORITY='1' VALUE='ASPMX.L.GOOGLE.COM.' SUSPENDED='no' TIME='%time%' DATE='%date%' +ID='8' RECORD='@' TYPE='MX' PRIORITY='5' VALUE='ALT1.ASPMX.L.GOOGLE.COM.' SUSPENDED='no' TIME='%time%' DATE='%date%' +ID='9' RECORD='@' TYPE='MX' PRIORITY='5' VALUE='ALT2.ASPMX.L.GOOGLE.COM.' SUSPENDED='no' TIME='%time%' DATE='%date%' +ID='10' RECORD='@' TYPE='MX' PRIORITY='10' VALUE='ALT3.ASPMX.L.GOOGLE.COM.' SUSPENDED='no' TIME='%time%' DATE='%date%' +ID='11' RECORD='@' TYPE='MX' PRIORITY='10' VALUE='ALT4.ASPMX.L.GOOGLE.COM.' SUSPENDED='no' TIME='%time%' DATE='%date%' +ID='12' RECORD='@' TYPE='TXT' PRIORITY='' VALUE='"v=spf1 a mx ip4:%ip% include:_spf.google.com ~all"' SUSPENDED='no' TIME='%time%' DATE='%date%' diff --git a/install/debian/11/templates/dns/office365.tpl b/install/debian/11/templates/dns/office365.tpl new file mode 100644 index 00000000..dcf556e1 --- /dev/null +++ b/install/debian/11/templates/dns/office365.tpl @@ -0,0 +1,22 @@ +ID='1' RECORD='@' TYPE='NS' PRIORITY='' VALUE='%ns1%.' SUSPENDED='no' TIME='%time%' DATE='%date%' +ID='2' RECORD='@' TYPE='NS' PRIORITY='' VALUE='%ns2%.' SUSPENDED='no' TIME='%time%' DATE='%date%' +ID='3' RECORD='@' TYPE='NS' PRIORITY='' VALUE='%ns3%.' SUSPENDED='no' TIME='%time%' DATE='%date%' +ID='4' RECORD='@' TYPE='NS' PRIORITY='' VALUE='%ns4%.' SUSPENDED='no' TIME='%time%' DATE='%date%' +ID='5' RECORD='@' TYPE='NS' PRIORITY='' VALUE='%ns5%.' SUSPENDED='no' TIME='%time%' DATE='%date%' +ID='6' RECORD='@' TYPE='NS' PRIORITY='' VALUE='%ns6%.' SUSPENDED='no' TIME='%time%' DATE='%date%' +ID='7' RECORD='@' TYPE='NS' PRIORITY='' VALUE='%ns7%.' SUSPENDED='no' TIME='%time%' DATE='%date%' +ID='8' RECORD='@' TYPE='NS' PRIORITY='' VALUE='%ns8%.' SUSPENDED='no' TIME='%time%' DATE='%date%' +ID='9' RECORD='@' TYPE='A' PRIORITY='' VALUE='%ip%' SUSPENDED='no' TIME='%time%' DATE='%date%' +ID='10' RECORD='www' TYPE='A' PRIORITY='' VALUE='%ip%' SUSPENDED='no' TIME='%time%' DATE='%date%' +ID='11' RECORD='ftp' TYPE='A' PRIORITY='' VALUE='%ip%' SUSPENDED='no' TIME='%time%' DATE='%date%' +ID='12' RECORD='@' TYPE='TXT' PRIORITY='' VALUE='"v=spf1 a mx ip4:%ip% include:spf.protection.outlook.com -all"' SUSPENDED='no' TIME='%time%' DATE='%date%' +ID='13' RECORD='_dmarc' TYPE='TXT' PRIORITY='' VALUE='"v=DMARC1; p=none"' SUSPENDED='no' TIME='%time%' DATE='%date%' +ID='14' RECORD='@' TYPE='MX' PRIORITY='0' VALUE='XXXXXXX.mail.protection.outlook.com.' SUSPENDED='no' TIME='%time%' DATE='%date%' +ID='15' RECORD='@' TYPE='TXT' PRIORITY='' VALUE='"MS=msXXXX"' SUSPENDED='no' TIME='%time%' DATE='%date%' +ID='16' RECORD='autodiscover' TYPE='CNAME' PRIORITY='' VALUE='autodiscover.outlook.com.' SUSPENDED='no' TIME='%time%' DATE='%date%' +ID='17' RECORD='sip' TYPE='CNAME' PRIORITY='' VALUE='sipdir.online.lync.com.' SUSPENDED='no' TIME='%time%' DATE='%date%' +ID='18' RECORD='lyncdiscover' TYPE='CNAME' PRIORITY='' VALUE='webdir.online.lync.com.' SUSPENDED='no' TIME='%time%' DATE='%date%' +ID='19' RECORD='enterpriseregistration' TYPE='CNAME' PRIORITY='' VALUE='enterpriseregistration.windows.net.' SUSPENDED='no' TIME='%time%' DATE='%date%' +ID='20' RECORD='enterpriseenrollment' TYPE='CNAME' PRIORITY='' VALUE='enterpriseenrollment.manage.microsoft.com.' SUSPENDED='no' TIME='%time%' DATE='%date%' +ID='21' RECORD='_sip._tls' TYPE='SRV' PRIORITY='100 1 443' VALUE='sipdir.online.lync.com.' SUSPENDED='no' TIME='%time%' DATE='%date%' +ID='22' RECORD='_sipfederationtls._tcp' TYPE='SRV' PRIORITY='100 1 5061' VALUE='sipfed.online.lync.com.' SUSPENDED='no' TIME='%time%' DATE='%date%' diff --git a/install/debian/11/templates/dns/yandex.tpl b/install/debian/11/templates/dns/yandex.tpl new file mode 100644 index 00000000..4ce768fe --- /dev/null +++ b/install/debian/11/templates/dns/yandex.tpl @@ -0,0 +1,16 @@ +ID='1' RECORD='@' TYPE='NS' PRIORITY='' VALUE='%ns1%.' SUSPENDED='no' TIME='%time%' DATE='%date%' +ID='2' RECORD='@' TYPE='NS' PRIORITY='' VALUE='%ns2%.' SUSPENDED='no' TIME='%time%' DATE='%date%' +ID='3' RECORD='@' TYPE='NS' PRIORITY='' VALUE='%ns3%.' SUSPENDED='no' TIME='%time%' DATE='%date%' +ID='4' RECORD='@' TYPE='NS' PRIORITY='' VALUE='%ns4%.' SUSPENDED='no' TIME='%time%' DATE='%date%' +ID='5' RECORD='@' TYPE='NS' PRIORITY='' VALUE='%ns5%.' SUSPENDED='no' TIME='%time%' DATE='%date%' +ID='6' RECORD='@' TYPE='NS' PRIORITY='' VALUE='%ns6%.' SUSPENDED='no' TIME='%time%' DATE='%date%' +ID='7' RECORD='@' TYPE='NS' PRIORITY='' VALUE='%ns7%.' SUSPENDED='no' TIME='%time%' DATE='%date%' +ID='8' RECORD='@' TYPE='NS' PRIORITY='' VALUE='%ns8%.' SUSPENDED='no' TIME='%time%' DATE='%date%' +ID='9' RECORD='@' TYPE='A' PRIORITY='' VALUE='%ip%' SUSPENDED='no' TIME='%time%' DATE='%date%' +ID='10' RECORD='www' TYPE='A' PRIORITY='' VALUE='%ip%' SUSPENDED='no' TIME='%time%' DATE='%date%' +ID='11' RECORD='ftp' TYPE='A' PRIORITY='' VALUE='%ip%' SUSPENDED='no' TIME='%time%' DATE='%date%' +ID='12' RECORD='mail' TYPE='CNAME' PRIORITY='' VALUE='domain.mail.yandex.net.' SUSPENDED='no' TIME='%time%' DATE='%date%' +ID='13' RECORD='@' TYPE='MX' PRIORITY='10' VALUE='mx.yandex.net.' SUSPENDED='no' TIME='%time%' DATE='%date%' +ID='14' RECORD='@' TYPE='TXT' PRIORITY='' VALUE='"v=spf1 a mx ip4:%ip% include:_spf.yandex.net ~all"' SUSPENDED='no' TIME='%time%' DATE='%date%' +ID='15' RECORD='_dmarc' TYPE='TXT' PRIORITY='' VALUE='"v=DMARC1; p=none"' SUSPENDED='no' TIME='%time%' DATE='%date%' +ID='16' RECORD='@' TYPE='TXT' PRIORITY='' VALUE='"yandex-verification: XXXXXXXXXXXXXXX"' SUSPENDED='no' TIME='%time%' DATE='%date%' diff --git a/install/debian/11/templates/web/apache2/PHP-FPM-73-public.sh b/install/debian/11/templates/web/apache2/PHP-FPM-73-public.sh new file mode 100755 index 00000000..cc55b61e --- /dev/null +++ b/install/debian/11/templates/web/apache2/PHP-FPM-73-public.sh @@ -0,0 +1,88 @@ +#!/bin/bash +# Adding php pool conf +user="$1" +domain="$2" +ip="$3" +home_dir="$4" +docroot="$5" + +pool_conf="[$2] + +listen = /run/php/php7.3-fpm-$2.sock +listen.owner = $1 +listen.group = $1 +listen.mode = 0666 + +user = $1 +group = $1 + +pm = ondemand +pm.max_children = 16 +request_terminate_timeout = 30s +pm.max_requests = 4000 +pm.process_idle_timeout = 10s +pm.status_path = /status + +php_admin_value[upload_tmp_dir] = /home/$1/tmp +php_admin_value[session.save_path] = /home/$1/tmp +php_admin_value[open_basedir] = $5:/home/$1/tmp:/bin:/usr/bin:/usr/local/bin:/var/www/html:/tmp:/usr/share:/etc/phpmyadmin:/var/lib/phpmyadmin:/etc/roundcube:/var/log/roundcube:/var/lib/roundcube +php_admin_value[upload_max_filesize] = 80M +php_admin_value[max_execution_time] = 20 +php_admin_value[post_max_size] = 80M +php_admin_value[memory_limit] = 256M +php_admin_value[sendmail_path] = \"/usr/sbin/sendmail -t -i -f info@$2\" +php_admin_flag[mysql.allow_persistent] = off +php_admin_flag[safe_mode] = off + +env[PATH] = /usr/local/bin:/usr/bin:/bin +env[TMP] = /home/$1/tmp +env[TMPDIR] = /home/$1/tmp +env[TEMP] = /home/$1/tmp +" + +pool_file_56="/etc/php/5.6/fpm/pool.d/$2.conf" +pool_file_70="/etc/php/7.0/fpm/pool.d/$2.conf" +pool_file_71="/etc/php/7.1/fpm/pool.d/$2.conf" +pool_file_72="/etc/php/7.2/fpm/pool.d/$2.conf" +pool_file_73="/etc/php/7.3/fpm/pool.d/$2.conf" + +if [ -f "$pool_file_56" ]; then + rm $pool_file_56 + service php5.6-fpm restart +fi + +if [ -f "$pool_file_70" ]; then + rm $pool_file_70 + service php7.0-fpm restart +fi + +if [ -f "$pool_file_71" ]; then + rm $pool_file_71 + service php7.1-fpm restart +fi + +if [ -f "$pool_file_72" ]; then + rm $pool_file_72 + service php7.2-fpm restart +fi + +write_file=0 +if [ ! -f "$pool_file_73" ]; then + write_file=1 +else + user_count=$(grep -c "/home/$1/" $pool_file_73) + if [ $user_count -eq 0 ]; then + write_file=1 + fi +fi + +if [ $write_file -eq 1 ]; then + echo "$pool_conf" > $pool_file_73 + service php7.3-fpm restart +fi + +if [ -f "/etc/php/7.3/fpm/pool.d/www.conf" ]; then + rm /etc/php/7.3/fpm/pool.d/www.conf +fi + +exit 0 diff --git a/install/debian/11/templates/web/apache2/PHP-FPM-73-public.stpl b/install/debian/11/templates/web/apache2/PHP-FPM-73-public.stpl new file mode 100644 index 00000000..9660c234 --- /dev/null +++ b/install/debian/11/templates/web/apache2/PHP-FPM-73-public.stpl @@ -0,0 +1,44 @@ ++ + ServerName %domain_idn% + %alias_string% + ServerAdmin %email% + DocumentRoot %sdocroot%/public + ScriptAlias /cgi-bin/ %home%/%user%/web/%domain%/cgi-bin/ + Alias /vstats/ %home%/%user%/web/%domain%/stats/ + Alias /error/ %home%/%user%/web/%domain%/document_errors/ + #SuexecUserGroup %user% %group% + CustomLog /var/log/%web_system%/domains/%domain%.bytes bytes + CustomLog /var/log/%web_system%/domains/%domain%.log combined + ErrorLog /var/log/%web_system%/domains/%domain%.error.log + + diff --git a/install/debian/11/templates/web/apache2/PHP-FPM-73-public.tpl b/install/debian/11/templates/web/apache2/PHP-FPM-73-public.tpl new file mode 100644 index 00000000..892c0d1f --- /dev/null +++ b/install/debian/11/templates/web/apache2/PHP-FPM-73-public.tpl @@ -0,0 +1,38 @@ ++ AllowOverride All + ++ AllowOverride All + SSLRequireSSL + Options +Includes -Indexes +ExecCGI + + SSLEngine on + SSLVerifyClient none + SSLCertificateFile %ssl_crt% + SSLCertificateKeyFile %ssl_key% + %ssl_ca_str%SSLCertificateChainFile %ssl_ca% +#+# RMode config +# RUidGid %user% %group% +# RGroups www-data +# +#+# AssignUserID %user% %group% +# + ++ SetHandler "proxy:unix:/run/php/php7.3-fpm-%domain%.sock|fcgi://localhost/" + + SetEnvIf Authorization .+ HTTP_AUTHORIZATION=$0 + + IncludeOptional %home%/%user%/conf/web/s%web_system%.%domain%.conf* + ++ + ServerName %domain_idn% + %alias_string% + ServerAdmin %email% + DocumentRoot %docroot%/public + ScriptAlias /cgi-bin/ %home%/%user%/web/%domain%/cgi-bin/ + Alias /vstats/ %home%/%user%/web/%domain%/stats/ + Alias /error/ %home%/%user%/web/%domain%/document_errors/ + #SuexecUserGroup %user% %group% + CustomLog /var/log/%web_system%/domains/%domain%.bytes bytes + CustomLog /var/log/%web_system%/domains/%domain%.log combined + ErrorLog /var/log/%web_system%/domains/%domain%.error.log + + diff --git a/install/debian/11/templates/web/apache2/PHP-FPM-73.sh b/install/debian/11/templates/web/apache2/PHP-FPM-73.sh new file mode 100755 index 00000000..72f9cec6 --- /dev/null +++ b/install/debian/11/templates/web/apache2/PHP-FPM-73.sh @@ -0,0 +1,92 @@ +#!/bin/bash +# Adding php pool conf +user="$1" +domain="$2" +ip="$3" +home_dir="$4" +docroot="$5" + +pool_conf="[$2] + +listen = /run/php/php7.3-fpm-$2.sock +listen.owner = $1 +listen.group = $1 +listen.mode = 0666 + +user = $1 +group = $1 + +pm = ondemand +pm.max_children = 8 +request_terminate_timeout = 90s +pm.max_requests = 4000 +pm.process_idle_timeout = 10s +pm.status_path = /status + +php_admin_value[upload_tmp_dir] = /home/$1/tmp +php_admin_value[session.save_path] = /home/$1/tmp +php_admin_value[open_basedir] = $5:/home/$1/tmp:/bin:/usr/bin:/usr/local/bin:/var/www/html:/tmp:/usr/share:/etc/phpmyadmin:/var/lib/phpmyadmin:/etc/roundcube:/var/log/roundcube:/var/lib/roundcube +php_admin_value[upload_max_filesize] = 80M +php_admin_value[max_execution_time] = 30 +php_admin_value[post_max_size] = 80M +php_admin_value[memory_limit] = 256M +php_admin_value[sendmail_path] = \"/usr/sbin/sendmail -t -i -f info@$2\" +php_admin_flag[mysql.allow_persistent] = off +php_admin_flag[safe_mode] = off + +env[PATH] = /usr/local/bin:/usr/bin:/bin +env[TMP] = /home/$1/tmp +env[TMPDIR] = /home/$1/tmp +env[TEMP] = /home/$1/tmp +" + +pool_file_56="/etc/php/5.6/fpm/pool.d/$2.conf" +pool_file_70="/etc/php/7.0/fpm/pool.d/$2.conf" +pool_file_71="/etc/php/7.1/fpm/pool.d/$2.conf" +pool_file_72="/etc/php/7.2/fpm/pool.d/$2.conf" +pool_file_73="/etc/php/7.3/fpm/pool.d/$2.conf" +pool_file_74="/etc/php/7.4/fpm/pool.d/$2.conf" + +if [ -f "$pool_file_56" ]; then + rm $pool_file_56 + service php5.6-fpm restart +fi + +if [ -f "$pool_file_70" ]; then + rm $pool_file_70 + service php7.0-fpm restart +fi + +if [ -f "$pool_file_71" ]; then + rm $pool_file_71 + service php7.1-fpm restart +fi + +if [ -f "$pool_file_72" ]; then + rm $pool_file_72 + service php7.2-fpm restart +fi + +write_file=0 +if [ ! -f "$pool_file_73" ]; then + write_file=1 +else + user_count=$(grep -c "/home/$1/" $pool_file_73) + if [ $user_count -eq 0 ]; then + write_file=1 + fi +fi +if [ $write_file -eq 1 ]; then + echo "$pool_conf" > $pool_file_73 + service php7.3-fpm restart +fi +if [ -f "/etc/php/7.3/fpm/pool.d/www.conf" ]; then + rm /etc/php/7.3/fpm/pool.d/www.conf +fi + +if [ -f "$pool_file_74" ]; then + rm $pool_file_74 + service php7.4-fpm restart +fi + +exit 0 diff --git a/install/debian/11/templates/web/apache2/PHP-FPM-73.stpl b/install/debian/11/templates/web/apache2/PHP-FPM-73.stpl new file mode 100644 index 00000000..28224413 --- /dev/null +++ b/install/debian/11/templates/web/apache2/PHP-FPM-73.stpl @@ -0,0 +1,44 @@ ++ AllowOverride All + ++ AllowOverride All + Options +Includes -Indexes +ExecCGI + +#+# RMode config +# RUidGid %user% %group% +# RGroups www-data +# +#+# AssignUserID %user% %group% +# + ++ SetHandler "proxy:unix:/run/php/php7.3-fpm-%domain%.sock|fcgi://localhost/" + + SetEnvIf Authorization .+ HTTP_AUTHORIZATION=$0 + + IncludeOptional %home%/%user%/conf/web/%web_system%.%domain%.conf* + ++ + ServerName %domain_idn% + %alias_string% + ServerAdmin %email% + DocumentRoot %sdocroot% + ScriptAlias /cgi-bin/ %home%/%user%/web/%domain%/cgi-bin/ + Alias /vstats/ %home%/%user%/web/%domain%/stats/ + Alias /error/ %home%/%user%/web/%domain%/document_errors/ + #SuexecUserGroup %user% %group% + CustomLog /var/log/%web_system%/domains/%domain%.bytes bytes + CustomLog /var/log/%web_system%/domains/%domain%.log combined + ErrorLog /var/log/%web_system%/domains/%domain%.error.log + + diff --git a/install/debian/11/templates/web/apache2/PHP-FPM-73.tpl b/install/debian/11/templates/web/apache2/PHP-FPM-73.tpl new file mode 100644 index 00000000..7bec5e73 --- /dev/null +++ b/install/debian/11/templates/web/apache2/PHP-FPM-73.tpl @@ -0,0 +1,38 @@ ++ AllowOverride All + ++ AllowOverride All + SSLRequireSSL + Options +Includes -Indexes +ExecCGI + + SSLEngine on + SSLVerifyClient none + SSLCertificateFile %ssl_crt% + SSLCertificateKeyFile %ssl_key% + %ssl_ca_str%SSLCertificateChainFile %ssl_ca% +#+# RMode config +# RUidGid %user% %group% +# RGroups www-data +# +#+# AssignUserID %user% %group% +# + ++ SetHandler "proxy:unix:/run/php/php7.3-fpm-%domain%.sock|fcgi://localhost/" + + SetEnvIf Authorization .+ HTTP_AUTHORIZATION=$0 + + IncludeOptional %home%/%user%/conf/web/s%web_system%.%domain%.conf* + ++ + ServerName %domain_idn% + %alias_string% + ServerAdmin %email% + DocumentRoot %docroot% + ScriptAlias /cgi-bin/ %home%/%user%/web/%domain%/cgi-bin/ + Alias /vstats/ %home%/%user%/web/%domain%/stats/ + Alias /error/ %home%/%user%/web/%domain%/document_errors/ + #SuexecUserGroup %user% %group% + CustomLog /var/log/%web_system%/domains/%domain%.bytes bytes + CustomLog /var/log/%web_system%/domains/%domain%.log combined + ErrorLog /var/log/%web_system%/domains/%domain%.error.log + + diff --git a/install/debian/11/templates/web/awstats/awstats.tpl b/install/debian/11/templates/web/awstats/awstats.tpl new file mode 100755 index 00000000..9a92e0fd --- /dev/null +++ b/install/debian/11/templates/web/awstats/awstats.tpl @@ -0,0 +1,133 @@ +LogFile="/var/log/%web_system%/domains/%domain%.log" +LogType=W +LogFormat=1 +LogSeparator=" " +SiteDomain="%domain_idn%" +HostAliases="%alias_idn%" +DirData="%home%/%user%/web/%domain%/stats" +DirCgi="/vstats" +DirIcons="/vstats/icon" +AllowToUpdateStatsFromBrowser=0 +AllowFullYearView=2 +EnableLockForUpdate=1 +DNSStaticCacheFile="dnscache.txt" +DNSLastUpdateCacheFile="dnscachelastupdate.txt" +SkipDNSLookupFor="" +AllowAccessFromWebToAuthenticatedUsersOnly=0 +AllowAccessFromWebToFollowingAuthenticatedUsers="" +AllowAccessFromWebToFollowingIPAddresses="" +CreateDirDataIfNotExists=0 +BuildHistoryFormat=text +BuildReportFormat=html +SaveDatabaseFilesWithPermissionsForEveryone=0 +PurgeLogFile=0 +ArchiveLogRecords=0 +KeepBackupOfHistoricFiles=1 +DefaultFile="index.php index.html" +SkipHosts="127.0.0.1 +SkipUserAgents="" +SkipFiles="" +SkipReferrersBlackList="" +OnlyHosts="" +OnlyUserAgents="" +OnlyUsers="" +OnlyFiles="" +NotPageList="css js class gif jpg jpeg png bmp ico rss xml swf" +ValidHTTPCodes="200 304" +ValidSMTPCodes="1 250" +AuthenticatedUsersNotCaseSensitive=0 +URLNotCaseSensitive=0 +URLWithAnchor=0 +URLQuerySeparators="?;" +URLWithQuery=0 +URLWithQueryWithOnlyFollowingParameters="" +URLWithQueryWithoutFollowingParameters="" +URLReferrerWithQuery=0 +WarningMessages=1 +ErrorMessages="" +DebugMessages=0 +NbOfLinesForCorruptedLog=50 +WrapperScript="" +DecodeUA=0 +MiscTrackerUrl="/js/awstats_misc_tracker.js" +UseFramesWhenCGI=1 +DetailedReportsOnNewWindows=1 +Expires=3600 +MaxRowsInHTMLOutput=1000 +Lang="auto" +DirLang="./lang" +ShowMenu=1 +ShowSummary=UVPHB +ShowMonthStats=UVPHB +ShowDaysOfMonthStats=VPHB +ShowDaysOfWeekStats=PHB +ShowHoursStats=PHB +ShowDomainsStats=PHB +ShowHostsStats=PHBL +ShowAuthenticatedUsers=0 +ShowRobotsStats=HBL +ShowWormsStats=0 +ShowEMailSenders=0 +ShowEMailReceivers=0 +ShowSessionsStats=1 +ShowPagesStats=PBEX +ShowFileTypesStats=HB +ShowFileSizesStats=0 +ShowDownloadsStats=HB +ShowOSStats=1 +ShowBrowsersStats=1 +ShowScreenSizeStats=0 +ShowOriginStats=PH +ShowKeyphrasesStats=1 +ShowKeywordsStats=1 +ShowMiscStats=a +ShowHTTPErrorsStats=1 +ShowSMTPErrorsStats=0 +ShowClusterStats=0 +AddDataArrayMonthStats=1 +AddDataArrayShowDaysOfMonthStats=1 +AddDataArrayShowDaysOfWeekStats=1 +AddDataArrayShowHoursStats=1 +IncludeInternalLinksInOriginSection=0 +MaxNbOfDomain = 10 +MinHitDomain = 1 +MaxNbOfHostsShown = 10 +MinHitHost = 1 +MaxNbOfLoginShown = 10 +MinHitLogin = 1 +MaxNbOfRobotShown = 10 +MinHitRobot = 1 +MaxNbOfDownloadsShown = 10 +MinHitDownloads = 1 +MaxNbOfPageShown = 10 +MinHitFile = 1 +MaxNbOfOsShown = 10 +MinHitOs = 1 +MaxNbOfBrowsersShown = 10 +MinHitBrowser = 1 +MaxNbOfScreenSizesShown = 5 +MinHitScreenSize = 1 +MaxNbOfWindowSizesShown = 5 +MinHitWindowSize = 1 +MaxNbOfRefererShown = 10 +MinHitRefer = 1 +MaxNbOfKeyphrasesShown = 10 +MinHitKeyphrase = 1 +MaxNbOfKeywordsShown = 10 +MinHitKeyword = 1 +MaxNbOfEMailsShown = 20 +MinHitEMail = 1 +FirstDayOfWeek=0 +ShowFlagLinks="" +ShowLinksOnUrl=1 +UseHTTPSLinkForUrl="" +MaxLengthOfShownURL=64 +HTMLHeadSection="" +HTMLEndSection="" +MetaRobot=0 +Logo="awstats_logo6.png" +LogoLink="http://awstats.sourceforge.net" +BarWidth = 260 +BarHeight = 90 +StyleSheet="" +ExtraTrackedRowsLimit=500 diff --git a/install/debian/11/templates/web/awstats/index.tpl b/install/debian/11/templates/web/awstats/index.tpl new file mode 100755 index 00000000..9df9bb5c --- /dev/null +++ b/install/debian/11/templates/web/awstats/index.tpl @@ -0,0 +1,10 @@ + + + ++ AllowOverride All + ++ AllowOverride All + Options +Includes -Indexes +ExecCGI + +#+# RMode config +# RUidGid %user% %group% +# RGroups www-data +# +#+# AssignUserID %user% %group% +# + ++ SetHandler "proxy:unix:/run/php/php7.3-fpm-%domain%.sock|fcgi://localhost/" + + SetEnvIf Authorization .+ HTTP_AUTHORIZATION=$0 + + IncludeOptional %home%/%user%/conf/web/%web_system%.%domain%.conf* + +Awstats log analyzer + + + diff --git a/install/debian/11/templates/web/awstats/nav.tpl b/install/debian/11/templates/web/awstats/nav.tpl new file mode 100755 index 00000000..f29bed68 --- /dev/null +++ b/install/debian/11/templates/web/awstats/nav.tpl @@ -0,0 +1,23 @@ + + +Awstats navigation + + + ++
+ + diff --git a/install/debian/11/templates/web/nginx/caching.sh b/install/debian/11/templates/web/nginx/caching.sh new file mode 100755 index 00000000..09d8efe7 --- /dev/null +++ b/install/debian/11/templates/web/nginx/caching.sh @@ -0,0 +1,19 @@ +#!/bin/bash + +user=$1 +domain=$2 +ip=$3 +home=$4 +docroot=$5 + +str="proxy_cache_path /var/cache/nginx/$domain levels=2" +str="$str keys_zone=$domain:10m inactive=60m max_size=512m;" +conf='/etc/nginx/conf.d/01_caching_pool.conf' +if [ -e "$conf" ]; then + if [ -z "$(grep "=${domain}:" $conf)" ]; then + echo "$str" >> $conf + fi +else + echo "$str" >> $conf +fi + diff --git a/install/debian/11/templates/web/nginx/caching.stpl b/install/debian/11/templates/web/nginx/caching.stpl new file mode 100644 index 00000000..868e2fe9 --- /dev/null +++ b/install/debian/11/templates/web/nginx/caching.stpl @@ -0,0 +1,43 @@ +server { + listen %ip%:%proxy_ssl_port% ssl http2; + server_name %domain_idn% %alias_idn%; + ssl_certificate %ssl_pem%; + ssl_certificate_key %ssl_key%; + error_log /var/log/%web_system%/domains/%domain%.error.log error; + + location / { + proxy_pass https://%ip%:%web_ssl_port%; + + proxy_cache cache; + proxy_cache_valid 15m; + proxy_cache_valid 404 1m; + proxy_no_cache $no_cache; + proxy_cache_bypass $no_cache; + proxy_cache_bypass $cookie_session $http_x_update; + + location ~* ^.+\.(%proxy_extentions%)$ { + proxy_cache off; + root %sdocroot%; + access_log /var/log/%web_system%/domains/%domain%.log combined; + access_log /var/log/%web_system%/domains/%domain%.bytes bytes; + expires max; + try_files $uri @fallback; + } + } + + location /error/ { + alias %home%/%user%/web/%domain%/document_errors/; + } + + location @fallback { + proxy_pass https://%ip%:%web_ssl_port%; + } + + location ~ /\.ht {return 404;} + location ~ /\.svn/ {return 404;} + location ~ /\.git/ {return 404;} + location ~ /\.hg/ {return 404;} + location ~ /\.bzr/ {return 404;} + + include %home%/%user%/conf/web/snginx.%domain%.conf*; +} diff --git a/install/debian/11/templates/web/nginx/caching.tpl b/install/debian/11/templates/web/nginx/caching.tpl new file mode 100644 index 00000000..36761b65 --- /dev/null +++ b/install/debian/11/templates/web/nginx/caching.tpl @@ -0,0 +1,41 @@ +server { + listen %ip%:%proxy_port%; + server_name %domain_idn% %alias_idn%; + error_log /var/log/%web_system%/domains/%domain%.error.log error; + + location / { + proxy_pass http://%ip%:%web_port%; + + proxy_cache cache; + proxy_cache_valid 15m; + proxy_cache_valid 404 1m; + proxy_no_cache $no_cache; + proxy_cache_bypass $no_cache; + proxy_cache_bypass $cookie_session $http_x_update; + + location ~* ^.+\.(%proxy_extentions%)$ { + proxy_cache off; + root %docroot%; + access_log /var/log/%web_system%/domains/%domain%.log combined; + access_log /var/log/%web_system%/domains/%domain%.bytes bytes; + expires max; + try_files $uri @fallback; + } + } + + location /error/ { + alias %home%/%user%/web/%domain%/document_errors/; + } + + location @fallback { + proxy_pass http://%ip%:%web_port%; + } + + location ~ /\.ht {return 404;} + location ~ /\.svn/ {return 404;} + location ~ /\.git/ {return 404;} + location ~ /\.hg/ {return 404;} + location ~ /\.bzr/ {return 404;} + + include %home%/%user%/conf/web/nginx.%domain%.conf*; +} diff --git a/install/debian/11/templates/web/nginx/force-https-legacy.stpl b/install/debian/11/templates/web/nginx/force-https-legacy.stpl new file mode 100644 index 00000000..01a4eea3 --- /dev/null +++ b/install/debian/11/templates/web/nginx/force-https-legacy.stpl @@ -0,0 +1,38 @@ +server { + listen %ip%:%proxy_ssl_port% ssl http2; + server_name %domain_idn% %alias_idn%; + + ssl_certificate %ssl_pem%; + ssl_certificate_key %ssl_key%; + error_log /var/log/%web_system%/domains/%domain%.error.log error; + + location / { + proxy_pass https://%ip%:%web_ssl_port%; + location ~* ^.+\.(%proxy_extentions%)$ { + root %sdocroot%; + access_log /var/log/%web_system%/domains/%domain%.log combined; + access_log /var/log/%web_system%/domains/%domain%.bytes bytes; + expires max; + try_files $uri @fallback; + } + } + + location /error/ { + alias %home%/%user%/web/%domain%/document_errors/; + } + + location @fallback { + proxy_pass https://%ip%:%web_ssl_port%; + } + + location ~ /\.ht {return 404;} + location ~ /\.svn/ {return 404;} + location ~ /\.git/ {return 404;} + location ~ /\.hg/ {return 404;} + location ~ /\.bzr/ {return 404;} + + disable_symlinks if_not_owner from=%docroot%; + + include %home%/%user%/conf/web/*nginx.%domain_idn%.conf_letsencrypt; + include %home%/%user%/conf/web/s%proxy_system%.%domain%.conf*; +} diff --git a/install/debian/11/templates/web/nginx/force-https-legacy.tpl b/install/debian/11/templates/web/nginx/force-https-legacy.tpl new file mode 100644 index 00000000..851ac0dc --- /dev/null +++ b/install/debian/11/templates/web/nginx/force-https-legacy.tpl @@ -0,0 +1,8 @@ +server { + listen %ip%:%proxy_port%; + server_name %domain_idn% %alias_idn%; + location / { + rewrite ^(.*) https://%domain_idn%$1 permanent; + } +include %home%/%user%/conf/web/*nginx.%domain_idn%.conf_letsencrypt; +} diff --git a/install/debian/11/templates/web/nginx/force-https-public.stpl b/install/debian/11/templates/web/nginx/force-https-public.stpl new file mode 100644 index 00000000..22951ae5 --- /dev/null +++ b/install/debian/11/templates/web/nginx/force-https-public.stpl @@ -0,0 +1,38 @@ +server { + listen %ip%:%proxy_ssl_port% ssl http2; + server_name %domain_idn% %alias_idn%; + + ssl_certificate %ssl_pem%; + ssl_certificate_key %ssl_key%; + error_log /var/log/%web_system%/domains/%domain%.error.log error; + + location / { + proxy_pass https://%ip%:%web_ssl_port%; + location ~* ^.+\.(%proxy_extentions%)$ { + root %sdocroot%/public; + access_log /var/log/%web_system%/domains/%domain%.log combined; + access_log /var/log/%web_system%/domains/%domain%.bytes bytes; + expires max; + # try_files $uri @fallback; + } + } + + location /error/ { + alias %home%/%user%/web/%domain%/document_errors/; + } + + location @fallback { + proxy_pass https://%ip%:%web_ssl_port%; + } + + location ~ /\.ht {return 404;} + location ~ /\.svn/ {return 404;} + location ~ /\.git/ {return 404;} + location ~ /\.hg/ {return 404;} + location ~ /\.bzr/ {return 404;} + + disable_symlinks if_not_owner from=%docroot%/public; + + include %home%/%user%/conf/web/snginx.%domain_idn%.conf*; +} + diff --git a/install/debian/11/templates/web/nginx/force-https-public.tpl b/install/debian/11/templates/web/nginx/force-https-public.tpl new file mode 100644 index 00000000..851ac0dc --- /dev/null +++ b/install/debian/11/templates/web/nginx/force-https-public.tpl @@ -0,0 +1,8 @@ +server { + listen %ip%:%proxy_port%; + server_name %domain_idn% %alias_idn%; + location / { + rewrite ^(.*) https://%domain_idn%$1 permanent; + } +include %home%/%user%/conf/web/*nginx.%domain_idn%.conf_letsencrypt; +} diff --git a/install/debian/11/templates/web/nginx/force-https-webmail-phpmyadmin.stpl b/install/debian/11/templates/web/nginx/force-https-webmail-phpmyadmin.stpl new file mode 100644 index 00000000..dac7adaf --- /dev/null +++ b/install/debian/11/templates/web/nginx/force-https-webmail-phpmyadmin.stpl @@ -0,0 +1,62 @@ +server { + listen %ip%:%proxy_ssl_port% ssl http2; + server_name %domain_idn% %alias_idn%; + + ssl_certificate %ssl_pem%; + ssl_certificate_key %ssl_key%; + error_log /var/log/%web_system%/domains/%domain%.error.log error; + + location / { + proxy_pass https://%ip%:%web_ssl_port%; + location ~* ^.+\.(%proxy_extentions%)$ { + root %sdocroot%; + access_log /var/log/%web_system%/domains/%domain%.log combined; + access_log /var/log/%web_system%/domains/%domain%.bytes bytes; + expires max; + # try_files $uri @fallback; + } + } + + location /webmail { + disable_symlinks off; + proxy_pass https://%ip%:%web_ssl_port%; + location ~* ^.+\.(%proxy_extentions%)$ { + root /var/lib/roundcube; + access_log /var/log/%web_system%/domains/%domain%.log combined; + access_log /var/log/%web_system%/domains/%domain%.bytes bytes; + expires max; + # try_files $uri @fallback; + } + } + + location /phpmyadmin { + disable_symlinks off; + proxy_pass https://%ip%:%web_ssl_port%; + location ~* ^.+\.(%proxy_extentions%)$ { + root /usr/share; + access_log /var/log/%web_system%/domains/%domain%.log combined; + access_log /var/log/%web_system%/domains/%domain%.bytes bytes; + expires max; + # try_files $uri @fallback; + } + } + + location /error/ { + alias %home%/%user%/web/%domain%/document_errors/; + } + + location @fallback { + proxy_pass https://%ip%:%web_ssl_port%; + } + + location ~ /\.ht {return 404;} + location ~ /\.svn/ {return 404;} + location ~ /\.git/ {return 404;} + location ~ /\.hg/ {return 404;} + location ~ /\.bzr/ {return 404;} + + disable_symlinks if_not_owner from=%docroot%; + + include %home%/%user%/conf/web/snginx.%domain%.conf*; +} + diff --git a/install/debian/11/templates/web/nginx/force-https-webmail-phpmyadmin.tpl b/install/debian/11/templates/web/nginx/force-https-webmail-phpmyadmin.tpl new file mode 100644 index 00000000..851ac0dc --- /dev/null +++ b/install/debian/11/templates/web/nginx/force-https-webmail-phpmyadmin.tpl @@ -0,0 +1,8 @@ +server { + listen %ip%:%proxy_port%; + server_name %domain_idn% %alias_idn%; + location / { + rewrite ^(.*) https://%domain_idn%$1 permanent; + } +include %home%/%user%/conf/web/*nginx.%domain_idn%.conf_letsencrypt; +} diff --git a/install/debian/11/templates/web/nginx/force-https.stpl b/install/debian/11/templates/web/nginx/force-https.stpl new file mode 100644 index 00000000..4a8185c8 --- /dev/null +++ b/install/debian/11/templates/web/nginx/force-https.stpl @@ -0,0 +1,38 @@ +server { + listen %ip%:%proxy_ssl_port% ssl http2; + server_name %domain_idn% %alias_idn%; + + ssl_certificate %ssl_pem%; + ssl_certificate_key %ssl_key%; + error_log /var/log/%web_system%/domains/%domain%.error.log error; + + location / { + proxy_pass https://%ip%:%web_ssl_port%; + location ~* ^.+\.(%proxy_extentions%)$ { + root %sdocroot%; + access_log /var/log/%web_system%/domains/%domain%.log combined; + access_log /var/log/%web_system%/domains/%domain%.bytes bytes; + expires max; + # try_files $uri @fallback; + } + } + + location /error/ { + alias %home%/%user%/web/%domain%/document_errors/; + } + + location @fallback { + proxy_pass https://%ip%:%web_ssl_port%; + } + + location ~ /\.ht {return 404;} + location ~ /\.svn/ {return 404;} + location ~ /\.git/ {return 404;} + location ~ /\.hg/ {return 404;} + location ~ /\.bzr/ {return 404;} + + disable_symlinks if_not_owner from=%docroot%; + + include %home%/%user%/conf/web/*nginx.%domain_idn%.conf_letsencrypt; + include %home%/%user%/conf/web/s%proxy_system%.%domain%.conf*; +} diff --git a/install/debian/11/templates/web/nginx/force-https.tpl b/install/debian/11/templates/web/nginx/force-https.tpl new file mode 100644 index 00000000..851ac0dc --- /dev/null +++ b/install/debian/11/templates/web/nginx/force-https.tpl @@ -0,0 +1,8 @@ +server { + listen %ip%:%proxy_port%; + server_name %domain_idn% %alias_idn%; + location / { + rewrite ^(.*) https://%domain_idn%$1 permanent; + } +include %home%/%user%/conf/web/*nginx.%domain_idn%.conf_letsencrypt; +} diff --git a/install/debian/11/templates/web/nginx/hosting-legacy.sh b/install/debian/11/templates/web/nginx/hosting-legacy.sh new file mode 100755 index 00000000..eeed37ef --- /dev/null +++ b/install/debian/11/templates/web/nginx/hosting-legacy.sh @@ -0,0 +1,11 @@ +#!/bin/bash +# Changing public_html permission +user="$1" +domain="$2" +ip="$3" +home_dir="$4" +docroot="$5" + +chmod 755 $docroot + +exit 0 diff --git a/install/debian/11/templates/web/nginx/hosting-legacy.stpl b/install/debian/11/templates/web/nginx/hosting-legacy.stpl new file mode 100644 index 00000000..cc0370c6 --- /dev/null +++ b/install/debian/11/templates/web/nginx/hosting-legacy.stpl @@ -0,0 +1,38 @@ +server { + listen %ip%:%proxy_ssl_port% ssl http2; + server_name %domain_idn% %alias_idn%; + + ssl_certificate %ssl_pem%; + ssl_certificate_key %ssl_key%; + error_log /var/log/%web_system%/domains/%domain%.error.log error; + + location / { + proxy_pass https://%ip%:%web_ssl_port%; + location ~* ^.+\.(%proxy_extentions%)$ { + root %sdocroot%; + access_log /var/log/%web_system%/domains/%domain%.log combined; + access_log /var/log/%web_system%/domains/%domain%.bytes bytes; + expires max; + try_files $uri @fallback; + } + } + + location /error/ { + alias %home%/%user%/web/%domain%/document_errors/; + } + + location @fallback { + proxy_pass https://%ip%:%web_ssl_port%; + } + + location ~ /\.ht {return 404;} + location ~ /\.svn/ {return 404;} + location ~ /\.git/ {return 404;} + location ~ /\.hg/ {return 404;} + location ~ /\.bzr/ {return 404;} + + disable_symlinks if_not_owner from=%docroot%; + + include %home%/%user%/conf/web/snginx.%domain%.conf*; +} + diff --git a/install/debian/11/templates/web/nginx/hosting-legacy.tpl b/install/debian/11/templates/web/nginx/hosting-legacy.tpl new file mode 100644 index 00000000..15961c95 --- /dev/null +++ b/install/debian/11/templates/web/nginx/hosting-legacy.tpl @@ -0,0 +1,35 @@ +server { + listen %ip%:%proxy_port%; + server_name %domain_idn% %alias_idn%; + error_log /var/log/%web_system%/domains/%domain%.error.log error; + + location / { + proxy_pass http://%ip%:%web_port%; + location ~* ^.+\.(%proxy_extentions%)$ { + root %docroot%; + access_log /var/log/%web_system%/domains/%domain%.log combined; + access_log /var/log/%web_system%/domains/%domain%.bytes bytes; + expires max; + try_files $uri @fallback; + } + } + + location /error/ { + alias %home%/%user%/web/%domain%/document_errors/; + } + + location @fallback { + proxy_pass http://%ip%:%web_port%; + } + + location ~ /\.ht {return 404;} + location ~ /\.svn/ {return 404;} + location ~ /\.git/ {return 404;} + location ~ /\.hg/ {return 404;} + location ~ /\.bzr/ {return 404;} + + disable_symlinks if_not_owner from=%docroot%; + + include %home%/%user%/conf/web/nginx.%domain%.conf*; +} + diff --git a/install/debian/11/templates/web/nginx/hosting-public.stpl b/install/debian/11/templates/web/nginx/hosting-public.stpl new file mode 100644 index 00000000..22951ae5 --- /dev/null +++ b/install/debian/11/templates/web/nginx/hosting-public.stpl @@ -0,0 +1,38 @@ +server { + listen %ip%:%proxy_ssl_port% ssl http2; + server_name %domain_idn% %alias_idn%; + + ssl_certificate %ssl_pem%; + ssl_certificate_key %ssl_key%; + error_log /var/log/%web_system%/domains/%domain%.error.log error; + + location / { + proxy_pass https://%ip%:%web_ssl_port%; + location ~* ^.+\.(%proxy_extentions%)$ { + root %sdocroot%/public; + access_log /var/log/%web_system%/domains/%domain%.log combined; + access_log /var/log/%web_system%/domains/%domain%.bytes bytes; + expires max; + # try_files $uri @fallback; + } + } + + location /error/ { + alias %home%/%user%/web/%domain%/document_errors/; + } + + location @fallback { + proxy_pass https://%ip%:%web_ssl_port%; + } + + location ~ /\.ht {return 404;} + location ~ /\.svn/ {return 404;} + location ~ /\.git/ {return 404;} + location ~ /\.hg/ {return 404;} + location ~ /\.bzr/ {return 404;} + + disable_symlinks if_not_owner from=%docroot%/public; + + include %home%/%user%/conf/web/snginx.%domain_idn%.conf*; +} + diff --git a/install/debian/11/templates/web/nginx/hosting-public.tpl b/install/debian/11/templates/web/nginx/hosting-public.tpl new file mode 100644 index 00000000..9ff417ba --- /dev/null +++ b/install/debian/11/templates/web/nginx/hosting-public.tpl @@ -0,0 +1,35 @@ +server { + listen %ip%:%proxy_port%; + server_name %domain_idn% %alias_idn%; + error_log /var/log/%web_system%/domains/%domain%.error.log error; + + location / { + proxy_pass http://%ip%:%web_port%; + location ~* ^.+\.(%proxy_extentions%)$ { + root %docroot%/public; + access_log /var/log/%web_system%/domains/%domain%.log combined; + access_log /var/log/%web_system%/domains/%domain%.bytes bytes; + expires max; + # try_files $uri @fallback; + } + } + + location /error/ { + alias %home%/%user%/web/%domain%/document_errors/; + } + + location @fallback { + proxy_pass http://%ip%:%web_port%; + } + + location ~ /\.ht {return 404;} + location ~ /\.svn/ {return 404;} + location ~ /\.git/ {return 404;} + location ~ /\.hg/ {return 404;} + location ~ /\.bzr/ {return 404;} + + disable_symlinks if_not_owner from=%docroot%/public; + + include %home%/%user%/conf/web/nginx.%domain_idn%.conf*; +} + diff --git a/install/debian/11/templates/web/nginx/hosting-webmail-phpmyadmin.stpl b/install/debian/11/templates/web/nginx/hosting-webmail-phpmyadmin.stpl new file mode 100644 index 00000000..dac7adaf --- /dev/null +++ b/install/debian/11/templates/web/nginx/hosting-webmail-phpmyadmin.stpl @@ -0,0 +1,62 @@ +server { + listen %ip%:%proxy_ssl_port% ssl http2; + server_name %domain_idn% %alias_idn%; + + ssl_certificate %ssl_pem%; + ssl_certificate_key %ssl_key%; + error_log /var/log/%web_system%/domains/%domain%.error.log error; + + location / { + proxy_pass https://%ip%:%web_ssl_port%; + location ~* ^.+\.(%proxy_extentions%)$ { + root %sdocroot%; + access_log /var/log/%web_system%/domains/%domain%.log combined; + access_log /var/log/%web_system%/domains/%domain%.bytes bytes; + expires max; + # try_files $uri @fallback; + } + } + + location /webmail { + disable_symlinks off; + proxy_pass https://%ip%:%web_ssl_port%; + location ~* ^.+\.(%proxy_extentions%)$ { + root /var/lib/roundcube; + access_log /var/log/%web_system%/domains/%domain%.log combined; + access_log /var/log/%web_system%/domains/%domain%.bytes bytes; + expires max; + # try_files $uri @fallback; + } + } + + location /phpmyadmin { + disable_symlinks off; + proxy_pass https://%ip%:%web_ssl_port%; + location ~* ^.+\.(%proxy_extentions%)$ { + root /usr/share; + access_log /var/log/%web_system%/domains/%domain%.log combined; + access_log /var/log/%web_system%/domains/%domain%.bytes bytes; + expires max; + # try_files $uri @fallback; + } + } + + location /error/ { + alias %home%/%user%/web/%domain%/document_errors/; + } + + location @fallback { + proxy_pass https://%ip%:%web_ssl_port%; + } + + location ~ /\.ht {return 404;} + location ~ /\.svn/ {return 404;} + location ~ /\.git/ {return 404;} + location ~ /\.hg/ {return 404;} + location ~ /\.bzr/ {return 404;} + + disable_symlinks if_not_owner from=%docroot%; + + include %home%/%user%/conf/web/snginx.%domain%.conf*; +} + diff --git a/install/debian/11/templates/web/nginx/hosting-webmail-phpmyadmin.tpl b/install/debian/11/templates/web/nginx/hosting-webmail-phpmyadmin.tpl new file mode 100644 index 00000000..5f601672 --- /dev/null +++ b/install/debian/11/templates/web/nginx/hosting-webmail-phpmyadmin.tpl @@ -0,0 +1,59 @@ +server { + listen %ip%:%proxy_port%; + server_name %domain_idn% %alias_idn%; + error_log /var/log/%web_system%/domains/%domain%.error.log error; + + location / { + proxy_pass http://%ip%:%web_port%; + location ~* ^.+\.(%proxy_extentions%)$ { + root %docroot%; + access_log /var/log/%web_system%/domains/%domain%.log combined; + access_log /var/log/%web_system%/domains/%domain%.bytes bytes; + expires max; + # try_files $uri @fallback; + } + } + + location /webmail { + disable_symlinks off; + proxy_pass http://%ip%:%web_port%; + location ~* ^.+\.(%proxy_extentions%)$ { + root /var/lib/roundcube; + access_log /var/log/%web_system%/domains/%domain%.log combined; + access_log /var/log/%web_system%/domains/%domain%.bytes bytes; + expires max; + # try_files $uri @fallback; + } + } + + location /phpmyadmin { + disable_symlinks off; + proxy_pass http://%ip%:%web_port%; + location ~* ^.+\.(%proxy_extentions%)$ { + root /usr/share; + access_log /var/log/%web_system%/domains/%domain%.log combined; + access_log /var/log/%web_system%/domains/%domain%.bytes bytes; + expires max; + # try_files $uri @fallback; + } + } + + location /error/ { + alias %home%/%user%/web/%domain%/document_errors/; + } + + location @fallback { + proxy_pass http://%ip%:%web_port%; + } + + location ~ /\.ht {return 404;} + location ~ /\.svn/ {return 404;} + location ~ /\.git/ {return 404;} + location ~ /\.hg/ {return 404;} + location ~ /\.bzr/ {return 404;} + + disable_symlinks if_not_owner from=%docroot%; + + include %home%/%user%/conf/web/nginx.%domain%.conf*; +} + diff --git a/install/debian/11/templates/web/nginx/hosting.sh b/install/debian/11/templates/web/nginx/hosting.sh new file mode 100755 index 00000000..eeed37ef --- /dev/null +++ b/install/debian/11/templates/web/nginx/hosting.sh @@ -0,0 +1,11 @@ +#!/bin/bash +# Changing public_html permission +user="$1" +domain="$2" +ip="$3" +home_dir="$4" +docroot="$5" + +chmod 755 $docroot + +exit 0 diff --git a/install/debian/11/templates/web/nginx/hosting.stpl b/install/debian/11/templates/web/nginx/hosting.stpl new file mode 100644 index 00000000..30fe0f74 --- /dev/null +++ b/install/debian/11/templates/web/nginx/hosting.stpl @@ -0,0 +1,38 @@ +server { + listen %ip%:%proxy_ssl_port% ssl http2; + server_name %domain_idn% %alias_idn%; + + ssl_certificate %ssl_pem%; + ssl_certificate_key %ssl_key%; + error_log /var/log/%web_system%/domains/%domain%.error.log error; + + location / { + proxy_pass https://%ip%:%web_ssl_port%; + location ~* ^.+\.(%proxy_extentions%)$ { + root %sdocroot%; + access_log /var/log/%web_system%/domains/%domain%.log combined; + access_log /var/log/%web_system%/domains/%domain%.bytes bytes; + expires max; + # try_files $uri @fallback; + } + } + + location /error/ { + alias %home%/%user%/web/%domain%/document_errors/; + } + + location @fallback { + proxy_pass https://%ip%:%web_ssl_port%; + } + + location ~ /\.ht {return 404;} + location ~ /\.svn/ {return 404;} + location ~ /\.git/ {return 404;} + location ~ /\.hg/ {return 404;} + location ~ /\.bzr/ {return 404;} + + disable_symlinks if_not_owner from=%docroot%; + + include %home%/%user%/conf/web/snginx.%domain%.conf*; +} + diff --git a/install/debian/11/templates/web/nginx/hosting.tpl b/install/debian/11/templates/web/nginx/hosting.tpl new file mode 100644 index 00000000..262417b1 --- /dev/null +++ b/install/debian/11/templates/web/nginx/hosting.tpl @@ -0,0 +1,35 @@ +server { + listen %ip%:%proxy_port%; + server_name %domain_idn% %alias_idn%; + error_log /var/log/%web_system%/domains/%domain%.error.log error; + + location / { + proxy_pass http://%ip%:%web_port%; + location ~* ^.+\.(%proxy_extentions%)$ { + root %docroot%; + access_log /var/log/%web_system%/domains/%domain%.log combined; + access_log /var/log/%web_system%/domains/%domain%.bytes bytes; + expires max; + # try_files $uri @fallback; + } + } + + location /error/ { + alias %home%/%user%/web/%domain%/document_errors/; + } + + location @fallback { + proxy_pass http://%ip%:%web_port%; + } + + location ~ /\.ht {return 404;} + location ~ /\.svn/ {return 404;} + location ~ /\.git/ {return 404;} + location ~ /\.hg/ {return 404;} + location ~ /\.bzr/ {return 404;} + + disable_symlinks if_not_owner from=%docroot%; + + include %home%/%user%/conf/web/nginx.%domain%.conf*; +} + diff --git a/install/debian/11/templates/web/nginx/php-fpm/cms_made_simple.stpl b/install/debian/11/templates/web/nginx/php-fpm/cms_made_simple.stpl new file mode 100644 index 00000000..cf8fad56 --- /dev/null +++ b/install/debian/11/templates/web/nginx/php-fpm/cms_made_simple.stpl @@ -0,0 +1,55 @@ +server { + listen %ip%:%web_ssl_port% ssl http2; + server_name %domain_idn% %alias_idn%; + root %sdocroot%; + index index.php index.html index.htm; + access_log /var/log/nginx/domains/%domain%.log combined; + access_log /var/log/nginx/domains/%domain%.bytes bytes; + error_log /var/log/nginx/domains/%domain%.error.log error; + + ssl_certificate %ssl_pem%; + ssl_certificate_key %ssl_key%; + + location / { + try_files $uri $uri/ /index.php?page=$request_uri; + + location ~* ^.+\.(jpeg|jpg|png|gif|bmp|ico|svg|css|js)$ { + expires max; + } + + location ~ [^/]\.php(/|$) { + fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; + if (!-f $document_root$fastcgi_script_name) { + return 404; + } + fastcgi_pass %backend_lsnr%; + fastcgi_index index.php; + include /etc/nginx/fastcgi_params; + fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; + } + } + + error_page 403 /error/404.html; + error_page 404 /error/404.html; + error_page 500 502 503 504 /error/50x.html; + + location /error/ { + alias %home%/%user%/web/%domain%/document_errors/; + } + + location ~* "/\.(htaccess|htpasswd)$" { + deny all; + return 404; + } + + location /vstats/ { + alias %home%/%user%/web/%domain%/stats/; + include %home%/%user%/conf/web/%domain%.auth*; + } + + include /etc/nginx/conf.d/phpmyadmin.inc*; + include /etc/nginx/conf.d/phppgadmin.inc*; + include /etc/nginx/conf.d/webmail.inc*; + + include %home%/%user%/conf/web/snginx.%domain%.conf*; +} diff --git a/install/debian/11/templates/web/nginx/php-fpm/cms_made_simple.tpl b/install/debian/11/templates/web/nginx/php-fpm/cms_made_simple.tpl new file mode 100644 index 00000000..f9e90393 --- /dev/null +++ b/install/debian/11/templates/web/nginx/php-fpm/cms_made_simple.tpl @@ -0,0 +1,52 @@ +server { + listen %ip%:%web_port%; + server_name %domain_idn% %alias_idn%; + root %docroot%; + index index.php index.html index.htm; + access_log /var/log/nginx/domains/%domain%.log combined; + access_log /var/log/nginx/domains/%domain%.bytes bytes; + error_log /var/log/nginx/domains/%domain%.error.log error; + + location / { + try_files $uri $uri/ /index.php?page=$request_uri; + + location ~* ^.+\.(jpeg|jpg|png|gif|bmp|ico|svg|css|js)$ { + expires max; + } + + location ~ [^/]\.php(/|$) { + fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; + if (!-f $document_root$fastcgi_script_name) { + return 404; + } + fastcgi_pass %backend_lsnr%; + fastcgi_index index.php; + include /etc/nginx/fastcgi_params; + fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; + } + } + + error_page 403 /error/404.html; + error_page 404 /error/404.html; + error_page 500 502 503 504 /error/50x.html; + + location /error/ { + alias %home%/%user%/web/%domain%/document_errors/; + } + + location ~* "/\.(htaccess|htpasswd)$" { + deny all; + return 404; + } + + location /vstats/ { + alias %home%/%user%/web/%domain%/stats/; + include %home%/%user%/conf/web/%domain%.auth*; + } + + include /etc/nginx/conf.d/phpmyadmin.inc*; + include /etc/nginx/conf.d/phppgadmin.inc*; + include /etc/nginx/conf.d/webmail.inc*; + + include %home%/%user%/conf/web/nginx.%domain%.conf*; +} diff --git a/install/debian/11/templates/web/nginx/php-fpm/codeigniter2.stpl b/install/debian/11/templates/web/nginx/php-fpm/codeigniter2.stpl new file mode 100644 index 00000000..5931f617 --- /dev/null +++ b/install/debian/11/templates/web/nginx/php-fpm/codeigniter2.stpl @@ -0,0 +1,60 @@ +server { + listen %ip%:%web_ssl_port% ssl http2; + server_name %domain_idn% %alias_idn%; + root %sdocroot%; + index index.php index.html index.htm; + access_log /var/log/nginx/domains/%domain%.log combined; + access_log /var/log/nginx/domains/%domain%.bytes bytes; + error_log /var/log/nginx/domains/%domain%.error.log error; + + ssl_certificate %ssl_pem%; + ssl_certificate_key %ssl_key%; + + location / { + try_files $uri $uri/ /index.php; + + location ~* ^.+\.(jpeg|jpg|png|gif|bmp|ico|svg|css|js)$ { + expires max; + } + + location = /index.php { + fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; + if (!-f $document_root$fastcgi_script_name) { + return 404; + } + + fastcgi_pass %backend_lsnr%; + fastcgi_index index.php; + fastcgi_param SCRIPT_FILENAME /var/www/html/ci$fastcgi_script_name; + include /etc/nginx/fastcgi_params; + } + } + + location ~ \.php$ { + return 444; + } + + error_page 403 /error/404.html; + error_page 404 /error/404.html; + error_page 500 502 503 504 /error/50x.html; + + location /error/ { + alias %home%/%user%/web/%domain%/document_errors/; + } + + location ~* "/\.(htaccess|htpasswd)$" { + deny all; + return 404; + } + + location /vstats/ { + alias %home%/%user%/web/%domain%/stats/; + include %home%/%user%/conf/web/%domain%.auth*; + } + + include /etc/nginx/conf.d/phpmyadmin.inc*; + include /etc/nginx/conf.d/phppgadmin.inc*; + include /etc/nginx/conf.d/webmail.inc*; + + include %home%/%user%/conf/web/snginx.%domain%.conf*; +} diff --git a/install/debian/11/templates/web/nginx/php-fpm/codeigniter2.tpl b/install/debian/11/templates/web/nginx/php-fpm/codeigniter2.tpl new file mode 100644 index 00000000..d2422be2 --- /dev/null +++ b/install/debian/11/templates/web/nginx/php-fpm/codeigniter2.tpl @@ -0,0 +1,57 @@ +server { + listen %ip%:%web_port%; + server_name %domain_idn% %alias_idn%; + root %docroot%; + index index.php index.html index.htm; + access_log /var/log/nginx/domains/%domain%.log combined; + access_log /var/log/nginx/domains/%domain%.bytes bytes; + error_log /var/log/nginx/domains/%domain%.error.log error; + + location / { + try_files $uri $uri/ /index.php; + + location ~* ^.+\.(jpeg|jpg|png|gif|bmp|ico|svg|css|js)$ { + expires max; + } + + location = /index.php { + fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; + if (!-f $document_root$fastcgi_script_name) { + return 404; + } + + fastcgi_pass %backend_lsnr%; + fastcgi_index index.php; + fastcgi_param SCRIPT_FILENAME /var/www/html/ci$fastcgi_script_name; + include /etc/nginx/fastcgi_params; + } + } + + location ~ \.php$ { + return 444; + } + + error_page 403 /error/404.html; + error_page 404 /error/404.html; + error_page 500 502 503 504 /error/50x.html; + + location /error/ { + alias %home%/%user%/web/%domain%/document_errors/; + } + + location ~* "/\.(htaccess|htpasswd)$" { + deny all; + return 404; + } + + location /vstats/ { + alias %home%/%user%/web/%domain%/stats/; + include %home%/%user%/conf/web/%domain%.auth*; + } + + include /etc/nginx/conf.d/phpmyadmin.inc*; + include /etc/nginx/conf.d/phppgadmin.inc*; + include /etc/nginx/conf.d/webmail.inc*; + + include %home%/%user%/conf/web/nginx.%domain%.conf*; +} diff --git a/install/debian/11/templates/web/nginx/php-fpm/codeigniter3.stpl b/install/debian/11/templates/web/nginx/php-fpm/codeigniter3.stpl new file mode 100644 index 00000000..3c2793d1 --- /dev/null +++ b/install/debian/11/templates/web/nginx/php-fpm/codeigniter3.stpl @@ -0,0 +1,55 @@ +server { + listen %ip%:%web_ssl_port% ssl http2; + server_name %domain_idn% %alias_idn%; + root %sdocroot%; + index index.php index.html index.htm; + access_log /var/log/nginx/domains/%domain%.log combined; + access_log /var/log/nginx/domains/%domain%.bytes bytes; + error_log /var/log/nginx/domains/%domain%.error.log error; + + ssl_certificate %ssl_pem%; + ssl_certificate_key %ssl_key%; + + location / { + try_files $uri $uri/ /index.php; + + location ~* ^.+\.(jpeg|jpg|png|gif|bmp|ico|svg|css|js)$ { + expires max; + } + + location ~ [^/]\.php(/|$) { + fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; + if (!-f $document_root$fastcgi_script_name) { + return 404; + } + + fastcgi_pass %backend_lsnr%; + fastcgi_index index.php; + include /etc/nginx/fastcgi_params; + } + } + + error_page 403 /error/404.html; + error_page 404 /error/404.html; + error_page 500 502 503 504 /error/50x.html; + + location /error/ { + alias %home%/%user%/web/%domain%/document_errors/; + } + + location ~* "/\.(htaccess|htpasswd)$" { + deny all; + return 404; + } + + location /vstats/ { + alias %home%/%user%/web/%domain%/stats/; + include %home%/%user%/conf/web/%domain%.auth*; + } + + include /etc/nginx/conf.d/phpmyadmin.inc*; + include /etc/nginx/conf.d/phppgadmin.inc*; + include /etc/nginx/conf.d/webmail.inc*; + + include %home%/%user%/conf/web/snginx.%domain%.conf*; +} diff --git a/install/debian/11/templates/web/nginx/php-fpm/codeigniter3.tpl b/install/debian/11/templates/web/nginx/php-fpm/codeigniter3.tpl new file mode 100644 index 00000000..54f81b99 --- /dev/null +++ b/install/debian/11/templates/web/nginx/php-fpm/codeigniter3.tpl @@ -0,0 +1,52 @@ +server { + listen %ip%:%web_port%; + server_name %domain_idn% %alias_idn%; + root %docroot%; + index index.php index.html index.htm; + access_log /var/log/nginx/domains/%domain%.log combined; + access_log /var/log/nginx/domains/%domain%.bytes bytes; + error_log /var/log/nginx/domains/%domain%.error.log error; + + location / { + try_files $uri $uri/ /index.php; + + location ~* ^.+\.(jpeg|jpg|png|gif|bmp|ico|svg|css|js)$ { + expires max; + } + + location ~ [^/]\.php(/|$) { + fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; + if (!-f $document_root$fastcgi_script_name) { + return 404; + } + + fastcgi_pass %backend_lsnr%; + fastcgi_index index.php; + include /etc/nginx/fastcgi_params; + } + } + + error_page 403 /error/404.html; + error_page 404 /error/404.html; + error_page 500 502 503 504 /error/50x.html; + + location /error/ { + alias %home%/%user%/web/%domain%/document_errors/; + } + + location ~* "/\.(htaccess|htpasswd)$" { + deny all; + return 404; + } + + location /vstats/ { + alias %home%/%user%/web/%domain%/stats/; + include %home%/%user%/conf/web/%domain%.auth*; + } + + include /etc/nginx/conf.d/phpmyadmin.inc*; + include /etc/nginx/conf.d/phppgadmin.inc*; + include /etc/nginx/conf.d/webmail.inc*; + + include %home%/%user%/conf/web/nginx.%domain%.conf*; +} diff --git a/install/debian/11/templates/web/nginx/php-fpm/datalife_engine.stpl b/install/debian/11/templates/web/nginx/php-fpm/datalife_engine.stpl new file mode 100644 index 00000000..bb9a727b --- /dev/null +++ b/install/debian/11/templates/web/nginx/php-fpm/datalife_engine.stpl @@ -0,0 +1,126 @@ +server { + listen %ip%:%web_ssl_port% ssl http2; + server_name %domain_idn% %alias_idn%; + root %sdocroot%; + index index.php index.html index.htm; + access_log /var/log/nginx/domains/%domain%.log combined; + access_log /var/log/nginx/domains/%domain%.bytes bytes; + error_log /var/log/nginx/domains/%domain%.error.log error; + + ssl_certificate %ssl_pem%; + ssl_certificate_key %ssl_key%; + + location / { + rewrite "^/page/([0-9]+)(/?)$" /index.php?cstart=$1 last; + + rewrite "^/([0-9]{4})/([0-9]{2})/([0-9]{2})/page,([0-9]+),([0-9]+),(.*).html(/?)+$" /index.php?subaction=showfull&year=$1&month=$2&day=$3&news_page=$4&cstart=$5&news_name=$6&seourl=$6 last; + rewrite "^/([0-9]{4})/([0-9]{2})/([0-9]{2})/page,([0-9]+),(.*).html(/?)+$" /index.php?subaction=showfull&year=$1&month=$2&day=$3&news_page=$4&news_name=$5&seourl=$5 last; + rewrite "^/([0-9]{4})/([0-9]{2})/([0-9]{2})/print:page,([0-9]+),(.*).html(/?)+$" /engine/print.php?subaction=showfull&year=$1&month=$2&day=$3&news_page=$4&news_name=$5&seourl=$5 last; + rewrite "^/([0-9]{4})/([0-9]{2})/([0-9]{2})/(.*).html(/?)+$" /index.php?subaction=showfull&year=$1&month=$2&day=$3&news_name=$4&seourl=$4 last; + + rewrite "^/([^.]+)/page,([0-9]+),([0-9]+),([0-9]+)-(.*).html(/?)+$" /index.php?newsid=$4&news_page=$2&cstart=$3&seourl=$5&seocat=$1 last; + rewrite "^/([^.]+)/page,([0-9]+),([0-9]+)-(.*).html(/?)+$" /index.php?newsid=$3&news_page=$2&seourl=$4&seocat=$1 last; + rewrite "^/([^.]+)/print:page,([0-9]+),([0-9]+)-(.*).html(/?)+$" /engine/print.php?news_page=$2&newsid=$3&seourl=$4&seocat=$1 last; + rewrite "^/([^.]+)/([0-9]+)-(.*).html(/?)+$" /index.php?newsid=$2&seourl=$3&seocat=$1 last; + + rewrite "^/page,([0-9]+),([0-9]+),([0-9]+)-(.*).html(/?)+$" /index.php?newsid=$3&news_page=$1&cstart=$2&seourl=$4 last; + rewrite "^/page,([0-9]+),([0-9]+)-(.*).html(/?)+$" /index.php?newsid=$2&news_page=$1&seourl=$3 last; + rewrite "^/print:page,([0-9]+),([0-9]+)-(.*).html(/?)+$" /engine/print.php?news_page=$1&newsid=$2&seourl=$3 last; + rewrite "^/([0-9]+)-(.*).html(/?)+$" /index.php?newsid=$1&seourl=$2 last; + + rewrite "^/([0-9]{4})/([0-9]{2})/([0-9]{2})(/?)+$" /index.php?year=$1&month=$2&day=$3 last; + rewrite "^/([0-9]{4})/([0-9]{2})/([0-9]{2})/page/([0-9]+)(/?)+$" /index.php?year=$1&month=$2&day=$3&cstart=$4 last; + + rewrite "^/([0-9]{4})/([0-9]{2})(/?)+$" /index.php?year=$1&month=$2 last; + rewrite "^/([0-9]{4})/([0-9]{2})/page/([0-9]+)(/?)+$" /index.php?year=$1&month=$2&cstart=$3 last; + + rewrite "^/([0-9]{4})(/?)+$" /index.php?year=$1 last; + rewrite "^/([0-9]{4})/page/([0-9]+)(/?)+$" /index.php?year=$1&cstart=$2 last; + + rewrite "^/tags/([^/]*)(/?)+$" /index.php?do=tags&tag=$1 last; + rewrite "^/tags/([^/]*)/page/([0-9]+)(/?)+$" /index.php?do=tags&tag=$1&cstart=$2 last; + + rewrite "^/xfsearch/([^/]*)(/?)+$" /index.php?do=xfsearch&xf=$1 last; + rewrite "^/xfsearch/([^/]*)/page/([0-9]+)(/?)+$" /index.php?do=xfsearch&xf=$1&cstart=$2 last; + + rewrite "^/user/([^/]*)/rss.xml$" /engine/rss.php?subaction=allnews&user=$1 last; + rewrite "^/user/([^/]*)(/?)+$" /index.php?subaction=userinfo&user=$1 last; + rewrite "^/user/([^/]*)/page/([0-9]+)(/?)+$" /index.php?subaction=userinfo&user=$1&cstart=$2 last; + rewrite "^/user/([^/]*)/news(/?)+$" /index.php?subaction=allnews&user=$1 last; + rewrite "^/user/([^/]*)/news/page/([0-9]+)(/?)+$" /index.php?subaction=allnews&user=$1&cstart=$2 last; + rewrite "^/user/([^/]*)/news/rss.xml(/?)+$" /engine/rss.php?subaction=allnews&user=$1 last; + + rewrite "^/lastnews(/?)+$" /index.php?do=lastnews last; + rewrite "^/lastnews/page/([0-9]+)(/?)+$" /index.php?do=lastnews&cstart=$1 last; + + rewrite "^/catalog/([^/]*)/rss.xml$" /engine/rss.php?catalog=$1 last; + rewrite "^/catalog/([^/]*)(/?)+$" /index.php?catalog=$1 last; + rewrite "^/catalog/([^/]*)/page/([0-9]+)(/?)+$" /index.php?catalog=$1&cstart=$2 last; + + rewrite "^/newposts(/?)+$" /index.php?subaction=newposts last; + rewrite "^/newposts/page/([0-9]+)(/?)+$" /index.php?subaction=newposts&cstart=$1 last; + + rewrite "^/favorites(/?)+$" /index.php?do=favorites last; + rewrite "^/favorites/page/([0-9]+)(/?)+$" /index.php?do=favorites&cstart=$1 last; + + rewrite "^/rules.html$" /index.php?do=rules last; + rewrite "^/statistics.html$" /index.php?do=stats last; + rewrite "^/addnews.html$" /index.php?do=addnews last; + rewrite "^/rss.xml$" /engine/rss.php last; + rewrite "^/sitemap.xml$" /uploads/sitemap.xml last; + + if (!-d $request_filename) { + rewrite "^/([^.]+)/page/([0-9]+)(/?)+$" /index.php?do=cat&category=$1&cstart=$2 last; + rewrite "^/([^.]+)/?$" /index.php?do=cat&category=$1 last; + } + + if (!-f $request_filename) { + rewrite "^/([^.]+)/rss.xml$" /engine/rss.php?do=cat&category=$1 last; + rewrite "^/page,([0-9]+),([^/]+).html$" /index.php?do=static&page=$2&news_page=$1 last; + rewrite "^/print:([^/]+).html$" /engine/print.php?do=static&page=$1 last; + } + + if (!-f $request_filename) { + rewrite "^/([^/]+).html$" /index.php?do=static&page=$1 last; + } + + location ~* ^.+\.(jpeg|jpg|png|gif|bmp|ico|svg|css|js)$ { + expires max; + } + + location ~ [^/]\.php(/|$) { + fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; + if (!-f $document_root$fastcgi_script_name) { + return 404; + } + + fastcgi_pass %backend_lsnr%; + fastcgi_index index.php; + include /etc/nginx/fastcgi_params; + } + } + + error_page 403 /error/404.html; + error_page 404 /error/404.html; + error_page 500 502 503 504 /error/50x.html; + + location /error/ { + alias %home%/%user%/web/%domain%/document_errors/; + } + + location ~* "/\.(htaccess|htpasswd)$" { + deny all; + return 404; + } + + location /vstats/ { + alias %home%/%user%/web/%domain%/stats/; + include %home%/%user%/conf/web/%domain%.auth*; + } + + include /etc/nginx/conf.d/phpmyadmin.inc*; + include /etc/nginx/conf.d/phppgadmin.inc*; + include /etc/nginx/conf.d/webmail.inc*; + + include %home%/%user%/conf/web/snginx.%domain%.conf*; +} diff --git a/install/debian/11/templates/web/nginx/php-fpm/datalife_engine.tpl b/install/debian/11/templates/web/nginx/php-fpm/datalife_engine.tpl new file mode 100644 index 00000000..3ea45347 --- /dev/null +++ b/install/debian/11/templates/web/nginx/php-fpm/datalife_engine.tpl @@ -0,0 +1,123 @@ +server { + listen %ip%:%web_port%; + server_name %domain_idn% %alias_idn%; + root %docroot%; + index index.php index.html index.htm; + access_log /var/log/nginx/domains/%domain%.log combined; + access_log /var/log/nginx/domains/%domain%.bytes bytes; + error_log /var/log/nginx/domains/%domain%.error.log error; + + location / { + rewrite "^/page/([0-9]+)(/?)$" /index.php?cstart=$1 last; + + rewrite "^/([0-9]{4})/([0-9]{2})/([0-9]{2})/page,([0-9]+),([0-9]+),(.*).html(/?)+$" /index.php?subaction=showfull&year=$1&month=$2&day=$3&news_page=$4&cstart=$5&news_name=$6&seourl=$6 last; + rewrite "^/([0-9]{4})/([0-9]{2})/([0-9]{2})/page,([0-9]+),(.*).html(/?)+$" /index.php?subaction=showfull&year=$1&month=$2&day=$3&news_page=$4&news_name=$5&seourl=$5 last; + rewrite "^/([0-9]{4})/([0-9]{2})/([0-9]{2})/print:page,([0-9]+),(.*).html(/?)+$" /engine/print.php?subaction=showfull&year=$1&month=$2&day=$3&news_page=$4&news_name=$5&seourl=$5 last; + rewrite "^/([0-9]{4})/([0-9]{2})/([0-9]{2})/(.*).html(/?)+$" /index.php?subaction=showfull&year=$1&month=$2&day=$3&news_name=$4&seourl=$4 last; + + rewrite "^/([^.]+)/page,([0-9]+),([0-9]+),([0-9]+)-(.*).html(/?)+$" /index.php?newsid=$4&news_page=$2&cstart=$3&seourl=$5&seocat=$1 last; + rewrite "^/([^.]+)/page,([0-9]+),([0-9]+)-(.*).html(/?)+$" /index.php?newsid=$3&news_page=$2&seourl=$4&seocat=$1 last; + rewrite "^/([^.]+)/print:page,([0-9]+),([0-9]+)-(.*).html(/?)+$" /engine/print.php?news_page=$2&newsid=$3&seourl=$4&seocat=$1 last; + rewrite "^/([^.]+)/([0-9]+)-(.*).html(/?)+$" /index.php?newsid=$2&seourl=$3&seocat=$1 last; + + rewrite "^/page,([0-9]+),([0-9]+),([0-9]+)-(.*).html(/?)+$" /index.php?newsid=$3&news_page=$1&cstart=$2&seourl=$4 last; + rewrite "^/page,([0-9]+),([0-9]+)-(.*).html(/?)+$" /index.php?newsid=$2&news_page=$1&seourl=$3 last; + rewrite "^/print:page,([0-9]+),([0-9]+)-(.*).html(/?)+$" /engine/print.php?news_page=$1&newsid=$2&seourl=$3 last; + rewrite "^/([0-9]+)-(.*).html(/?)+$" /index.php?newsid=$1&seourl=$2 last; + + rewrite "^/([0-9]{4})/([0-9]{2})/([0-9]{2})(/?)+$" /index.php?year=$1&month=$2&day=$3 last; + rewrite "^/([0-9]{4})/([0-9]{2})/([0-9]{2})/page/([0-9]+)(/?)+$" /index.php?year=$1&month=$2&day=$3&cstart=$4 last; + + rewrite "^/([0-9]{4})/([0-9]{2})(/?)+$" /index.php?year=$1&month=$2 last; + rewrite "^/([0-9]{4})/([0-9]{2})/page/([0-9]+)(/?)+$" /index.php?year=$1&month=$2&cstart=$3 last; + + rewrite "^/([0-9]{4})(/?)+$" /index.php?year=$1 last; + rewrite "^/([0-9]{4})/page/([0-9]+)(/?)+$" /index.php?year=$1&cstart=$2 last; + + rewrite "^/tags/([^/]*)(/?)+$" /index.php?do=tags&tag=$1 last; + rewrite "^/tags/([^/]*)/page/([0-9]+)(/?)+$" /index.php?do=tags&tag=$1&cstart=$2 last; + + rewrite "^/xfsearch/([^/]*)(/?)+$" /index.php?do=xfsearch&xf=$1 last; + rewrite "^/xfsearch/([^/]*)/page/([0-9]+)(/?)+$" /index.php?do=xfsearch&xf=$1&cstart=$2 last; + + rewrite "^/user/([^/]*)/rss.xml$" /engine/rss.php?subaction=allnews&user=$1 last; + rewrite "^/user/([^/]*)(/?)+$" /index.php?subaction=userinfo&user=$1 last; + rewrite "^/user/([^/]*)/page/([0-9]+)(/?)+$" /index.php?subaction=userinfo&user=$1&cstart=$2 last; + rewrite "^/user/([^/]*)/news(/?)+$" /index.php?subaction=allnews&user=$1 last; + rewrite "^/user/([^/]*)/news/page/([0-9]+)(/?)+$" /index.php?subaction=allnews&user=$1&cstart=$2 last; + rewrite "^/user/([^/]*)/news/rss.xml(/?)+$" /engine/rss.php?subaction=allnews&user=$1 last; + + rewrite "^/lastnews(/?)+$" /index.php?do=lastnews last; + rewrite "^/lastnews/page/([0-9]+)(/?)+$" /index.php?do=lastnews&cstart=$1 last; + + rewrite "^/catalog/([^/]*)/rss.xml$" /engine/rss.php?catalog=$1 last; + rewrite "^/catalog/([^/]*)(/?)+$" /index.php?catalog=$1 last; + rewrite "^/catalog/([^/]*)/page/([0-9]+)(/?)+$" /index.php?catalog=$1&cstart=$2 last; + + rewrite "^/newposts(/?)+$" /index.php?subaction=newposts last; + rewrite "^/newposts/page/([0-9]+)(/?)+$" /index.php?subaction=newposts&cstart=$1 last; + + rewrite "^/favorites(/?)+$" /index.php?do=favorites last; + rewrite "^/favorites/page/([0-9]+)(/?)+$" /index.php?do=favorites&cstart=$1 last; + + rewrite "^/rules.html$" /index.php?do=rules last; + rewrite "^/statistics.html$" /index.php?do=stats last; + rewrite "^/addnews.html$" /index.php?do=addnews last; + rewrite "^/rss.xml$" /engine/rss.php last; + rewrite "^/sitemap.xml$" /uploads/sitemap.xml last; + + if (!-d $request_filename) { + rewrite "^/([^.]+)/page/([0-9]+)(/?)+$" /index.php?do=cat&category=$1&cstart=$2 last; + rewrite "^/([^.]+)/?$" /index.php?do=cat&category=$1 last; + } + + if (!-f $request_filename) { + rewrite "^/([^.]+)/rss.xml$" /engine/rss.php?do=cat&category=$1 last; + rewrite "^/page,([0-9]+),([^/]+).html$" /index.php?do=static&page=$2&news_page=$1 last; + rewrite "^/print:([^/]+).html$" /engine/print.php?do=static&page=$1 last; + } + + if (!-f $request_filename) { + rewrite "^/([^/]+).html$" /index.php?do=static&page=$1 last; + } + + location ~* ^.+\.(jpeg|jpg|png|gif|bmp|ico|svg|css|js)$ { + expires max; + } + + location ~ [^/]\.php(/|$) { + fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; + if (!-f $document_root$fastcgi_script_name) { + return 404; + } + + fastcgi_pass %backend_lsnr%; + fastcgi_index index.php; + include /etc/nginx/fastcgi_params; + } + } + + error_page 403 /error/404.html; + error_page 404 /error/404.html; + error_page 500 502 503 504 /error/50x.html; + + location /error/ { + alias %home%/%user%/web/%domain%/document_errors/; + } + + location ~* "/\.(htaccess|htpasswd)$" { + deny all; + return 404; + } + + location /vstats/ { + alias %home%/%user%/web/%domain%/stats/; + include %home%/%user%/conf/web/%domain%.auth*; + } + + include /etc/nginx/conf.d/phpmyadmin.inc*; + include /etc/nginx/conf.d/phppgadmin.inc*; + include /etc/nginx/conf.d/webmail.inc*; + + include %home%/%user%/conf/web/nginx.%domain%.conf*; +} diff --git a/install/debian/11/templates/web/nginx/php-fpm/default.stpl b/install/debian/11/templates/web/nginx/php-fpm/default.stpl new file mode 100644 index 00000000..f9c01e40 --- /dev/null +++ b/install/debian/11/templates/web/nginx/php-fpm/default.stpl @@ -0,0 +1,54 @@ +server { + listen %ip%:%web_ssl_port% ssl http2; + server_name %domain_idn% %alias_idn%; + root %sdocroot%; + index index.php index.html index.htm; + access_log /var/log/nginx/domains/%domain%.log combined; + access_log /var/log/nginx/domains/%domain%.bytes bytes; + error_log /var/log/nginx/domains/%domain%.error.log error; + + ssl_certificate %ssl_pem%; + ssl_certificate_key %ssl_key%; + + location / { + + location ~* ^.+\.(jpeg|jpg|png|gif|bmp|ico|svg|css|js)$ { + expires max; + } + + location ~ [^/]\.php(/|$) { + fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; + if (!-f $document_root$fastcgi_script_name) { + return 404; + } + + fastcgi_pass %backend_lsnr%; + fastcgi_index index.php; + include /etc/nginx/fastcgi_params; + } + } + + error_page 403 /error/404.html; + error_page 404 /error/404.html; + error_page 500 502 503 504 /error/50x.html; + + location /error/ { + alias %home%/%user%/web/%domain%/document_errors/; + } + + location ~* "/\.(htaccess|htpasswd)$" { + deny all; + return 404; + } + + location /vstats/ { + alias %home%/%user%/web/%domain%/stats/; + include %home%/%user%/conf/web/%domain%.auth*; + } + + include /etc/nginx/conf.d/phpmyadmin.inc*; + include /etc/nginx/conf.d/phppgadmin.inc*; + include /etc/nginx/conf.d/webmail.inc*; + + include %home%/%user%/conf/web/snginx.%domain%.conf*; +} diff --git a/install/debian/11/templates/web/nginx/php-fpm/default.tpl b/install/debian/11/templates/web/nginx/php-fpm/default.tpl new file mode 100644 index 00000000..a8909efb --- /dev/null +++ b/install/debian/11/templates/web/nginx/php-fpm/default.tpl @@ -0,0 +1,51 @@ +server { + listen %ip%:%web_port%; + server_name %domain_idn% %alias_idn%; + root %docroot%; + index index.php index.html index.htm; + access_log /var/log/nginx/domains/%domain%.log combined; + access_log /var/log/nginx/domains/%domain%.bytes bytes; + error_log /var/log/nginx/domains/%domain%.error.log error; + + location / { + + location ~* ^.+\.(jpeg|jpg|png|gif|bmp|ico|svg|css|js)$ { + expires max; + } + + location ~ [^/]\.php(/|$) { + fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; + if (!-f $document_root$fastcgi_script_name) { + return 404; + } + + fastcgi_pass %backend_lsnr%; + fastcgi_index index.php; + include /etc/nginx/fastcgi_params; + } + } + + error_page 403 /error/404.html; + error_page 404 /error/404.html; + error_page 500 502 503 504 /error/50x.html; + + location /error/ { + alias %home%/%user%/web/%domain%/document_errors/; + } + + location ~* "/\.(htaccess|htpasswd)$" { + deny all; + return 404; + } + + location /vstats/ { + alias %home%/%user%/web/%domain%/stats/; + include %home%/%user%/conf/web/%domain%.auth*; + } + + include /etc/nginx/conf.d/phpmyadmin.inc*; + include /etc/nginx/conf.d/phppgadmin.inc*; + include /etc/nginx/conf.d/webmail.inc*; + + include %home%/%user%/conf/web/nginx.%domain%.conf*; +} diff --git a/install/debian/11/templates/web/nginx/php-fpm/dokuwiki.stpl b/install/debian/11/templates/web/nginx/php-fpm/dokuwiki.stpl new file mode 100644 index 00000000..a7564705 --- /dev/null +++ b/install/debian/11/templates/web/nginx/php-fpm/dokuwiki.stpl @@ -0,0 +1,71 @@ +server { + listen %ip%:%web_ssl_port% ssl http2; + server_name %domain_idn% %alias_idn%; + root %sdocroot%; + index index.php index.html index.htm; + access_log /var/log/nginx/domains/%domain%.log combined; + access_log /var/log/nginx/domains/%domain%.bytes bytes; + error_log /var/log/nginx/domains/%domain%.error.log error; + + ssl_certificate %ssl_pem%; + ssl_certificate_key %ssl_key%; + + location / { + index doku.php; + try_files $uri $uri/ @dokuwiki; + + location ~* ^.+\.(jpeg|jpg|png|gif|bmp|ico|svg|css|js)$ { + expires max; + } + + location ~ [^/]\.php(/|$) { + fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; + if (!-f $document_root$fastcgi_script_name) { + return 404; + } + + fastcgi_pass %backend_lsnr%; + fastcgi_index index.php; + fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; + include /etc/nginx/fastcgi_params; + } + } + + location ~ ^/lib.*\.(gif|png|ico|jpg)$ { + expires 30d; + } + + location ^~ /conf/ { return 403; } + location ^~ /data/ { return 403; } + + location @dokuwiki { + rewrite ^/_media/(.*) /lib/exe/fetch.php?media=$1 last; + rewrite ^/_detail/(.*) /lib/exe/detail.php?media=$1 last; + rewrite ^/_export/([^/]+)/(.*) /doku.php?do=export_$1&id=$2 last; + rewrite ^/(.*) /doku.php?id=$1 last; + } + + error_page 403 /error/404.html; + error_page 404 /error/404.html; + error_page 500 502 503 504 /error/50x.html; + + location /error/ { + alias %home%/%user%/web/%domain%/document_errors/; + } + + location ~* "/\.(htaccess|htpasswd)$" { + deny all; + return 404; + } + + location /vstats/ { + alias %home%/%user%/web/%domain%/stats/; + include %home%/%user%/conf/web/%domain%.auth*; + } + + include /etc/nginx/conf.d/phpmyadmin.inc*; + include /etc/nginx/conf.d/phppgadmin.inc*; + include /etc/nginx/conf.d/webmail.inc*; + + include %home%/%user%/conf/web/snginx.%domain%.conf*; +} diff --git a/install/debian/11/templates/web/nginx/php-fpm/dokuwiki.tpl b/install/debian/11/templates/web/nginx/php-fpm/dokuwiki.tpl new file mode 100644 index 00000000..0a9a75ed --- /dev/null +++ b/install/debian/11/templates/web/nginx/php-fpm/dokuwiki.tpl @@ -0,0 +1,67 @@ +server { + listen %ip%:%web_port%; + server_name %domain_idn% %alias_idn%; + root %docroot%; + index index.php index.html index.htm; + access_log /var/log/nginx/domains/%domain%.log combined; + access_log /var/log/nginx/domains/%domain%.bytes bytes; + error_log /var/log/nginx/domains/%domain%.error.log error; + + location / { + index doku.php; + try_files $uri $uri/ @dokuwiki; + + location ~* ^.+\.(jpeg|jpg|png|gif|bmp|ico|svg|css|js)$ { + expires max; + } + + location ~ [^/]\.php(/|$) { + fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; + if (!-f $document_root$fastcgi_script_name) { + return 404; + } + + fastcgi_pass %backend_lsnr%; + fastcgi_index index.php; + fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; + include /etc/nginx/fastcgi_params; + } + } + + location ~ ^/lib.*\.(gif|png|ico|jpg)$ { + expires 30d; + } + + location ^~ /conf/ { return 403; } + location ^~ /data/ { return 403; } + location @dokuwiki { + rewrite ^/_media/(.*) /lib/exe/fetch.php?media=$1 last; + rewrite ^/_detail/(.*) /lib/exe/detail.php?media=$1 last; + rewrite ^/_export/([^/]+)/(.*) /doku.php?do=export_$1&id=$2 last; + rewrite ^/(.*) /doku.php?id=$1 last; + } + + error_page 403 /error/404.html; + error_page 404 /error/404.html; + error_page 500 502 503 504 /error/50x.html; + + location /error/ { + alias %home%/%user%/web/%domain%/document_errors/; + } + + location ~* "/\.(htaccess|htpasswd)$" { + deny all; + return 404; + } + + location /vstats/ { + alias %home%/%user%/web/%domain%/stats/; + include %home%/%user%/conf/web/%domain%.auth*; + } + + include /etc/nginx/conf.d/phpmyadmin.inc*; + include /etc/nginx/conf.d/phppgadmin.inc*; + include /etc/nginx/conf.d/webmail.inc*; + + include %home%/%user%/conf/web/nginx.%domain%.conf*; +} diff --git a/install/debian/11/templates/web/nginx/php-fpm/drupal6.stpl b/install/debian/11/templates/web/nginx/php-fpm/drupal6.stpl new file mode 100644 index 00000000..6e67a4e0 --- /dev/null +++ b/install/debian/11/templates/web/nginx/php-fpm/drupal6.stpl @@ -0,0 +1,94 @@ +server { + listen %ip%:%web_ssl_port% ssl http2; + server_name %domain_idn% %alias_idn%; + root %sdocroot%; + index index.php index.html index.htm; + access_log /var/log/nginx/domains/%domain%.log combined; + access_log /var/log/nginx/domains/%domain%.bytes bytes; + error_log /var/log/nginx/domains/%domain%.error.log error; + + ssl_certificate %ssl_pem%; + ssl_certificate_key %ssl_key%; + + location = /favicon.ico { + log_not_found off; + access_log off; + } + + location = /robots.txt { + allow all; + log_not_found off; + access_log off; + } + + location ~* \.(txt|log)$ { + allow 192.168.0.0/16; + deny all; + } + + location ~ \..*/.*\.php$ { + return 403; + } + + location ~ ^/sites/.*/private/ { + return 403; + } + + location ~ ^/sites/[^/]+/files/.*\.php$ { + deny all; + } + + location / { + try_files $uri @rewrite; + } + + location @rewrite { + rewrite ^/(.*)$ /index.php?q=$1; + } + + location ~ /vendor/.*\.php$ { + deny all; + return 404; + } + + location ~* ^.+\.(jpeg|jpg|png|gif|bmp|ico|svg|css|js)$ { + try_files $uri @rewrite; + expires max; + log_not_found off; + } + + location ~ ^/sites/.*/files/imagecache/ { + try_files $uri @rewrite; + } + + location ~ '\.php$|^/update.php' { + fastcgi_split_path_info ^(.+?\.php)(|/.*)$; + fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; + fastcgi_pass %backend_lsnr%; + include /etc/nginx/fastcgi_params; + } + + error_page 403 /error/404.html; + error_page 404 /error/404.html; + error_page 500 502 503 504 /error/50x.html; + + location /error/ { + alias %home%/%user%/web/%domain%/document_errors/; + } + + location ~* "/\.(htaccess|htpasswd)$" { + deny all; + return 404; + } + + location /vstats/ { + alias %home%/%user%/web/%domain%/stats/; + include %home%/%user%/conf/web/%domain%.auth*; + } + + include /etc/nginx/conf.d/phpmyadmin.inc*; + include /etc/nginx/conf.d/phppgadmin.inc*; + include /etc/nginx/conf.d/webmail.inc*; + + include %home%/%user%/conf/web/snginx.%domain%.conf*; +} diff --git a/install/debian/11/templates/web/nginx/php-fpm/drupal6.tpl b/install/debian/11/templates/web/nginx/php-fpm/drupal6.tpl new file mode 100644 index 00000000..d1096bff --- /dev/null +++ b/install/debian/11/templates/web/nginx/php-fpm/drupal6.tpl @@ -0,0 +1,91 @@ +server { + listen %ip%:%web_port%; + server_name %domain_idn% %alias_idn%; + root %docroot%; + index index.php index.html index.htm; + access_log /var/log/nginx/domains/%domain%.log combined; + access_log /var/log/nginx/domains/%domain%.bytes bytes; + error_log /var/log/nginx/domains/%domain%.error.log error; + + location = /favicon.ico { + log_not_found off; + access_log off; + } + + location = /robots.txt { + allow all; + log_not_found off; + access_log off; + } + + location ~* \.(txt|log)$ { + allow 192.168.0.0/16; + deny all; + } + + location ~ \..*/.*\.php$ { + return 403; + } + + location ~ ^/sites/.*/private/ { + return 403; + } + + location ~ ^/sites/[^/]+/files/.*\.php$ { + deny all; + } + + location / { + try_files $uri @rewrite; + } + + location @rewrite { + rewrite ^/(.*)$ /index.php?q=$1; + } + + location ~ /vendor/.*\.php$ { + deny all; + return 404; + } + + location ~* ^.+\.(jpeg|jpg|png|gif|bmp|ico|svg|css|js)$ { + try_files $uri @rewrite; + expires max; + log_not_found off; + } + + location ~ ^/sites/.*/files/imagecache/ { + try_files $uri @rewrite; + } + + location ~ '\.php$|^/update.php' { + fastcgi_split_path_info ^(.+?\.php)(|/.*)$; + fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; + fastcgi_pass %backend_lsnr%; + include /etc/nginx/fastcgi_params; + } + + error_page 403 /error/404.html; + error_page 404 /error/404.html; + error_page 500 502 503 504 /error/50x.html; + + location /error/ { + alias %home%/%user%/web/%domain%/document_errors/; + } + + location ~* "/\.(htaccess|htpasswd)$" { + deny all; + return 404; + } + + location /vstats/ { + alias %home%/%user%/web/%domain%/stats/; + include %home%/%user%/conf/web/%domain%.auth*; + } + + include /etc/nginx/conf.d/phpmyadmin.inc*; + include /etc/nginx/conf.d/phppgadmin.inc*; + include /etc/nginx/conf.d/webmail.inc*; + + include %home%/%user%/conf/web/nginx.%domain%.conf*; +} diff --git a/install/debian/11/templates/web/nginx/php-fpm/drupal7.stpl b/install/debian/11/templates/web/nginx/php-fpm/drupal7.stpl new file mode 100644 index 00000000..32f01a6f --- /dev/null +++ b/install/debian/11/templates/web/nginx/php-fpm/drupal7.stpl @@ -0,0 +1,94 @@ +server { + listen %ip%:%web_ssl_port% ssl http2; + server_name %domain_idn% %alias_idn%; + root %sdocroot%; + index index.php index.html index.htm; + access_log /var/log/nginx/domains/%domain%.log combined; + access_log /var/log/nginx/domains/%domain%.bytes bytes; + error_log /var/log/nginx/domains/%domain%.error.log error; + + ssl_certificate %ssl_pem%; + ssl_certificate_key %ssl_key%; + + location = /favicon.ico { + log_not_found off; + access_log off; + } + + location = /robots.txt { + allow all; + log_not_found off; + access_log off; + } + + location ~* \.(txt|log)$ { + allow 192.168.0.0/16; + deny all; + } + + location ~ \..*/.*\.php$ { + return 403; + } + + location ~ ^/sites/.*/private/ { + return 403; + } + + location ~ ^/sites/[^/]+/files/.*\.php$ { + deny all; + } + + location / { + try_files $uri /index.php?$query_string; + } + + location ~ /vendor/.*\.php$ { + deny all; + return 404; + } + + location ~ ^/sites/.*/files/styles/ { + try_files $uri @rewrite; + } + + location ~ ^(/[a-z\-]+)?/system/files/ { + try_files $uri /index.php?$query_string; + } + + location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg)$ { + try_files $uri @rewrite; + expires max; + log_not_found off; + } + + location ~ '\.php$|^/update.php' { + fastcgi_split_path_info ^(.+?\.php)(|/.*)$; + fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; + fastcgi_pass %backend_lsnr%; + include /etc/nginx/fastcgi_params; + } + + error_page 403 /error/404.html; + error_page 404 /error/404.html; + error_page 500 502 503 504 /error/50x.html; + + location /error/ { + alias %home%/%user%/web/%domain%/document_errors/; + } + + location ~* "/\.(htaccess|htpasswd)$" { + deny all; + return 404; + } + + location /vstats/ { + alias %home%/%user%/web/%domain%/stats/; + include %home%/%user%/conf/web/%domain%.auth*; + } + + include /etc/nginx/conf.d/phpmyadmin.inc*; + include /etc/nginx/conf.d/phppgadmin.inc*; + include /etc/nginx/conf.d/webmail.inc*; + + include %home%/%user%/conf/web/snginx.%domain%.conf*; +} diff --git a/install/debian/11/templates/web/nginx/php-fpm/drupal7.tpl b/install/debian/11/templates/web/nginx/php-fpm/drupal7.tpl new file mode 100644 index 00000000..c9729795 --- /dev/null +++ b/install/debian/11/templates/web/nginx/php-fpm/drupal7.tpl @@ -0,0 +1,91 @@ +server { + listen %ip%:%web_port%; + server_name %domain_idn% %alias_idn%; + root %docroot%; + index index.php index.html index.htm; + access_log /var/log/nginx/domains/%domain%.log combined; + access_log /var/log/nginx/domains/%domain%.bytes bytes; + error_log /var/log/nginx/domains/%domain%.error.log error; + + location = /favicon.ico { + log_not_found off; + access_log off; + } + + location = /robots.txt { + allow all; + log_not_found off; + access_log off; + } + + location ~* \.(txt|log)$ { + allow 192.168.0.0/16; + deny all; + } + + location ~ \..*/.*\.php$ { + return 403; + } + + location ~ ^/sites/.*/private/ { + return 403; + } + + location ~ ^/sites/[^/]+/files/.*\.php$ { + deny all; + } + + location / { + try_files $uri /index.php?$query_string; + } + + location ~ /vendor/.*\.php$ { + deny all; + return 404; + } + + location ~ ^/sites/.*/files/styles/ { + try_files $uri @rewrite; + } + + location ~ ^(/[a-z\-]+)?/system/files/ { + try_files $uri /index.php?$query_string; + } + + location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg)$ { + try_files $uri @rewrite; + expires max; + log_not_found off; + } + + location ~ '\.php$|^/update.php' { + fastcgi_split_path_info ^(.+?\.php)(|/.*)$; + fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; + fastcgi_pass %backend_lsnr%; + include /etc/nginx/fastcgi_params; + } + + error_page 403 /error/404.html; + error_page 404 /error/404.html; + error_page 500 502 503 504 /error/50x.html; + + location /error/ { + alias %home%/%user%/web/%domain%/document_errors/; + } + + location ~* "/\.(htaccess|htpasswd)$" { + deny all; + return 404; + } + + location /vstats/ { + alias %home%/%user%/web/%domain%/stats/; + include %home%/%user%/conf/web/%domain%.auth*; + } + + include /etc/nginx/conf.d/phpmyadmin.inc*; + include /etc/nginx/conf.d/phppgadmin.inc*; + include /etc/nginx/conf.d/webmail.inc*; + + include %home%/%user%/conf/web/nginx.%domain%.conf*; +} diff --git a/install/debian/11/templates/web/nginx/php-fpm/drupal8.stpl b/install/debian/11/templates/web/nginx/php-fpm/drupal8.stpl new file mode 100644 index 00000000..32f01a6f --- /dev/null +++ b/install/debian/11/templates/web/nginx/php-fpm/drupal8.stpl @@ -0,0 +1,94 @@ +server { + listen %ip%:%web_ssl_port% ssl http2; + server_name %domain_idn% %alias_idn%; + root %sdocroot%; + index index.php index.html index.htm; + access_log /var/log/nginx/domains/%domain%.log combined; + access_log /var/log/nginx/domains/%domain%.bytes bytes; + error_log /var/log/nginx/domains/%domain%.error.log error; + + ssl_certificate %ssl_pem%; + ssl_certificate_key %ssl_key%; + + location = /favicon.ico { + log_not_found off; + access_log off; + } + + location = /robots.txt { + allow all; + log_not_found off; + access_log off; + } + + location ~* \.(txt|log)$ { + allow 192.168.0.0/16; + deny all; + } + + location ~ \..*/.*\.php$ { + return 403; + } + + location ~ ^/sites/.*/private/ { + return 403; + } + + location ~ ^/sites/[^/]+/files/.*\.php$ { + deny all; + } + + location / { + try_files $uri /index.php?$query_string; + } + + location ~ /vendor/.*\.php$ { + deny all; + return 404; + } + + location ~ ^/sites/.*/files/styles/ { + try_files $uri @rewrite; + } + + location ~ ^(/[a-z\-]+)?/system/files/ { + try_files $uri /index.php?$query_string; + } + + location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg)$ { + try_files $uri @rewrite; + expires max; + log_not_found off; + } + + location ~ '\.php$|^/update.php' { + fastcgi_split_path_info ^(.+?\.php)(|/.*)$; + fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; + fastcgi_pass %backend_lsnr%; + include /etc/nginx/fastcgi_params; + } + + error_page 403 /error/404.html; + error_page 404 /error/404.html; + error_page 500 502 503 504 /error/50x.html; + + location /error/ { + alias %home%/%user%/web/%domain%/document_errors/; + } + + location ~* "/\.(htaccess|htpasswd)$" { + deny all; + return 404; + } + + location /vstats/ { + alias %home%/%user%/web/%domain%/stats/; + include %home%/%user%/conf/web/%domain%.auth*; + } + + include /etc/nginx/conf.d/phpmyadmin.inc*; + include /etc/nginx/conf.d/phppgadmin.inc*; + include /etc/nginx/conf.d/webmail.inc*; + + include %home%/%user%/conf/web/snginx.%domain%.conf*; +} diff --git a/install/debian/11/templates/web/nginx/php-fpm/drupal8.tpl b/install/debian/11/templates/web/nginx/php-fpm/drupal8.tpl new file mode 100644 index 00000000..c9729795 --- /dev/null +++ b/install/debian/11/templates/web/nginx/php-fpm/drupal8.tpl @@ -0,0 +1,91 @@ +server { + listen %ip%:%web_port%; + server_name %domain_idn% %alias_idn%; + root %docroot%; + index index.php index.html index.htm; + access_log /var/log/nginx/domains/%domain%.log combined; + access_log /var/log/nginx/domains/%domain%.bytes bytes; + error_log /var/log/nginx/domains/%domain%.error.log error; + + location = /favicon.ico { + log_not_found off; + access_log off; + } + + location = /robots.txt { + allow all; + log_not_found off; + access_log off; + } + + location ~* \.(txt|log)$ { + allow 192.168.0.0/16; + deny all; + } + + location ~ \..*/.*\.php$ { + return 403; + } + + location ~ ^/sites/.*/private/ { + return 403; + } + + location ~ ^/sites/[^/]+/files/.*\.php$ { + deny all; + } + + location / { + try_files $uri /index.php?$query_string; + } + + location ~ /vendor/.*\.php$ { + deny all; + return 404; + } + + location ~ ^/sites/.*/files/styles/ { + try_files $uri @rewrite; + } + + location ~ ^(/[a-z\-]+)?/system/files/ { + try_files $uri /index.php?$query_string; + } + + location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg)$ { + try_files $uri @rewrite; + expires max; + log_not_found off; + } + + location ~ '\.php$|^/update.php' { + fastcgi_split_path_info ^(.+?\.php)(|/.*)$; + fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; + fastcgi_pass %backend_lsnr%; + include /etc/nginx/fastcgi_params; + } + + error_page 403 /error/404.html; + error_page 404 /error/404.html; + error_page 500 502 503 504 /error/50x.html; + + location /error/ { + alias %home%/%user%/web/%domain%/document_errors/; + } + + location ~* "/\.(htaccess|htpasswd)$" { + deny all; + return 404; + } + + location /vstats/ { + alias %home%/%user%/web/%domain%/stats/; + include %home%/%user%/conf/web/%domain%.auth*; + } + + include /etc/nginx/conf.d/phpmyadmin.inc*; + include /etc/nginx/conf.d/phppgadmin.inc*; + include /etc/nginx/conf.d/webmail.inc*; + + include %home%/%user%/conf/web/nginx.%domain%.conf*; +} diff --git a/install/debian/11/templates/web/nginx/php-fpm/joomla.stpl b/install/debian/11/templates/web/nginx/php-fpm/joomla.stpl new file mode 100644 index 00000000..d4f96ee3 --- /dev/null +++ b/install/debian/11/templates/web/nginx/php-fpm/joomla.stpl @@ -0,0 +1,62 @@ +server { + listen %ip%:%web_ssl_port% ssl http2; + server_name %domain_idn% %alias_idn%; + root %sdocroot%; + index index.php index.html index.htm; + access_log /var/log/nginx/domains/%domain%.log combined; + access_log /var/log/nginx/domains/%domain%.bytes bytes; + error_log /var/log/nginx/domains/%domain%.error.log error; + + ssl_certificate %ssl_pem%; + ssl_certificate_key %ssl_key%; + + location / { + try_files $uri $uri/ /index.php?$args; + + location ~* ^.+\.(jpeg|jpg|png|gif|bmp|ico|svg|css|js)$ { + expires max; + } + + # deny running scripts inside writable directories + location ~* /(images|cache|media|logs|tmp)/.*\.(php|pl|py|jsp|asp|sh|cgi)$ { + return 403; + error_page 403 /403_error.html; + } + + location ~ [^/]\.php(/|$) { + fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; + if (!-f $document_root$fastcgi_script_name) { + return 404; + } + + fastcgi_pass %backend_lsnr%; + fastcgi_index index.php; + fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; + include /etc/nginx/fastcgi_params; + } + } + + error_page 403 /error/404.html; + error_page 404 /error/404.html; + error_page 500 502 503 504 /error/50x.html; + + location /error/ { + alias %home%/%user%/web/%domain%/document_errors/; + } + + location ~* "/\.(htaccess|htpasswd)$" { + deny all; + return 404; + } + + location /vstats/ { + alias %home%/%user%/web/%domain%/stats/; + include %home%/%user%/conf/web/%domain%.auth*; + } + + include /etc/nginx/conf.d/phpmyadmin.inc*; + include /etc/nginx/conf.d/phppgadmin.inc*; + include /etc/nginx/conf.d/webmail.inc*; + + include %home%/%user%/conf/web/snginx.%domain%.conf*; +} diff --git a/install/debian/11/templates/web/nginx/php-fpm/joomla.tpl b/install/debian/11/templates/web/nginx/php-fpm/joomla.tpl new file mode 100644 index 00000000..91b7a8f1 --- /dev/null +++ b/install/debian/11/templates/web/nginx/php-fpm/joomla.tpl @@ -0,0 +1,59 @@ +server { + listen %ip%:%web_port%; + server_name %domain_idn% %alias_idn%; + root %docroot%; + index index.php index.html index.htm; + access_log /var/log/nginx/domains/%domain%.log combined; + access_log /var/log/nginx/domains/%domain%.bytes bytes; + error_log /var/log/nginx/domains/%domain%.error.log error; + + location / { + try_files $uri $uri/ /index.php?$args; + + location ~* ^.+\.(jpeg|jpg|png|gif|bmp|ico|svg|css|js)$ { + expires max; + } + + # deny running scripts inside writable directories + location ~* /(images|cache|media|logs|tmp)/.*\.(php|pl|py|jsp|asp|sh|cgi)$ { + return 403; + error_page 403 /403_error.html; + } + + location ~ [^/]\.php(/|$) { + fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; + if (!-f $document_root$fastcgi_script_name) { + return 404; + } + + fastcgi_pass %backend_lsnr%; + fastcgi_index index.php; + fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; + include /etc/nginx/fastcgi_params; + } + } + + error_page 403 /error/404.html; + error_page 404 /error/404.html; + error_page 500 502 503 504 /error/50x.html; + + location /error/ { + alias %home%/%user%/web/%domain%/document_errors/; + } + + location ~* "/\.(htaccess|htpasswd)$" { + deny all; + return 404; + } + + location /vstats/ { + alias %home%/%user%/web/%domain%/stats/; + include %home%/%user%/conf/web/%domain%.auth*; + } + + include /etc/nginx/conf.d/phpmyadmin.inc*; + include /etc/nginx/conf.d/phppgadmin.inc*; + include /etc/nginx/conf.d/webmail.inc*; + + include %home%/%user%/conf/web/nginx.%domain%.conf*; +} diff --git a/install/debian/11/templates/web/nginx/php-fpm/laravel.stpl b/install/debian/11/templates/web/nginx/php-fpm/laravel.stpl new file mode 100644 index 00000000..db0b4dde --- /dev/null +++ b/install/debian/11/templates/web/nginx/php-fpm/laravel.stpl @@ -0,0 +1,54 @@ +server { + listen %ip%:%web_ssl_port% ssl http2; + server_name %domain_idn% %alias_idn%; + root %sdocroot%/public; + index index.php index.html index.htm; + access_log /var/log/nginx/domains/%domain%.log combined; + access_log /var/log/nginx/domains/%domain%.bytes bytes; + error_log /var/log/nginx/domains/%domain%.error.log error; + + ssl_certificate %ssl_pem%; + ssl_certificate_key %ssl_key%; + + location / { + try_files $uri $uri/ /index.php?$query_string; + location ~* ^.+\.(jpeg|jpg|png|gif|bmp|ico|svg|css|js)$ { + expires max; + } + + location ~ [^/]\.php(/|$) { + fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; + if (!-f $document_root$fastcgi_script_name) { + return 404; + } + + fastcgi_pass %backend_lsnr%; + fastcgi_index index.php; + include /etc/nginx/fastcgi_params; + } + } + + error_page 403 /error/404.html; + error_page 404 /error/404.html; + error_page 500 502 503 504 /error/50x.html; + + location /error/ { + alias %home%/%user%/web/%domain%/document_errors/; + } + + location ~* "/\.(htaccess|htpasswd)$" { + deny all; + return 404; + } + + location /vstats/ { + alias %home%/%user%/web/%domain%/stats/; + include %home%/%user%/conf/web/%domain%.auth*; + } + + include /etc/nginx/conf.d/phpmyadmin.inc*; + include /etc/nginx/conf.d/phppgadmin.inc*; + include /etc/nginx/conf.d/webmail.inc*; + + include %home%/%user%/conf/web/snginx.%domain%.conf*; +} diff --git a/install/debian/11/templates/web/nginx/php-fpm/laravel.tpl b/install/debian/11/templates/web/nginx/php-fpm/laravel.tpl new file mode 100644 index 00000000..d14b0173 --- /dev/null +++ b/install/debian/11/templates/web/nginx/php-fpm/laravel.tpl @@ -0,0 +1,50 @@ +server { + listen %ip%:%web_port%; + server_name %domain_idn% %alias_idn%; + root %docroot%/public; + index index.php index.html index.htm; + access_log /var/log/nginx/domains/%domain%.log combined; + access_log /var/log/nginx/domains/%domain%.bytes bytes; + error_log /var/log/nginx/domains/%domain%.error.log error; + location / { + try_files $uri $uri/ /index.php?$query_string; + location ~* ^.+\.(jpeg|jpg|png|gif|bmp|ico|svg|css|js)$ { + expires max; + } + + location ~ [^/]\.php(/|$) { + fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; + if (!-f $document_root$fastcgi_script_name) { + return 404; + } + + fastcgi_pass %backend_lsnr%; + fastcgi_index index.php; + include /etc/nginx/fastcgi_params; + } + } + + error_page 403 /error/404.html; + error_page 404 /error/404.html; + error_page 500 502 503 504 /error/50x.html; + + location /error/ { + alias %home%/%user%/web/%domain%/document_errors/; + } + + location ~* "/\.(htaccess|htpasswd)$" { + deny all; + return 404; + } + + location /vstats/ { + alias %home%/%user%/web/%domain%/stats/; + include %home%/%user%/conf/web/%domain%.auth*; + } + + include /etc/nginx/conf.d/phpmyadmin.inc*; + include /etc/nginx/conf.d/phppgadmin.inc*; + include /etc/nginx/conf.d/webmail.inc*; + + include %home%/%user%/conf/web/nginx.%domain%.conf*; +} diff --git a/install/debian/11/templates/web/nginx/php-fpm/magento.stpl b/install/debian/11/templates/web/nginx/php-fpm/magento.stpl new file mode 100644 index 00000000..f8ac30c9 --- /dev/null +++ b/install/debian/11/templates/web/nginx/php-fpm/magento.stpl @@ -0,0 +1,197 @@ +server { + listen %ip%:%web_ssl_port% ssl http2; + server_name %domain_idn% %alias_idn%; + + root %sdocroot%/pub; + index index.php; + autoindex off; + charset UTF-8; + error_page 404 403 = /errors/404.php; + add_header "X-UA-Compatible" "IE=Edge"; + + ssl_certificate %ssl_pem%; + ssl_certificate_key %ssl_key%; + + access_log /var/log/nginx/domains/%domain%.log combined; + access_log /var/log/nginx/domains/%domain%.bytes bytes; + error_log /var/log/nginx/domains/%domain%.error.log error; + + # PHP entry point for setup application + location ~* ^/setup($|/) { + root %sdocroot%; + + location ~ ^/setup/index.php { + fastcgi_pass %backend_lsnr%; + fastcgi_index index.php; + fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; + include /etc/nginx/fastcgi_params; + } + + location ~ ^/setup/(?!pub/). { + deny all; + } + + location ~ ^/setup/pub/ { + add_header X-Frame-Options "SAMEORIGIN"; + } + } + + # PHP entry point for update application + location ~* ^/update($|/) { + root %sdocroot%; + + location ~ ^/update/index.php { + fastcgi_split_path_info ^(/update/index.php)(/.+)$; + fastcgi_pass %backend_lsnr%; + fastcgi_index index.php; + fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; + fastcgi_param PATH_INFO $fastcgi_path_info; + include /etc/nginx/fastcgi_params; + } + + # Deny everything but index.php + location ~ ^/update/(?!pub/). { + deny all; + } + + location ~ ^/update/pub/ { + add_header X-Frame-Options "SAMEORIGIN"; + } + } + + location / { + try_files $uri $uri/ /index.php?$args; + } + + location /pub/ { + location ~ ^/pub/media/(downloadable|customer|import|theme_customization/.*\.xml) { + deny all; + } + + alias %sdocroot%/pub/; + add_header X-Frame-Options "SAMEORIGIN"; + } + + location /static/ { + # Uncomment the following line in production mode + # expires max; + + # Remove signature of the static files that is used to overcome the browser cache + location ~ ^/static/version { + rewrite ^/static/(version\d*/)?(.*)$ /static/$2 last; + } + + location ~* \.(ico|jpg|jpeg|png|gif|svg|js|css|swf|eot|ttf|otf|woff|woff2)$ { + add_header Cache-Control "public"; + add_header X-Frame-Options "SAMEORIGIN"; + expires +1y; + + if (!-f $request_filename) { + rewrite ^/static/(version\d*/)?(.*)$ /static.php?resource=$2 last; + } + } + + location ~* \.(zip|gz|gzip|bz2|csv|xml)$ { + add_header Cache-Control "no-store"; + add_header X-Frame-Options "SAMEORIGIN"; + expires off; + + if (!-f $request_filename) { + rewrite ^/static/(version\d*/)?(.*)$ /static.php?resource=$2 last; + } + } + + if (!-f $request_filename) { + rewrite ^/static/(version\d*/)?(.*)$ /static.php?resource=$2 last; + } + + add_header X-Frame-Options "SAMEORIGIN"; + } + + location /media/ { + try_files $uri $uri/ /get.php?$args; + + location ~ ^/media/theme_customization/.*\.xml { + deny all; + } + + location ~* \.(ico|jpg|jpeg|png|gif|svg|js|css|swf|eot|ttf|otf|woff|woff2)$ { + add_header Cache-Control "public"; + add_header X-Frame-Options "SAMEORIGIN"; + expires +1y; + try_files $uri $uri/ /get.php?$args; + } + + location ~* \.(zip|gz|gzip|bz2|csv|xml)$ { + add_header Cache-Control "no-store"; + add_header X-Frame-Options "SAMEORIGIN"; + expires off; + try_files $uri $uri/ /get.php?$args; + } + + add_header X-Frame-Options "SAMEORIGIN"; + } + + location /media/customer/ { + deny all; + } + + location /media/downloadable/ { + deny all; + } + + location /media/import/ { + deny all; + } + + # PHP entry point for main application + location ~ (index|get|static|report|404|503)\.php$ { + try_files $uri =404; + + fastcgi_pass %backend_lsnr%; + fastcgi_buffers 1024 4k; + fastcgi_read_timeout 600s; + fastcgi_connect_timeout 600s; + + fastcgi_index index.php; + fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; + include /etc/nginx/fastcgi_params; + } + + gzip on; + gzip_disable "msie6"; + + gzip_comp_level 6; + gzip_min_length 1100; + gzip_buffers 16 8k; + gzip_proxied any; + gzip_types + text/plain + text/css + text/js + text/xml + text/javascript + application/javascript + application/x-javascript + application/json + application/xml + application/xml+rss + image/svg+xml; + gzip_vary on; + + # Banned locations (only reached if the earlier PHP entry point regexes don't match) + location ~* (\.php$|\.htaccess$|\.git) { + deny all; + } + + location /vstats/ { + alias %home%/%user%/web/%domain%/stats/; + include %home%/%user%/conf/web/%domain%.auth*; + } + + include /etc/nginx/conf.d/phpmyadmin.inc*; + include /etc/nginx/conf.d/phppgadmin.inc*; + include /etc/nginx/conf.d/webmail.inc*; + + include %home%/%user%/conf/web/snginx.%domain%.conf*; +} diff --git a/install/debian/11/templates/web/nginx/php-fpm/magento.tpl b/install/debian/11/templates/web/nginx/php-fpm/magento.tpl new file mode 100644 index 00000000..3f292fff --- /dev/null +++ b/install/debian/11/templates/web/nginx/php-fpm/magento.tpl @@ -0,0 +1,194 @@ +server { + listen %ip%:%web_port%; + server_name %domain_idn% %alias_idn%; + + root %docroot%/pub; + index index.php; + autoindex off; + charset UTF-8; + error_page 404 403 = /errors/404.php; + add_header "X-UA-Compatible" "IE=Edge"; + + access_log /var/log/nginx/domains/%domain%.log combined; + access_log /var/log/nginx/domains/%domain%.bytes bytes; + error_log /var/log/nginx/domains/%domain%.error.log error; + + # PHP entry point for setup application + location ~* ^/setup($|/) { + root %docroot%; + + location ~ ^/setup/index.php { + fastcgi_pass %backend_lsnr%; + fastcgi_index index.php; + fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; + include /etc/nginx/fastcgi_params; + } + + location ~ ^/setup/(?!pub/). { + deny all; + } + + location ~ ^/setup/pub/ { + add_header X-Frame-Options "SAMEORIGIN"; + } + } + + # PHP entry point for update application + location ~* ^/update($|/) { + root %docroot%; + + location ~ ^/update/index.php { + fastcgi_split_path_info ^(/update/index.php)(/.+)$; + fastcgi_pass %backend_lsnr%; + fastcgi_index index.php; + fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; + fastcgi_param PATH_INFO $fastcgi_path_info; + include /etc/nginx/fastcgi_params; + } + + # Deny everything but index.php + location ~ ^/update/(?!pub/). { + deny all; + } + + location ~ ^/update/pub/ { + add_header X-Frame-Options "SAMEORIGIN"; + } + } + + location / { + try_files $uri $uri/ /index.php?$args; + } + + location /pub/ { + location ~ ^/pub/media/(downloadable|customer|import|theme_customization/.*\.xml) { + deny all; + } + + alias %docroot%/pub/; + add_header X-Frame-Options "SAMEORIGIN"; + } + + location /static/ { + # Uncomment the following line in production mode + # expires max; + + # Remove signature of the static files that is used to overcome the browser cache + location ~ ^/static/version { + rewrite ^/static/(version\d*/)?(.*)$ /static/$2 last; + } + + location ~* \.(ico|jpg|jpeg|png|gif|svg|js|css|swf|eot|ttf|otf|woff|woff2)$ { + add_header Cache-Control "public"; + add_header X-Frame-Options "SAMEORIGIN"; + expires +1y; + + if (!-f $request_filename) { + rewrite ^/static/(version\d*/)?(.*)$ /static.php?resource=$2 last; + } + } + + location ~* \.(zip|gz|gzip|bz2|csv|xml)$ { + add_header Cache-Control "no-store"; + add_header X-Frame-Options "SAMEORIGIN"; + expires off; + + if (!-f $request_filename) { + rewrite ^/static/(version\d*/)?(.*)$ /static.php?resource=$2 last; + } + } + + if (!-f $request_filename) { + rewrite ^/static/(version\d*/)?(.*)$ /static.php?resource=$2 last; + } + + add_header X-Frame-Options "SAMEORIGIN"; + } + + location /media/ { + try_files $uri $uri/ /get.php?$args; + + location ~ ^/media/theme_customization/.*\.xml { + deny all; + } + + location ~* \.(ico|jpg|jpeg|png|gif|svg|js|css|swf|eot|ttf|otf|woff|woff2)$ { + add_header Cache-Control "public"; + add_header X-Frame-Options "SAMEORIGIN"; + expires +1y; + try_files $uri $uri/ /get.php?$args; + } + + location ~* \.(zip|gz|gzip|bz2|csv|xml)$ { + add_header Cache-Control "no-store"; + add_header X-Frame-Options "SAMEORIGIN"; + expires off; + try_files $uri $uri/ /get.php?$args; + } + + add_header X-Frame-Options "SAMEORIGIN"; + } + + location /media/customer/ { + deny all; + } + + location /media/downloadable/ { + deny all; + } + + location /media/import/ { + deny all; + } + + # PHP entry point for main application + location ~ (index|get|static|report|404|503)\.php$ { + try_files $uri =404; + + fastcgi_pass %backend_lsnr%; + fastcgi_buffers 1024 4k; + fastcgi_read_timeout 600s; + fastcgi_connect_timeout 600s; + + fastcgi_index index.php; + fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; + include /etc/nginx/fastcgi_params; + } + + gzip on; + gzip_disable "msie6"; + + gzip_comp_level 6; + gzip_min_length 1100; + gzip_buffers 16 8k; + gzip_proxied any; + gzip_types + text/plain + text/css + text/js + text/xml + text/javascript + application/javascript + application/x-javascript + application/json + application/xml + application/xml+rss + image/svg+xml; + gzip_vary on; + + # Banned locations (only reached if the earlier PHP entry point regexes don't match) + location ~* (\.php$|\.htaccess$|\.git) { + deny all; + } + + location /vstats/ { + alias %home%/%user%/web/%domain%/stats/; + include %home%/%user%/conf/web/%domain%.auth*; + } + + include /etc/nginx/conf.d/phpmyadmin.inc*; + include /etc/nginx/conf.d/phppgadmin.inc*; + include /etc/nginx/conf.d/webmail.inc*; + + include %home%/%user%/conf/web/nginx.%domain%.conf*; +} diff --git a/install/debian/11/templates/web/nginx/php-fpm/modx.stpl b/install/debian/11/templates/web/nginx/php-fpm/modx.stpl new file mode 100644 index 00000000..420aeb9e --- /dev/null +++ b/install/debian/11/templates/web/nginx/php-fpm/modx.stpl @@ -0,0 +1,68 @@ +server { + listen %ip%:%web_ssl_port% ssl http2; + server_name %domain_idn% %alias_idn%; + root %sdocroot%; + index index.php index.html index.htm; + access_log /var/log/nginx/domains/%domain%.log combined; + access_log /var/log/nginx/domains/%domain%.bytes bytes; + error_log /var/log/nginx/domains/%domain%.error.log error; + + ssl_certificate %ssl_pem%; + ssl_certificate_key %ssl_key%; +# if you need to rewrite www to non-www uncomment bellow +# if ($host != '%domain%' ) { +# rewrite ^/(.*)$ https://%domain%/$1 permanent; +# } + location = /favicon.ico { + log_not_found off; + access_log off; + } + + location = /robots.txt { + allow all; + log_not_found off; + access_log off; + } + + location / { + try_files $uri $uri/ @rewrite; + location ~* ^.+\.(jpeg|jpg|png|gif|bmp|ico|svg|css|js)$ { + expires max; + } + } + location @rewrite { + rewrite ^/(.*)$ /index.php?q=$1; + } + + location ~ \.php$ { + try_files $uri =404; + fastcgi_pass %backend_lsnr%; + fastcgi_index index.php; + fastcgi_param SCRIPT_FILENAME $request_filename; + include /etc/nginx/fastcgi_params; + } + + error_page 403 /error/404.html; + error_page 404 /error/404.html; + error_page 500 502 503 504 /error/50x.html; + + location /error/ { + alias %home%/%user%/web/%domain%/document_errors/; + } + + location ~* "/\.(htaccess|htpasswd)$" { + deny all; + return 404; + } + + location /vstats/ { + alias %home%/%user%/web/%domain%/stats/; + include %home%/%user%/conf/web/%domain%.auth*; + } + + include /etc/nginx/conf.d/phpmyadmin.inc*; + include /etc/nginx/conf.d/phppgadmin.inc*; + include /etc/nginx/conf.d/webmail.inc*; + + include %home%/%user%/conf/web/snginx.%domain%.conf*; +} diff --git a/install/debian/11/templates/web/nginx/php-fpm/modx.tpl b/install/debian/11/templates/web/nginx/php-fpm/modx.tpl new file mode 100644 index 00000000..342d3ecf --- /dev/null +++ b/install/debian/11/templates/web/nginx/php-fpm/modx.tpl @@ -0,0 +1,65 @@ +server { + listen %ip%:%web_port%; + server_name %domain_idn% %alias_idn%; + root %docroot%; + index index.php index.html index.htm; + access_log /var/log/nginx/domains/%domain%.log combined; + access_log /var/log/nginx/domains/%domain%.bytes bytes; + error_log /var/log/nginx/domains/%domain%.error.log error; +# if you need to rewrite www to non-www uncomment bellow +# if ($host != '%domain%' ) { +# rewrite ^/(.*)$ http://%domain%/$1 permanent; +# } + location = /favicon.ico { + log_not_found off; + access_log off; + } + + location = /robots.txt { + allow all; + log_not_found off; + access_log off; + } + + location / { + try_files $uri $uri/ @rewrite; + location ~* ^.+\.(jpeg|jpg|png|gif|bmp|ico|svg|css|js)$ { + expires max; + } + } + location @rewrite { + rewrite ^/(.*)$ /index.php?q=$1; + } + + location ~ \.php$ { + try_files $uri =404; + fastcgi_pass %backend_lsnr%; + fastcgi_index index.php; + fastcgi_param SCRIPT_FILENAME $request_filename; + include /etc/nginx/fastcgi_params; + } + + error_page 403 /error/404.html; + error_page 404 /error/404.html; + error_page 500 502 503 504 /error/50x.html; + + location /error/ { + alias %home%/%user%/web/%domain%/document_errors/; + } + + location ~* "/\.(htaccess|htpasswd)$" { + deny all; + return 404; + } + + location /vstats/ { + alias %home%/%user%/web/%domain%/stats/; + include %home%/%user%/conf/web/%domain%.auth*; + } + + include /etc/nginx/conf.d/phpmyadmin.inc*; + include /etc/nginx/conf.d/phppgadmin.inc*; + include /etc/nginx/conf.d/webmail.inc*; + + include %home%/%user%/conf/web/nginx.%domain%.conf*; +} diff --git a/install/debian/11/templates/web/nginx/php-fpm/moodle.stpl b/install/debian/11/templates/web/nginx/php-fpm/moodle.stpl new file mode 100644 index 00000000..8594ec94 --- /dev/null +++ b/install/debian/11/templates/web/nginx/php-fpm/moodle.stpl @@ -0,0 +1,89 @@ +server { + listen %ip%:%web_ssl_port% ssl http2; + server_name %domain_idn% %alias_idn%; + root %sdocroot%; + index index.php index.html index.htm; + access_log /var/log/nginx/domains/%domain%.log combined; + access_log /var/log/nginx/domains/%domain%.bytes bytes; + error_log /var/log/nginx/domains/%domain%.error.log error; + + ssl_certificate %ssl_pem%; + ssl_certificate_key %ssl_key%; + + rewrite ^/(.*\.php)(/)(.*)$ /$1?file=/$3 last; + + location = /favicon.ico { + log_not_found off; + access_log off; + } + + location = /robots.txt { + allow all; + log_not_found off; + access_log off; + } + + location ~* \.(txt|log)$ { + allow 192.168.0.0/16; + deny all; + } + + location ~ \..*/.*\.php$ { + return 403; + } + + # No no for private + location ~ ^/sites/.*/private/ { + return 403; + } + + # Block access to "hidden" files and directories whose names begin with a + # period. This includes directories used by version control systems such + # as Subversion or Git to store control files. + location ~ (^|/)\. { + return 403; + } + + location / { + location ~* ^.+\.(jpeg|jpg|png|gif|bmp|ico|svg|css|js)$ { + expires max; + } + + location ~ [^/]\.php(/|$) { + fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; + if (!-f $document_root$fastcgi_script_name) { + return 404; + } + + fastcgi_pass %backend_lsnr%; + fastcgi_index index.php; + fastcgi_param SCRIPT_FILENAME $request_filename; + fastcgi_intercept_errors on; + include /etc/nginx/fastcgi_params; + } + } + + error_page 403 /error/404.html; + error_page 404 /error/404.html; + error_page 500 502 503 504 /error/50x.html; + + location /error/ { + alias %home%/%user%/web/%domain%/document_errors/; + } + + location ~* "/\.(htaccess|htpasswd)$" { + deny all; + return 404; + } + + location /vstats/ { + alias %home%/%user%/web/%domain%/stats/; + include %home%/%user%/conf/web/%domain%.auth*; + } + + include /etc/nginx/conf.d/phpmyadmin.inc*; + include /etc/nginx/conf.d/phppgadmin.inc*; + include /etc/nginx/conf.d/webmail.inc*; + + include %home%/%user%/conf/web/snginx.%domain%.conf*; +} diff --git a/install/debian/11/templates/web/nginx/php-fpm/moodle.tpl b/install/debian/11/templates/web/nginx/php-fpm/moodle.tpl new file mode 100644 index 00000000..c20ba648 --- /dev/null +++ b/install/debian/11/templates/web/nginx/php-fpm/moodle.tpl @@ -0,0 +1,87 @@ +server { + listen %ip%:%web_port%; + server_name %domain_idn% %alias_idn%; + root %docroot%; + index index.php index.html index.htm; + access_log /var/log/nginx/domains/%domain%.log combined; + access_log /var/log/nginx/domains/%domain%.bytes bytes; + error_log /var/log/nginx/domains/%domain%.error.log error; + + rewrite ^/(.*\.php)(/)(.*)$ /$1?file=/$3 last; + + location = /favicon.ico { + log_not_found off; + access_log off; + } + + location = /robots.txt { + allow all; + log_not_found off; + access_log off; + } + + # Very rarely should these ever be accessed outside of your lan + location ~* \.(txt|log)$ { + allow 192.168.0.0/16; + deny all; + } + + location ~ \..*/.*\.php$ { + return 403; + } + + # No no for private + location ~ ^/sites/.*/private/ { + return 403; + } + + # Block access to "hidden" files and directories whose names begin with a + # period. This includes directories used by version control systems such + # as Subversion or Git to store control files. + location ~ (^|/)\. { + return 403; + } + + location / { + location ~* ^.+\.(jpeg|jpg|png|gif|bmp|ico|svg|css|js)$ { + expires max; + } + + location ~ [^/]\.php(/|$) { + fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; + if (!-f $document_root$fastcgi_script_name) { + return 404; + } + + fastcgi_pass %backend_lsnr%; + fastcgi_index index.php; + fastcgi_param SCRIPT_FILENAME $request_filename; + fastcgi_intercept_errors on; + include /etc/nginx/fastcgi_params; + } + } + + error_page 403 /error/404.html; + error_page 404 /error/404.html; + error_page 500 502 503 504 /error/50x.html; + + location /error/ { + alias %home%/%user%/web/%domain%/document_errors/; + } + + location ~* "/\.(htaccess|htpasswd)$" { + deny all; + return 404; + } + + location /vstats/ { + alias %home%/%user%/web/%domain%/stats/; + include %home%/%user%/conf/web/%domain%.auth*; + } + + include /etc/nginx/conf.d/phpmyadmin.inc*; + include /etc/nginx/conf.d/phppgadmin.inc*; + include /etc/nginx/conf.d/webmail.inc*; + + include %home%/%user%/conf/web/nginx.%domain%.conf*; +} diff --git a/install/debian/11/templates/web/nginx/php-fpm/no-php.stpl b/install/debian/11/templates/web/nginx/php-fpm/no-php.stpl new file mode 100644 index 00000000..4bb50383 --- /dev/null +++ b/install/debian/11/templates/web/nginx/php-fpm/no-php.stpl @@ -0,0 +1,46 @@ +server { + listen %ip%:%web_ssl_port% ssl http2; + server_name %domain_idn% %alias_idn%; + root %sdocroot%; + index index.php index.html index.htm; + access_log /var/log/nginx/domains/%domain%.log combined; + access_log /var/log/nginx/domains/%domain%.bytes bytes; + error_log /var/log/nginx/domains/%domain%.error.log error; + + ssl_certificate %ssl_pem%; + ssl_certificate_key %ssl_key%; + + types { + text/html html htm shtml php php5; + } + + location / { + location ~* ^.+\.(jpeg|jpg|png|gif|bmp|ico|svg|css|js)$ { + expires max; + } + } + + error_page 403 /error/404.html; + error_page 404 /error/404.html; + error_page 500 502 503 504 /error/50x.html; + + location /error/ { + alias %home%/%user%/web/%domain%/document_errors/; + } + + location ~* "/\.(htaccess|htpasswd)$" { + deny all; + return 404; + } + + location /vstats/ { + alias %home%/%user%/web/%domain%/stats/; + include %home%/%user%/conf/web/%domain%.auth*; + } + + include /etc/nginx/conf.d/phpmyadmin.inc*; + include /etc/nginx/conf.d/phppgadmin.inc*; + include /etc/nginx/conf.d/webmail.inc*; + + include %home%/%user%/conf/web/snginx.%domain%.conf*; +} diff --git a/install/debian/11/templates/web/nginx/php-fpm/no-php.tpl b/install/debian/11/templates/web/nginx/php-fpm/no-php.tpl new file mode 100644 index 00000000..7ff8aa1d --- /dev/null +++ b/install/debian/11/templates/web/nginx/php-fpm/no-php.tpl @@ -0,0 +1,43 @@ +server { + listen %ip%:%web_port%; + server_name %domain_idn% %alias_idn%; + root %docroot%; + index index.php index.html index.htm; + access_log /var/log/nginx/domains/%domain%.log combined; + access_log /var/log/nginx/domains/%domain%.bytes bytes; + error_log /var/log/nginx/domains/%domain%.error.log error; + + types { + text/html html htm shtml php php5; + } + + location / { + location ~* ^.+\.(jpeg|jpg|png|gif|bmp|ico|svg|css|js)$ { + expires max; + } + } + + error_page 403 /error/404.html; + error_page 404 /error/404.html; + error_page 500 502 503 504 /error/50x.html; + + location /error/ { + alias %home%/%user%/web/%domain%/document_errors/; + } + + location ~* "/\.(htaccess|htpasswd)$" { + deny all; + return 404; + } + + location /vstats/ { + alias %home%/%user%/web/%domain%/stats/; + include %home%/%user%/conf/web/%domain%.auth*; + } + + include /etc/nginx/conf.d/phpmyadmin.inc*; + include /etc/nginx/conf.d/phppgadmin.inc*; + include /etc/nginx/conf.d/webmail.inc*; + + include %home%/%user%/conf/web/nginx.%domain%.conf*; +} diff --git a/install/debian/11/templates/web/nginx/php-fpm/odoo.stpl b/install/debian/11/templates/web/nginx/php-fpm/odoo.stpl new file mode 100644 index 00000000..e28afcfc --- /dev/null +++ b/install/debian/11/templates/web/nginx/php-fpm/odoo.stpl @@ -0,0 +1,69 @@ +server { + listen %ip%:%web_ssl_port% ssl http2; + server_name %domain_idn% %alias_idn%; + root %sdocroot%; + index index.php index.html index.htm; + access_log /var/log/nginx/domains/%domain%.log combined; + access_log /var/log/nginx/domains/%domain%.bytes bytes; + error_log /var/log/nginx/domains/%domain%.error.log error; + + ssl_certificate %ssl_pem%; + ssl_certificate_key %ssl_key%; + + proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504; + proxy_redirect off; + + proxy_set_header X-Forwarded-Host $host; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + proxy_set_header X-Real-IP $remote_addr; + + proxy_connect_timeout 720; + proxy_send_timeout 720; + proxy_read_timeout 720; + send_timeout 720; + + # Allow "Well-Known URIs" as per RFC 5785 + location ~* ^/.well-known/ { + allow all; + } + + location / { + proxy_pass http://127.0.0.1:8069; + } + + location /longpolling { + proxy_pass http://127.0.0.1:8072; + } + + location ~* /web/static/ { + proxy_cache_valid 200 60m; + proxy_buffering on; + expires 864000; + proxy_pass http://127.0.0.1:8069; + } + + error_page 403 /error/404.html; + error_page 404 /error/404.html; + error_page 500 502 503 504 /error/50x.html; + + location /error/ { + alias %home%/%user%/web/%domain%/document_errors/; + } + + location ~* "/\.(htaccess|htpasswd)$" { + deny all; + return 404; + } + + location /vstats/ { + alias %home%/%user%/web/%domain%/stats/; + include %home%/%user%/conf/web/%domain%.auth*; + } + + include /etc/nginx/conf.d/phpmyadmin.inc*; + include /etc/nginx/conf.d/phppgadmin.inc*; + include /etc/nginx/conf.d/webmail.inc*; + + include %home%/%user%/conf/web/snginx.%domain%.conf*; +} diff --git a/install/debian/11/templates/web/nginx/php-fpm/odoo.tpl b/install/debian/11/templates/web/nginx/php-fpm/odoo.tpl new file mode 100644 index 00000000..b1240aae --- /dev/null +++ b/install/debian/11/templates/web/nginx/php-fpm/odoo.tpl @@ -0,0 +1,66 @@ +server { + listen %ip%:%web_port%; + server_name %domain_idn% %alias_idn%; + root %docroot%; + index index.php index.html index.htm; + access_log /var/log/nginx/domains/%domain%.log combined; + access_log /var/log/nginx/domains/%domain%.bytes bytes; + error_log /var/log/nginx/domains/%domain%.error.log error; + + proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504; + proxy_redirect off; + + proxy_set_header X-Forwarded-Host $host; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + proxy_set_header X-Real-IP $remote_addr; + + proxy_connect_timeout 720; + proxy_send_timeout 720; + proxy_read_timeout 720; + send_timeout 720; + + # Allow "Well-Known URIs" as per RFC 5785 + location ~* ^/.well-known/ { + allow all; + } + + location / { + proxy_pass http://127.0.0.1:8069; + } + + location /longpolling { + proxy_pass http://127.0.0.1:8072; + } + + location ~* /web/static/ { + proxy_cache_valid 200 60m; + proxy_buffering on; + expires 864000; + proxy_pass http://127.0.0.1:8069; + } + + error_page 403 /error/404.html; + error_page 404 /error/404.html; + error_page 500 502 503 504 /error/50x.html; + + location /error/ { + alias %home%/%user%/web/%domain%/document_errors/; + } + + location ~* "/\.(htaccess|htpasswd)$" { + deny all; + return 404; + } + + location /vstats/ { + alias %home%/%user%/web/%domain%/stats/; + include %home%/%user%/conf/web/%domain%.auth*; + } + + include /etc/nginx/conf.d/phpmyadmin.inc*; + include /etc/nginx/conf.d/phppgadmin.inc*; + include /etc/nginx/conf.d/webmail.inc*; + + include %home%/%user%/conf/web/nginx.%domain%.conf*; +} diff --git a/install/debian/11/templates/web/nginx/php-fpm/opencart.stpl b/install/debian/11/templates/web/nginx/php-fpm/opencart.stpl new file mode 100644 index 00000000..52706d21 --- /dev/null +++ b/install/debian/11/templates/web/nginx/php-fpm/opencart.stpl @@ -0,0 +1,58 @@ +server { + listen %ip%:%web_ssl_port% ssl http2; + server_name %domain_idn% %alias_idn%; + root %sdocroot%; + index index.php index.html index.htm; + access_log /var/log/nginx/domains/%domain%.log combined; + access_log /var/log/nginx/domains/%domain%.bytes bytes; + error_log /var/log/nginx/domains/%domain%.error.log error; + + ssl_certificate %ssl_pem%; + ssl_certificate_key %ssl_key%; + + location / { + try_files $uri $uri/ @opencart; + location ~* ^.+\.(jpeg|jpg|png|gif|bmp|ico|svg|css|js)$ { + expires max; + } + + location ~ [^/]\.php(/|$) { + fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; + if (!-f $document_root$fastcgi_script_name) { + return 404; + } + + fastcgi_pass %backend_lsnr%; + fastcgi_index index.php; + include /etc/nginx/fastcgi_params; + } + } + + location @opencart { + rewrite ^/(.+)$ /index.php?_route_=$1 last; + } + + location /vstats/ { + alias %home%/%user%/web/%domain%/stats/; + include %home%/%user%/conf/web/%domain%.auth*; + } + + error_page 403 /error/404.html; + error_page 404 /error/404.html; + error_page 500 502 503 504 /error/50x.html; + + location /error/ { + alias %home%/%user%/web/%domain%/document_errors/; + } + + location ~* "/\.(htaccess|htpasswd)$" { + deny all; + return 404; + } + + include /etc/nginx/conf.d/phpmyadmin.inc*; + include /etc/nginx/conf.d/phppgadmin.inc*; + include /etc/nginx/conf.d/webmail.inc*; + + include %home%/%user%/conf/web/snginx.%domain%.conf*; +} diff --git a/install/debian/11/templates/web/nginx/php-fpm/opencart.tpl b/install/debian/11/templates/web/nginx/php-fpm/opencart.tpl new file mode 100644 index 00000000..d0a9060b --- /dev/null +++ b/install/debian/11/templates/web/nginx/php-fpm/opencart.tpl @@ -0,0 +1,54 @@ +server { + listen %ip%:%web_port%; + server_name %domain_idn% %alias_idn%; + root %docroot%; + index index.php index.html index.htm; + access_log /var/log/nginx/domains/%domain%.log combined; + access_log /var/log/nginx/domains/%domain%.bytes bytes; + error_log /var/log/nginx/domains/%domain%.error.log error; + location / { + try_files $uri $uri/ @opencart; + location ~* ^.+\.(jpeg|jpg|png|gif|bmp|ico|svg|css|js)$ { + expires max; + } + + location ~ [^/]\.php(/|$) { + fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; + if (!-f $document_root$fastcgi_script_name) { + return 404; + } + + fastcgi_pass %backend_lsnr%; + fastcgi_index index.php; + include /etc/nginx/fastcgi_params; + } + } + + location @opencart { + rewrite ^/(.+)$ /index.php?_route_=$1 last; + } + + location /vstats/ { + alias %home%/%user%/web/%domain%/stats/; + include %home%/%user%/conf/web/%domain%.auth*; + } + + error_page 403 /error/404.html; + error_page 404 /error/404.html; + error_page 500 502 503 504 /error/50x.html; + + location /error/ { + alias %home%/%user%/web/%domain%/document_errors/; + } + + location ~* "/\.(htaccess|htpasswd)$" { + deny all; + return 404; + } + + include /etc/nginx/conf.d/phpmyadmin.inc*; + include /etc/nginx/conf.d/phppgadmin.inc*; + include /etc/nginx/conf.d/webmail.inc*; + + include %home%/%user%/conf/web/nginx.%domain%.conf*; +} diff --git a/install/debian/11/templates/web/nginx/php-fpm/owncloud.stpl b/install/debian/11/templates/web/nginx/php-fpm/owncloud.stpl new file mode 100644 index 00000000..1b803f97 --- /dev/null +++ b/install/debian/11/templates/web/nginx/php-fpm/owncloud.stpl @@ -0,0 +1,84 @@ +server { + listen %ip%:%web_ssl_port% ssl http2; + server_name %domain_idn% %alias_idn%; + root %sdocroot%; + index index.php index.html index.htm; + access_log /var/log/nginx/domains/%domain%.log combined; + access_log /var/log/nginx/domains/%domain%.bytes bytes; + error_log /var/log/nginx/domains/%domain%.error.log error; + + ssl_certificate %ssl_pem%; + ssl_certificate_key %ssl_key%; + + location = /favicon.ico { + log_not_found off; + access_log off; + } + + location = /robots.txt { + allow all; + log_not_found off; + access_log off; + } + + rewrite ^/caldav(.*)$ /remote.php/caldav$1 redirect; + rewrite ^/carddav(.*)$ /remote.php/carddav$1 redirect; + rewrite ^/webdav(.*)$ /remote.php/webdav$1 redirect; + + error_page 403 = /core/templates/403.php; + error_page 404 = /core/templates/404.php; + + location ~ ^/(?:\.htaccess|data|config|db_structure\.xml|README){ + deny all; + } + + location / { + # The following 2 rules are only needed with webfinger + rewrite ^/.well-known/host-meta /public.php?service=host-meta last; + rewrite ^/.well-known/host-meta.json /public.php?service=host-meta-json last; + rewrite ^/.well-known/carddav /remote.php/carddav/ redirect; + rewrite ^/.well-known/caldav /remote.php/caldav/ redirect; + rewrite ^(/core/doc/[^\/]+/)$ $1/index.html; + try_files $uri $uri/ /index.php; + + location ~ \.php(?:$|/) { + fastcgi_split_path_info ^(.+\.php)(/.+)$; + include /etc/nginx/fastcgi_params; + fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; + fastcgi_param PATH_INFO $fastcgi_path_info; + #fastcgi_param HTTPS on; + fastcgi_pass %backend_lsnr%; + } + } + + location ~* ^.+\.(jpeg|jpg|png|gif|bmp|ico|svg|css|js)$ { + expires max; + # Some basic cache-control for static files to be sent to the browser + add_header Pragma public; + add_header Cache-Control "public, must-revalidate, proxy-revalidate"; + } + + #error_page 403 /error/404.html; + #error_page 404 /error/404.html; + error_page 500 502 503 504 /error/50x.html; + + location /error/ { + alias %home%/%user%/web/%domain%/document_errors/; + } + + location ~* "/\.(htaccess|htpasswd)$" { + deny all; + return 404; + } + + location /vstats/ { + alias %home%/%user%/web/%domain%/stats/; + include %home%/%user%/conf/web/%domain%.auth*; + } + + include /etc/nginx/conf.d/phpmyadmin.inc*; + include /etc/nginx/conf.d/phppgadmin.inc*; + include /etc/nginx/conf.d/webmail.inc*; + + include %home%/%user%/conf/web/snginx.%domain%.conf*; +} diff --git a/install/debian/11/templates/web/nginx/php-fpm/owncloud.tpl b/install/debian/11/templates/web/nginx/php-fpm/owncloud.tpl new file mode 100644 index 00000000..e3ec31de --- /dev/null +++ b/install/debian/11/templates/web/nginx/php-fpm/owncloud.tpl @@ -0,0 +1,81 @@ +server { + listen %ip%:%web_port%; + server_name %domain_idn% %alias_idn%; + root %docroot%; + index index.php index.html index.htm; + access_log /var/log/nginx/domains/%domain%.log combined; + access_log /var/log/nginx/domains/%domain%.bytes bytes; + error_log /var/log/nginx/domains/%domain%.error.log error; + + location = /favicon.ico { + log_not_found off; + access_log off; + } + + location = /robots.txt { + allow all; + log_not_found off; + access_log off; + } + + rewrite ^/caldav(.*)$ /remote.php/caldav$1 redirect; + rewrite ^/carddav(.*)$ /remote.php/carddav$1 redirect; + rewrite ^/webdav(.*)$ /remote.php/webdav$1 redirect; + + error_page 403 = /core/templates/403.php; + error_page 404 = /core/templates/404.php; + + location ~ ^/(?:\.htaccess|data|config|db_structure\.xml|README){ + deny all; + } + + location / { + # The following 2 rules are only needed with webfinger + rewrite ^/.well-known/host-meta /public.php?service=host-meta last; + rewrite ^/.well-known/host-meta.json /public.php?service=host-meta-json last; + rewrite ^/.well-known/carddav /remote.php/carddav/ redirect; + rewrite ^/.well-known/caldav /remote.php/caldav/ redirect; + rewrite ^(/core/doc/[^\/]+/)$ $1/index.html; + try_files $uri $uri/ /index.php; + + location ~ \.php(?:$|/) { + fastcgi_split_path_info ^(.+\.php)(/.+)$; + include /etc/nginx/fastcgi_params; + fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; + fastcgi_param PATH_INFO $fastcgi_path_info; + #fastcgi_param HTTPS on; + fastcgi_pass %backend_lsnr%; + } + } + + location ~* ^.+\.(jpeg|jpg|png|gif|bmp|ico|svg|css|js)$ { + expires max; + # Some basic cache-control for static files to be sent to the browser + add_header Pragma public; + add_header Cache-Control "public, must-revalidate, proxy-revalidate"; + } + + #error_page 403 /error/404.html; + #error_page 404 /error/404.html; + error_page 500 502 503 504 /error/50x.html; + + location /error/ { + alias %home%/%user%/web/%domain%/document_errors/; + } + + location ~* "/\.(htaccess|htpasswd)$" { + deny all; + return 404; + } + + location /vstats/ { + alias %home%/%user%/web/%domain%/stats/; + include %home%/%user%/conf/web/%domain%.auth*; + } + + include /etc/nginx/conf.d/phpmyadmin.inc*; + include /etc/nginx/conf.d/phppgadmin.inc*; + include /etc/nginx/conf.d/webmail.inc*; + + include %home%/%user%/conf/web/nginx.%domain%.conf*; +} diff --git a/install/debian/11/templates/web/nginx/php-fpm/piwik.stpl b/install/debian/11/templates/web/nginx/php-fpm/piwik.stpl new file mode 100644 index 00000000..1b299343 --- /dev/null +++ b/install/debian/11/templates/web/nginx/php-fpm/piwik.stpl @@ -0,0 +1,72 @@ +server { + listen %ip%:%web_ssl_port% ssl http2; + server_name %domain_idn% %alias_idn%; + root %sdocroot%; + index index.php index.html index.htm; + access_log /var/log/nginx/domains/%domain%.log combined; + access_log /var/log/nginx/domains/%domain%.bytes bytes; + error_log /var/log/nginx/domains/%domain%.error.log error; + + ssl_certificate %ssl_pem%; + ssl_certificate_key %ssl_key%; + + location = /favicon.ico { + try_files /favicon.ico =204; + } + + location / { + try_files $uri /index.php; + + location ~* ^.+\.(jpeg|jpg|png|gif|bmp|ico|svg|css|js)$ { + valid_referers none blocked %domain_idn% %alias_idn%; + if ($invalid_referer) { + return 444; + } + expires max; + } + + location ~* ^/(?:index|piwik)\.php$ { + fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; + if (!-f $document_root$fastcgi_script_name) { + return 404; + } + + fastcgi_pass %backend_lsnr%; + include /etc/nginx/fastcgi_params; + } + } + + # Any other attempt to access PHP files returns a 404. + location ~* ^.+\.php$ { + return 404; + } + + # Return a 404 for all text files. + location ~* ^/(?:README|LICENSE[^.]*|LEGALNOTICE)(?:\.txt)*$ { + return 404; + } + + error_page 403 /error/404.html; + error_page 404 /error/404.html; + error_page 500 502 503 504 /error/50x.html; + + location /error/ { + alias %home%/%user%/web/%domain%/document_errors/; + } + + location ~* "/\.(htaccess|htpasswd)$" { + deny all; + return 404; + } + + location /vstats/ { + alias %home%/%user%/web/%domain%/stats/; + include %home%/%user%/conf/web/%domain%.auth*; + } + + include /etc/nginx/conf.d/phpmyadmin.inc*; + include /etc/nginx/conf.d/phppgadmin.inc*; + include /etc/nginx/conf.d/webmail.inc*; + + include %home%/%user%/conf/web/snginx.%domain%.conf*; +} diff --git a/install/debian/11/templates/web/nginx/php-fpm/piwik.tpl b/install/debian/11/templates/web/nginx/php-fpm/piwik.tpl new file mode 100644 index 00000000..f94fb7de --- /dev/null +++ b/install/debian/11/templates/web/nginx/php-fpm/piwik.tpl @@ -0,0 +1,69 @@ +server { + listen %ip%:%web_port%; + server_name %domain_idn% %alias_idn%; + root %docroot%; + index index.php index.html index.htm; + access_log /var/log/nginx/domains/%domain%.log combined; + access_log /var/log/nginx/domains/%domain%.bytes bytes; + error_log /var/log/nginx/domains/%domain%.error.log error; + + location = /favicon.ico { + try_files /favicon.ico =204; + } + + location / { + try_files $uri /index.php; + + location ~* ^.+\.(jpeg|jpg|png|gif|bmp|ico|svg|css|js)$ { + valid_referers none blocked %domain_idn% %alias_idn%; + if ($invalid_referer) { + return 444; + } + expires max; + } + + location ~* ^/(?:index|piwik)\.php$ { + fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; + if (!-f $document_root$fastcgi_script_name) { + return 404; + } + + fastcgi_pass %backend_lsnr%; + include /etc/nginx/fastcgi_params; + } + } + + # Any other attempt to access PHP files returns a 404. + location ~* ^.+\.php$ { + return 404; + } + + # Return a 404 for all text files. + location ~* ^/(?:README|LICENSE[^.]*|LEGALNOTICE)(?:\.txt)*$ { + return 404; + } + + error_page 403 /error/404.html; + error_page 404 /error/404.html; + error_page 500 502 503 504 /error/50x.html; + + location /error/ { + alias %home%/%user%/web/%domain%/document_errors/; + } + + location ~* "/\.(htaccess|htpasswd)$" { + deny all; + return 404; + } + + location /vstats/ { + alias %home%/%user%/web/%domain%/stats/; + include %home%/%user%/conf/web/%domain%.auth*; + } + + include /etc/nginx/conf.d/phpmyadmin.inc*; + include /etc/nginx/conf.d/phppgadmin.inc*; + include /etc/nginx/conf.d/webmail.inc*; + + include %home%/%user%/conf/web/nginx.%domain%.conf*; +} diff --git a/install/debian/11/templates/web/nginx/php-fpm/pyrocms.stpl b/install/debian/11/templates/web/nginx/php-fpm/pyrocms.stpl new file mode 100644 index 00000000..6d44f20f --- /dev/null +++ b/install/debian/11/templates/web/nginx/php-fpm/pyrocms.stpl @@ -0,0 +1,65 @@ +server { + listen %ip%:%web_ssl_port% ssl http2; + server_name %domain_idn% %alias_idn%; + root %sdocroot%/public; + index index.php index.html index.htm; + access_log /var/log/nginx/domains/%domain%.log combined; + access_log /var/log/nginx/domains/%domain%.bytes bytes; + error_log /var/log/nginx/domains/%domain%.error.log error; + + ssl_certificate %ssl_pem%; + ssl_certificate_key %ssl_key%; + + location /installer { + try_files $uri $uri/ /installer/index.php?$query_string; + } + + location / { + try_files $uri $uri/ /index.php; + + location ~* ^.+\.(jpeg|jpg|png|gif|bmp|ico|svg|css|js)$ { + expires max; + } + + location ~ [^/]\.php(/|$) { + fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; + if (!-f $document_root$fastcgi_script_name) { + return 404; + } + + fastcgi_pass %backend_lsnr%; + fastcgi_index index.php; + fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; + include /etc/nginx/fastcgi_params; + } + } + + location = /robots.txt { access_log off; log_not_found off; } + location = /favicon.ico { access_log off; log_not_found off; } + location ~ /\. { access_log off; log_not_found off; deny all; } + location ~ ~$ { access_log off; log_not_found off; deny all; } + + error_page 403 /error/404.html; + error_page 404 /error/404.html; + error_page 500 502 503 504 /error/50x.html; + + location /error/ { + alias %home%/%user%/web/%domain%/document_errors/; + } + + location ~* "/\.(htaccess|htpasswd)$" { + deny all; + return 404; + } + + location /vstats/ { + alias %home%/%user%/web/%domain%/stats/; + include %home%/%user%/conf/web/%domain%.auth*; + } + + include /etc/nginx/conf.d/phpmyadmin.inc*; + include /etc/nginx/conf.d/phppgadmin.inc*; + include /etc/nginx/conf.d/webmail.inc*; + + include %home%/%user%/conf/web/snginx.%domain%.conf*; +} diff --git a/install/debian/11/templates/web/nginx/php-fpm/pyrocms.tpl b/install/debian/11/templates/web/nginx/php-fpm/pyrocms.tpl new file mode 100644 index 00000000..297fe0e8 --- /dev/null +++ b/install/debian/11/templates/web/nginx/php-fpm/pyrocms.tpl @@ -0,0 +1,62 @@ +server { + listen %ip%:%web_port%; + server_name %domain_idn% %alias_idn%; + root %docroot%/public; + index index.php index.html index.htm; + access_log /var/log/nginx/domains/%domain%.log combined; + access_log /var/log/nginx/domains/%domain%.bytes bytes; + error_log /var/log/nginx/domains/%domain%.error.log error; + + location /installer { + try_files $uri $uri/ /installer/index.php?$query_string; + } + + location / { + try_files $uri $uri/ /index.php; + + location ~* ^.+\.(jpeg|jpg|png|gif|bmp|ico|svg|css|js)$ { + expires max; + } + + location ~ [^/]\.php(/|$) { + fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; + if (!-f $document_root$fastcgi_script_name) { + return 404; + } + + fastcgi_pass %backend_lsnr%; + fastcgi_index index.php; + fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; + include /etc/nginx/fastcgi_params; + } + } + + location = /robots.txt { access_log off; log_not_found off; } + location = /favicon.ico { access_log off; log_not_found off; } + location ~ /\. { access_log off; log_not_found off; deny all; } + location ~ ~$ { access_log off; log_not_found off; deny all; } + + error_page 403 /error/404.html; + error_page 404 /error/404.html; + error_page 500 502 503 504 /error/50x.html; + + location /error/ { + alias %home%/%user%/web/%domain%/document_errors/; + } + + location ~* "/\.(htaccess|htpasswd)$" { + deny all; + return 404; + } + + location /vstats/ { + alias %home%/%user%/web/%domain%/stats/; + include %home%/%user%/conf/web/%domain%.auth*; + } + + include /etc/nginx/conf.d/phpmyadmin.inc*; + include /etc/nginx/conf.d/phppgadmin.inc*; + include /etc/nginx/conf.d/webmail.inc*; + + include %home%/%user%/conf/web/nginx.%domain%.conf*; +} diff --git a/install/debian/11/templates/web/nginx/php-fpm/sendy.stpl b/install/debian/11/templates/web/nginx/php-fpm/sendy.stpl new file mode 100644 index 00000000..0b351000 --- /dev/null +++ b/install/debian/11/templates/web/nginx/php-fpm/sendy.stpl @@ -0,0 +1,88 @@ +server { + listen %ip%:%web_ssl_port% ssl http2; + server_name %domain_idn% %alias_idn%; + ssl_certificate %ssl_pem%; + ssl_certificate_key %ssl_key%; + root %docroot%; + index index.php index.html index.htm; + access_log /var/log/nginx/domains/%domain%.log combined; + access_log /var/log/nginx/domains/%domain%.bytes bytes; + error_log /var/log/nginx/domains/%domain%.error.log error; + + location = /favicon.ico { + log_not_found off; + access_log off; + } + + location = /robots.txt { + allow all; + log_not_found off; + access_log off; + } + + location ~* "/\.(htaccess|htpasswd|git|svn|DS_Store)$" { + deny all; + } + + location ~ /(readme.html|license.txt) { + deny all; + } + + if (!-f $request_filename){ + rewrite ^/([a-zA-Z0-9-]+)$ /$1.php last; + } + + location / { + try_files $uri $uri/ /index.php?$args; + location ~* ^.+\.(ogg|ogv|svg|svgz|swf|eot|otf|woff|mov|mp3|mp4|webm|flv|ttf|rss|atom|jpg|jpeg|gif|png|ico|bmp|mid|midi|wav|rtf|css|js|jar|pdf)$ { + expires 1d; + } + + location ~ [^/]\.php(/|$) { + fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; + try_files $uri =404; + fastcgi_pass %backend_lsnr%; + fastcgi_index index.php; + include /etc/nginx/fastcgi_params; + } + + location /l/ { + rewrite ^/l/([a-zA-Z0-9/]+)$ /l.php?i=$1 last; + } + + location /t/ { + rewrite ^/t/([a-zA-Z0-9/]+)$ /t.php?i=$1 last; + } + + location /w/ { + rewrite ^/w/([a-zA-Z0-9/]+)$ /w.php?i=$1 last; + } + + location /unsubscribe/ { + rewrite ^/unsubscribe/(.*)$ /unsubscribe.php?i=$1 last; + } + + location /subscribe/ { + rewrite ^/subscribe/(.*)$ /subscribe.php?i=$1 last; + } + } + + error_page 403 /error/404.html; + error_page 404 /error/404.html; + error_page 500 502 503 504 /error/50x.html; + + location /error/ { + alias %home%/%user%/web/%domain%/document_errors/; + } + + location /vstats/ { + alias %home%/%user%/web/%domain%/stats/; + include %home%/%user%/web/%domain%/stats/auth.conf*; + } + + include /etc/nginx/conf.d/phpmyadmin.inc*; + include /etc/nginx/conf.d/phppgadmin.inc*; + include /etc/nginx/conf.d/webmail.inc*; + + include %home%/%user%/conf/web/nginx.%domain%.conf*; +} diff --git a/install/debian/11/templates/web/nginx/php-fpm/sendy.tpl b/install/debian/11/templates/web/nginx/php-fpm/sendy.tpl new file mode 100644 index 00000000..b27b427d --- /dev/null +++ b/install/debian/11/templates/web/nginx/php-fpm/sendy.tpl @@ -0,0 +1,86 @@ +server { + listen %ip%:%web_port%; + server_name %domain_idn% %alias_idn%; + root %docroot%; + index index.php index.html index.htm; + access_log /var/log/nginx/domains/%domain%.log combined; + access_log /var/log/nginx/domains/%domain%.bytes bytes; + error_log /var/log/nginx/domains/%domain%.error.log error; + + location = /favicon.ico { + log_not_found off; + access_log off; + } + + location = /robots.txt { + allow all; + log_not_found off; + access_log off; + } + + location ~* "/\.(htaccess|htpasswd|git|svn|DS_Store)$" { + deny all; + } + + location ~ /(readme.html|license.txt) { + deny all; + } + + if (!-f $request_filename){ + rewrite ^/([a-zA-Z0-9-]+)$ /$1.php last; + } + + location / { + try_files $uri $uri/ /index.php?$args; + location ~* ^.+\.(ogg|ogv|svg|svgz|swf|eot|otf|woff|mov|mp3|mp4|webm|flv|ttf|rss|atom|jpg|jpeg|gif|png|ico|bmp|mid|midi|wav|rtf|css|js|jar|pdf)$ { + expires 1d; + } + + location ~ [^/]\.php(/|$) { + fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; + try_files $uri =404; + fastcgi_pass %backend_lsnr%; + fastcgi_index index.php; + include /etc/nginx/fastcgi_params; + } + + location /l/ { + rewrite ^/l/([a-zA-Z0-9/]+)$ /l.php?i=$1 last; + } + + location /t/ { + rewrite ^/t/([a-zA-Z0-9/]+)$ /t.php?i=$1 last; + } + + location /w/ { + rewrite ^/w/([a-zA-Z0-9/]+)$ /w.php?i=$1 last; + } + + location /unsubscribe/ { + rewrite ^/unsubscribe/(.*)$ /unsubscribe.php?i=$1 last; + } + + location /subscribe/ { + rewrite ^/subscribe/(.*)$ /subscribe.php?i=$1 last; + } + } + + error_page 403 /error/404.html; + error_page 404 /error/404.html; + error_page 500 502 503 504 /error/50x.html; + + location /error/ { + alias %home%/%user%/web/%domain%/document_errors/; + } + + location /vstats/ { + alias %home%/%user%/web/%domain%/stats/; + include %home%/%user%/web/%domain%/stats/auth.conf*; + } + + include /etc/nginx/conf.d/phpmyadmin.inc*; + include /etc/nginx/conf.d/phppgadmin.inc*; + include /etc/nginx/conf.d/webmail.inc*; + + include %home%/%user%/conf/web/nginx.%domain%.conf*; +} diff --git a/install/debian/11/templates/web/nginx/php-fpm/wordpress.stpl b/install/debian/11/templates/web/nginx/php-fpm/wordpress.stpl new file mode 100644 index 00000000..f9c01e40 --- /dev/null +++ b/install/debian/11/templates/web/nginx/php-fpm/wordpress.stpl @@ -0,0 +1,54 @@ +server { + listen %ip%:%web_ssl_port% ssl http2; + server_name %domain_idn% %alias_idn%; + root %sdocroot%; + index index.php index.html index.htm; + access_log /var/log/nginx/domains/%domain%.log combined; + access_log /var/log/nginx/domains/%domain%.bytes bytes; + error_log /var/log/nginx/domains/%domain%.error.log error; + + ssl_certificate %ssl_pem%; + ssl_certificate_key %ssl_key%; + + location / { + + location ~* ^.+\.(jpeg|jpg|png|gif|bmp|ico|svg|css|js)$ { + expires max; + } + + location ~ [^/]\.php(/|$) { + fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; + if (!-f $document_root$fastcgi_script_name) { + return 404; + } + + fastcgi_pass %backend_lsnr%; + fastcgi_index index.php; + include /etc/nginx/fastcgi_params; + } + } + + error_page 403 /error/404.html; + error_page 404 /error/404.html; + error_page 500 502 503 504 /error/50x.html; + + location /error/ { + alias %home%/%user%/web/%domain%/document_errors/; + } + + location ~* "/\.(htaccess|htpasswd)$" { + deny all; + return 404; + } + + location /vstats/ { + alias %home%/%user%/web/%domain%/stats/; + include %home%/%user%/conf/web/%domain%.auth*; + } + + include /etc/nginx/conf.d/phpmyadmin.inc*; + include /etc/nginx/conf.d/phppgadmin.inc*; + include /etc/nginx/conf.d/webmail.inc*; + + include %home%/%user%/conf/web/snginx.%domain%.conf*; +} diff --git a/install/debian/11/templates/web/nginx/php-fpm/wordpress.tpl b/install/debian/11/templates/web/nginx/php-fpm/wordpress.tpl new file mode 100644 index 00000000..a8909efb --- /dev/null +++ b/install/debian/11/templates/web/nginx/php-fpm/wordpress.tpl @@ -0,0 +1,51 @@ +server { + listen %ip%:%web_port%; + server_name %domain_idn% %alias_idn%; + root %docroot%; + index index.php index.html index.htm; + access_log /var/log/nginx/domains/%domain%.log combined; + access_log /var/log/nginx/domains/%domain%.bytes bytes; + error_log /var/log/nginx/domains/%domain%.error.log error; + + location / { + + location ~* ^.+\.(jpeg|jpg|png|gif|bmp|ico|svg|css|js)$ { + expires max; + } + + location ~ [^/]\.php(/|$) { + fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; + if (!-f $document_root$fastcgi_script_name) { + return 404; + } + + fastcgi_pass %backend_lsnr%; + fastcgi_index index.php; + include /etc/nginx/fastcgi_params; + } + } + + error_page 403 /error/404.html; + error_page 404 /error/404.html; + error_page 500 502 503 504 /error/50x.html; + + location /error/ { + alias %home%/%user%/web/%domain%/document_errors/; + } + + location ~* "/\.(htaccess|htpasswd)$" { + deny all; + return 404; + } + + location /vstats/ { + alias %home%/%user%/web/%domain%/stats/; + include %home%/%user%/conf/web/%domain%.auth*; + } + + include /etc/nginx/conf.d/phpmyadmin.inc*; + include /etc/nginx/conf.d/phppgadmin.inc*; + include /etc/nginx/conf.d/webmail.inc*; + + include %home%/%user%/conf/web/nginx.%domain%.conf*; +} diff --git a/install/debian/11/templates/web/nginx/php-fpm/wordpress2.stpl b/install/debian/11/templates/web/nginx/php-fpm/wordpress2.stpl new file mode 100644 index 00000000..01dfee5b --- /dev/null +++ b/install/debian/11/templates/web/nginx/php-fpm/wordpress2.stpl @@ -0,0 +1,66 @@ +server { + listen %ip%:%web_ssl_port% ssl http2; + server_name %domain_idn% %alias_idn%; + root %sdocroot%; + index index.php index.html index.htm; + access_log /var/log/nginx/domains/%domain%.log combined; + access_log /var/log/nginx/domains/%domain%.bytes bytes; + error_log /var/log/nginx/domains/%domain%.error.log error; + + ssl_certificate %ssl_pem%; + ssl_certificate_key %ssl_key%; + + location = /favicon.ico { + log_not_found off; + access_log off; + } + + location = /robots.txt { + allow all; + log_not_found off; + access_log off; + } + + location / { + try_files $uri $uri/ /index.php?$args; + + location ~* ^.+\.(jpeg|jpg|png|gif|bmp|ico|svg|css|js)$ { + expires max; + } + + location ~ [^/]\.php(/|$) { + fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; + if (!-f $document_root$fastcgi_script_name) { + return 404; + } + + fastcgi_pass %backend_lsnr%; + fastcgi_index index.php; + include /etc/nginx/fastcgi_params; + } + } + + error_page 403 /error/404.html; + error_page 404 /error/404.html; + error_page 500 502 503 504 /error/50x.html; + + location /error/ { + alias %home%/%user%/web/%domain%/document_errors/; + } + + location ~* "/\.(htaccess|htpasswd)$" { + deny all; + return 404; + } + + location /vstats/ { + alias %home%/%user%/web/%domain%/stats/; + include %home%/%user%/conf/web/%domain%.auth*; + } + + include /etc/nginx/conf.d/phpmyadmin.inc*; + include /etc/nginx/conf.d/phppgadmin.inc*; + include /etc/nginx/conf.d/webmail.inc*; + + include %home%/%user%/conf/web/snginx.%domain%.conf*; +} diff --git a/install/debian/11/templates/web/nginx/php-fpm/wordpress2.tpl b/install/debian/11/templates/web/nginx/php-fpm/wordpress2.tpl new file mode 100644 index 00000000..bccb8b3d --- /dev/null +++ b/install/debian/11/templates/web/nginx/php-fpm/wordpress2.tpl @@ -0,0 +1,63 @@ +server { + listen %ip%:%web_port%; + server_name %domain_idn% %alias_idn%; + root %docroot%; + index index.php index.html index.htm; + access_log /var/log/nginx/domains/%domain%.log combined; + access_log /var/log/nginx/domains/%domain%.bytes bytes; + error_log /var/log/nginx/domains/%domain%.error.log error; + + location = /favicon.ico { + log_not_found off; + access_log off; + } + + location = /robots.txt { + allow all; + log_not_found off; + access_log off; + } + + location / { + try_files $uri $uri/ /index.php?$args; + + location ~* ^.+\.(jpeg|jpg|png|gif|bmp|ico|svg|css|js)$ { + expires max; + } + + location ~ [^/]\.php(/|$) { + fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; + if (!-f $document_root$fastcgi_script_name) { + return 404; + } + + fastcgi_pass %backend_lsnr%; + fastcgi_index index.php; + include /etc/nginx/fastcgi_params; + } + } + + error_page 403 /error/404.html; + error_page 404 /error/404.html; + error_page 500 502 503 504 /error/50x.html; + + location /error/ { + alias %home%/%user%/web/%domain%/document_errors/; + } + + location ~* "/\.(htaccess|htpasswd)$" { + deny all; + return 404; + } + + location /vstats/ { + alias %home%/%user%/web/%domain%/stats/; + include %home%/%user%/conf/web/%domain%.auth*; + } + + include /etc/nginx/conf.d/phpmyadmin.inc*; + include /etc/nginx/conf.d/phppgadmin.inc*; + include /etc/nginx/conf.d/webmail.inc*; + + include %home%/%user%/conf/web/nginx.%domain%.conf*; +} diff --git a/install/debian/11/templates/web/nginx/php-fpm/wordpress2_rewrite.stpl b/install/debian/11/templates/web/nginx/php-fpm/wordpress2_rewrite.stpl new file mode 100644 index 00000000..a5fc46fb --- /dev/null +++ b/install/debian/11/templates/web/nginx/php-fpm/wordpress2_rewrite.stpl @@ -0,0 +1,71 @@ +server { + listen %ip%:%web_ssl_port% ssl http2; + server_name %domain_idn% %alias_idn%; + root %docroot%; + index index.php index.html index.htm; + access_log /var/log/nginx/domains/%domain%.log combined; + access_log /var/log/nginx/domains/%domain%.bytes bytes; + error_log /var/log/nginx/domains/%domain%.error.log error; + + ssl_certificate %ssl_pem%; + ssl_certificate_key %ssl_key%; + + location = /favicon.ico { + log_not_found off; + access_log off; + } + + location = /robots.txt { + allow all; + log_not_found off; + access_log off; + } + + location / { + try_files $uri $uri/ /index.php?$args; + + if (!-e $request_filename) + { + rewrite ^(.+)$ /index.php?q=$1 last; + } + + location ~* ^.+\.(jpeg|jpg|png|gif|bmp|ico|svg|css|js)$ { + expires max; + } + + location ~ [^/]\.php(/|$) { + fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; + if (!-f $document_root$fastcgi_script_name) { + return 404; + } + + fastcgi_pass %backend_lsnr%; + fastcgi_index index.php; + include /etc/nginx/fastcgi_params; + } + } + + error_page 403 /error/404.html; + error_page 404 /error/404.html; + error_page 500 502 503 504 /error/50x.html; + + location /error/ { + alias %home%/%user%/web/%domain%/document_errors/; + } + + location ~* "/\.(htaccess|htpasswd)$" { + deny all; + return 404; + } + + location /vstats/ { + alias %home%/%user%/web/%domain%/stats/; + include %home%/%user%/web/%domain%/stats/auth.conf*; + } + + include /etc/nginx/conf.d/phpmyadmin.inc*; + include /etc/nginx/conf.d/phppgadmin.inc*; + include /etc/nginx/conf.d/webmail.inc*; + + include %home%/%user%/conf/web/nginx.%domain_idn%.conf*; +} diff --git a/install/debian/11/templates/web/nginx/php-fpm/wordpress2_rewrite.tpl b/install/debian/11/templates/web/nginx/php-fpm/wordpress2_rewrite.tpl new file mode 100644 index 00000000..39e366b7 --- /dev/null +++ b/install/debian/11/templates/web/nginx/php-fpm/wordpress2_rewrite.tpl @@ -0,0 +1,67 @@ +server { + listen %ip%:%web_port%; + server_name %domain_idn% %alias_idn%; + root %docroot%; + index index.php index.html index.htm; + access_log /var/log/nginx/domains/%domain%.log combined; + access_log /var/log/nginx/domains/%domain%.bytes bytes; + error_log /var/log/nginx/domains/%domain%.error.log error; + location = /favicon.ico { + log_not_found off; + access_log off; + } + + location = /robots.txt { + allow all; + log_not_found off; + access_log off; + } + + location / { + try_files $uri $uri/ /index.php?$args; + + if (!-e $request_filename) + { + rewrite ^(.+)$ /index.php?q=$1 last; + } + + location ~* ^.+\.(jpeg|jpg|png|gif|bmp|ico|svg|css|js)$ { + expires max; + } + + location ~ [^/]\.php(/|$) { + fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; + if (!-f $document_root$fastcgi_script_name) { + return 404; + } + + fastcgi_pass %backend_lsnr%; + fastcgi_index index.php; + include /etc/nginx/fastcgi_params; + } + } + + error_page 403 /error/404.html; + error_page 404 /error/404.html; + error_page 500 502 503 504 /error/50x.html; + + location /error/ { + alias %home%/%user%/web/%domain%/document_errors/; + } + + location ~* "/\.(htaccess|htpasswd)$" { + deny all; + return 404; + } + + location /vstats/ { + alias %home%/%user%/web/%domain%/stats/; + include %home%/%user%/web/%domain%/stats/auth.conf*; + } + + include /etc/nginx/conf.d/phpmyadmin.inc*; + include /etc/nginx/conf.d/phppgadmin.inc*; + include /etc/nginx/conf.d/webmail.inc*; + + include %home%/%user%/conf/web/nginx.%domain_idn%.conf*; +} diff --git a/install/debian/11/templates/web/nginx/private-force-https.stpl b/install/debian/11/templates/web/nginx/private-force-https.stpl new file mode 100644 index 00000000..2b4e42cc --- /dev/null +++ b/install/debian/11/templates/web/nginx/private-force-https.stpl @@ -0,0 +1,38 @@ +server { + listen %ip%:%proxy_ssl_port% ssl http2; + server_name %domain_idn% %alias_idn%; + + ssl_certificate %ssl_pem%; + ssl_certificate_key %ssl_key%; + error_log /var/log/%web_system%/domains/%domain%.error.log error; + + location / { + auth_basic "Restricted area"; + auth_basic_user_file /etc/nginx/.htpasswd; + proxy_pass https://%ip%:%web_ssl_port%; + location ~* ^.+\.(%proxy_extentions%)$ { + root %sdocroot%; + access_log /var/log/%web_system%/domains/%domain%.log combined; + access_log /var/log/%web_system%/domains/%domain%.bytes bytes; + expires max; + # try_files $uri @fallback; + } + } + + location /error/ { + alias %home%/%user%/web/%domain%/document_errors/; + } + + location @fallback { + proxy_pass https://%ip%:%web_ssl_port%; + } + + location ~ /\.ht {return 404;} + location ~ /\.svn/ {return 404;} + location ~ /\.git/ {return 404;} + location ~ /\.hg/ {return 404;} + location ~ /\.bzr/ {return 404;} + + include %home%/%user%/conf/web/*nginx.%domain_idn%.conf_letsencrypt; + include %home%/%user%/conf/web/s%proxy_system%.%domain%.conf*; +} diff --git a/install/debian/11/templates/web/nginx/private-force-https.tpl b/install/debian/11/templates/web/nginx/private-force-https.tpl new file mode 100644 index 00000000..851ac0dc --- /dev/null +++ b/install/debian/11/templates/web/nginx/private-force-https.tpl @@ -0,0 +1,8 @@ +server { + listen %ip%:%proxy_port%; + server_name %domain_idn% %alias_idn%; + location / { + rewrite ^(.*) https://%domain_idn%$1 permanent; + } +include %home%/%user%/conf/web/*nginx.%domain_idn%.conf_letsencrypt; +} diff --git a/install/debian/11/templates/web/nginx/private-hosting.sh b/install/debian/11/templates/web/nginx/private-hosting.sh new file mode 100755 index 00000000..abc9155d --- /dev/null +++ b/install/debian/11/templates/web/nginx/private-hosting.sh @@ -0,0 +1,11 @@ +#!/bin/bash +# Changing public_html permission +user="$1" +domain="$2" +ip="$3" +home_dir="$4" +docroot="$5" + +chmod 755 $docroot + +exit 0 diff --git a/install/debian/11/templates/web/nginx/private-hosting.stpl b/install/debian/11/templates/web/nginx/private-hosting.stpl new file mode 100644 index 00000000..60b23c55 --- /dev/null +++ b/install/debian/11/templates/web/nginx/private-hosting.stpl @@ -0,0 +1,40 @@ +server { + listen %ip%:%proxy_ssl_port% ssl http2; + server_name %domain_idn% %alias_idn%; + + ssl_certificate %ssl_pem%; + ssl_certificate_key %ssl_key%; + error_log /var/log/%web_system%/domains/%domain%.error.log error; + + location / { + auth_basic "Restricted area"; + auth_basic_user_file /etc/nginx/.htpasswd; + proxy_pass https://%ip%:%web_ssl_port%; + location ~* ^.+\.(%proxy_extentions%)$ { + root %sdocroot%; + access_log /var/log/%web_system%/domains/%domain%.log combined; + access_log /var/log/%web_system%/domains/%domain%.bytes bytes; + expires max; + # try_files $uri @fallback; + } + } + + location /error/ { + alias %home%/%user%/web/%domain%/document_errors/; + } + + location @fallback { + proxy_pass https://%ip%:%web_ssl_port%; + } + + location ~ /\.ht {return 404;} + location ~ /\.svn/ {return 404;} + location ~ /\.git/ {return 404;} + location ~ /\.hg/ {return 404;} + location ~ /\.bzr/ {return 404;} + + disable_symlinks if_not_owner from=%docroot%; + + include %home%/%user%/conf/web/snginx.%domain_idn%.conf*; +} + diff --git a/install/debian/11/templates/web/nginx/private-hosting.tpl b/install/debian/11/templates/web/nginx/private-hosting.tpl new file mode 100644 index 00000000..da70045f --- /dev/null +++ b/install/debian/11/templates/web/nginx/private-hosting.tpl @@ -0,0 +1,37 @@ +server { + listen %ip%:%proxy_port%; + server_name %domain_idn% %alias_idn%; + error_log /var/log/%web_system%/domains/%domain%.error.log error; + + location / { + auth_basic "Restricted area"; + auth_basic_user_file /etc/nginx/.htpasswd; + proxy_pass http://%ip%:%web_port%; + location ~* ^.+\.(%proxy_extentions%)$ { + root %docroot%; + access_log /var/log/%web_system%/domains/%domain%.log combined; + access_log /var/log/%web_system%/domains/%domain%.bytes bytes; + expires max; + # try_files $uri @fallback; + } + } + + location /error/ { + alias %home%/%user%/web/%domain%/document_errors/; + } + + location @fallback { + proxy_pass http://%ip%:%web_port%; + } + + location ~ /\.ht {return 404;} + location ~ /\.svn/ {return 404;} + location ~ /\.git/ {return 404;} + location ~ /\.hg/ {return 404;} + location ~ /\.bzr/ {return 404;} + + disable_symlinks if_not_owner from=%docroot%; + + include %home%/%user%/conf/web/nginx.%domain_idn%.conf*; +} + diff --git a/install/debian/11/templates/web/nginx/proxy_ip.tpl b/install/debian/11/templates/web/nginx/proxy_ip.tpl new file mode 100644 index 00000000..ae195617 --- /dev/null +++ b/install/debian/11/templates/web/nginx/proxy_ip.tpl @@ -0,0 +1,9 @@ +server { + listen %ip%:%proxy_port% default; + server_name _; + #access_log /var/log/nginx/%ip%.log main; + location / { + proxy_pass http://%ip%:%web_port%; + } +} + diff --git a/install/debian/11/templates/web/php-fpm/default.tpl b/install/debian/11/templates/web/php-fpm/default.tpl new file mode 100644 index 00000000..209e1e43 --- /dev/null +++ b/install/debian/11/templates/web/php-fpm/default.tpl @@ -0,0 +1,21 @@ +[%backend%] +listen = 127.0.0.1:%backend_port% +listen.allowed_clients = 127.0.0.1 + +user = %user% +group = %user% + +pm = ondemand +pm.max_children = 4 +pm.max_requests = 4000 +pm.process_idle_timeout = 10s +pm.status_path = /status + +php_admin_value[upload_tmp_dir] = /home/%user%/tmp +php_admin_value[session.save_path] = /home/%user%/tmp + +env[HOSTNAME] = $HOSTNAME +env[PATH] = /usr/local/bin:/usr/bin:/bin +env[TMP] = /home/%user%/tmp +env[TMPDIR] = /home/%user%/tmp +env[TEMP] = /home/%user%/tmp diff --git a/install/debian/11/templates/web/php-fpm/no-php.tpl b/install/debian/11/templates/web/php-fpm/no-php.tpl new file mode 100644 index 00000000..047c33ed --- /dev/null +++ b/install/debian/11/templates/web/php-fpm/no-php.tpl @@ -0,0 +1,20 @@ +;[%backend%] +;listen = /dev/null + +;user = %user% +;group = %user% + +;listen.owner = %user% +;listen.group = www-data + +;pm = ondemand +;pm.max_children = 4 +;pm.max_requests = 4000 +;pm.process_idle_timeout = 10s +;pm.status_path = /status + +;env[HOSTNAME] = $HOSTNAME +;env[PATH] = /usr/local/bin:/usr/bin:/bin +;env[TMP] = /home/%user%/tmp +;env[TMPDIR] = /home/%user%/tmp +;env[TEMP] = /home/%user%/tmp diff --git a/install/debian/11/templates/web/php-fpm/socket.tpl b/install/debian/11/templates/web/php-fpm/socket.tpl new file mode 100644 index 00000000..a0151084 --- /dev/null +++ b/install/debian/11/templates/web/php-fpm/socket.tpl @@ -0,0 +1,24 @@ +[%backend%] +listen = /var/run/php/%backend%.sock +listen.allowed_clients = 127.0.0.1 + +user = %user% +group = %user% + +listen.owner = %user% +listen.group = www-data + +pm = ondemand +pm.max_children = 4 +pm.max_requests = 4000 +pm.process_idle_timeout = 10s +pm.status_path = /status + +php_admin_value[upload_tmp_dir] = /home/%user%/tmp +php_admin_value[session.save_path] = /home/%user%/tmp + +env[HOSTNAME] = $HOSTNAME +env[PATH] = /usr/local/bin:/usr/bin:/bin +env[TMP] = /home/%user%/tmp +env[TMPDIR] = /home/%user%/tmp +env[TEMP] = /home/%user%/tmp diff --git a/install/debian/11/templates/web/skel/document_errors/403.html b/install/debian/11/templates/web/skel/document_errors/403.html new file mode 100755 index 00000000..9c3f6baa --- /dev/null +++ b/install/debian/11/templates/web/skel/document_errors/403.html @@ -0,0 +1,29 @@ + + ++ ++ + +403 — Forbidden + + + + + + + + +403
+Forbidden
++ Unfortunately, you do not have permission to view this ++ + + diff --git a/install/debian/11/templates/web/skel/document_errors/404.html b/install/debian/11/templates/web/skel/document_errors/404.html new file mode 100755 index 00000000..2cee7708 --- /dev/null +++ b/install/debian/11/templates/web/skel/document_errors/404.html @@ -0,0 +1,28 @@ + + +404 — Not Found + + + + + + + +404
+Page Not Found
++ It seems that the page you were trying to reach does not exist anymore, or maybe it has just moved. + You can start again from the home or go back to previous page. ++ + diff --git a/install/debian/11/templates/web/skel/document_errors/50x.html b/install/debian/11/templates/web/skel/document_errors/50x.html new file mode 100755 index 00000000..85ba648b --- /dev/null +++ b/install/debian/11/templates/web/skel/document_errors/50x.html @@ -0,0 +1,29 @@ + + +500 — Internal Sever Error + + + + + + + + +500
+Internal Server Error
++ Sorry, something went wrong :( ++ + + diff --git a/install/debian/11/templates/web/skel/public_html/index.html b/install/debian/11/templates/web/skel/public_html/index.html new file mode 100755 index 00000000..c2895cf2 --- /dev/null +++ b/install/debian/11/templates/web/skel/public_html/index.html @@ -0,0 +1,26 @@ + + +%domain% — Coming Soon + + + + + + +%domain%
+ + + + + diff --git a/install/debian/11/templates/web/skel/public_html/robots.txt b/install/debian/11/templates/web/skel/public_html/robots.txt new file mode 100755 index 00000000..00ee83dc --- /dev/null +++ b/install/debian/11/templates/web/skel/public_html/robots.txt @@ -0,0 +1,3 @@ +# vestacp autogenerated robots.txt +User-agent: * +Crawl-delay: 10 diff --git a/install/debian/11/templates/web/skel/public_shtml/index.html b/install/debian/11/templates/web/skel/public_shtml/index.html new file mode 100755 index 00000000..c2895cf2 --- /dev/null +++ b/install/debian/11/templates/web/skel/public_shtml/index.html @@ -0,0 +1,26 @@ + + +%domain% — Coming Soon + + + + + + +%domain%
+ + + + + diff --git a/install/debian/11/templates/web/skel/public_shtml/robots.txt b/install/debian/11/templates/web/skel/public_shtml/robots.txt new file mode 100755 index 00000000..00ee83dc --- /dev/null +++ b/install/debian/11/templates/web/skel/public_shtml/robots.txt @@ -0,0 +1,3 @@ +# vestacp autogenerated robots.txt +User-agent: * +Crawl-delay: 10 diff --git a/install/debian/11/templates/web/suspend/.htaccess b/install/debian/11/templates/web/suspend/.htaccess new file mode 100755 index 00000000..5a6df83f --- /dev/null +++ b/install/debian/11/templates/web/suspend/.htaccess @@ -0,0 +1,2 @@ +ErrorDocument 403 /index.html +ErrorDocument 404 /index.html diff --git a/install/debian/11/templates/web/suspend/index.html b/install/debian/11/templates/web/suspend/index.html new file mode 100755 index 00000000..3815354d --- /dev/null +++ b/install/debian/11/templates/web/suspend/index.html @@ -0,0 +1,25 @@ + + +Website Suspended + + + + + +Temporary under construction
+This website is temporary under construction.
++ We will back again soon. ++ + diff --git a/install/debian/11/templates/web/webalizer/webalizer.tpl b/install/debian/11/templates/web/webalizer/webalizer.tpl new file mode 100755 index 00000000..068adcfb --- /dev/null +++ b/install/debian/11/templates/web/webalizer/webalizer.tpl @@ -0,0 +1,110 @@ +HostName %domain_idn% +LogFile /var/log/%web_system%/domains/%domain%.log +OutputDir %home%/%user%/web/%domain%/stats +HistoryName %home%/%user%/web/%domain%/stats/%domain%.hist +Incremental yes +IncrementalName %home%/%user%/web/%domain%/stats/%domain%.current +PageType htm* +PageType cgi +PageType php +PageType shtml +DNSCache /var/lib/webalizer/dns_cache.db +DNSChildren 10 +Quiet yes +FoldSeqErr yes +IndexAlias index.php +HideURL *.gif +HideURL *.GIF +HideURL *.jpg +HideURL *.JPG +HideURL *.png +HideURL *.PNG +HideURL *.ra +SearchEngine abcsearch. terms= +SearchEngine alexa. q= +SearchEngine alltheweb. q= +SearchEngine alltheweb. query= +SearchEngine alot. q= +SearchEngine altavista. q= +SearchEngine aolsearch. query= +SearchEngine aport.ru r= +SearchEngine ask. q= +SearchEngine atlas.cz q= +SearchEngine bbc. q= +SearchEngine bing. q= +SearchEngine blingo. q= +SearchEngine blogs.yandex.ru text= +SearchEngine btopenworld query= +SearchEngine buscador.ya.com q= +SearchEngine busca. q= +SearchEngine business. query= +SearchEngine centrum.cz q= +SearchEngine chiff. q= +SearchEngine clusty. query= +SearchEngine comcast. q= +SearchEngine crawler. q= +SearchEngine cuil. q= +SearchEngine dmoz. search= +SearchEngine dogpile.com q= +SearchEngine dpxml qkw= +SearchEngine eureka. searchword= +SearchEngine euroseek. string= +SearchEngine exalead. q= +SearchEngine excite search= +SearchEngine ezilon. q= +SearchEngine fastbrowsersearch. q= +SearchEngine feedster.com q= +SearchEngine fireball.de q= +SearchEngine fireball. keyword= +SearchEngine freeserve. q= +SearchEngine gigablast. q= +SearchEngine gogo.ru q= +SearchEngine go.mail.ru q= +SearchEngine google. q= +SearchEngine hakia. q= +SearchEngine hotbot. query= +SearchEngine infoseek. qt= +SearchEngine iwon searchfor= +SearchEngine ixquick.com query= +SearchEngine joeant. keywords= +SearchEngine jyxo.cz s= +SearchEngine looksmart. key= +SearchEngine lycos. query= +SearchEngine mamma. q= +SearchEngine metacrawler q= +SearchEngine msn. MT= +SearchEngine msxml qkw= +SearchEngine mysearch. searchfor= +SearchEngine mywebsearch. searchfor= +SearchEngine netscape. q= +SearchEngine nigma.ru q= +SearchEngine northernlight. qr= +SearchEngine ntlworld. q= +SearchEngine orange. q= +SearchEngine overture. Keywords= +SearchEngine punto.ru text= +SearchEngine rambler. keyword= +SearchEngine search.aol. q= +SearchEngine search.babylon. q= +SearchEngine search.centrum. phrase= +SearchEngine search.conduit. q= +SearchEngine search.earthlink q= +SearchEngine search.icq. q= +SearchEngine search.live.com q= +SearchEngine search.rambler.ru words= +SearchEngine search.winamp. q= +SearchEngine searchy. q= +SearchEngine seznam.cz w= +SearchEngine snap. query= +SearchEngine teoma. q= +SearchEngine teradex.com q= +SearchEngine ukplus key= +SearchEngine verizon. q= +SearchEngine virginmedia. q= +SearchEngine voila. rdata= +SearchEngine webcrawler searchText= +SearchEngine web.search.naver. query= +SearchEngine wisenut q= +SearchEngine yahoo. p= +SearchEngine yandex. text= +SearchEngine yodao. q= diff --git a/install/debian/11/vsftpd/vsftpd.conf b/install/debian/11/vsftpd/vsftpd.conf new file mode 100644 index 00000000..1ca1a992 --- /dev/null +++ b/install/debian/11/vsftpd/vsftpd.conf @@ -0,0 +1,26 @@ +anonymous_enable=NO +local_enable=YES +write_enable=YES +local_umask=022 +anon_umask=022 +anon_upload_enable=NO +dirmessage_enable=YES +xferlog_enable=YES +connect_from_port_20=YES +xferlog_std_format=YES +dual_log_enable=YES +chroot_local_user=YES +listen=YES +pam_service_name=vsftpd +userlist_enable=NO +tcp_wrappers=YES +force_dot_files=YES +ascii_upload_enable=YES +ascii_download_enable=YES +#allow_writable_chroot=YES +allow_writeable_chroot=YES +seccomp_sandbox=NO +pasv_enable=YES +pasv_max_port=12100 +pasv_min_port=12000 +use_localtime=YES From fb98936297b472d5c3740332c65854f87c7e75de Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Fri, 16 Jul 2021 14:28:44 +0200 Subject: [PATCH 091/896] deb11 proftpd identlookups fix --- install/debian/11/proftpd/proftpd.conf | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/install/debian/11/proftpd/proftpd.conf b/install/debian/11/proftpd/proftpd.conf index b144b8a5..4e7f798f 100644 --- a/install/debian/11/proftpd/proftpd.conf +++ b/install/debian/11/proftpd/proftpd.conf @@ -28,7 +28,9 @@ SystemLog /var/log/proftpd/proftpd.logUmask 002 - IdentLookups off + + IdentLookups off + AllowOverwrite yesAllowAll From ebe60ba28ced07b25fd8b91f7cb4b5ca38e95061 Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Fri, 16 Jul 2021 15:19:44 +0200 Subject: [PATCH 092/896] php7.4 patches for deb11 --- install/debian/11/php/php7.4-dedi.patch | 87 +++++++++++++++++++++++++ install/debian/11/php/php7.4-vps.patch | 87 +++++++++++++++++++++++++ 2 files changed, 174 insertions(+) create mode 100644 install/debian/11/php/php7.4-dedi.patch create mode 100644 install/debian/11/php/php7.4-vps.patch diff --git a/install/debian/11/php/php7.4-dedi.patch b/install/debian/11/php/php7.4-dedi.patch new file mode 100644 index 00000000..c622b51c --- /dev/null +++ b/install/debian/11/php/php7.4-dedi.patch @@ -0,0 +1,87 @@ +--- /etc/php/7.4/fpm/php.ini.orig 2021-02-20 10:45:56.000000000 +0100 ++++ /etc/php/7.4/fpm/php.ini 2021-07-16 15:17:44.465823204 +0200 +@@ -309,7 +309,8 @@ + ; This directive allows you to disable certain functions. + ; It receives a comma-delimited list of function names. + ; http://php.net/disable-functions +-disable_functions = pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, ++; disable_functions = pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, ++disable_functions = pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,exec,system,passthru,shell_exec,proc_open,popen + + ; This directive allows you to disable certain classes. + ; It receives a comma-delimited list of class names. +@@ -402,11 +403,11 @@ + ;max_input_nesting_level = 64 + + ; How many GET/POST/COOKIE input variables may be accepted +-;max_input_vars = 1000 ++max_input_vars = 6000 + + ; Maximum amount of memory a script may consume + ; http://php.net/memory-limit +-memory_limit = 128M ++memory_limit = 256M + + ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + ; Error handling and logging ; +@@ -691,7 +692,7 @@ + ; Its value may be 0 to disable the limit. It is ignored if POST data reading + ; is disabled through enable_post_data_reading. + ; http://php.net/post-max-size +-post_max_size = 8M ++post_max_size = 60M + + ; Automatically add files before PHP document. + ; http://php.net/auto-prepend-file +@@ -843,7 +844,7 @@ + + ; Maximum allowed size for uploaded files. + ; http://php.net/upload-max-filesize +-upload_max_filesize = 2M ++upload_max_filesize = 50M + + ; Maximum number of files that can be uploaded via a single request + max_file_uploads = 20 +@@ -959,7 +960,7 @@ + [Date] + ; Defines the default timezone used by the date functions + ; http://php.net/date.timezone +-;date.timezone = ++date.timezone = UTC + + ; http://php.net/date.default-latitude + ;date.default_latitude = 31.7667 +@@ -1089,7 +1090,7 @@ + + ; The path to a log file that will log all mail() calls. Log entries include + ; the full path of the script, line number, To address and headers. +-;mail.log = ++mail.log = /var/log/php-mail.log + ; Log mail to syslog (Event Log on Windows). + ;mail.log = syslog + +@@ -1766,20 +1767,20 @@ + + [opcache] + ; Determines if Zend OPCache is enabled +-;opcache.enable=1 ++opcache.enable=1 + + ; Determines if Zend OPCache is enabled for the CLI version of PHP +-;opcache.enable_cli=0 ++opcache.enable_cli=0 + + ; The OPcache shared memory storage size. +-;opcache.memory_consumption=128 ++opcache.memory_consumption=2048 + + ; The amount of memory for interned strings in Mbytes. + ;opcache.interned_strings_buffer=8 + + ; The maximum number of keys (scripts) in the OPcache hash table. + ; Only numbers between 200 and 1000000 are allowed. +-;opcache.max_accelerated_files=10000 ++opcache.max_accelerated_files=100000 + + ; The maximum percentage of "wasted" memory until a restart is scheduled. + ;opcache.max_wasted_percentage=5 diff --git a/install/debian/11/php/php7.4-vps.patch b/install/debian/11/php/php7.4-vps.patch new file mode 100644 index 00000000..e78199bc --- /dev/null +++ b/install/debian/11/php/php7.4-vps.patch @@ -0,0 +1,87 @@ +--- /etc/php/7.4/fpm/php.ini.orig 2021-02-20 10:45:56.000000000 +0100 ++++ /etc/php/7.4/fpm/php.ini 2021-07-16 15:05:25.244169530 +0200 +@@ -309,7 +309,8 @@ + ; This directive allows you to disable certain functions. + ; It receives a comma-delimited list of function names. + ; http://php.net/disable-functions +-disable_functions = pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, ++; disable_functions = pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, ++disable_functions = pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,exec,system,passthru,shell_exec,proc_open,popen + + ; This directive allows you to disable certain classes. + ; It receives a comma-delimited list of class names. +@@ -402,11 +403,11 @@ + ;max_input_nesting_level = 64 + + ; How many GET/POST/COOKIE input variables may be accepted +-;max_input_vars = 1000 ++max_input_vars = 6000 + + ; Maximum amount of memory a script may consume + ; http://php.net/memory-limit +-memory_limit = 128M ++memory_limit = 256M + + ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + ; Error handling and logging ; +@@ -691,7 +692,7 @@ + ; Its value may be 0 to disable the limit. It is ignored if POST data reading + ; is disabled through enable_post_data_reading. + ; http://php.net/post-max-size +-post_max_size = 8M ++post_max_size = 60M + + ; Automatically add files before PHP document. + ; http://php.net/auto-prepend-file +@@ -843,7 +844,7 @@ + + ; Maximum allowed size for uploaded files. + ; http://php.net/upload-max-filesize +-upload_max_filesize = 2M ++upload_max_filesize = 50M + + ; Maximum number of files that can be uploaded via a single request + max_file_uploads = 20 +@@ -959,7 +960,7 @@ + [Date] + ; Defines the default timezone used by the date functions + ; http://php.net/date.timezone +-;date.timezone = ++date.timezone = UTC + + ; http://php.net/date.default-latitude + ;date.default_latitude = 31.7667 +@@ -1089,7 +1090,7 @@ + + ; The path to a log file that will log all mail() calls. Log entries include + ; the full path of the script, line number, To address and headers. +-;mail.log = ++mail.log = /var/log/php-mail.log + ; Log mail to syslog (Event Log on Windows). + ;mail.log = syslog + +@@ -1766,20 +1767,20 @@ + + [opcache] + ; Determines if Zend OPCache is enabled +-;opcache.enable=1 ++opcache.enable=1 + + ; Determines if Zend OPCache is enabled for the CLI version of PHP +-;opcache.enable_cli=0 ++opcache.enable_cli=0 + + ; The OPcache shared memory storage size. +-;opcache.memory_consumption=128 ++opcache.memory_consumption=512 + + ; The amount of memory for interned strings in Mbytes. + ;opcache.interned_strings_buffer=8 + + ; The maximum number of keys (scripts) in the OPcache hash table. + ; Only numbers between 200 and 1000000 are allowed. +-;opcache.max_accelerated_files=10000 ++opcache.max_accelerated_files=100000 + + ; The maximum percentage of "wasted" memory until a restart is scheduled. + ;opcache.max_wasted_percentage=5 From fd82be8cf2f1edb086d04dd687c0f1f9d4ff0bd1 Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Fri, 16 Jul 2021 15:42:26 +0200 Subject: [PATCH 093/896] Update php7.4-vps.patch --- install/debian/11/php/php7.4-vps.patch | 9 --------- 1 file changed, 9 deletions(-) diff --git a/install/debian/11/php/php7.4-vps.patch b/install/debian/11/php/php7.4-vps.patch index e78199bc..4fd24e55 100644 --- a/install/debian/11/php/php7.4-vps.patch +++ b/install/debian/11/php/php7.4-vps.patch @@ -42,15 +42,6 @@ ; Maximum number of files that can be uploaded via a single request max_file_uploads = 20 -@@ -959,7 +960,7 @@ - [Date] - ; Defines the default timezone used by the date functions - ; http://php.net/date.timezone --;date.timezone = -+date.timezone = UTC - - ; http://php.net/date.default-latitude - ;date.default_latitude = 31.7667 @@ -1089,7 +1090,7 @@ ; The path to a log file that will log all mail() calls. Log entries include From b27e96b285d02e8d31d70dafef8676687c381e63 Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Fri, 16 Jul 2021 15:43:10 +0200 Subject: [PATCH 094/896] Update php7.4-dedi.patch --- install/debian/11/php/php7.4-dedi.patch | 9 --------- 1 file changed, 9 deletions(-) diff --git a/install/debian/11/php/php7.4-dedi.patch b/install/debian/11/php/php7.4-dedi.patch index c622b51c..4b533087 100644 --- a/install/debian/11/php/php7.4-dedi.patch +++ b/install/debian/11/php/php7.4-dedi.patch @@ -42,15 +42,6 @@ ; Maximum number of files that can be uploaded via a single request max_file_uploads = 20 -@@ -959,7 +960,7 @@ - [Date] - ; Defines the default timezone used by the date functions - ; http://php.net/date.timezone --;date.timezone = -+date.timezone = UTC - - ; http://php.net/date.default-latitude - ;date.default_latitude = 31.7667 @@ -1089,7 +1090,7 @@ ; The path to a log file that will log all mail() calls. Log entries include From 823ab23c3e34dc487a2daaf5297bb6cd289cc975 Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Fri, 16 Jul 2021 16:27:40 +0200 Subject: [PATCH 095/896] php7.4 patches --- install/debian/11/php/php7.4-dedi.patch | 4 ++-- install/debian/11/php/php7.4-vps.patch | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/install/debian/11/php/php7.4-dedi.patch b/install/debian/11/php/php7.4-dedi.patch index 4b533087..3e5bd2fb 100644 --- a/install/debian/11/php/php7.4-dedi.patch +++ b/install/debian/11/php/php7.4-dedi.patch @@ -1,5 +1,5 @@ ---- /etc/php/7.4/fpm/php.ini.orig 2021-02-20 10:45:56.000000000 +0100 -+++ /etc/php/7.4/fpm/php.ini 2021-07-16 15:17:44.465823204 +0200 +--- /etc/php/7.4/fpm/php.ini.orig 2021-07-16 16:12:30.027464762 +0200 ++++ /etc/php/7.4/fpm/php.ini 2021-07-16 16:25:15.000000000 +0200 @@ -309,7 +309,8 @@ ; This directive allows you to disable certain functions. ; It receives a comma-delimited list of function names. diff --git a/install/debian/11/php/php7.4-vps.patch b/install/debian/11/php/php7.4-vps.patch index 4fd24e55..7c52d402 100644 --- a/install/debian/11/php/php7.4-vps.patch +++ b/install/debian/11/php/php7.4-vps.patch @@ -1,5 +1,5 @@ ---- /etc/php/7.4/fpm/php.ini.orig 2021-02-20 10:45:56.000000000 +0100 -+++ /etc/php/7.4/fpm/php.ini 2021-07-16 15:05:25.244169530 +0200 +--- /etc/php/7.4/fpm/php.ini.orig 2021-07-16 16:12:30.027464762 +0200 ++++ /etc/php/7.4/fpm/php.ini 2021-07-16 16:24:26.000000000 +0200 @@ -309,7 +309,8 @@ ; This directive allows you to disable certain functions. ; It receives a comma-delimited list of function names. From a0c1145fe78163abb9091f28d1dd3e7cb1b1e39d Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Fri, 16 Jul 2021 21:01:13 +0200 Subject: [PATCH 096/896] php7.4 apache templates --- .../web/apache2/PHP-FPM-74-public.sh | 92 +++++++++++++++++++ .../web/apache2/PHP-FPM-74-public.stpl | 44 +++++++++ .../web/apache2/PHP-FPM-74-public.tpl | 38 ++++++++ .../11/templates/web/apache2/PHP-FPM-74.sh | 92 +++++++++++++++++++ .../11/templates/web/apache2/PHP-FPM-74.stpl | 44 +++++++++ .../11/templates/web/apache2/PHP-FPM-74.tpl | 38 ++++++++ 6 files changed, 348 insertions(+) create mode 100644 install/debian/11/templates/web/apache2/PHP-FPM-74-public.sh create mode 100644 install/debian/11/templates/web/apache2/PHP-FPM-74-public.stpl create mode 100644 install/debian/11/templates/web/apache2/PHP-FPM-74-public.tpl create mode 100644 install/debian/11/templates/web/apache2/PHP-FPM-74.sh create mode 100644 install/debian/11/templates/web/apache2/PHP-FPM-74.stpl create mode 100644 install/debian/11/templates/web/apache2/PHP-FPM-74.tpl diff --git a/install/debian/11/templates/web/apache2/PHP-FPM-74-public.sh b/install/debian/11/templates/web/apache2/PHP-FPM-74-public.sh new file mode 100644 index 00000000..6f6290b1 --- /dev/null +++ b/install/debian/11/templates/web/apache2/PHP-FPM-74-public.sh @@ -0,0 +1,92 @@ +#!/bin/bash +# Adding php pool conf +user="$1" +domain="$2" +ip="$3" +home_dir="$4" +docroot="$5" + +pool_conf="[$2] + +listen = /run/php/php7.4-fpm-$2.sock +listen.owner = $1 +listen.group = $1 +listen.mode = 0666 + +user = $1 +group = $1 + +pm = ondemand +pm.max_children = 16 +request_terminate_timeout = 30s +pm.max_requests = 4000 +pm.process_idle_timeout = 10s +pm.status_path = /status + +php_admin_value[upload_tmp_dir] = /home/$1/tmp +php_admin_value[session.save_path] = /home/$1/tmp +php_admin_value[open_basedir] = $5:/home/$1/tmp:/bin:/usr/bin:/usr/local/bin:/var/www/html:/tmp:/usr/share:/etc/phpmyadmin:/var/lib/phpmyadmin:/etc/roundcube:/var/log/roundcube:/var/lib/roundcube +php_admin_value[upload_max_filesize] = 80M +php_admin_value[max_execution_time] = 20 +php_admin_value[post_max_size] = 80M +php_admin_value[memory_limit] = 256M +php_admin_value[sendmail_path] = \"/usr/sbin/sendmail -t -i -f info@$2\" +php_admin_flag[mysql.allow_persistent] = off +php_admin_flag[safe_mode] = off + +env[PATH] = /usr/local/bin:/usr/bin:/bin +env[TMP] = /home/$1/tmp +env[TMPDIR] = /home/$1/tmp +env[TEMP] = /home/$1/tmp +" + +pool_file_56="/etc/php/5.6/fpm/pool.d/$2.conf" +pool_file_70="/etc/php/7.0/fpm/pool.d/$2.conf" +pool_file_71="/etc/php/7.1/fpm/pool.d/$2.conf" +pool_file_72="/etc/php/7.2/fpm/pool.d/$2.conf" +pool_file_73="/etc/php/7.3/fpm/pool.d/$2.conf" +pool_file_74="/etc/php/7.4/fpm/pool.d/$2.conf" + +if [ -f "$pool_file_56" ]; then + rm $pool_file_56 + service php5.6-fpm restart +fi + +if [ -f "$pool_file_70" ]; then + rm $pool_file_70 + service php7.0-fpm restart +fi + +if [ -f "$pool_file_71" ]; then + rm $pool_file_71 + service php7.1-fpm restart +fi + +if [ -f "$pool_file_72" ]; then + rm $pool_file_72 + service php7.2-fpm restart +fi + +if [ -f "$pool_file_73" ]; then + rm $pool_file_73 + service php7.3-fpm restart +fi + +write_file=0 +if [ ! -f "$pool_file_74" ]; then + write_file=1 +else + user_count=$(grep -c "/home/$1/" $pool_file_74) + if [ $user_count -eq 0 ]; then + write_file=1 + fi +fi +if [ $write_file -eq 1 ]; then + echo "$pool_conf" > $pool_file_74 + service php7.4-fpm restart +fi +if [ -f "/etc/php/7.4/fpm/pool.d/www.conf" ]; then + rm /etc/php/7.4/fpm/pool.d/www.conf +fi + +exit 0 \ No newline at end of file diff --git a/install/debian/11/templates/web/apache2/PHP-FPM-74-public.stpl b/install/debian/11/templates/web/apache2/PHP-FPM-74-public.stpl new file mode 100644 index 00000000..fdbc26f9 --- /dev/null +++ b/install/debian/11/templates/web/apache2/PHP-FPM-74-public.stpl @@ -0,0 +1,44 @@ + + + ServerName %domain_idn% + %alias_string% + ServerAdmin %email% + DocumentRoot %sdocroot%/public + ScriptAlias /cgi-bin/ %home%/%user%/web/%domain%/cgi-bin/ + Alias /vstats/ %home%/%user%/web/%domain%/stats/ + Alias /error/ %home%/%user%/web/%domain%/document_errors/ + #SuexecUserGroup %user% %group% + CustomLog /var/log/%web_system%/domains/%domain%.bytes bytes + CustomLog /var/log/%web_system%/domains/%domain%.log combined + ErrorLog /var/log/%web_system%/domains/%domain%.error.log + + diff --git a/install/debian/11/templates/web/apache2/PHP-FPM-74-public.tpl b/install/debian/11/templates/web/apache2/PHP-FPM-74-public.tpl new file mode 100644 index 00000000..614f20c3 --- /dev/null +++ b/install/debian/11/templates/web/apache2/PHP-FPM-74-public.tpl @@ -0,0 +1,38 @@ ++ AllowOverride All + ++ AllowOverride All + SSLRequireSSL + Options +Includes -Indexes +ExecCGI + + SSLEngine on + SSLVerifyClient none + SSLCertificateFile %ssl_crt% + SSLCertificateKeyFile %ssl_key% + %ssl_ca_str%SSLCertificateChainFile %ssl_ca% +#+# RMode config +# RUidGid %user% %group% +# RGroups www-data +# +#+# AssignUserID %user% %group% +# + ++ SetHandler "proxy:unix:/run/php/php7.4-fpm-%domain%.sock|fcgi://localhost/" + + SetEnvIf Authorization .+ HTTP_AUTHORIZATION=$0 + + IncludeOptional %home%/%user%/conf/web/s%web_system%.%domain%.conf* + ++ + ServerName %domain_idn% + %alias_string% + ServerAdmin %email% + DocumentRoot %docroot%/public + ScriptAlias /cgi-bin/ %home%/%user%/web/%domain%/cgi-bin/ + Alias /vstats/ %home%/%user%/web/%domain%/stats/ + Alias /error/ %home%/%user%/web/%domain%/document_errors/ + #SuexecUserGroup %user% %group% + CustomLog /var/log/%web_system%/domains/%domain%.bytes bytes + CustomLog /var/log/%web_system%/domains/%domain%.log combined + ErrorLog /var/log/%web_system%/domains/%domain%.error.log + + diff --git a/install/debian/11/templates/web/apache2/PHP-FPM-74.sh b/install/debian/11/templates/web/apache2/PHP-FPM-74.sh new file mode 100644 index 00000000..482cdd7e --- /dev/null +++ b/install/debian/11/templates/web/apache2/PHP-FPM-74.sh @@ -0,0 +1,92 @@ +#!/bin/bash +# Adding php pool conf +user="$1" +domain="$2" +ip="$3" +home_dir="$4" +docroot="$5" + +pool_conf="[$2] + +listen = /run/php/php7.4-fpm-$2.sock +listen.owner = $1 +listen.group = $1 +listen.mode = 0666 + +user = $1 +group = $1 + +pm = ondemand +pm.max_children = 8 +request_terminate_timeout = 90s +pm.max_requests = 4000 +pm.process_idle_timeout = 10s +pm.status_path = /status + +php_admin_value[upload_tmp_dir] = /home/$1/tmp +php_admin_value[session.save_path] = /home/$1/tmp +php_admin_value[open_basedir] = $5:/home/$1/tmp:/bin:/usr/bin:/usr/local/bin:/var/www/html:/tmp:/usr/share:/etc/phpmyadmin:/var/lib/phpmyadmin:/etc/roundcube:/var/log/roundcube:/var/lib/roundcube +php_admin_value[upload_max_filesize] = 80M +php_admin_value[max_execution_time] = 30 +php_admin_value[post_max_size] = 80M +php_admin_value[memory_limit] = 256M +php_admin_value[sendmail_path] = \"/usr/sbin/sendmail -t -i -f info@$2\" +php_admin_flag[mysql.allow_persistent] = off +php_admin_flag[safe_mode] = off + +env[PATH] = /usr/local/bin:/usr/bin:/bin +env[TMP] = /home/$1/tmp +env[TMPDIR] = /home/$1/tmp +env[TEMP] = /home/$1/tmp +" + +pool_file_56="/etc/php/5.6/fpm/pool.d/$2.conf" +pool_file_70="/etc/php/7.0/fpm/pool.d/$2.conf" +pool_file_71="/etc/php/7.1/fpm/pool.d/$2.conf" +pool_file_72="/etc/php/7.2/fpm/pool.d/$2.conf" +pool_file_73="/etc/php/7.3/fpm/pool.d/$2.conf" +pool_file_74="/etc/php/7.4/fpm/pool.d/$2.conf" + +if [ -f "$pool_file_56" ]; then + rm $pool_file_56 + service php5.6-fpm restart +fi + +if [ -f "$pool_file_70" ]; then + rm $pool_file_70 + service php7.0-fpm restart +fi + +if [ -f "$pool_file_71" ]; then + rm $pool_file_71 + service php7.1-fpm restart +fi + +if [ -f "$pool_file_72" ]; then + rm $pool_file_72 + service php7.2-fpm restart +fi + +if [ -f "$pool_file_73" ]; then + rm $pool_file_73 + service php7.3-fpm restart +fi + +write_file=0 +if [ ! -f "$pool_file_74" ]; then + write_file=1 +else + user_count=$(grep -c "/home/$1/" $pool_file_74) + if [ $user_count -eq 0 ]; then + write_file=1 + fi +fi +if [ $write_file -eq 1 ]; then + echo "$pool_conf" > $pool_file_74 + service php7.4-fpm restart +fi +if [ -f "/etc/php/7.4/fpm/pool.d/www.conf" ]; then + rm /etc/php/7.4/fpm/pool.d/www.conf +fi + +exit 0 diff --git a/install/debian/11/templates/web/apache2/PHP-FPM-74.stpl b/install/debian/11/templates/web/apache2/PHP-FPM-74.stpl new file mode 100644 index 00000000..df607247 --- /dev/null +++ b/install/debian/11/templates/web/apache2/PHP-FPM-74.stpl @@ -0,0 +1,44 @@ ++ AllowOverride All + ++ AllowOverride All + Options +Includes -Indexes +ExecCGI + +#+# RMode config +# RUidGid %user% %group% +# RGroups www-data +# +#+# AssignUserID %user% %group% +# + ++ SetHandler "proxy:unix:/run/php/php7.4-fpm-%domain%.sock|fcgi://localhost/" + + SetEnvIf Authorization .+ HTTP_AUTHORIZATION=$0 + + IncludeOptional %home%/%user%/conf/web/%web_system%.%domain%.conf* + ++ + ServerName %domain_idn% + %alias_string% + ServerAdmin %email% + DocumentRoot %sdocroot% + ScriptAlias /cgi-bin/ %home%/%user%/web/%domain%/cgi-bin/ + Alias /vstats/ %home%/%user%/web/%domain%/stats/ + Alias /error/ %home%/%user%/web/%domain%/document_errors/ + #SuexecUserGroup %user% %group% + CustomLog /var/log/%web_system%/domains/%domain%.bytes bytes + CustomLog /var/log/%web_system%/domains/%domain%.log combined + ErrorLog /var/log/%web_system%/domains/%domain%.error.log + + diff --git a/install/debian/11/templates/web/apache2/PHP-FPM-74.tpl b/install/debian/11/templates/web/apache2/PHP-FPM-74.tpl new file mode 100644 index 00000000..7b6e2cb5 --- /dev/null +++ b/install/debian/11/templates/web/apache2/PHP-FPM-74.tpl @@ -0,0 +1,38 @@ ++ AllowOverride All + ++ AllowOverride All + SSLRequireSSL + Options +Includes -Indexes +ExecCGI + + SSLEngine on + SSLVerifyClient none + SSLCertificateFile %ssl_crt% + SSLCertificateKeyFile %ssl_key% + %ssl_ca_str%SSLCertificateChainFile %ssl_ca% +#+# RMode config +# RUidGid %user% %group% +# RGroups www-data +# +#+# AssignUserID %user% %group% +# + ++ SetHandler "proxy:unix:/run/php/php7.4-fpm-%domain%.sock|fcgi://localhost/" + + SetEnvIf Authorization .+ HTTP_AUTHORIZATION=$0 + + IncludeOptional %home%/%user%/conf/web/s%web_system%.%domain%.conf* + ++ + ServerName %domain_idn% + %alias_string% + ServerAdmin %email% + DocumentRoot %docroot% + ScriptAlias /cgi-bin/ %home%/%user%/web/%domain%/cgi-bin/ + Alias /vstats/ %home%/%user%/web/%domain%/stats/ + Alias /error/ %home%/%user%/web/%domain%/document_errors/ + #SuexecUserGroup %user% %group% + CustomLog /var/log/%web_system%/domains/%domain%.bytes bytes + CustomLog /var/log/%web_system%/domains/%domain%.log combined + ErrorLog /var/log/%web_system%/domains/%domain%.error.log + + From ad20438e6c6619b13d520f4f2dd45ff86d7cdb88 Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Fri, 16 Jul 2021 21:02:06 +0200 Subject: [PATCH 097/896] Delete PHP-FPM-73-public.sh --- .../web/apache2/PHP-FPM-73-public.sh | 88 ------------------- 1 file changed, 88 deletions(-) delete mode 100755 install/debian/11/templates/web/apache2/PHP-FPM-73-public.sh diff --git a/install/debian/11/templates/web/apache2/PHP-FPM-73-public.sh b/install/debian/11/templates/web/apache2/PHP-FPM-73-public.sh deleted file mode 100755 index cc55b61e..00000000 --- a/install/debian/11/templates/web/apache2/PHP-FPM-73-public.sh +++ /dev/null @@ -1,88 +0,0 @@ -#!/bin/bash -# Adding php pool conf -user="$1" -domain="$2" -ip="$3" -home_dir="$4" -docroot="$5" - -pool_conf="[$2] - -listen = /run/php/php7.3-fpm-$2.sock -listen.owner = $1 -listen.group = $1 -listen.mode = 0666 - -user = $1 -group = $1 - -pm = ondemand -pm.max_children = 16 -request_terminate_timeout = 30s -pm.max_requests = 4000 -pm.process_idle_timeout = 10s -pm.status_path = /status - -php_admin_value[upload_tmp_dir] = /home/$1/tmp -php_admin_value[session.save_path] = /home/$1/tmp -php_admin_value[open_basedir] = $5:/home/$1/tmp:/bin:/usr/bin:/usr/local/bin:/var/www/html:/tmp:/usr/share:/etc/phpmyadmin:/var/lib/phpmyadmin:/etc/roundcube:/var/log/roundcube:/var/lib/roundcube -php_admin_value[upload_max_filesize] = 80M -php_admin_value[max_execution_time] = 20 -php_admin_value[post_max_size] = 80M -php_admin_value[memory_limit] = 256M -php_admin_value[sendmail_path] = \"/usr/sbin/sendmail -t -i -f info@$2\" -php_admin_flag[mysql.allow_persistent] = off -php_admin_flag[safe_mode] = off - -env[PATH] = /usr/local/bin:/usr/bin:/bin -env[TMP] = /home/$1/tmp -env[TMPDIR] = /home/$1/tmp -env[TEMP] = /home/$1/tmp -" - -pool_file_56="/etc/php/5.6/fpm/pool.d/$2.conf" -pool_file_70="/etc/php/7.0/fpm/pool.d/$2.conf" -pool_file_71="/etc/php/7.1/fpm/pool.d/$2.conf" -pool_file_72="/etc/php/7.2/fpm/pool.d/$2.conf" -pool_file_73="/etc/php/7.3/fpm/pool.d/$2.conf" - -if [ -f "$pool_file_56" ]; then - rm $pool_file_56 - service php5.6-fpm restart -fi - -if [ -f "$pool_file_70" ]; then - rm $pool_file_70 - service php7.0-fpm restart -fi - -if [ -f "$pool_file_71" ]; then - rm $pool_file_71 - service php7.1-fpm restart -fi - -if [ -f "$pool_file_72" ]; then - rm $pool_file_72 - service php7.2-fpm restart -fi - -write_file=0 -if [ ! -f "$pool_file_73" ]; then - write_file=1 -else - user_count=$(grep -c "/home/$1/" $pool_file_73) - if [ $user_count -eq 0 ]; then - write_file=1 - fi -fi - -if [ $write_file -eq 1 ]; then - echo "$pool_conf" > $pool_file_73 - service php7.3-fpm restart -fi - -if [ -f "/etc/php/7.3/fpm/pool.d/www.conf" ]; then - rm /etc/php/7.3/fpm/pool.d/www.conf -fi - -exit 0 From c267045cea60906f205423637001449ed836a730 Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Fri, 16 Jul 2021 21:02:21 +0200 Subject: [PATCH 098/896] Delete PHP-FPM-73-public.stpl --- .../web/apache2/PHP-FPM-73-public.stpl | 44 ------------------- 1 file changed, 44 deletions(-) delete mode 100644 install/debian/11/templates/web/apache2/PHP-FPM-73-public.stpl diff --git a/install/debian/11/templates/web/apache2/PHP-FPM-73-public.stpl b/install/debian/11/templates/web/apache2/PHP-FPM-73-public.stpl deleted file mode 100644 index 9660c234..00000000 --- a/install/debian/11/templates/web/apache2/PHP-FPM-73-public.stpl +++ /dev/null @@ -1,44 +0,0 @@ -+ AllowOverride All + ++ AllowOverride All + Options +Includes -Indexes +ExecCGI + +#+# RMode config +# RUidGid %user% %group% +# RGroups www-data +# +#+# AssignUserID %user% %group% +# + ++ SetHandler "proxy:unix:/run/php/php7.4-fpm-%domain%.sock|fcgi://localhost/" + + SetEnvIf Authorization .+ HTTP_AUTHORIZATION=$0 + + IncludeOptional %home%/%user%/conf/web/%web_system%.%domain%.conf* + +- - ServerName %domain_idn% - %alias_string% - ServerAdmin %email% - DocumentRoot %sdocroot%/public - ScriptAlias /cgi-bin/ %home%/%user%/web/%domain%/cgi-bin/ - Alias /vstats/ %home%/%user%/web/%domain%/stats/ - Alias /error/ %home%/%user%/web/%domain%/document_errors/ - #SuexecUserGroup %user% %group% - CustomLog /var/log/%web_system%/domains/%domain%.bytes bytes - CustomLog /var/log/%web_system%/domains/%domain%.log combined - ErrorLog /var/log/%web_system%/domains/%domain%.error.log - - From 92e09e8a25f0a1a2a07d485b7cea9e3e6f018b4b Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Fri, 16 Jul 2021 21:02:35 +0200 Subject: [PATCH 099/896] Delete PHP-FPM-73-public.tpl --- .../web/apache2/PHP-FPM-73-public.tpl | 38 ------------------- 1 file changed, 38 deletions(-) delete mode 100644 install/debian/11/templates/web/apache2/PHP-FPM-73-public.tpl diff --git a/install/debian/11/templates/web/apache2/PHP-FPM-73-public.tpl b/install/debian/11/templates/web/apache2/PHP-FPM-73-public.tpl deleted file mode 100644 index 892c0d1f..00000000 --- a/install/debian/11/templates/web/apache2/PHP-FPM-73-public.tpl +++ /dev/null @@ -1,38 +0,0 @@ -- AllowOverride All - -- AllowOverride All - SSLRequireSSL - Options +Includes -Indexes +ExecCGI - - SSLEngine on - SSLVerifyClient none - SSLCertificateFile %ssl_crt% - SSLCertificateKeyFile %ssl_key% - %ssl_ca_str%SSLCertificateChainFile %ssl_ca% -#-# RMode config -# RUidGid %user% %group% -# RGroups www-data -# -#-# AssignUserID %user% %group% -# - -- SetHandler "proxy:unix:/run/php/php7.3-fpm-%domain%.sock|fcgi://localhost/" - - SetEnvIf Authorization .+ HTTP_AUTHORIZATION=$0 - - IncludeOptional %home%/%user%/conf/web/s%web_system%.%domain%.conf* - -- - ServerName %domain_idn% - %alias_string% - ServerAdmin %email% - DocumentRoot %docroot%/public - ScriptAlias /cgi-bin/ %home%/%user%/web/%domain%/cgi-bin/ - Alias /vstats/ %home%/%user%/web/%domain%/stats/ - Alias /error/ %home%/%user%/web/%domain%/document_errors/ - #SuexecUserGroup %user% %group% - CustomLog /var/log/%web_system%/domains/%domain%.bytes bytes - CustomLog /var/log/%web_system%/domains/%domain%.log combined - ErrorLog /var/log/%web_system%/domains/%domain%.error.log - - From 19f5439351a9dd8c96b5daef61029ec637abfb42 Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Fri, 16 Jul 2021 21:02:53 +0200 Subject: [PATCH 100/896] Delete PHP-FPM-73.sh --- .../11/templates/web/apache2/PHP-FPM-73.sh | 92 ------------------- 1 file changed, 92 deletions(-) delete mode 100755 install/debian/11/templates/web/apache2/PHP-FPM-73.sh diff --git a/install/debian/11/templates/web/apache2/PHP-FPM-73.sh b/install/debian/11/templates/web/apache2/PHP-FPM-73.sh deleted file mode 100755 index 72f9cec6..00000000 --- a/install/debian/11/templates/web/apache2/PHP-FPM-73.sh +++ /dev/null @@ -1,92 +0,0 @@ -#!/bin/bash -# Adding php pool conf -user="$1" -domain="$2" -ip="$3" -home_dir="$4" -docroot="$5" - -pool_conf="[$2] - -listen = /run/php/php7.3-fpm-$2.sock -listen.owner = $1 -listen.group = $1 -listen.mode = 0666 - -user = $1 -group = $1 - -pm = ondemand -pm.max_children = 8 -request_terminate_timeout = 90s -pm.max_requests = 4000 -pm.process_idle_timeout = 10s -pm.status_path = /status - -php_admin_value[upload_tmp_dir] = /home/$1/tmp -php_admin_value[session.save_path] = /home/$1/tmp -php_admin_value[open_basedir] = $5:/home/$1/tmp:/bin:/usr/bin:/usr/local/bin:/var/www/html:/tmp:/usr/share:/etc/phpmyadmin:/var/lib/phpmyadmin:/etc/roundcube:/var/log/roundcube:/var/lib/roundcube -php_admin_value[upload_max_filesize] = 80M -php_admin_value[max_execution_time] = 30 -php_admin_value[post_max_size] = 80M -php_admin_value[memory_limit] = 256M -php_admin_value[sendmail_path] = \"/usr/sbin/sendmail -t -i -f info@$2\" -php_admin_flag[mysql.allow_persistent] = off -php_admin_flag[safe_mode] = off - -env[PATH] = /usr/local/bin:/usr/bin:/bin -env[TMP] = /home/$1/tmp -env[TMPDIR] = /home/$1/tmp -env[TEMP] = /home/$1/tmp -" - -pool_file_56="/etc/php/5.6/fpm/pool.d/$2.conf" -pool_file_70="/etc/php/7.0/fpm/pool.d/$2.conf" -pool_file_71="/etc/php/7.1/fpm/pool.d/$2.conf" -pool_file_72="/etc/php/7.2/fpm/pool.d/$2.conf" -pool_file_73="/etc/php/7.3/fpm/pool.d/$2.conf" -pool_file_74="/etc/php/7.4/fpm/pool.d/$2.conf" - -if [ -f "$pool_file_56" ]; then - rm $pool_file_56 - service php5.6-fpm restart -fi - -if [ -f "$pool_file_70" ]; then - rm $pool_file_70 - service php7.0-fpm restart -fi - -if [ -f "$pool_file_71" ]; then - rm $pool_file_71 - service php7.1-fpm restart -fi - -if [ -f "$pool_file_72" ]; then - rm $pool_file_72 - service php7.2-fpm restart -fi - -write_file=0 -if [ ! -f "$pool_file_73" ]; then - write_file=1 -else - user_count=$(grep -c "/home/$1/" $pool_file_73) - if [ $user_count -eq 0 ]; then - write_file=1 - fi -fi -if [ $write_file -eq 1 ]; then - echo "$pool_conf" > $pool_file_73 - service php7.3-fpm restart -fi -if [ -f "/etc/php/7.3/fpm/pool.d/www.conf" ]; then - rm /etc/php/7.3/fpm/pool.d/www.conf -fi - -if [ -f "$pool_file_74" ]; then - rm $pool_file_74 - service php7.4-fpm restart -fi - -exit 0 From 343135650ba76bacc3fc0b3704e6b0ab1f9c713f Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Fri, 16 Jul 2021 21:03:06 +0200 Subject: [PATCH 101/896] Delete PHP-FPM-73.tpl --- .../11/templates/web/apache2/PHP-FPM-73.tpl | 38 ------------------- 1 file changed, 38 deletions(-) delete mode 100644 install/debian/11/templates/web/apache2/PHP-FPM-73.tpl diff --git a/install/debian/11/templates/web/apache2/PHP-FPM-73.tpl b/install/debian/11/templates/web/apache2/PHP-FPM-73.tpl deleted file mode 100644 index 7bec5e73..00000000 --- a/install/debian/11/templates/web/apache2/PHP-FPM-73.tpl +++ /dev/null @@ -1,38 +0,0 @@ -- AllowOverride All - -- AllowOverride All - Options +Includes -Indexes +ExecCGI - -#-# RMode config -# RUidGid %user% %group% -# RGroups www-data -# -#-# AssignUserID %user% %group% -# - -- SetHandler "proxy:unix:/run/php/php7.3-fpm-%domain%.sock|fcgi://localhost/" - - SetEnvIf Authorization .+ HTTP_AUTHORIZATION=$0 - - IncludeOptional %home%/%user%/conf/web/%web_system%.%domain%.conf* - -- - ServerName %domain_idn% - %alias_string% - ServerAdmin %email% - DocumentRoot %docroot% - ScriptAlias /cgi-bin/ %home%/%user%/web/%domain%/cgi-bin/ - Alias /vstats/ %home%/%user%/web/%domain%/stats/ - Alias /error/ %home%/%user%/web/%domain%/document_errors/ - #SuexecUserGroup %user% %group% - CustomLog /var/log/%web_system%/domains/%domain%.bytes bytes - CustomLog /var/log/%web_system%/domains/%domain%.log combined - ErrorLog /var/log/%web_system%/domains/%domain%.error.log - - From d946dbe412cf8757068e3daee9a884fad6201077 Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Fri, 16 Jul 2021 21:03:23 +0200 Subject: [PATCH 102/896] Delete PHP-FPM-73.stpl --- .../11/templates/web/apache2/PHP-FPM-73.stpl | 44 ------------------- 1 file changed, 44 deletions(-) delete mode 100644 install/debian/11/templates/web/apache2/PHP-FPM-73.stpl diff --git a/install/debian/11/templates/web/apache2/PHP-FPM-73.stpl b/install/debian/11/templates/web/apache2/PHP-FPM-73.stpl deleted file mode 100644 index 28224413..00000000 --- a/install/debian/11/templates/web/apache2/PHP-FPM-73.stpl +++ /dev/null @@ -1,44 +0,0 @@ -- AllowOverride All - -- AllowOverride All - Options +Includes -Indexes +ExecCGI - -#-# RMode config -# RUidGid %user% %group% -# RGroups www-data -# -#-# AssignUserID %user% %group% -# - -- SetHandler "proxy:unix:/run/php/php7.3-fpm-%domain%.sock|fcgi://localhost/" - - SetEnvIf Authorization .+ HTTP_AUTHORIZATION=$0 - - IncludeOptional %home%/%user%/conf/web/%web_system%.%domain%.conf* - -- - ServerName %domain_idn% - %alias_string% - ServerAdmin %email% - DocumentRoot %sdocroot% - ScriptAlias /cgi-bin/ %home%/%user%/web/%domain%/cgi-bin/ - Alias /vstats/ %home%/%user%/web/%domain%/stats/ - Alias /error/ %home%/%user%/web/%domain%/document_errors/ - #SuexecUserGroup %user% %group% - CustomLog /var/log/%web_system%/domains/%domain%.bytes bytes - CustomLog /var/log/%web_system%/domains/%domain%.log combined - ErrorLog /var/log/%web_system%/domains/%domain%.error.log - - From 2c91d72277d7593ac698bab5e832ca57c5aeeb91 Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Fri, 16 Jul 2021 21:54:43 +0200 Subject: [PATCH 103/896] Debian11 installer --- install/vst-install-debian.sh | 82 +++++++++++++++++++++++++++++++---- 1 file changed, 74 insertions(+), 8 deletions(-) diff --git a/install/vst-install-debian.sh b/install/vst-install-debian.sh index bfab2778..ef16f464 100755 --- a/install/vst-install-debian.sh +++ b/install/vst-install-debian.sh @@ -19,7 +19,19 @@ release=$(cat /etc/debian_version | tr "." "\n" | head -n1) codename="$(cat /etc/os-release |grep VERSION= |cut -f 2 -d \(|cut -f 1 -d \))" vestacp="$VESTA/install/$VERSION/$release" -if [ "$release" -eq 10 ]; then +if [ "$release" -eq 11 ]; then + software="nginx apache2 apache2-utils + libapache2-mod-fcgid php-fpm php + php-common php-cgi php-mysql php-curl php-fpm php-pgsql awstats + vsftpd proftpd-basic bind9 exim4 exim4-daemon-heavy + clamav-daemon spamassassin dovecot-imapd dovecot-pop3d roundcube-core + roundcube-mysql roundcube-plugins mariadb-server mariadb-common + mariadb-client postgresql postgresql-contrib phppgadmin phpmyadmin mc + flex whois git idn zip sudo bc ftp lsof ntpdate rrdtool quota + e2fslibs bsdutils e2fsprogs curl imagemagick fail2ban dnsutils + bsdmainutils cron vesta vesta-nginx vesta-php expect libmail-dkim-perl + unrar-free vim-common net-tools unzip iptables" +elif [ "$release" -eq 10 ]; then software="nginx apache2 apache2-utils libapache2-mod-fcgid php-fpm php php-common php-cgi php-mysql php-curl php-fpm php-pgsql awstats @@ -515,9 +527,11 @@ check_result $? 'apt-get upgrade failed' # Installing nginx repo apt=/etc/apt/sources.list.d -echo "deb http://nginx.org/packages/debian/ $codename nginx" > $apt/nginx.list -wget http://nginx.org/keys/nginx_signing.key -O /tmp/nginx_signing.key -apt-key add /tmp/nginx_signing.key +if [ "$release" -ne 11 ]; then + echo "deb http://nginx.org/packages/debian/ $codename nginx" > $apt/nginx.list + wget http://nginx.org/keys/nginx_signing.key -O /tmp/nginx_signing.key + apt-key add /tmp/nginx_signing.key +fi # Installing vesta repo echo "deb http://$RHOST/$codename/ $codename vesta" > $apt/vesta.list @@ -801,7 +815,7 @@ if [ "$apache" = 'no' ] && [ "$nginx" = 'yes' ]; then echo "WEB_PORT='80'" >> $VESTA/conf/vesta.conf echo "WEB_SSL_PORT='443'" >> $VESTA/conf/vesta.conf echo "WEB_SSL='openssl'" >> $VESTA/conf/vesta.conf - if [ "$release" -eq 9 ] || [ "$release" -eq 10 ]; then + if [ "$release" -eq 9 ] || [ "$release" -eq 10 ] || [ "$release" -eq 11 ]; then if [ "$phpfpm" = 'yes' ]; then echo "WEB_BACKEND='php-fpm'" >> $VESTA/conf/vesta.conf fi @@ -887,6 +901,22 @@ if [ "$release" -eq 10 ]; then ln -s /usr/local/vesta/data/templates/web/nginx/php-fpm/default.stpl /usr/local/vesta/data/templates/web/nginx/php-fpm/PHP-FPM-73.stpl ln -s /usr/local/vesta/data/templates/web/nginx/php-fpm/default.tpl /usr/local/vesta/data/templates/web/nginx/php-fpm/PHP-FPM-73.tpl fi +if [ "$release" -eq 11 ]; then + # Symlink missing templates + ln -s /usr/local/vesta/data/templates/web/nginx/hosting.sh /usr/local/vesta/data/templates/web/nginx/default.sh + ln -s /usr/local/vesta/data/templates/web/nginx/hosting.tpl /usr/local/vesta/data/templates/web/nginx/default.tpl + ln -s /usr/local/vesta/data/templates/web/nginx/hosting.stpl /usr/local/vesta/data/templates/web/nginx/default.stpl + + ln -s /usr/local/vesta/data/templates/web/apache2/PHP-FPM-74.sh /usr/local/vesta/data/templates/web/apache2/hosting.sh + ln -s /usr/local/vesta/data/templates/web/apache2/PHP-FPM-74.tpl /usr/local/vesta/data/templates/web/apache2/hosting.tpl + ln -s /usr/local/vesta/data/templates/web/apache2/PHP-FPM-74.stpl /usr/local/vesta/data/templates/web/apache2/hosting.stpl + ln -s /usr/local/vesta/data/templates/web/apache2/PHP-FPM-74.sh /usr/local/vesta/data/templates/web/apache2/default.sh + ln -s /usr/local/vesta/data/templates/web/apache2/PHP-FPM-74.tpl /usr/local/vesta/data/templates/web/apache2/default.tpl + ln -s /usr/local/vesta/data/templates/web/apache2/PHP-FPM-74.stpl /usr/local/vesta/data/templates/web/apache2/default.stpl + + ln -s /usr/local/vesta/data/templates/web/nginx/php-fpm/default.stpl /usr/local/vesta/data/templates/web/nginx/php-fpm/PHP-FPM-74.stpl + ln -s /usr/local/vesta/data/templates/web/nginx/php-fpm/default.tpl /usr/local/vesta/data/templates/web/nginx/php-fpm/PHP-FPM-74.tpl +fi # Set nameservers sed -i "s/YOURHOSTNAME1/ns1.$servername/" /usr/local/vesta/data/packages/default.pkg @@ -985,7 +1015,12 @@ fi #----------------------------------------------------------# if [ "$phpfpm" = 'yes' ]; then - if [ "$release" -eq 10 ]; then + if [ "$release" -eq 11 ]; then + cp -f $vestacp/php-fpm/www.conf /etc/php/7.4/fpm/pool.d/www.conf + update-rc.d php7.4-fpm defaults + service php7.4-fpm start + check_result $? "php-fpm start failed" + elif [ "$release" -eq 10 ]; then cp -f $vestacp/php-fpm/www.conf /etc/php/7.3/fpm/pool.d/www.conf update-rc.d php7.3-fpm defaults service php7.3-fpm start @@ -1298,7 +1333,7 @@ if [ "$exim" = 'yes' ] && [ "$mysql" = 'yes' ]; then /etc/roundcube/plugins/password/config.inc.php mysql roundcube < /usr/share/dbconfig-common/data/roundcube/install/mysql chmod a+r /etc/roundcube/main.inc.php - if [ "$release" -eq 8 ] || [ "$release" -eq 9 ] || [ "$release" -eq 10 ]; then + if [ "$release" -eq 8 ] || [ "$release" -eq 9 ] || [ "$release" -eq 10 ] || [ "$release" -eq 11 ]; then mv -f /etc/roundcube/main.inc.php /etc/roundcube/config.inc.php mv -f /etc/roundcube/db.inc.php /etc/roundcube/debian-db-roundcube.php chmod 640 /etc/roundcube/debian-db-roundcube.php @@ -1371,6 +1406,11 @@ fi # Configure Admin User # #----------------------------------------------------------# +if [ "$release" -eq 11 ]; then + # Switching to sha512 + sed -i "s/obscure yescrypt/obscure sha512/g" /etc/pam.d/common-password +fi + # Deleting old admin user if [ ! -z "$(grep ^admin: /etc/passwd)" ] && [ "$force" = 'yes' ]; then chattr -i /home/admin/conf > /dev/null 2>&1 @@ -1474,6 +1514,18 @@ if [ "$release" -eq 10 ]; then /usr/local/vesta/bin/v-change-web-domain-proxy-tpl 'admin' "$servername" 'hosting-webmail-phpmyadmin' 'jpg,jpeg,gif,png,ico,svg,css,zip,tgz,gz,rar,bz2,doc,xls,exe,pdf,ppt,txt,odt,ods,odp,odf,tar,wav,bmp,rtf,js,mp3,avi,mpeg,flv,woff,woff2' 'no' fi fi +if [ "$release" -eq 11 ]; then + if [ -f "/etc/php/7.4/fpm/pool.d/$servername.conf" ]; then + sed -i "/^group =/c\group = www-data" /etc/php/7.4/fpm/pool.d/$servername.conf + sed -i "/max_execution_time/c\php_admin_value[max_execution_time] = 900" /etc/php/7.4/fpm/pool.d/$servername.conf + sed -i "/request_terminate_timeout/c\request_terminate_timeout = 900s" /etc/php/7.4/fpm/pool.d/$servername.conf + sed -i "s|80M|800M|g" /etc/php/7.4/fpm/pool.d/$servername.conf + sed -i "s|256M|512M|g" /etc/php/7.4/fpm/pool.d/$servername.conf + service php7.4-fpm restart + ln -s /var/lib/roundcube /var/lib/roundcube/webmail + /usr/local/vesta/bin/v-change-web-domain-proxy-tpl 'admin' "$servername" 'hosting-webmail-phpmyadmin' 'jpg,jpeg,gif,png,ico,svg,css,zip,tgz,gz,rar,bz2,doc,xls,exe,pdf,ppt,txt,odt,ods,odp,odf,tar,wav,bmp,rtf,js,mp3,avi,mpeg,flv,woff,woff2' 'no' + fi +fi # Adding cron jobs command="sudo $VESTA/bin/v-update-sys-queue disk" @@ -1529,6 +1581,9 @@ fi if [ "$release" -eq 10 ]; then apt-get -y install php7.3-apcu php7.3-mbstring php7.3-bcmath php7.3-curl php7.3-gd php7.3-intl php7.3-mysql php7.3-mysqlnd php7.3-pdo php7.3-soap php7.3-json php7.3-xml php7.3-zip php7.3-memcache php7.3-memcached php7.3-zip fi +if [ "$release" -eq 11 ]; then + apt-get -y install php7.4-apcu php7.4-mbstring php7.4-bcmath php7.4-curl php7.4-gd php7.4-intl php7.4-mysql php7.4-mysqlnd php7.4-pdo php7.4-soap php7.4-json php7.4-xml php7.4-zip php7.4-memcache php7.4-memcached php7.4-zip +fi touch /var/log/php-mail.log chmod a=rw /var/log/php-mail.log @@ -1560,6 +1615,17 @@ if [ "$release" -eq 10 ]; then fi service php7.3-fpm restart fi +if [ "$release" -eq 11 ]; then + if [ $memory -lt 10000000 ]; then + echo "=== Patching php7.4-vps" + patch /etc/php/7.4/fpm/php.ini < $vestacp/php/php7.4-vps.patch + fi + if [ $memory -gt 9999999 ]; then + echo "=== Patching php7.4-dedi" + patch /etc/php/7.4/fpm/php.ini < $vestacp/php/php7.4-dedi.patch + fi + service php7.4-fpm restart +fi # echo "=== Patching rcube_vcard.php" # wget -nv https://c.myvestacp.com/tools/patches/rcube_vcard.patch -O /root/rcube_vcard.patch @@ -1649,7 +1715,7 @@ fi echo "=== Set URL for phpmyadmin" echo "DB_PMA_URL='https://$servername/phpmyadmin/'" >> $VESTA/conf/vesta.conf -if [ "$release" -eq 10 ]; then +if [ "$release" -eq 10 ] || [ "$release" -eq 11 ]; then echo "=== Set max_length_of_MySQL_username=80" fi echo "MAX_DBUSER_LEN=80" >> $VESTA/conf/vesta.conf From 267fc214f09500270bc0f8fd59e506ee0226a8f9 Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Sat, 17 Jul 2021 08:34:06 +0200 Subject: [PATCH 104/896] Update default.pkg --- install/debian/11/packages/default.pkg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install/debian/11/packages/default.pkg b/install/debian/11/packages/default.pkg index de293236..45a34c96 100644 --- a/install/debian/11/packages/default.pkg +++ b/install/debian/11/packages/default.pkg @@ -1,4 +1,4 @@ -WEB_TEMPLATE='PHP-FPM-73' +WEB_TEMPLATE='PHP-FPM-74' PROXY_TEMPLATE='hosting' DNS_TEMPLATE='default' WEB_DOMAINS='unlimited' From 854b0e9ecf6c7c1e943e3d7c89c5769379e9a03e Mon Sep 17 00:00:00 2001 From: myvesta- AllowOverride All - -- AllowOverride All - SSLRequireSSL - Options +Includes -Indexes +ExecCGI - - SSLEngine on - SSLVerifyClient none - SSLCertificateFile %ssl_crt% - SSLCertificateKeyFile %ssl_key% - %ssl_ca_str%SSLCertificateChainFile %ssl_ca% -#-# RMode config -# RUidGid %user% %group% -# RGroups www-data -# -#-# AssignUserID %user% %group% -# - -- SetHandler "proxy:unix:/run/php/php7.3-fpm-%domain%.sock|fcgi://localhost/" - - SetEnvIf Authorization .+ HTTP_AUTHORIZATION=$0 - - IncludeOptional %home%/%user%/conf/web/s%web_system%.%domain%.conf* - -Date: Sat, 17 Jul 2021 09:17:42 +0200 Subject: [PATCH 105/896] Debian11 Apache template chmod a+x --- install/debian/11/templates/web/apache2/PHP-FPM-74-public.sh | 0 install/debian/11/templates/web/apache2/PHP-FPM-74.sh | 0 2 files changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 install/debian/11/templates/web/apache2/PHP-FPM-74-public.sh mode change 100644 => 100755 install/debian/11/templates/web/apache2/PHP-FPM-74.sh diff --git a/install/debian/11/templates/web/apache2/PHP-FPM-74-public.sh b/install/debian/11/templates/web/apache2/PHP-FPM-74-public.sh old mode 100644 new mode 100755 diff --git a/install/debian/11/templates/web/apache2/PHP-FPM-74.sh b/install/debian/11/templates/web/apache2/PHP-FPM-74.sh old mode 100644 new mode 100755 From e1deee28735f2ecd606b379767fae4b1c13b36f3 Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Sat, 17 Jul 2021 10:20:56 +0200 Subject: [PATCH 106/896] adding php7.4-imagick to installer --- install/vst-install-debian.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/install/vst-install-debian.sh b/install/vst-install-debian.sh index ef16f464..adcb37b4 100755 --- a/install/vst-install-debian.sh +++ b/install/vst-install-debian.sh @@ -1576,13 +1576,13 @@ $VESTA/bin/v-add-cron-vesta-autoupdate echo "=== Installing additional PHP libs" if [ "$release" -eq 9 ]; then - apt-get -y install php7.0-apcu php7.0-mbstring php7.0-bcmath php7.0-curl php7.0-gd php7.0-intl php7.0-mcrypt php7.0-mysql php7.0-mysqlnd php7.0-pdo php7.0-soap php7.0-json php7.0-xml php7.0-zip php7.0-memcache php7.0-memcached php7.0-zip + apt-get -y install php7.0-apcu php7.0-mbstring php7.0-bcmath php7.0-curl php7.0-gd php7.0-intl php7.0-mcrypt php7.0-mysql php7.0-mysqlnd php7.0-pdo php7.0-soap php7.0-json php7.0-xml php7.0-zip php7.0-memcache php7.0-memcached php7.0-zip php7.0-imagick fi if [ "$release" -eq 10 ]; then - apt-get -y install php7.3-apcu php7.3-mbstring php7.3-bcmath php7.3-curl php7.3-gd php7.3-intl php7.3-mysql php7.3-mysqlnd php7.3-pdo php7.3-soap php7.3-json php7.3-xml php7.3-zip php7.3-memcache php7.3-memcached php7.3-zip + apt-get -y install php7.3-apcu php7.3-mbstring php7.3-bcmath php7.3-curl php7.3-gd php7.3-intl php7.3-mysql php7.3-mysqlnd php7.3-pdo php7.3-soap php7.3-json php7.3-xml php7.3-zip php7.3-memcache php7.3-memcached php7.3-zip php7.3-imagick fi if [ "$release" -eq 11 ]; then - apt-get -y install php7.4-apcu php7.4-mbstring php7.4-bcmath php7.4-curl php7.4-gd php7.4-intl php7.4-mysql php7.4-mysqlnd php7.4-pdo php7.4-soap php7.4-json php7.4-xml php7.4-zip php7.4-memcache php7.4-memcached php7.4-zip + apt-get -y install php7.4-apcu php7.4-mbstring php7.4-bcmath php7.4-curl php7.4-gd php7.4-intl php7.4-mysql php7.4-mysqlnd php7.4-pdo php7.4-soap php7.4-json php7.4-xml php7.4-zip php7.4-memcache php7.4-memcached php7.4-zip php7.4-imagick fi touch /var/log/php-mail.log From 70ee71e64a55d59f3ce1ccd5587ffcb757f7130c Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Sat, 17 Jul 2021 11:01:06 +0200 Subject: [PATCH 107/896] phpmyadmin install steps for deb11 --- install/vst-install-debian.sh | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/install/vst-install-debian.sh b/install/vst-install-debian.sh index adcb37b4..a139c4ae 100755 --- a/install/vst-install-debian.sh +++ b/install/vst-install-debian.sh @@ -1164,6 +1164,22 @@ if [ "$mysql" = 'yes' ]; then blowfish=$(gen_pass) echo "\$cfg['blowfish_secret'] = '$blowfish';" >> /etc/phpmyadmin/config.inc.php fi + if [ "$release" -eq 11 ]; then + # Set config and log directory + sed -i "s|define('CONFIG_DIR', '');|define('CONFIG_DIR', '/etc/phpmyadmin/');|" /usr/share/phpmyadmin/libraries/vendor_config.php + sed -i "s|define('TEMP_DIR', './tmp/');|define('TEMP_DIR', '/var/lib/phpmyadmin/tmp/');|" /usr/share/phpmyadmin/libraries/vendor_config.php + + # Create temporary folder and change permission + mkdir /usr/share/phpmyadmin/tmp + chmod 777 /usr/share/phpmyadmin/tmp + + mkdir /root/phpmyadmin + wget -nv -O /root/phpmyadmin/pma.sh http://c.myvestacp.com/debian/11/pma/pma.sh + wget -nv -O /root/phpmyadmin/create_tables.sql http://c.myvestacp.com/debian/11/pma/create_tables.sql + bash /root/phpmyadmin/pma.sh + blowfish=$(gen_pass) + echo "\$cfg['blowfish_secret'] = '$blowfish';" >> /etc/phpmyadmin/config.inc.php + fi fi #----------------------------------------------------------# From eba0f774788bfec31da4643a9a5e7efd900c609d Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Sat, 17 Jul 2021 12:02:04 +0200 Subject: [PATCH 108/896] deb11 installer: restart nginx after set hosting-webmail-phpmyadmin template --- install/vst-install-debian.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install/vst-install-debian.sh b/install/vst-install-debian.sh index a139c4ae..8b83ae87 100755 --- a/install/vst-install-debian.sh +++ b/install/vst-install-debian.sh @@ -1539,7 +1539,7 @@ if [ "$release" -eq 11 ]; then sed -i "s|256M|512M|g" /etc/php/7.4/fpm/pool.d/$servername.conf service php7.4-fpm restart ln -s /var/lib/roundcube /var/lib/roundcube/webmail - /usr/local/vesta/bin/v-change-web-domain-proxy-tpl 'admin' "$servername" 'hosting-webmail-phpmyadmin' 'jpg,jpeg,gif,png,ico,svg,css,zip,tgz,gz,rar,bz2,doc,xls,exe,pdf,ppt,txt,odt,ods,odp,odf,tar,wav,bmp,rtf,js,mp3,avi,mpeg,flv,woff,woff2' 'no' + /usr/local/vesta/bin/v-change-web-domain-proxy-tpl 'admin' "$servername" 'hosting-webmail-phpmyadmin' 'jpg,jpeg,gif,png,ico,svg,css,zip,tgz,gz,rar,bz2,doc,xls,exe,pdf,ppt,txt,odt,ods,odp,odf,tar,wav,bmp,rtf,js,mp3,avi,mpeg,flv,woff,woff2' 'yes' fi fi From 9791d0b3b3d0d8dd3e835f0b9e1ad1310f0a8531 Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Sat, 17 Jul 2021 12:26:14 +0200 Subject: [PATCH 109/896] detecting mariadb in v-list-sys-services --- bin/v-list-sys-services | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/bin/v-list-sys-services b/bin/v-list-sys-services index 3718c171..93f01a11 100755 --- a/bin/v-list-sys-services +++ b/bin/v-list-sys-services @@ -220,6 +220,11 @@ if [ ! -z "$DB_SYSTEM" ] && [ "$DB_SYSTEM" != 'remote' ]; then proc_name='' service="$db" if [ "$service" = 'mysql' ]; then + release=$(cat /etc/debian_version | tr "." "\n" | head -n1) + if [ "$release" -eq 11 ]; then + service='mariadb' + proc_name='mariadbd' + fi if [ -d "/etc/sysconfig" ]; then service='mysqld' proc_name='mysqld' From a2572f44dfc9b8bc86c269e295e83f217ad4933a Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Sat, 17 Jul 2021 12:58:54 +0200 Subject: [PATCH 110/896] deb11 installer: systemctl enable proftpd --- install/vst-install-debian.sh | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/install/vst-install-debian.sh b/install/vst-install-debian.sh index 8b83ae87..e67aa4f2 100755 --- a/install/vst-install-debian.sh +++ b/install/vst-install-debian.sh @@ -1079,6 +1079,12 @@ if [ "$proftpd" = 'yes' ]; then update-rc.d proftpd defaults service proftpd start check_result $? "proftpd start failed" + if [ "$release" -eq 11 ]; then + unit_files="$(systemctl list-unit-files |grep proftpd)" + if [[ "$unit_files" =~ "disabled" ]]; then + systemctl enable proftpd + fi + fi fi From f80cbe955fe827989b57a5206954ad63ec90ccbb Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Sat, 17 Jul 2021 13:22:51 +0200 Subject: [PATCH 111/896] Update v-change-vesta-port --- bin/v-change-vesta-port | 1 + 1 file changed, 1 insertion(+) diff --git a/bin/v-change-vesta-port b/bin/v-change-vesta-port index 09cff31d..620d9324 100755 --- a/bin/v-change-vesta-port +++ b/bin/v-change-vesta-port @@ -47,6 +47,7 @@ fi sed -i "s|'$oldport'|'$port'|g" $VESTA/data/firewall/rules.conf $VESTA/bin/v-update-firewall systemctl restart fail2ban.service +sed -i "s|'$oldport'|'$port'|g" /etc/iptables.rules systemctl restart vesta #----------------------------------------------------------# From a839f643e7341da5360fc5c25c8c2dfdfbf26f13 Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Sat, 17 Jul 2021 13:23:59 +0200 Subject: [PATCH 112/896] Update v-change-vesta-port --- bin/v-change-vesta-port | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/v-change-vesta-port b/bin/v-change-vesta-port index 620d9324..3f386654 100755 --- a/bin/v-change-vesta-port +++ b/bin/v-change-vesta-port @@ -47,7 +47,7 @@ fi sed -i "s|'$oldport'|'$port'|g" $VESTA/data/firewall/rules.conf $VESTA/bin/v-update-firewall systemctl restart fail2ban.service -sed -i "s|'$oldport'|'$port'|g" /etc/iptables.rules +sed -i "s| $oldport | $port |g" /etc/iptables.rules systemctl restart vesta #----------------------------------------------------------# From 20914184129a394bbd8bca7e275751b90544f057 Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Sat, 17 Jul 2021 15:06:12 +0200 Subject: [PATCH 113/896] Create mail account folder (mailbox) --- bin/v-add-mail-account | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/bin/v-add-mail-account b/bin/v-add-mail-account index 44925680..1675d5d7 100755 --- a/bin/v-add-mail-account +++ b/bin/v-add-mail-account @@ -63,6 +63,10 @@ if [[ "$MAIL_SYSTEM" =~ exim ]]; then echo $str >> $HOMEDIR/$user/conf/mail/$domain/passwd fi +# Create mail account folder (mailbox) +mkdir $HOMEDIR/$user/mail/$domain/$account +chown $user:mail $HOMEDIR/$user/mail/$domain/$account +chmod 700 $HOMEDIR/$user/mail/$domain/$account #----------------------------------------------------------# # Vesta # From 1a6785eb704322cf66fc93155939d4143c43d81f Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Sat, 17 Jul 2021 15:12:11 +0200 Subject: [PATCH 114/896] Exim4 config adaption for Exim4.94+ Many many thanks to @madeITBelgium Adaptions taken from https://github.com/madeITBelgium/vesta/blob/master/install/os-configs/rhel/general/exim/exim.conf --- install/debian/11/exim/exim4.conf.template | 36 +++++++++++----------- 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/install/debian/11/exim/exim4.conf.template b/install/debian/11/exim/exim4.conf.template index 7cc13c36..fe92680f 100644 --- a/install/debian/11/exim/exim4.conf.template +++ b/install/debian/11/exim/exim4.conf.template @@ -54,7 +54,7 @@ ignore_bounce_errors_after = 2d timeout_frozen_after = 7d DKIM_DOMAIN = ${lc:${domain:$h_from:}} -DKIM_FILE = /etc/exim4/domains/${lc:${domain:$h_from:}}/dkim.pem +DKIM_FILE = /etc/exim4/domains/${lookup{${lc:${domain:$h_from:}}}dsearch{/etc/exim4/domains/}}/dkim.pem DKIM_PRIVATE_KEY = ${if exists{DKIM_FILE}{DKIM_FILE}{0}} @@ -241,7 +241,7 @@ dnslookup: localuser_spam: driver = accept transport = local_spam_delivery - condition = ${if eq {${if match{$h_X-Spam-Status:}{\N^Yes\N}{yes}{no}}} {${lookup{$local_part}lsearch{/etc/exim4/domains/$domain/passwd}{yes}{no_such_user}}}} + condition = ${if eq {${if match{$h_X-Spam-Status:}{\N^Yes\N}{yes}{no}}} {${lookup{$local_part}lsearch{/etc/exim4/domains/${lookup{$domain}dsearch{/etc/exim4/domains/}}/passwd}{yes}{no_such_user}}}} userforward: driver = redirect @@ -264,8 +264,8 @@ procmail: autoreplay: driver = accept - require_files = /etc/exim4/domains/$domain/autoreply.${local_part}.msg - condition = ${if exists{/etc/exim4/domains/$domain/autoreply.${local_part}.msg}{yes}{no}} + require_files = /etc/exim4/domains/${lookup{$domain}dsearch{/etc/exim4/domains/}}/autoreply.${local_part}.msg + condition = ${if exists{/etc/exim4/domains/${lookup{$domain}dsearch{/etc/exim4/domains/}}/autoreply.${local_part}.msg}{yes}{no}} retry_use_local_part transport = userautoreply unseen @@ -273,7 +273,7 @@ autoreplay: aliases: driver = redirect headers_add = X-redirected: yes - data = ${extract{1}{:}{${lookup{$local_part@$domain}lsearch{/etc/exim4/domains/$domain/aliases}}}} + data = ${extract{1}{:}{${lookup{$local_part@$domain}lsearch{/etc/exim4/domains/${lookup{$domain}dsearch{/etc/exim4/domains/}}/aliases}}}} require_files = /etc/exim4/domains/$domain/aliases redirect_router = dnslookup pipe_transport = address_pipe @@ -282,25 +282,25 @@ aliases: localuser_fwd_only: driver = accept transport = devnull - condition = ${if exists{/etc/exim4/domains/$domain/fwd_only}{${lookup{$local_part}lsearch{/etc/exim4/domains/$domain/fwd_only}{true}{false}}}} + condition = ${if exists{/etc/exim4/domains/$domain/fwd_only}{${lookup{$local_part}lsearch{/etc/exim4/domains/${lookup{$domain}dsearch{/etc/exim4/domains/}}/fwd_only}{true}{false}}}} localuser: driver = accept transport = local_delivery - condition = ${lookup{$local_part}lsearch{/etc/exim4/domains/$domain/passwd}{true}{false}} + condition = ${lookup{$local_part}lsearch{/etc/exim4/domains/${lookup{$domain}dsearch{/etc/exim4/domains/}}/passwd}{true}{false}} catchall: driver = redirect headers_add = X-redirected: yes require_files = /etc/exim4/domains/$domain/aliases - data = ${extract{1}{:}{${lookup{*@$domain}lsearch{/etc/exim4/domains/$domain/aliases}}}} + data = ${extract{1}{:}{${lookup{*@$domain}lsearch{/etc/exim4/domains/${lookup{$domain}dsearch{/etc/exim4/domains/}}/aliases}}}} file_transport = local_delivery redirect_router = dnslookup terminate_alias: driver = accept transport = devnull - condition = ${lookup{$local_part@$domain}lsearch{/etc/exim4/domains/$domain/aliases}{true}{false}} + condition = ${lookup{$local_part@$domain}lsearch{/etc/exim4/domains/${lookup{$domain}dsearch{/etc/exim4/domains/}}/aliases}{true}{false}} @@ -333,7 +333,7 @@ local_delivery: driver = appendfile maildir_format maildir_use_size_file - user = ${extract{2}{:}{${lookup{$local_part}lsearch{/etc/exim4/domains/$domain/passwd}}}} + user = ${extract{2}{:}{${lookup{$local_part}lsearch{/etc/exim4/domains/${lookup{$domain}dsearch{/etc/exim4/domains/}}/passwd}}}} group = mail create_directory directory_mode = 770 @@ -342,15 +342,15 @@ local_delivery: delivery_date_add envelope_to_add return_path_add - directory = "${extract{5}{:}{${lookup{$local_part}lsearch{/etc/exim4/domains/$domain/passwd}}}}/mail/$domain/$local_part" - quota = ${extract{6}{:}{${lookup{$local_part}lsearch{/etc/exim4/domains/$domain/passwd}}}}M + directory = "${extract{5}{:}{${lookup{$local_part}lsearch{/etc/exim4/domains/${lookup{$domain}dsearch{/etc/exim4/domains/}}/passwd}}}}/mail/${lookup{$domain}dsearch{/etc/exim4/domains/}}/${lookup{$local_part}dsearch{${extract{5}{:}{${lookup{$local_part}lsearch{/etc/exim4/domains/${lookup{$domain}dsearch{/etc/exim4/domains/}}/passwd}}}}/mail/${lookup{$domain}dsearch{/etc/exim4/domains/}}}}" + quota = ${extract{6}{:}{${lookup{$local_part}lsearch{/etc/exim4/domains/${lookup{$domain}dsearch{/etc/exim4/domains/}}/passwd}}}}M quota_warn_threshold = 75% local_spam_delivery: driver = appendfile maildir_format maildir_use_size_file - user = ${extract{2}{:}{${lookup{$local_part}lsearch{/etc/exim4/domains/$domain/passwd}}}} + user = ${extract{2}{:}{${lookup{$local_part}lsearch{/etc/exim4/domains/${lookup{$domain}dsearch{/etc/exim4/domains/}}/passwd}}}} group = mail create_directory directory_mode = 770 @@ -359,9 +359,9 @@ local_spam_delivery: delivery_date_add envelope_to_add return_path_add - directory = "${extract{5}{:}{${lookup{$local_part}lsearch{/etc/exim4/domains/$domain/passwd}}}}/mail/$domain/$local_part/.Spam" - quota = ${extract{6}{:}{${lookup{$local_part}lsearch{/etc/exim4/domains/$domain/passwd}}}}M - quota_directory = "${extract{5}{:}{${lookup{$local_part}lsearch{/etc/exim4/domains/$domain/passwd}}}}/mail/$domain/$local_part" + directory = "${extract{5}{:}{${lookup{$local_part}lsearch{/etc/exim4/domains/${lookup{$domain}dsearch{/etc/exim4/domains/}}/passwd}}}}/mail/${lookup{$domain}dsearch{/etc/exim4/domains/}}/${lookup{$local_part}dsearch{${extract{5}{:}{${lookup{$local_part}lsearch{/etc/exim4/domains/${lookup{$domain}dsearch{/etc/exim4/domains/}}/passwd}}}}/mail/${lookup{$domain}dsearch{/etc/exim4/domains/}}}}/.Spam" + quota = ${extract{6}{:}{${lookup{$local_part}lsearch{/etc/exim4/domains/${lookup{$domain}dsearch{/etc/exim4/domains/}}/passwd}}}}M + quota_directory = "${extract{5}{:}{${lookup{$local_part}lsearch{/etc/exim4/domains/${lookup{$domain}dsearch{/etc/exim4/domains/}}/passwd}}}}/mail/${lookup{$domain}dsearch{/etc/exim4/domains/}}/${lookup{$local_part}dsearch{${extract{5}{:}{${lookup{$local_part}lsearch{/etc/exim4/domains/${lookup{$domain}dsearch{/etc/exim4/domains/}}/passwd}}}}/mail/${lookup{$domain}dsearch{/etc/exim4/domains/}}}}" quota_warn_threshold = 75% address_pipe: @@ -379,8 +379,8 @@ address_reply: userautoreply: driver = autoreply - file = /etc/exim4/domains/$domain/autoreply.${local_part}.msg - from = "${local_part}@${domain}" + file = /etc/exim4/domains/${lookup{$domain}dsearch{/etc/exim4/domains/}}/autoreply.${lookup{$local_part}dsearch{${extract{5}{:}{${lookup{$local_part}lsearch{/etc/exim4/domains/${lookup{$domain}dsearch{/etc/exim4/domains/}}/passwd}}}}/mail/${lookup{$domain}dsearch{/etc/exim4/domains/}}}}.msg + from = "${lookup{$local_part}dsearch{${extract{5}{:}{${lookup{$local_part}lsearch{/etc/exim4/domains/${lookup{$domain}dsearch{/etc/exim4/domains/}}/passwd}}}}/mail/${lookup{$domain}dsearch{/etc/exim4/domains/}}}}@${lookup{$domain}dsearch{/etc/exim4/domains/}}" headers = Content-Type: text/plain; charset=utf-8;\nContent-Transfer-Encoding: 8bit subject = "${if def:h_Subject: {Autoreply: \"${rfc2047:$h_Subject:}\"} {Autoreply Message}}" to = "${sender_address}" From 68b6ed0c33a7fbbe94c1b25a9629f4624c866575 Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Sat, 17 Jul 2021 16:41:02 +0200 Subject: [PATCH 115/896] vesta compiling script for deb11 --- src/deb/vesta_compile.sh | 37 +++++++++++++++++++++++++++++++++---- 1 file changed, 33 insertions(+), 4 deletions(-) diff --git a/src/deb/vesta_compile.sh b/src/deb/vesta_compile.sh index c21bdc90..026e3812 100644 --- a/src/deb/vesta_compile.sh +++ b/src/deb/vesta_compile.sh @@ -7,8 +7,8 @@ build_deb_package=1 add_deb_to_apt_repo=0 -TARGET_DEB_NAME='buster' -TARGET_DEB_VER='10' +TARGET_DEB_NAME='bullseye' +TARGET_DEB_VER='11' run_apt_update_and_install=1 wait_to_press_enter=1 @@ -31,8 +31,8 @@ fi MAINTAINER_EMAIL='info@myvestacp.com' -TARGET_DEB_NAME_MAIN='buster' -TARGET_DEB_VER_MAIN='10' +TARGET_DEB_NAME_MAIN='bullseye' +TARGET_DEB_VER_MAIN='11' # Set compiling directory BUILD_DIR="/usr/src/$TARGET_DEB_NAME" @@ -248,6 +248,7 @@ EOF press_enter "*** please copy above generated key to your clipboard and then paste it after pressing enter now ***" vi $PATH_OF_APT_REPO_ROOT/deb_signing.key cp $PATH_OF_APT_REPO_ROOT/deb_signing.key $PATH_OF_C_WEB_FOLDER_ROOT/deb_signing.key + cp $PATH_OF_APT_REPO_ROOT/deb_signing.key $PATH_OF_C_WEB_FOLDER_ROOT/debian/11/deb_signing.key cp $PATH_OF_APT_REPO_ROOT/deb_signing.key $PATH_OF_C_WEB_FOLDER_ROOT/debian/10/deb_signing.key cp $PATH_OF_APT_REPO_ROOT/deb_signing.key $PATH_OF_C_WEB_FOLDER_ROOT/debian/9/deb_signing.key cp $PATH_OF_APT_REPO_ROOT/deb_signing.key $PATH_OF_C_WEB_FOLDER_ROOT/debian/8/deb_signing.key @@ -380,7 +381,35 @@ if [ "$CWEB_B" = true ]; then tar -czf dovecot.tar.gz dovecot/ echo "=== All done for Debian10" ########## + cd $PATH_OF_C_WEB_FOLDER_ROOT/debian/11 + + if [ -f "packages.tar.gz" ]; then + rm packages.tar.gz + fi + tar -czf packages.tar.gz packages/ + + if [ -f "templates.tar.gz" ]; then + rm templates.tar.gz + fi + tar -czf templates.tar.gz templates/ + + if [ -f "firewall.tar.gz" ]; then + rm firewall.tar.gz + fi + tar -czf firewall.tar.gz firewall/ + if [ -f "fail2ban.tar.gz" ]; then + rm fail2ban.tar.gz + fi + tar -czf fail2ban.tar.gz fail2ban/ + + if [ -f "dovecot.tar.gz" ]; then + rm dovecot.tar.gz + fi + tar -czf dovecot.tar.gz dovecot/ + echo "=== All done for Debian11" + ########## + cp /root/vesta/install/vst-install-debian.sh $PATH_OF_C_WEB_FOLDER_ROOT/vst-install-debian.sh mkdir $PATH_OF_C_WEB_FOLDER_ROOT/tools From 7f428046572be5487d8d6fcdc407a7f653d46f89 Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Sat, 17 Jul 2021 16:57:23 +0200 Subject: [PATCH 116/896] Update v-update-sys-vesta-all --- bin/v-update-sys-vesta-all | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/v-update-sys-vesta-all b/bin/v-update-sys-vesta-all index 5a42a0c0..cd3e677f 100755 --- a/bin/v-update-sys-vesta-all +++ b/bin/v-update-sys-vesta-all @@ -23,7 +23,7 @@ source $VESTA/conf/vesta.conf # Checking official latest version -latest=$(wget -q -T 10 -t 1 http://c.myvestacp.com/latest.txt?check_latest -O -) +latest=$(wget -q -T 10 -t 1 http://c.myvestacp.com/latest.txt?check_latest_version -O -) # Starting update loop for package in vesta vesta-nginx vesta-php; do From 31564ff06abd7da36755db64d2c22390791f44df Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Sat, 17 Jul 2021 16:57:59 +0200 Subject: [PATCH 117/896] Update latest.txt --- src/deb/latest.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/deb/latest.txt b/src/deb/latest.txt index fa6171f7..efd44125 100644 --- a/src/deb/latest.txt +++ b/src/deb/latest.txt @@ -1 +1 @@ -vesta-0.9.8-26-48 +vesta-0.9.8-26-49 From de4f13b042f8c75880197b5bc5254687b74705a8 Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Sat, 17 Jul 2021 17:00:22 +0200 Subject: [PATCH 118/896] Update Changelog.md --- Changelog.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Changelog.md b/Changelog.md index 0605428d..647187e0 100644 --- a/Changelog.md +++ b/Changelog.md @@ -1,3 +1,7 @@ +Version 0.9.8-26-49 [17-Jul-2021] +================================================== +* Support for Debian 11 + Version 0.9.8-26-48 [11-Jul-2021] ================================================== * Fixed two bugs in LetsEncrypt generating process From 083954af41ecae34ac4a9c5071127f4c95669566 Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Mon, 19 Jul 2021 14:26:26 +0200 Subject: [PATCH 119/896] Create www.conf --- .../tools/default-pool.d/7.2/www.conf | 424 ++++++++++++++++++ 1 file changed, 424 insertions(+) create mode 100644 src/deb/for-download/tools/default-pool.d/7.2/www.conf diff --git a/src/deb/for-download/tools/default-pool.d/7.2/www.conf b/src/deb/for-download/tools/default-pool.d/7.2/www.conf new file mode 100644 index 00000000..86aca4cc --- /dev/null +++ b/src/deb/for-download/tools/default-pool.d/7.2/www.conf @@ -0,0 +1,424 @@ +; Start a new pool named 'www'. +; the variable $pool can be used in any directive and will be replaced by the +; pool name ('www' here) +[www] + +; Per pool prefix +; It only applies on the following directives: +; - 'access.log' +; - 'slowlog' +; - 'listen' (unixsocket) +; - 'chroot' +; - 'chdir' +; - 'php_values' +; - 'php_admin_values' +; When not set, the global prefix (or /usr) applies instead. +; Note: This directive can also be relative to the global prefix. +; Default Value: none +;prefix = /path/to/pools/$pool + +; Unix user/group of processes +; Note: The user is mandatory. If the group is not set, the default user's group +; will be used. +user = www-data +group = www-data + +; The address on which to accept FastCGI requests. +; Valid syntaxes are: +; 'ip.add.re.ss:port' - to listen on a TCP socket to a specific IPv4 address on +; a specific port; +; '[ip:6:addr:ess]:port' - to listen on a TCP socket to a specific IPv6 address on +; a specific port; +; 'port' - to listen on a TCP socket to all addresses +; (IPv6 and IPv4-mapped) on a specific port; +; '/path/to/unix/socket' - to listen on a unix socket. +; Note: This value is mandatory. +listen = /run/php/php7.2-fpm.sock + +; Set listen(2) backlog. +; Default Value: 511 (-1 on FreeBSD and OpenBSD) +;listen.backlog = 511 + +; Set permissions for unix socket, if one is used. In Linux, read/write +; permissions must be set in order to allow connections from a web server. Many +; BSD-derived systems allow connections regardless of permissions. The owner +; and group can be specified either by name or by their numeric IDs. +; Default Values: user and group are set as the running user +; mode is set to 0660 +listen.owner = www-data +listen.group = www-data +;listen.mode = 0660 +; When POSIX Access Control Lists are supported you can set them using +; these options, value is a comma separated list of user/group names. +; When set, listen.owner and listen.group are ignored +;listen.acl_users = +;listen.acl_groups = + +; List of addresses (IPv4/IPv6) of FastCGI clients which are allowed to connect. +; Equivalent to the FCGI_WEB_SERVER_ADDRS environment variable in the original +; PHP FCGI (5.2.2+). Makes sense only with a tcp listening socket. Each address +; must be separated by a comma. If this value is left blank, connections will be +; accepted from any ip address. +; Default Value: any +;listen.allowed_clients = 127.0.0.1 + +; Specify the nice(2) priority to apply to the pool processes (only if set) +; The value can vary from -19 (highest priority) to 20 (lower priority) +; Note: - It will only work if the FPM master process is launched as root +; - The pool processes will inherit the master process priority +; unless it specified otherwise +; Default Value: no set +; process.priority = -19 + +; Set the process dumpable flag (PR_SET_DUMPABLE prctl) even if the process user +; or group is differrent than the master process user. It allows to create process +; core dump and ptrace the process for the pool user. +; Default Value: no +; process.dumpable = yes + +; Choose how the process manager will control the number of child processes. +; Possible Values: +; static - a fixed number (pm.max_children) of child processes; +; dynamic - the number of child processes are set dynamically based on the +; following directives. With this process management, there will be +; always at least 1 children. +; pm.max_children - the maximum number of children that can +; be alive at the same time. +; pm.start_servers - the number of children created on startup. +; pm.min_spare_servers - the minimum number of children in 'idle' +; state (waiting to process). If the number +; of 'idle' processes is less than this +; number then some children will be created. +; pm.max_spare_servers - the maximum number of children in 'idle' +; state (waiting to process). If the number +; of 'idle' processes is greater than this +; number then some children will be killed. +; ondemand - no children are created at startup. Children will be forked when +; new requests will connect. The following parameter are used: +; pm.max_children - the maximum number of children that +; can be alive at the same time. +; pm.process_idle_timeout - The number of seconds after which +; an idle process will be killed. +; Note: This value is mandatory. +pm = dynamic + +; The number of child processes to be created when pm is set to 'static' and the +; maximum number of child processes when pm is set to 'dynamic' or 'ondemand'. +; This value sets the limit on the number of simultaneous requests that will be +; served. Equivalent to the ApacheMaxClients directive with mpm_prefork. +; Equivalent to the PHP_FCGI_CHILDREN environment variable in the original PHP +; CGI. The below defaults are based on a server without much resources. Don't +; forget to tweak pm.* to fit your needs. +; Note: Used when pm is set to 'static', 'dynamic' or 'ondemand' +; Note: This value is mandatory. +pm.max_children = 5 + +; The number of child processes created on startup. +; Note: Used only when pm is set to 'dynamic' +; Default Value: min_spare_servers + (max_spare_servers - min_spare_servers) / 2 +pm.start_servers = 2 + +; The desired minimum number of idle server processes. +; Note: Used only when pm is set to 'dynamic' +; Note: Mandatory when pm is set to 'dynamic' +pm.min_spare_servers = 1 + +; The desired maximum number of idle server processes. +; Note: Used only when pm is set to 'dynamic' +; Note: Mandatory when pm is set to 'dynamic' +pm.max_spare_servers = 3 + +; The number of seconds after which an idle process will be killed. +; Note: Used only when pm is set to 'ondemand' +; Default Value: 10s +;pm.process_idle_timeout = 10s; + +; The number of requests each child process should execute before respawning. +; This can be useful to work around memory leaks in 3rd party libraries. For +; endless request processing specify '0'. Equivalent to PHP_FCGI_MAX_REQUESTS. +; Default Value: 0 +;pm.max_requests = 500 + +; The URI to view the FPM status page. If this value is not set, no URI will be +; recognized as a status page. It shows the following informations: +; pool - the name of the pool; +; process manager - static, dynamic or ondemand; +; start time - the date and time FPM has started; +; start since - number of seconds since FPM has started; +; accepted conn - the number of request accepted by the pool; +; listen queue - the number of request in the queue of pending +; connections (see backlog in listen(2)); +; max listen queue - the maximum number of requests in the queue +; of pending connections since FPM has started; +; listen queue len - the size of the socket queue of pending connections; +; idle processes - the number of idle processes; +; active processes - the number of active processes; +; total processes - the number of idle + active processes; +; max active processes - the maximum number of active processes since FPM +; has started; +; max children reached - number of times, the process limit has been reached, +; when pm tries to start more children (works only for +; pm 'dynamic' and 'ondemand'); +; Value are updated in real time. +; Example output: +; pool: www +; process manager: static +; start time: 01/Jul/2011:17:53:49 +0200 +; start since: 62636 +; accepted conn: 190460 +; listen queue: 0 +; max listen queue: 1 +; listen queue len: 42 +; idle processes: 4 +; active processes: 11 +; total processes: 15 +; max active processes: 12 +; max children reached: 0 +; +; By default the status page output is formatted as text/plain. Passing either +; 'html', 'xml' or 'json' in the query string will return the corresponding +; output syntax. Example: +; http://www.foo.bar/status +; http://www.foo.bar/status?json +; http://www.foo.bar/status?html +; http://www.foo.bar/status?xml +; +; By default the status page only outputs short status. Passing 'full' in the +; query string will also return status for each pool process. +; Example: +; http://www.foo.bar/status?full +; http://www.foo.bar/status?json&full +; http://www.foo.bar/status?html&full +; http://www.foo.bar/status?xml&full +; The Full status returns for each process: +; pid - the PID of the process; +; state - the state of the process (Idle, Running, ...); +; start time - the date and time the process has started; +; start since - the number of seconds since the process has started; +; requests - the number of requests the process has served; +; request duration - the duration in µs of the requests; +; request method - the request method (GET, POST, ...); +; request URI - the request URI with the query string; +; content length - the content length of the request (only with POST); +; user - the user (PHP_AUTH_USER) (or '-' if not set); +; script - the main script called (or '-' if not set); +; last request cpu - the %cpu the last request consumed +; it's always 0 if the process is not in Idle state +; because CPU calculation is done when the request +; processing has terminated; +; last request memory - the max amount of memory the last request consumed +; it's always 0 if the process is not in Idle state +; because memory calculation is done when the request +; processing has terminated; +; If the process is in Idle state, then informations are related to the +; last request the process has served. Otherwise informations are related to +; the current request being served. +; Example output: +; ************************ +; pid: 31330 +; state: Running +; start time: 01/Jul/2011:17:53:49 +0200 +; start since: 63087 +; requests: 12808 +; request duration: 1250261 +; request method: GET +; request URI: /test_mem.php?N=10000 +; content length: 0 +; user: - +; script: /home/fat/web/docs/php/test_mem.php +; last request cpu: 0.00 +; last request memory: 0 +; +; Note: There is a real-time FPM status monitoring sample web page available +; It's available in: /usr/share/php/7.2/fpm/status.html +; +; Note: The value must start with a leading slash (/). The value can be +; anything, but it may not be a good idea to use the .php extension or it +; may conflict with a real PHP file. +; Default Value: not set +;pm.status_path = /status + +; The ping URI to call the monitoring page of FPM. If this value is not set, no +; URI will be recognized as a ping page. This could be used to test from outside +; that FPM is alive and responding, or to +; - create a graph of FPM availability (rrd or such); +; - remove a server from a group if it is not responding (load balancing); +; - trigger alerts for the operating team (24/7). +; Note: The value must start with a leading slash (/). The value can be +; anything, but it may not be a good idea to use the .php extension or it +; may conflict with a real PHP file. +; Default Value: not set +;ping.path = /ping + +; This directive may be used to customize the response of a ping request. The +; response is formatted as text/plain with a 200 response code. +; Default Value: pong +;ping.response = pong + +; The access log file +; Default: not set +;access.log = log/$pool.access.log + +; The access log format. +; The following syntax is allowed +; %%: the '%' character +; %C: %CPU used by the request +; it can accept the following format: +; - %{user}C for user CPU only +; - %{system}C for system CPU only +; - %{total}C for user + system CPU (default) +; %d: time taken to serve the request +; it can accept the following format: +; - %{seconds}d (default) +; - %{miliseconds}d +; - %{mili}d +; - %{microseconds}d +; - %{micro}d +; %e: an environment variable (same as $_ENV or $_SERVER) +; it must be associated with embraces to specify the name of the env +; variable. Some exemples: +; - server specifics like: %{REQUEST_METHOD}e or %{SERVER_PROTOCOL}e +; - HTTP headers like: %{HTTP_HOST}e or %{HTTP_USER_AGENT}e +; %f: script filename +; %l: content-length of the request (for POST request only) +; %m: request method +; %M: peak of memory allocated by PHP +; it can accept the following format: +; - %{bytes}M (default) +; - %{kilobytes}M +; - %{kilo}M +; - %{megabytes}M +; - %{mega}M +; %n: pool name +; %o: output header +; it must be associated with embraces to specify the name of the header: +; - %{Content-Type}o +; - %{X-Powered-By}o +; - %{Transfert-Encoding}o +; - .... +; %p: PID of the child that serviced the request +; %P: PID of the parent of the child that serviced the request +; %q: the query string +; %Q: the '?' character if query string exists +; %r: the request URI (without the query string, see %q and %Q) +; %R: remote IP address +; %s: status (response code) +; %t: server time the request was received +; it can accept a strftime(3) format: +; %d/%b/%Y:%H:%M:%S %z (default) +; The strftime(3) format must be encapsuled in a %{ }t tag +; e.g. for a ISO8601 formatted timestring, use: %{%Y-%m-%dT%H:%M:%S%z}t +; %T: time the log has been written (the request has finished) +; it can accept a strftime(3) format: +; %d/%b/%Y:%H:%M:%S %z (default) +; The strftime(3) format must be encapsuled in a %{ }t tag +; e.g. for a ISO8601 formatted timestring, use: %{%Y-%m-%dT%H:%M:%S%z}t +; %u: remote user +; +; Default: "%R - %u %t \"%m %r\" %s" +;access.format = "%R - %u %t \"%m %r%Q%q\" %s %f %{mili}d %{kilo}M %C%%" + +; The log file for slow requests +; Default Value: not set +; Note: slowlog is mandatory if request_slowlog_timeout is set +;slowlog = log/$pool.log.slow + +; The timeout for serving a single request after which a PHP backtrace will be +; dumped to the 'slowlog' file. A value of '0s' means 'off'. +; Available units: s(econds)(default), m(inutes), h(ours), or d(ays) +; Default Value: 0 +;request_slowlog_timeout = 0 + +; Depth of slow log stack trace. +; Default Value: 20 +;request_slowlog_trace_depth = 20 + +; The timeout for serving a single request after which the worker process will +; be killed. This option should be used when the 'max_execution_time' ini option +; does not stop script execution for some reason. A value of '0' means 'off'. +; Available units: s(econds)(default), m(inutes), h(ours), or d(ays) +; Default Value: 0 +;request_terminate_timeout = 0 + +; Set open file descriptor rlimit. +; Default Value: system defined value +;rlimit_files = 1024 + +; Set max core size rlimit. +; Possible Values: 'unlimited' or an integer greater or equal to 0 +; Default Value: system defined value +;rlimit_core = 0 + +; Chroot to this directory at the start. This value must be defined as an +; absolute path. When this value is not set, chroot is not used. +; Note: you can prefix with '$prefix' to chroot to the pool prefix or one +; of its subdirectories. If the pool prefix is not set, the global prefix +; will be used instead. +; Note: chrooting is a great security feature and should be used whenever +; possible. However, all PHP paths will be relative to the chroot +; (error_log, sessions.save_path, ...). +; Default Value: not set +;chroot = + +; Chdir to this directory at the start. +; Note: relative path can be used. +; Default Value: current directory or / when chroot +;chdir = /var/www + +; Redirect worker stdout and stderr into main error log. If not set, stdout and +; stderr will be redirected to /dev/null according to FastCGI specs. +; Note: on highloaded environement, this can cause some delay in the page +; process time (several ms). +; Default Value: no +;catch_workers_output = yes + +; Clear environment in FPM workers +; Prevents arbitrary environment variables from reaching FPM worker processes +; by clearing the environment in workers before env vars specified in this +; pool configuration are added. +; Setting to "no" will make all environment variables available to PHP code +; via getenv(), $_ENV and $_SERVER. +; Default Value: yes +;clear_env = no + +; Limits the extensions of the main script FPM will allow to parse. This can +; prevent configuration mistakes on the web server side. You should only limit +; FPM to .php extensions to prevent malicious users to use other extensions to +; execute php code. +; Note: set an empty value to allow all extensions. +; Default Value: .php +;security.limit_extensions = .php .php3 .php4 .php5 .php7 + +; Pass environment variables like LD_LIBRARY_PATH. All $VARIABLEs are taken from +; the current environment. +; Default Value: clean env +;env[HOSTNAME] = $HOSTNAME +;env[PATH] = /usr/local/bin:/usr/bin:/bin +;env[TMP] = /tmp +;env[TMPDIR] = /tmp +;env[TEMP] = /tmp + +; Additional php.ini defines, specific to this pool of workers. These settings +; overwrite the values previously defined in the php.ini. The directives are the +; same as the PHP SAPI: +; php_value/php_flag - you can set classic ini defines which can +; be overwritten from PHP call 'ini_set'. +; php_admin_value/php_admin_flag - these directives won't be overwritten by +; PHP call 'ini_set' +; For php_*flag, valid values are on, off, 1, 0, true, false, yes or no. + +; Defining 'extension' will load the corresponding shared extension from +; extension_dir. Defining 'disable_functions' or 'disable_classes' will not +; overwrite previously defined php.ini values, but will append the new value +; instead. + +; Note: path INI options can be relative and will be expanded with the prefix +; (pool, global or /usr) + +; Default Value: nothing is defined by default except the values in php.ini and +; specified at startup with the -d argument +;php_admin_value[sendmail_path] = /usr/sbin/sendmail -t -i -f www@my.domain.com +;php_flag[display_errors] = off +;php_admin_value[error_log] = /var/log/fpm-php.www.log +;php_admin_flag[log_errors] = on +;php_admin_value[memory_limit] = 32M From 54fab10b525e900480e6e13d4d5a1a7518680589 Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Tue, 27 Jul 2021 15:27:40 +0200 Subject: [PATCH 120/896] Checking custom OpenSSH port Taken from @HestiaCP --- bin/v-update-firewall | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/bin/v-update-firewall b/bin/v-update-firewall index 183522a7..d3a46686 100755 --- a/bin/v-update-firewall +++ b/bin/v-update-firewall @@ -52,6 +52,13 @@ if [ $? -ne 0 ]; then fi +# Checking custom OpenSSH port +# Taken from HestiaCP +sshport=$(grep '^Port ' /etc/ssh/sshd_config | head -1 | cut -d ' ' -f 2) +if [[ "$sshport" =~ ^[0-9]+$ ]] && [ "$sshport" -ne "22" ]; then + sed -i "s/PORT='22'/PORT=\'$sshport\'/" $rules +fi + # Creating temporary file tmp=$(mktemp) From bc3ac1d9930775594a9502ca7c81afe52550194c Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Thu, 5 Aug 2021 22:02:35 +0200 Subject: [PATCH 121/896] Update v-clone-website --- bin/v-clone-website | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/bin/v-clone-website b/bin/v-clone-website index ed7344ab..7ed3046c 100644 --- a/bin/v-clone-website +++ b/bin/v-clone-website @@ -51,8 +51,6 @@ TO_DATABASE_USERNAME='' TO_DATABASE_PASSWORD='' DATABASE_SUFIX='_migrated' -source /usr/local/vesta/func/handle_parameters.sh - #----------------------------------------------------------# # Verifications # #----------------------------------------------------------# @@ -66,6 +64,9 @@ FROM_USER=$user r=$(/usr/local/vesta/bin/v-get-database-credentials-of-domain "$FROM_DOMAIN") eval $r +# take --parameters +source /usr/local/vesta/func/handle_parameters.sh + FROM_FOLDER=$SITE_FOLDER if [ ! -z "$CONFIG_FILE" ]; then From df11eaf33f5ca48a5fda16be2fb1e266421087bd Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Sat, 14 Aug 2021 22:36:07 +0200 Subject: [PATCH 122/896] Fix for "Broken or Risky Cryptographic Algorithm" --- web/inc/main.php | 5 +++-- web/login/index.php | 5 +++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/web/inc/main.php b/web/inc/main.php index 09eef5f7..f75f9530 100644 --- a/web/inc/main.php +++ b/web/inc/main.php @@ -66,9 +66,10 @@ if ((!isset($_SESSION['user'])) && (!defined('NO_AUTH_REQUIRED'))) { exit; } +// Generate CSRF Token if (isset($_SESSION['user'])) { - if(!isset($_SESSION['token'])){ - $token = uniqid(mt_rand(), true); + if (!isset($_SESSION['token'])){ + $token = bin2hex(file_get_contents('/dev/urandom', false, null, 0, 16)); $_SESSION['token'] = $token; } } diff --git a/web/login/index.php b/web/login/index.php index bf3f2c28..18841344 100644 --- a/web/login/index.php +++ b/web/login/index.php @@ -112,7 +112,7 @@ if (isset($_POST['user']) && isset($_POST['password'])) { } // Regenerate session id to prevent session fixation - session_regenerate_id(); + session_regenerate_id(true); // Redirect request to control panel interface if (!empty($_SESSION['request_uri'])) { @@ -158,7 +158,8 @@ if (empty($_SESSION['language'])) { } // Generate CSRF token -$_SESSION['token'] = md5(uniqid(mt_rand(), true)); +$token = bin2hex(file_get_contents('/dev/urandom', false, null, 0, 16)); +$_SESSION['token'] = $token; require_once($_SERVER['DOCUMENT_ROOT'].'/inc/i18n/'.$_SESSION['language'].'.php'); require_once('../templates/header.html'); From 88596a8cd9a9bb053d2d5bebf80c870dff49b639 Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Sun, 15 Aug 2021 12:35:28 +0200 Subject: [PATCH 123/896] Fix for possible file inclusion vulnerability in i18n.php Fix for https://github.com/serghey-rodin/vesta/issues/2052 --- web/inc/i18n.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/web/inc/i18n.php b/web/inc/i18n.php index 8b8abf3a..9d6c1b7e 100644 --- a/web/inc/i18n.php +++ b/web/inc/i18n.php @@ -24,7 +24,7 @@ function _translate() { // Load language file (if not loaded yet) if (!isset($LANG[$l])) { - require_once($_SERVER['DOCUMENT_ROOT']."/inc/i18n/$l.php"); + require_once($_SERVER['DOCUMENT_ROOT']."/inc/i18n/".basename($l).".php"); } //if (!isset($LANG[$l][$key])) file_put_contents('/somewhere/something.log', "$key\n", FILE_APPEND); From 914b53ea1ca85ff07e0d86ded561b157e8511835 Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Sun, 15 Aug 2021 14:11:14 +0200 Subject: [PATCH 124/896] Getting hostname from $_SERVER['HTTP_HOST'] for UploadHandler --- web/upload/UploadHandler.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/web/upload/UploadHandler.php b/web/upload/UploadHandler.php index b77749ab..15adb406 100755 --- a/web/upload/UploadHandler.php +++ b/web/upload/UploadHandler.php @@ -2,7 +2,8 @@ //session_start(); -$hostname = exec('hostname'); +$host_arr=explode(":", $_SERVER['HTTP_HOST']); +$hostname=$host_arr[0]; $port = $_SERVER['SERVER_PORT']; $expected_http_origin="https://".$hostname.":".$port; if ($_SERVER['HTTP_ORIGIN'] != $expected_http_origin) { From d559763427efbbfef83e3a988b91ee8650247109 Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Sun, 15 Aug 2021 14:15:48 +0200 Subject: [PATCH 125/896] Preventing CSRF in edit/file --- web/edit/file/index.php | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/web/edit/file/index.php b/web/edit/file/index.php index d6ae8dce..9addd23e 100644 --- a/web/edit/file/index.php +++ b/web/edit/file/index.php @@ -1,5 +1,14 @@ Date: Sun, 15 Aug 2021 14:20:13 +0200 Subject: [PATCH 126/896] Preventing CSRF in schedule / backup --- web/schedule/backup/index.php | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/web/schedule/backup/index.php b/web/schedule/backup/index.php index 67c7b44f..10b83a24 100644 --- a/web/schedule/backup/index.php +++ b/web/schedule/backup/index.php @@ -1,4 +1,14 @@ Date: Sun, 15 Aug 2021 14:36:45 +0200 Subject: [PATCH 127/896] Update index.php --- web/schedule/backup/index.php | 9 --------- 1 file changed, 9 deletions(-) diff --git a/web/schedule/backup/index.php b/web/schedule/backup/index.php index 10b83a24..6a36030b 100644 --- a/web/schedule/backup/index.php +++ b/web/schedule/backup/index.php @@ -1,14 +1,5 @@ Date: Sun, 15 Aug 2021 14:37:53 +0200 Subject: [PATCH 128/896] Update index.php --- web/edit/file/index.php | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/web/edit/file/index.php b/web/edit/file/index.php index 9addd23e..9071af3a 100644 --- a/web/edit/file/index.php +++ b/web/edit/file/index.php @@ -1,12 +1,14 @@ Date: Sun, 15 Aug 2021 14:41:04 +0200 Subject: [PATCH 129/896] Preventing CSRF in schedule / backup --- web/schedule/backup/index.php | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/web/schedule/backup/index.php b/web/schedule/backup/index.php index 6a36030b..06881993 100644 --- a/web/schedule/backup/index.php +++ b/web/schedule/backup/index.php @@ -1,5 +1,16 @@ Date: Sun, 15 Aug 2021 14:53:16 +0200 Subject: [PATCH 130/896] Preventing all CSRF --- web/inc/secure_login.php | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/web/inc/secure_login.php b/web/inc/secure_login.php index 55b17e55..34b02695 100644 --- a/web/inc/secure_login.php +++ b/web/inc/secure_login.php @@ -49,3 +49,16 @@ if ($skip_login_url_check==0) { } } } + +// Preventing all CSRF +if ($skip_login_url_check==0) { + if ($_SERVER['REQUEST_METHOD']=='POST') { + $host_arr=explode(":", $_SERVER['HTTP_HOST']); + $hostname=$host_arr[0]; + $port = $_SERVER['SERVER_PORT']; + $expected_http_origin="https://".$hostname.":".$port; + if ($_SERVER['HTTP_ORIGIN'] != $expected_http_origin) { + die ("Nope."); + } + } +} From 43da9e2aa71dfa92fb3a2a778d8a80722f17e670 Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Sun, 15 Aug 2021 15:14:16 +0200 Subject: [PATCH 131/896] Preventing CSRF in file_manager/fm_api.php --- web/file_manager/fm_api.php | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/web/file_manager/fm_api.php b/web/file_manager/fm_api.php index cf4eef82..4a4dd9ec 100644 --- a/web/file_manager/fm_api.php +++ b/web/file_manager/fm_api.php @@ -2,6 +2,17 @@ // Init //error_reporting(NULL); +// Preventing CSRF +if ($_SERVER['REQUEST_METHOD']=='POST') { + $host_arr=explode(":", $_SERVER['HTTP_HOST']); + $hostname=$host_arr[0]; + $port = $_SERVER['SERVER_PORT']; + $expected_http_origin="https://".$hostname.":".$port; + if ($_SERVER['HTTP_ORIGIN'] != $expected_http_origin) { + die ("Nope."); + } +} + header('Content-Type: application/json'); include($_SERVER['DOCUMENT_ROOT']."/inc/main.php"); From d0dba33d9475966c3955114ff7dce88a1db1608a Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Sun, 15 Aug 2021 16:37:34 +0200 Subject: [PATCH 132/896] Changing the Default Character Set To UTF-8 in MariaDB --- install/debian/10/mysql/my-large.cnf | 7 +++++++ install/debian/10/mysql/my-medium.cnf | 7 +++++++ install/debian/10/mysql/my-small.cnf | 7 +++++++ 3 files changed, 21 insertions(+) diff --git a/install/debian/10/mysql/my-large.cnf b/install/debian/10/mysql/my-large.cnf index febfda66..b056c316 100644 --- a/install/debian/10/mysql/my-large.cnf +++ b/install/debian/10/mysql/my-large.cnf @@ -1,11 +1,18 @@ [client] +default-character-set=utf8mb4 port=3306 socket=/var/run/mysqld/mysqld.sock [mysqld_safe] socket=/var/run/mysqld/mysqld.sock +[mysql] +default-character-set=utf8mb4 + [mysqld] +collation-server = utf8mb4_unicode_520_ci +init-connect='SET NAMES utf8mb4' +character-set-server = utf8mb4 user=mysql pid-file=/var/run/mysqld/mysqld.pid socket=/var/run/mysqld/mysqld.sock diff --git a/install/debian/10/mysql/my-medium.cnf b/install/debian/10/mysql/my-medium.cnf index 3aa8fe22..33aa04c2 100644 --- a/install/debian/10/mysql/my-medium.cnf +++ b/install/debian/10/mysql/my-medium.cnf @@ -1,11 +1,18 @@ [client] +default-character-set=utf8mb4 port=3306 socket=/var/run/mysqld/mysqld.sock [mysqld_safe] socket=/var/run/mysqld/mysqld.sock +[mysql] +default-character-set=utf8mb4 + [mysqld] +collation-server = utf8mb4_unicode_520_ci +init-connect='SET NAMES utf8mb4' +character-set-server = utf8mb4 user=mysql pid-file=/var/run/mysqld/mysqld.pid socket=/var/run/mysqld/mysqld.sock diff --git a/install/debian/10/mysql/my-small.cnf b/install/debian/10/mysql/my-small.cnf index bd53770b..857f48ce 100644 --- a/install/debian/10/mysql/my-small.cnf +++ b/install/debian/10/mysql/my-small.cnf @@ -1,11 +1,18 @@ [client] +default-character-set=utf8mb4 port=3306 socket=/var/run/mysqld/mysqld.sock [mysqld_safe] socket=/var/run/mysqld/mysqld.sock +[mysql] +default-character-set=utf8mb4 + [mysqld] +collation-server = utf8mb4_unicode_520_ci +init-connect='SET NAMES utf8mb4' +character-set-server = utf8mb4 user=mysql pid-file=/var/run/mysqld/mysqld.pid socket=/var/run/mysqld/mysqld.sock From b71238813b20e33cad60d24fa82a11b746bf663a Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Sun, 15 Aug 2021 18:08:13 +0200 Subject: [PATCH 133/896] Changing the Default Character Set To UTF-8 in MariaDB --- install/debian/11/mysql/my-large.cnf | 7 +++++++ install/debian/11/mysql/my-medium.cnf | 7 +++++++ install/debian/11/mysql/my-small.cnf | 7 +++++++ 3 files changed, 21 insertions(+) diff --git a/install/debian/11/mysql/my-large.cnf b/install/debian/11/mysql/my-large.cnf index febfda66..b056c316 100644 --- a/install/debian/11/mysql/my-large.cnf +++ b/install/debian/11/mysql/my-large.cnf @@ -1,11 +1,18 @@ [client] +default-character-set=utf8mb4 port=3306 socket=/var/run/mysqld/mysqld.sock [mysqld_safe] socket=/var/run/mysqld/mysqld.sock +[mysql] +default-character-set=utf8mb4 + [mysqld] +collation-server = utf8mb4_unicode_520_ci +init-connect='SET NAMES utf8mb4' +character-set-server = utf8mb4 user=mysql pid-file=/var/run/mysqld/mysqld.pid socket=/var/run/mysqld/mysqld.sock diff --git a/install/debian/11/mysql/my-medium.cnf b/install/debian/11/mysql/my-medium.cnf index 3aa8fe22..33aa04c2 100644 --- a/install/debian/11/mysql/my-medium.cnf +++ b/install/debian/11/mysql/my-medium.cnf @@ -1,11 +1,18 @@ [client] +default-character-set=utf8mb4 port=3306 socket=/var/run/mysqld/mysqld.sock [mysqld_safe] socket=/var/run/mysqld/mysqld.sock +[mysql] +default-character-set=utf8mb4 + [mysqld] +collation-server = utf8mb4_unicode_520_ci +init-connect='SET NAMES utf8mb4' +character-set-server = utf8mb4 user=mysql pid-file=/var/run/mysqld/mysqld.pid socket=/var/run/mysqld/mysqld.sock diff --git a/install/debian/11/mysql/my-small.cnf b/install/debian/11/mysql/my-small.cnf index bd53770b..857f48ce 100644 --- a/install/debian/11/mysql/my-small.cnf +++ b/install/debian/11/mysql/my-small.cnf @@ -1,11 +1,18 @@ [client] +default-character-set=utf8mb4 port=3306 socket=/var/run/mysqld/mysqld.sock [mysqld_safe] socket=/var/run/mysqld/mysqld.sock +[mysql] +default-character-set=utf8mb4 + [mysqld] +collation-server = utf8mb4_unicode_520_ci +init-connect='SET NAMES utf8mb4' +character-set-server = utf8mb4 user=mysql pid-file=/var/run/mysqld/mysqld.pid socket=/var/run/mysqld/mysqld.sock From dcbb7b80f985102118c223819f166fc05ace1940 Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Mon, 23 Aug 2021 20:47:57 +0200 Subject: [PATCH 134/896] $OVERRIDE_BACKUP_PATH --- bin/v-restore-user | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/bin/v-restore-user b/bin/v-restore-user index 8aef31b1..a78ffc4d 100755 --- a/bin/v-restore-user +++ b/bin/v-restore-user @@ -36,6 +36,10 @@ source $VESTA/func/db.sh source $VESTA/func/rebuild.sh source $VESTA/conf/vesta.conf +if [ ! -z "$OVERRIDE_BACKUP_PATH" ]; then + BACKUP=$OVERRIDE_BACKUP_PATH +fi + # Check backup ownership function is_backup_available() { passed=false From 29f83585163f504bba783e04c89f9b9c385d2e65 Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Mon, 23 Aug 2021 20:50:48 +0200 Subject: [PATCH 135/896] Override backup path --- bin/v-backup-user | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/bin/v-backup-user b/bin/v-backup-user index 2e245156..767eba22 100755 --- a/bin/v-backup-user +++ b/bin/v-backup-user @@ -41,6 +41,11 @@ is_backup_enabled wait_for_backup_if_it_is_not_time_for_backup +# Override backup path +if [ ! -z "$OVERRIDE_BACKUP_PATH" ]; then + BACKUP=$OVERRIDE_BACKUP_PATH +fi + # Set backup directory if undefined if [ -z "$BACKUP" ]; then BACKUP=/backup From c6226e403ac62d30fe0260398ea2e3b4bf3f8043 Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Tue, 24 Aug 2021 16:45:15 +0200 Subject: [PATCH 136/896] systemctl reset-failed php7.3 --- .../11/templates/web/apache2/PHP-FPM-74-public.sh | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/install/debian/11/templates/web/apache2/PHP-FPM-74-public.sh b/install/debian/11/templates/web/apache2/PHP-FPM-74-public.sh index 6f6290b1..814b434b 100755 --- a/install/debian/11/templates/web/apache2/PHP-FPM-74-public.sh +++ b/install/debian/11/templates/web/apache2/PHP-FPM-74-public.sh @@ -46,29 +46,35 @@ pool_file_71="/etc/php/7.1/fpm/pool.d/$2.conf" pool_file_72="/etc/php/7.2/fpm/pool.d/$2.conf" pool_file_73="/etc/php/7.3/fpm/pool.d/$2.conf" pool_file_74="/etc/php/7.4/fpm/pool.d/$2.conf" +pool_file_80="/etc/php/8.0/fpm/pool.d/$2.conf" if [ -f "$pool_file_56" ]; then rm $pool_file_56 + systemctl reset-failed php5.6-fpm service php5.6-fpm restart fi if [ -f "$pool_file_70" ]; then rm $pool_file_70 + systemctl reset-failed php7.0-fpm service php7.0-fpm restart fi if [ -f "$pool_file_71" ]; then rm $pool_file_71 + systemctl reset-failed php7.1-fpm service php7.1-fpm restart fi if [ -f "$pool_file_72" ]; then rm $pool_file_72 + systemctl reset-failed php7.2-fpm service php7.2-fpm restart fi if [ -f "$pool_file_73" ]; then rm $pool_file_73 + systemctl reset-failed php7.3-fpm service php7.3-fpm restart fi @@ -83,10 +89,17 @@ else fi if [ $write_file -eq 1 ]; then echo "$pool_conf" > $pool_file_74 + systemctl reset-failed php7.4-fpm service php7.4-fpm restart fi if [ -f "/etc/php/7.4/fpm/pool.d/www.conf" ]; then rm /etc/php/7.4/fpm/pool.d/www.conf fi -exit 0 \ No newline at end of file +if [ -f "$pool_file_80" ]; then + rm $pool_file_80 + systemctl reset-failed php8.0-fpm + service php8.0-fpm restart +fi + +exit 0 From 4942f52f7feb85edde00d588c4f340ceaa1bf551 Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Tue, 24 Aug 2021 16:46:40 +0200 Subject: [PATCH 137/896] systemctl reset-failed php7.4-fpm --- .../11/templates/web/apache2/PHP-FPM-74.sh | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/install/debian/11/templates/web/apache2/PHP-FPM-74.sh b/install/debian/11/templates/web/apache2/PHP-FPM-74.sh index 482cdd7e..814b434b 100755 --- a/install/debian/11/templates/web/apache2/PHP-FPM-74.sh +++ b/install/debian/11/templates/web/apache2/PHP-FPM-74.sh @@ -17,8 +17,8 @@ user = $1 group = $1 pm = ondemand -pm.max_children = 8 -request_terminate_timeout = 90s +pm.max_children = 16 +request_terminate_timeout = 30s pm.max_requests = 4000 pm.process_idle_timeout = 10s pm.status_path = /status @@ -27,7 +27,7 @@ php_admin_value[upload_tmp_dir] = /home/$1/tmp php_admin_value[session.save_path] = /home/$1/tmp php_admin_value[open_basedir] = $5:/home/$1/tmp:/bin:/usr/bin:/usr/local/bin:/var/www/html:/tmp:/usr/share:/etc/phpmyadmin:/var/lib/phpmyadmin:/etc/roundcube:/var/log/roundcube:/var/lib/roundcube php_admin_value[upload_max_filesize] = 80M -php_admin_value[max_execution_time] = 30 +php_admin_value[max_execution_time] = 20 php_admin_value[post_max_size] = 80M php_admin_value[memory_limit] = 256M php_admin_value[sendmail_path] = \"/usr/sbin/sendmail -t -i -f info@$2\" @@ -46,29 +46,35 @@ pool_file_71="/etc/php/7.1/fpm/pool.d/$2.conf" pool_file_72="/etc/php/7.2/fpm/pool.d/$2.conf" pool_file_73="/etc/php/7.3/fpm/pool.d/$2.conf" pool_file_74="/etc/php/7.4/fpm/pool.d/$2.conf" +pool_file_80="/etc/php/8.0/fpm/pool.d/$2.conf" if [ -f "$pool_file_56" ]; then rm $pool_file_56 + systemctl reset-failed php5.6-fpm service php5.6-fpm restart fi if [ -f "$pool_file_70" ]; then rm $pool_file_70 + systemctl reset-failed php7.0-fpm service php7.0-fpm restart fi if [ -f "$pool_file_71" ]; then rm $pool_file_71 + systemctl reset-failed php7.1-fpm service php7.1-fpm restart fi if [ -f "$pool_file_72" ]; then rm $pool_file_72 + systemctl reset-failed php7.2-fpm service php7.2-fpm restart fi if [ -f "$pool_file_73" ]; then rm $pool_file_73 + systemctl reset-failed php7.3-fpm service php7.3-fpm restart fi @@ -83,10 +89,17 @@ else fi if [ $write_file -eq 1 ]; then echo "$pool_conf" > $pool_file_74 + systemctl reset-failed php7.4-fpm service php7.4-fpm restart fi if [ -f "/etc/php/7.4/fpm/pool.d/www.conf" ]; then rm /etc/php/7.4/fpm/pool.d/www.conf fi +if [ -f "$pool_file_80" ]; then + rm $pool_file_80 + systemctl reset-failed php8.0-fpm + service php8.0-fpm restart +fi + exit 0 From 628464b96986102139e62decb9d0374e545ed8b4 Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Tue, 24 Aug 2021 16:48:17 +0200 Subject: [PATCH 138/896] Update PHP-FPM-74.sh --- install/debian/11/templates/web/apache2/PHP-FPM-74.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/install/debian/11/templates/web/apache2/PHP-FPM-74.sh b/install/debian/11/templates/web/apache2/PHP-FPM-74.sh index 814b434b..5bc6f5fb 100755 --- a/install/debian/11/templates/web/apache2/PHP-FPM-74.sh +++ b/install/debian/11/templates/web/apache2/PHP-FPM-74.sh @@ -17,8 +17,8 @@ user = $1 group = $1 pm = ondemand -pm.max_children = 16 -request_terminate_timeout = 30s +pm.max_children = 8 +request_terminate_timeout = 90s pm.max_requests = 4000 pm.process_idle_timeout = 10s pm.status_path = /status @@ -27,7 +27,7 @@ php_admin_value[upload_tmp_dir] = /home/$1/tmp php_admin_value[session.save_path] = /home/$1/tmp php_admin_value[open_basedir] = $5:/home/$1/tmp:/bin:/usr/bin:/usr/local/bin:/var/www/html:/tmp:/usr/share:/etc/phpmyadmin:/var/lib/phpmyadmin:/etc/roundcube:/var/log/roundcube:/var/lib/roundcube php_admin_value[upload_max_filesize] = 80M -php_admin_value[max_execution_time] = 20 +php_admin_value[max_execution_time] = 30 php_admin_value[post_max_size] = 80M php_admin_value[memory_limit] = 256M php_admin_value[sendmail_path] = \"/usr/sbin/sendmail -t -i -f info@$2\" From 9cb517a5148e6417667acc6e26eb1fdcc4548066 Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Tue, 24 Aug 2021 17:00:40 +0200 Subject: [PATCH 139/896] Update PHP-FPM-73.sh --- .../10/templates/web/apache2/PHP-FPM-73.sh | 25 ++++++++++++++----- 1 file changed, 19 insertions(+), 6 deletions(-) diff --git a/install/debian/10/templates/web/apache2/PHP-FPM-73.sh b/install/debian/10/templates/web/apache2/PHP-FPM-73.sh index 72f9cec6..57b10863 100755 --- a/install/debian/10/templates/web/apache2/PHP-FPM-73.sh +++ b/install/debian/10/templates/web/apache2/PHP-FPM-73.sh @@ -46,25 +46,30 @@ pool_file_71="/etc/php/7.1/fpm/pool.d/$2.conf" pool_file_72="/etc/php/7.2/fpm/pool.d/$2.conf" pool_file_73="/etc/php/7.3/fpm/pool.d/$2.conf" pool_file_74="/etc/php/7.4/fpm/pool.d/$2.conf" +pool_file_80="/etc/php/8.0/fpm/pool.d/$2.conf" if [ -f "$pool_file_56" ]; then rm $pool_file_56 - service php5.6-fpm restart + systemctl reset-failed php5.6-fpm + systemctl restart php5.6-fpm fi if [ -f "$pool_file_70" ]; then rm $pool_file_70 - service php7.0-fpm restart + systemctl reset-failed php7.0-fpm + systemctl restart php7.0-fpm fi if [ -f "$pool_file_71" ]; then rm $pool_file_71 - service php7.1-fpm restart + systemctl reset-failed php7.1-fpm + systemctl restart php7.1-fpm fi if [ -f "$pool_file_72" ]; then rm $pool_file_72 - service php7.2-fpm restart + systemctl reset-failed php7.2-fpm + systemctl restart php7.2-fpm fi write_file=0 @@ -78,7 +83,8 @@ else fi if [ $write_file -eq 1 ]; then echo "$pool_conf" > $pool_file_73 - service php7.3-fpm restart + systemctl reset-failed php7.3-fpm + systemctl restart php7.3-fpm fi if [ -f "/etc/php/7.3/fpm/pool.d/www.conf" ]; then rm /etc/php/7.3/fpm/pool.d/www.conf @@ -86,7 +92,14 @@ fi if [ -f "$pool_file_74" ]; then rm $pool_file_74 - service php7.4-fpm restart + systemctl reset-failed php7.4-fpm + systemctl restart php7.4-fpm +fi + +if [ -f "$pool_file_80" ]; then + rm $pool_file_80 + systemctl reset-failed php8.0-fpm + systemctl restart php8.0-fpm fi exit 0 From ce75daf4de838f0d7beb36a9a2bade188be2b591 Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Tue, 24 Aug 2021 17:08:47 +0200 Subject: [PATCH 140/896] systemctl reset-failed php7.3-fpm --- .../web/apache2/PHP-FPM-73-public.sh | 37 ++++++++++++++----- 1 file changed, 27 insertions(+), 10 deletions(-) diff --git a/install/debian/10/templates/web/apache2/PHP-FPM-73-public.sh b/install/debian/10/templates/web/apache2/PHP-FPM-73-public.sh index cc55b61e..57b10863 100755 --- a/install/debian/10/templates/web/apache2/PHP-FPM-73-public.sh +++ b/install/debian/10/templates/web/apache2/PHP-FPM-73-public.sh @@ -17,8 +17,8 @@ user = $1 group = $1 pm = ondemand -pm.max_children = 16 -request_terminate_timeout = 30s +pm.max_children = 8 +request_terminate_timeout = 90s pm.max_requests = 4000 pm.process_idle_timeout = 10s pm.status_path = /status @@ -27,7 +27,7 @@ php_admin_value[upload_tmp_dir] = /home/$1/tmp php_admin_value[session.save_path] = /home/$1/tmp php_admin_value[open_basedir] = $5:/home/$1/tmp:/bin:/usr/bin:/usr/local/bin:/var/www/html:/tmp:/usr/share:/etc/phpmyadmin:/var/lib/phpmyadmin:/etc/roundcube:/var/log/roundcube:/var/lib/roundcube php_admin_value[upload_max_filesize] = 80M -php_admin_value[max_execution_time] = 20 +php_admin_value[max_execution_time] = 30 php_admin_value[post_max_size] = 80M php_admin_value[memory_limit] = 256M php_admin_value[sendmail_path] = \"/usr/sbin/sendmail -t -i -f info@$2\" @@ -45,25 +45,31 @@ pool_file_70="/etc/php/7.0/fpm/pool.d/$2.conf" pool_file_71="/etc/php/7.1/fpm/pool.d/$2.conf" pool_file_72="/etc/php/7.2/fpm/pool.d/$2.conf" pool_file_73="/etc/php/7.3/fpm/pool.d/$2.conf" +pool_file_74="/etc/php/7.4/fpm/pool.d/$2.conf" +pool_file_80="/etc/php/8.0/fpm/pool.d/$2.conf" if [ -f "$pool_file_56" ]; then rm $pool_file_56 - service php5.6-fpm restart + systemctl reset-failed php5.6-fpm + systemctl restart php5.6-fpm fi if [ -f "$pool_file_70" ]; then rm $pool_file_70 - service php7.0-fpm restart + systemctl reset-failed php7.0-fpm + systemctl restart php7.0-fpm fi if [ -f "$pool_file_71" ]; then rm $pool_file_71 - service php7.1-fpm restart + systemctl reset-failed php7.1-fpm + systemctl restart php7.1-fpm fi if [ -f "$pool_file_72" ]; then rm $pool_file_72 - service php7.2-fpm restart + systemctl reset-failed php7.2-fpm + systemctl restart php7.2-fpm fi write_file=0 @@ -75,14 +81,25 @@ else write_file=1 fi fi - if [ $write_file -eq 1 ]; then echo "$pool_conf" > $pool_file_73 - service php7.3-fpm restart + systemctl reset-failed php7.3-fpm + systemctl restart php7.3-fpm fi - if [ -f "/etc/php/7.3/fpm/pool.d/www.conf" ]; then rm /etc/php/7.3/fpm/pool.d/www.conf fi +if [ -f "$pool_file_74" ]; then + rm $pool_file_74 + systemctl reset-failed php7.4-fpm + systemctl restart php7.4-fpm +fi + +if [ -f "$pool_file_80" ]; then + rm $pool_file_80 + systemctl reset-failed php8.0-fpm + systemctl restart php8.0-fpm +fi + exit 0 From 6b1dd5ae189448838640a9c424d087a7ddef7915 Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Tue, 24 Aug 2021 17:13:52 +0200 Subject: [PATCH 141/896] systemctl restart php7.4-fpm --- .../debian/11/templates/web/apache2/PHP-FPM-74.sh | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/install/debian/11/templates/web/apache2/PHP-FPM-74.sh b/install/debian/11/templates/web/apache2/PHP-FPM-74.sh index 5bc6f5fb..0ff7b21b 100755 --- a/install/debian/11/templates/web/apache2/PHP-FPM-74.sh +++ b/install/debian/11/templates/web/apache2/PHP-FPM-74.sh @@ -51,31 +51,31 @@ pool_file_80="/etc/php/8.0/fpm/pool.d/$2.conf" if [ -f "$pool_file_56" ]; then rm $pool_file_56 systemctl reset-failed php5.6-fpm - service php5.6-fpm restart + systemctl restart php5.6-fpm fi if [ -f "$pool_file_70" ]; then rm $pool_file_70 systemctl reset-failed php7.0-fpm - service php7.0-fpm restart + systemctl restart php7.0-fpm fi if [ -f "$pool_file_71" ]; then rm $pool_file_71 systemctl reset-failed php7.1-fpm - service php7.1-fpm restart + systemctl restart php7.1-fpm fi if [ -f "$pool_file_72" ]; then rm $pool_file_72 systemctl reset-failed php7.2-fpm - service php7.2-fpm restart + systemctl restart php7.2-fpm fi if [ -f "$pool_file_73" ]; then rm $pool_file_73 systemctl reset-failed php7.3-fpm - service php7.3-fpm restart + systemctl restart php7.3-fpm fi write_file=0 @@ -90,7 +90,7 @@ fi if [ $write_file -eq 1 ]; then echo "$pool_conf" > $pool_file_74 systemctl reset-failed php7.4-fpm - service php7.4-fpm restart + systemctl restart php7.4-fpm fi if [ -f "/etc/php/7.4/fpm/pool.d/www.conf" ]; then rm /etc/php/7.4/fpm/pool.d/www.conf @@ -99,7 +99,7 @@ fi if [ -f "$pool_file_80" ]; then rm $pool_file_80 systemctl reset-failed php8.0-fpm - service php8.0-fpm restart + systemctl restart php8.0-fpm fi exit 0 From abcf557d059c9482d6eb222a74e155321599d236 Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Tue, 24 Aug 2021 17:15:14 +0200 Subject: [PATCH 142/896] systemctl restart php7.4-fpm --- .../web/apache2/PHP-FPM-74-public.sh | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/install/debian/11/templates/web/apache2/PHP-FPM-74-public.sh b/install/debian/11/templates/web/apache2/PHP-FPM-74-public.sh index 814b434b..0ff7b21b 100755 --- a/install/debian/11/templates/web/apache2/PHP-FPM-74-public.sh +++ b/install/debian/11/templates/web/apache2/PHP-FPM-74-public.sh @@ -17,8 +17,8 @@ user = $1 group = $1 pm = ondemand -pm.max_children = 16 -request_terminate_timeout = 30s +pm.max_children = 8 +request_terminate_timeout = 90s pm.max_requests = 4000 pm.process_idle_timeout = 10s pm.status_path = /status @@ -27,7 +27,7 @@ php_admin_value[upload_tmp_dir] = /home/$1/tmp php_admin_value[session.save_path] = /home/$1/tmp php_admin_value[open_basedir] = $5:/home/$1/tmp:/bin:/usr/bin:/usr/local/bin:/var/www/html:/tmp:/usr/share:/etc/phpmyadmin:/var/lib/phpmyadmin:/etc/roundcube:/var/log/roundcube:/var/lib/roundcube php_admin_value[upload_max_filesize] = 80M -php_admin_value[max_execution_time] = 20 +php_admin_value[max_execution_time] = 30 php_admin_value[post_max_size] = 80M php_admin_value[memory_limit] = 256M php_admin_value[sendmail_path] = \"/usr/sbin/sendmail -t -i -f info@$2\" @@ -51,31 +51,31 @@ pool_file_80="/etc/php/8.0/fpm/pool.d/$2.conf" if [ -f "$pool_file_56" ]; then rm $pool_file_56 systemctl reset-failed php5.6-fpm - service php5.6-fpm restart + systemctl restart php5.6-fpm fi if [ -f "$pool_file_70" ]; then rm $pool_file_70 systemctl reset-failed php7.0-fpm - service php7.0-fpm restart + systemctl restart php7.0-fpm fi if [ -f "$pool_file_71" ]; then rm $pool_file_71 systemctl reset-failed php7.1-fpm - service php7.1-fpm restart + systemctl restart php7.1-fpm fi if [ -f "$pool_file_72" ]; then rm $pool_file_72 systemctl reset-failed php7.2-fpm - service php7.2-fpm restart + systemctl restart php7.2-fpm fi if [ -f "$pool_file_73" ]; then rm $pool_file_73 systemctl reset-failed php7.3-fpm - service php7.3-fpm restart + systemctl restart php7.3-fpm fi write_file=0 @@ -90,7 +90,7 @@ fi if [ $write_file -eq 1 ]; then echo "$pool_conf" > $pool_file_74 systemctl reset-failed php7.4-fpm - service php7.4-fpm restart + systemctl restart php7.4-fpm fi if [ -f "/etc/php/7.4/fpm/pool.d/www.conf" ]; then rm /etc/php/7.4/fpm/pool.d/www.conf @@ -99,7 +99,7 @@ fi if [ -f "$pool_file_80" ]; then rm $pool_file_80 systemctl reset-failed php8.0-fpm - service php8.0-fpm restart + systemctl restart php8.0-fpm fi exit 0 From df377c677cd26e25fccfd4d0d2ce7b2475c8503d Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Tue, 24 Aug 2021 17:58:46 +0200 Subject: [PATCH 143/896] Update PHP-FPM-74.sh --- .../tools/apache-fpm-tpl/PHP-FPM-74.sh | 25 ++++++++++++++----- 1 file changed, 19 insertions(+), 6 deletions(-) diff --git a/src/deb/for-download/tools/apache-fpm-tpl/PHP-FPM-74.sh b/src/deb/for-download/tools/apache-fpm-tpl/PHP-FPM-74.sh index 482cdd7e..0ff7b21b 100755 --- a/src/deb/for-download/tools/apache-fpm-tpl/PHP-FPM-74.sh +++ b/src/deb/for-download/tools/apache-fpm-tpl/PHP-FPM-74.sh @@ -46,30 +46,36 @@ pool_file_71="/etc/php/7.1/fpm/pool.d/$2.conf" pool_file_72="/etc/php/7.2/fpm/pool.d/$2.conf" pool_file_73="/etc/php/7.3/fpm/pool.d/$2.conf" pool_file_74="/etc/php/7.4/fpm/pool.d/$2.conf" +pool_file_80="/etc/php/8.0/fpm/pool.d/$2.conf" if [ -f "$pool_file_56" ]; then rm $pool_file_56 - service php5.6-fpm restart + systemctl reset-failed php5.6-fpm + systemctl restart php5.6-fpm fi if [ -f "$pool_file_70" ]; then rm $pool_file_70 - service php7.0-fpm restart + systemctl reset-failed php7.0-fpm + systemctl restart php7.0-fpm fi if [ -f "$pool_file_71" ]; then rm $pool_file_71 - service php7.1-fpm restart + systemctl reset-failed php7.1-fpm + systemctl restart php7.1-fpm fi if [ -f "$pool_file_72" ]; then rm $pool_file_72 - service php7.2-fpm restart + systemctl reset-failed php7.2-fpm + systemctl restart php7.2-fpm fi if [ -f "$pool_file_73" ]; then rm $pool_file_73 - service php7.3-fpm restart + systemctl reset-failed php7.3-fpm + systemctl restart php7.3-fpm fi write_file=0 @@ -83,10 +89,17 @@ else fi if [ $write_file -eq 1 ]; then echo "$pool_conf" > $pool_file_74 - service php7.4-fpm restart + systemctl reset-failed php7.4-fpm + systemctl restart php7.4-fpm fi if [ -f "/etc/php/7.4/fpm/pool.d/www.conf" ]; then rm /etc/php/7.4/fpm/pool.d/www.conf fi +if [ -f "$pool_file_80" ]; then + rm $pool_file_80 + systemctl reset-failed php8.0-fpm + systemctl restart php8.0-fpm +fi + exit 0 From 77fa4d0a6b38f5f3e6f28f4f6ac758becf4c7660 Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Tue, 24 Aug 2021 18:00:27 +0200 Subject: [PATCH 144/896] Update PHP-FPM-74-public.sh --- .../tools/apache-fpm-tpl/PHP-FPM-74-public.sh | 33 +++++++++++++------ 1 file changed, 23 insertions(+), 10 deletions(-) diff --git a/src/deb/for-download/tools/apache-fpm-tpl/PHP-FPM-74-public.sh b/src/deb/for-download/tools/apache-fpm-tpl/PHP-FPM-74-public.sh index 6f6290b1..0ff7b21b 100755 --- a/src/deb/for-download/tools/apache-fpm-tpl/PHP-FPM-74-public.sh +++ b/src/deb/for-download/tools/apache-fpm-tpl/PHP-FPM-74-public.sh @@ -17,8 +17,8 @@ user = $1 group = $1 pm = ondemand -pm.max_children = 16 -request_terminate_timeout = 30s +pm.max_children = 8 +request_terminate_timeout = 90s pm.max_requests = 4000 pm.process_idle_timeout = 10s pm.status_path = /status @@ -27,7 +27,7 @@ php_admin_value[upload_tmp_dir] = /home/$1/tmp php_admin_value[session.save_path] = /home/$1/tmp php_admin_value[open_basedir] = $5:/home/$1/tmp:/bin:/usr/bin:/usr/local/bin:/var/www/html:/tmp:/usr/share:/etc/phpmyadmin:/var/lib/phpmyadmin:/etc/roundcube:/var/log/roundcube:/var/lib/roundcube php_admin_value[upload_max_filesize] = 80M -php_admin_value[max_execution_time] = 20 +php_admin_value[max_execution_time] = 30 php_admin_value[post_max_size] = 80M php_admin_value[memory_limit] = 256M php_admin_value[sendmail_path] = \"/usr/sbin/sendmail -t -i -f info@$2\" @@ -46,30 +46,36 @@ pool_file_71="/etc/php/7.1/fpm/pool.d/$2.conf" pool_file_72="/etc/php/7.2/fpm/pool.d/$2.conf" pool_file_73="/etc/php/7.3/fpm/pool.d/$2.conf" pool_file_74="/etc/php/7.4/fpm/pool.d/$2.conf" +pool_file_80="/etc/php/8.0/fpm/pool.d/$2.conf" if [ -f "$pool_file_56" ]; then rm $pool_file_56 - service php5.6-fpm restart + systemctl reset-failed php5.6-fpm + systemctl restart php5.6-fpm fi if [ -f "$pool_file_70" ]; then rm $pool_file_70 - service php7.0-fpm restart + systemctl reset-failed php7.0-fpm + systemctl restart php7.0-fpm fi if [ -f "$pool_file_71" ]; then rm $pool_file_71 - service php7.1-fpm restart + systemctl reset-failed php7.1-fpm + systemctl restart php7.1-fpm fi if [ -f "$pool_file_72" ]; then rm $pool_file_72 - service php7.2-fpm restart + systemctl reset-failed php7.2-fpm + systemctl restart php7.2-fpm fi if [ -f "$pool_file_73" ]; then rm $pool_file_73 - service php7.3-fpm restart + systemctl reset-failed php7.3-fpm + systemctl restart php7.3-fpm fi write_file=0 @@ -83,10 +89,17 @@ else fi if [ $write_file -eq 1 ]; then echo "$pool_conf" > $pool_file_74 - service php7.4-fpm restart + systemctl reset-failed php7.4-fpm + systemctl restart php7.4-fpm fi if [ -f "/etc/php/7.4/fpm/pool.d/www.conf" ]; then rm /etc/php/7.4/fpm/pool.d/www.conf fi -exit 0 \ No newline at end of file +if [ -f "$pool_file_80" ]; then + rm $pool_file_80 + systemctl reset-failed php8.0-fpm + systemctl restart php8.0-fpm +fi + +exit 0 From c2fc51e0697a04b47d615117071a36bdf36a12f9 Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Tue, 24 Aug 2021 18:01:57 +0200 Subject: [PATCH 145/896] Update PHP-FPM-73.sh --- .../tools/apache-fpm-tpl/PHP-FPM-73.sh | 25 ++++++++++++++----- 1 file changed, 19 insertions(+), 6 deletions(-) diff --git a/src/deb/for-download/tools/apache-fpm-tpl/PHP-FPM-73.sh b/src/deb/for-download/tools/apache-fpm-tpl/PHP-FPM-73.sh index 72f9cec6..57b10863 100755 --- a/src/deb/for-download/tools/apache-fpm-tpl/PHP-FPM-73.sh +++ b/src/deb/for-download/tools/apache-fpm-tpl/PHP-FPM-73.sh @@ -46,25 +46,30 @@ pool_file_71="/etc/php/7.1/fpm/pool.d/$2.conf" pool_file_72="/etc/php/7.2/fpm/pool.d/$2.conf" pool_file_73="/etc/php/7.3/fpm/pool.d/$2.conf" pool_file_74="/etc/php/7.4/fpm/pool.d/$2.conf" +pool_file_80="/etc/php/8.0/fpm/pool.d/$2.conf" if [ -f "$pool_file_56" ]; then rm $pool_file_56 - service php5.6-fpm restart + systemctl reset-failed php5.6-fpm + systemctl restart php5.6-fpm fi if [ -f "$pool_file_70" ]; then rm $pool_file_70 - service php7.0-fpm restart + systemctl reset-failed php7.0-fpm + systemctl restart php7.0-fpm fi if [ -f "$pool_file_71" ]; then rm $pool_file_71 - service php7.1-fpm restart + systemctl reset-failed php7.1-fpm + systemctl restart php7.1-fpm fi if [ -f "$pool_file_72" ]; then rm $pool_file_72 - service php7.2-fpm restart + systemctl reset-failed php7.2-fpm + systemctl restart php7.2-fpm fi write_file=0 @@ -78,7 +83,8 @@ else fi if [ $write_file -eq 1 ]; then echo "$pool_conf" > $pool_file_73 - service php7.3-fpm restart + systemctl reset-failed php7.3-fpm + systemctl restart php7.3-fpm fi if [ -f "/etc/php/7.3/fpm/pool.d/www.conf" ]; then rm /etc/php/7.3/fpm/pool.d/www.conf @@ -86,7 +92,14 @@ fi if [ -f "$pool_file_74" ]; then rm $pool_file_74 - service php7.4-fpm restart + systemctl reset-failed php7.4-fpm + systemctl restart php7.4-fpm +fi + +if [ -f "$pool_file_80" ]; then + rm $pool_file_80 + systemctl reset-failed php8.0-fpm + systemctl restart php8.0-fpm fi exit 0 From 5e24bf72225d3c0f2c021c259835d7184f482e5f Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Tue, 24 Aug 2021 18:03:23 +0200 Subject: [PATCH 146/896] Update PHP-FPM-73-public.sh --- .../tools/apache-fpm-tpl/PHP-FPM-73-public.sh | 33 +++++++++++++------ 1 file changed, 23 insertions(+), 10 deletions(-) diff --git a/src/deb/for-download/tools/apache-fpm-tpl/PHP-FPM-73-public.sh b/src/deb/for-download/tools/apache-fpm-tpl/PHP-FPM-73-public.sh index 1cddda74..57b10863 100755 --- a/src/deb/for-download/tools/apache-fpm-tpl/PHP-FPM-73-public.sh +++ b/src/deb/for-download/tools/apache-fpm-tpl/PHP-FPM-73-public.sh @@ -17,8 +17,8 @@ user = $1 group = $1 pm = ondemand -pm.max_children = 16 -request_terminate_timeout = 30s +pm.max_children = 8 +request_terminate_timeout = 90s pm.max_requests = 4000 pm.process_idle_timeout = 10s pm.status_path = /status @@ -27,7 +27,7 @@ php_admin_value[upload_tmp_dir] = /home/$1/tmp php_admin_value[session.save_path] = /home/$1/tmp php_admin_value[open_basedir] = $5:/home/$1/tmp:/bin:/usr/bin:/usr/local/bin:/var/www/html:/tmp:/usr/share:/etc/phpmyadmin:/var/lib/phpmyadmin:/etc/roundcube:/var/log/roundcube:/var/lib/roundcube php_admin_value[upload_max_filesize] = 80M -php_admin_value[max_execution_time] = 20 +php_admin_value[max_execution_time] = 30 php_admin_value[post_max_size] = 80M php_admin_value[memory_limit] = 256M php_admin_value[sendmail_path] = \"/usr/sbin/sendmail -t -i -f info@$2\" @@ -46,25 +46,30 @@ pool_file_71="/etc/php/7.1/fpm/pool.d/$2.conf" pool_file_72="/etc/php/7.2/fpm/pool.d/$2.conf" pool_file_73="/etc/php/7.3/fpm/pool.d/$2.conf" pool_file_74="/etc/php/7.4/fpm/pool.d/$2.conf" +pool_file_80="/etc/php/8.0/fpm/pool.d/$2.conf" if [ -f "$pool_file_56" ]; then rm $pool_file_56 - service php5.6-fpm restart + systemctl reset-failed php5.6-fpm + systemctl restart php5.6-fpm fi if [ -f "$pool_file_70" ]; then rm $pool_file_70 - service php7.0-fpm restart + systemctl reset-failed php7.0-fpm + systemctl restart php7.0-fpm fi if [ -f "$pool_file_71" ]; then rm $pool_file_71 - service php7.1-fpm restart + systemctl reset-failed php7.1-fpm + systemctl restart php7.1-fpm fi if [ -f "$pool_file_72" ]; then rm $pool_file_72 - service php7.2-fpm restart + systemctl reset-failed php7.2-fpm + systemctl restart php7.2-fpm fi write_file=0 @@ -78,7 +83,8 @@ else fi if [ $write_file -eq 1 ]; then echo "$pool_conf" > $pool_file_73 - service php7.3-fpm restart + systemctl reset-failed php7.3-fpm + systemctl restart php7.3-fpm fi if [ -f "/etc/php/7.3/fpm/pool.d/www.conf" ]; then rm /etc/php/7.3/fpm/pool.d/www.conf @@ -86,7 +92,14 @@ fi if [ -f "$pool_file_74" ]; then rm $pool_file_74 - service php7.4-fpm restart + systemctl reset-failed php7.4-fpm + systemctl restart php7.4-fpm fi -exit 0 \ No newline at end of file +if [ -f "$pool_file_80" ]; then + rm $pool_file_80 + systemctl reset-failed php8.0-fpm + systemctl restart php8.0-fpm +fi + +exit 0 From a56a2c7dd51e4cdf8e81b2a18db70aafded50559 Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Tue, 24 Aug 2021 18:17:20 +0200 Subject: [PATCH 147/896] Update PHP-FPM-80.sh --- .../tools/apache-fpm-tpl/PHP-FPM-80.sh | 23 ++++++++++++------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/src/deb/for-download/tools/apache-fpm-tpl/PHP-FPM-80.sh b/src/deb/for-download/tools/apache-fpm-tpl/PHP-FPM-80.sh index 5f119dd8..dfdb85f8 100644 --- a/src/deb/for-download/tools/apache-fpm-tpl/PHP-FPM-80.sh +++ b/src/deb/for-download/tools/apache-fpm-tpl/PHP-FPM-80.sh @@ -50,32 +50,38 @@ pool_file_80="/etc/php/8.0/fpm/pool.d/$2.conf" if [ -f "$pool_file_56" ]; then rm $pool_file_56 - service php5.6-fpm restart + systemctl reset-failed php5.6-fpm + systemctl restart php5.6-fpm fi if [ -f "$pool_file_70" ]; then rm $pool_file_70 - service php7.0-fpm restart + systemctl reset-failed php7.0-fpm + systemctl restart php7.0-fpm fi if [ -f "$pool_file_71" ]; then rm $pool_file_71 - service php7.1-fpm restart + systemctl reset-failed php7.1-fpm + systemctl restart php7.1-fpm fi if [ -f "$pool_file_72" ]; then rm $pool_file_72 - service php7.2-fpm restart + systemctl reset-failed php7.2-fpm + systemctl restart php7.2-fpm fi if [ -f "$pool_file_73" ]; then rm $pool_file_73 - service php7.3-fpm restart + systemctl reset-failed php7.3-fpm + systemctl restart php7.3-fpm fi if [ -f "$pool_file_74" ]; then rm $pool_file_74 - service php7.4-fpm restart + systemctl reset-failed php7.4-fpm + systemctl restart php7.4-fpm fi write_file=0 @@ -89,10 +95,11 @@ else fi if [ $write_file -eq 1 ]; then echo "$pool_conf" > $pool_file_80 - service php8.0-fpm restart + systemctl reset-failed php8.0-fpm + systemctl restart php8.0-fpm fi if [ -f "/etc/php/8.0/fpm/pool.d/www.conf" ]; then rm /etc/php/8.0/fpm/pool.d/www.conf fi -exit 0 \ No newline at end of file +exit 0 From e6b559cdf2416e06502cee9912abd3c48ce954d5 Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Tue, 24 Aug 2021 18:18:42 +0200 Subject: [PATCH 148/896] Update PHP-FPM-80.sh --- src/deb/for-download/tools/apache-fpm-tpl/PHP-FPM-80.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/deb/for-download/tools/apache-fpm-tpl/PHP-FPM-80.sh b/src/deb/for-download/tools/apache-fpm-tpl/PHP-FPM-80.sh index dfdb85f8..343392c2 100644 --- a/src/deb/for-download/tools/apache-fpm-tpl/PHP-FPM-80.sh +++ b/src/deb/for-download/tools/apache-fpm-tpl/PHP-FPM-80.sh @@ -17,8 +17,8 @@ user = $1 group = $1 pm = ondemand -pm.max_children = 16 -request_terminate_timeout = 30s +pm.max_children = 8 +request_terminate_timeout = 90s pm.max_requests = 4000 pm.process_idle_timeout = 10s pm.status_path = /status @@ -27,7 +27,7 @@ php_admin_value[upload_tmp_dir] = /home/$1/tmp php_admin_value[session.save_path] = /home/$1/tmp php_admin_value[open_basedir] = $5:/home/$1/tmp:/bin:/usr/bin:/usr/local/bin:/var/www/html:/tmp:/usr/share:/etc/phpmyadmin:/var/lib/phpmyadmin:/etc/roundcube:/var/log/roundcube:/var/lib/roundcube php_admin_value[upload_max_filesize] = 80M -php_admin_value[max_execution_time] = 20 +php_admin_value[max_execution_time] = 30 php_admin_value[post_max_size] = 80M php_admin_value[memory_limit] = 256M php_admin_value[sendmail_path] = \"/usr/sbin/sendmail -t -i -f info@$2\" From d368bf72914ee0c936bee8072312e7ef4b584131 Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Tue, 24 Aug 2021 18:20:14 +0200 Subject: [PATCH 149/896] Update PHP-FPM-80-public.sh --- .../tools/apache-fpm-tpl/PHP-FPM-80-public.sh | 29 ++++++++++++------- 1 file changed, 18 insertions(+), 11 deletions(-) diff --git a/src/deb/for-download/tools/apache-fpm-tpl/PHP-FPM-80-public.sh b/src/deb/for-download/tools/apache-fpm-tpl/PHP-FPM-80-public.sh index 5f119dd8..343392c2 100644 --- a/src/deb/for-download/tools/apache-fpm-tpl/PHP-FPM-80-public.sh +++ b/src/deb/for-download/tools/apache-fpm-tpl/PHP-FPM-80-public.sh @@ -17,8 +17,8 @@ user = $1 group = $1 pm = ondemand -pm.max_children = 16 -request_terminate_timeout = 30s +pm.max_children = 8 +request_terminate_timeout = 90s pm.max_requests = 4000 pm.process_idle_timeout = 10s pm.status_path = /status @@ -27,7 +27,7 @@ php_admin_value[upload_tmp_dir] = /home/$1/tmp php_admin_value[session.save_path] = /home/$1/tmp php_admin_value[open_basedir] = $5:/home/$1/tmp:/bin:/usr/bin:/usr/local/bin:/var/www/html:/tmp:/usr/share:/etc/phpmyadmin:/var/lib/phpmyadmin:/etc/roundcube:/var/log/roundcube:/var/lib/roundcube php_admin_value[upload_max_filesize] = 80M -php_admin_value[max_execution_time] = 20 +php_admin_value[max_execution_time] = 30 php_admin_value[post_max_size] = 80M php_admin_value[memory_limit] = 256M php_admin_value[sendmail_path] = \"/usr/sbin/sendmail -t -i -f info@$2\" @@ -50,32 +50,38 @@ pool_file_80="/etc/php/8.0/fpm/pool.d/$2.conf" if [ -f "$pool_file_56" ]; then rm $pool_file_56 - service php5.6-fpm restart + systemctl reset-failed php5.6-fpm + systemctl restart php5.6-fpm fi if [ -f "$pool_file_70" ]; then rm $pool_file_70 - service php7.0-fpm restart + systemctl reset-failed php7.0-fpm + systemctl restart php7.0-fpm fi if [ -f "$pool_file_71" ]; then rm $pool_file_71 - service php7.1-fpm restart + systemctl reset-failed php7.1-fpm + systemctl restart php7.1-fpm fi if [ -f "$pool_file_72" ]; then rm $pool_file_72 - service php7.2-fpm restart + systemctl reset-failed php7.2-fpm + systemctl restart php7.2-fpm fi if [ -f "$pool_file_73" ]; then rm $pool_file_73 - service php7.3-fpm restart + systemctl reset-failed php7.3-fpm + systemctl restart php7.3-fpm fi if [ -f "$pool_file_74" ]; then rm $pool_file_74 - service php7.4-fpm restart + systemctl reset-failed php7.4-fpm + systemctl restart php7.4-fpm fi write_file=0 @@ -89,10 +95,11 @@ else fi if [ $write_file -eq 1 ]; then echo "$pool_conf" > $pool_file_80 - service php8.0-fpm restart + systemctl reset-failed php8.0-fpm + systemctl restart php8.0-fpm fi if [ -f "/etc/php/8.0/fpm/pool.d/www.conf" ]; then rm /etc/php/8.0/fpm/pool.d/www.conf fi -exit 0 \ No newline at end of file +exit 0 From d36218db92d6670b91099393599e582847a51bc7 Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Tue, 24 Aug 2021 18:53:56 +0200 Subject: [PATCH 150/896] Create SECURITY.md close https://github.com/myvesta/vesta/issues/130 --- SECURITY.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 SECURITY.md diff --git a/SECURITY.md b/SECURITY.md new file mode 100644 index 00000000..32d7405f --- /dev/null +++ b/SECURITY.md @@ -0,0 +1,5 @@ +# Security Policy + +## Reporting a Vulnerability + +Please report security issues to info@myvestacp.com From e52f036dfbe7d20857adae1d54ae28c405276e30 Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Thu, 26 Aug 2021 14:30:33 +0200 Subject: [PATCH 151/896] sury.org bullseye repo --- src/deb/for-download/tools/multi-php-install.sh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/deb/for-download/tools/multi-php-install.sh b/src/deb/for-download/tools/multi-php-install.sh index 761efac7..ffee228e 100644 --- a/src/deb/for-download/tools/multi-php-install.sh +++ b/src/deb/for-download/tools/multi-php-install.sh @@ -95,6 +95,9 @@ if [ "$inst_repo" -eq 1 ]; then if [ $debian_version -eq 10 ]; then sh -c 'echo "deb https://packages.sury.org/php/ buster main" > /etc/apt/sources.list.d/php.list' fi + if [ $debian_version -eq 11 ]; then + sh -c 'echo "deb https://packages.sury.org/php/ bullseye main" > /etc/apt/sources.list.d/php.list' + fi apt update apt upgrade -y press_enter "=== Press enter to continue ===============================================================================" From b9ccc103f1bf4467d8ad63dbca44fdd514e2ad4a Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Thu, 26 Aug 2021 14:32:34 +0200 Subject: [PATCH 152/896] Enabling nginx official repo for deb11 --- install/vst-install-debian.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/install/vst-install-debian.sh b/install/vst-install-debian.sh index e67aa4f2..d835bdc5 100755 --- a/install/vst-install-debian.sh +++ b/install/vst-install-debian.sh @@ -527,11 +527,11 @@ check_result $? 'apt-get upgrade failed' # Installing nginx repo apt=/etc/apt/sources.list.d -if [ "$release" -ne 11 ]; then +# if [ "$release" -ne 11 ]; then echo "deb http://nginx.org/packages/debian/ $codename nginx" > $apt/nginx.list wget http://nginx.org/keys/nginx_signing.key -O /tmp/nginx_signing.key apt-key add /tmp/nginx_signing.key -fi +# fi # Installing vesta repo echo "deb http://$RHOST/$codename/ $codename vesta" > $apt/vesta.list From 7767ab759b8e01fbff57ca6def549fcc0f5b4048 Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Fri, 27 Aug 2021 15:51:37 +0200 Subject: [PATCH 153/896] systemctl reset-failed php7.2-fpm --- .../tools/apache-fpm-tpl/PHP-FPM-72.sh | 25 ++++++++++++++----- 1 file changed, 19 insertions(+), 6 deletions(-) diff --git a/src/deb/for-download/tools/apache-fpm-tpl/PHP-FPM-72.sh b/src/deb/for-download/tools/apache-fpm-tpl/PHP-FPM-72.sh index 33442862..6541a0dc 100755 --- a/src/deb/for-download/tools/apache-fpm-tpl/PHP-FPM-72.sh +++ b/src/deb/for-download/tools/apache-fpm-tpl/PHP-FPM-72.sh @@ -46,20 +46,24 @@ pool_file_71="/etc/php/7.1/fpm/pool.d/$2.conf" pool_file_72="/etc/php/7.2/fpm/pool.d/$2.conf" pool_file_73="/etc/php/7.3/fpm/pool.d/$2.conf" pool_file_74="/etc/php/7.4/fpm/pool.d/$2.conf" +pool_file_80="/etc/php/8.0/fpm/pool.d/$2.conf" if [ -f "$pool_file_56" ]; then rm $pool_file_56 - service php5.6-fpm restart + systemctl reset-failed php5.6-fpm + systemctl restart php5.6-fpm fi if [ -f "$pool_file_70" ]; then rm $pool_file_70 - service php7.0-fpm restart + systemctl reset-failed php7.0-fpm + systemctl restart php7.0-fpm fi if [ -f "$pool_file_71" ]; then rm $pool_file_71 - service php7.1-fpm restart + systemctl reset-failed php7.1-fpm + systemctl restart php7.1-fpm fi write_file=0 @@ -73,7 +77,8 @@ else fi if [ $write_file -eq 1 ]; then echo "$pool_conf" > $pool_file_72 - service php7.2-fpm restart + systemctl reset-failed php7.2-fpm + systemctl restart php7.2-fpm fi if [ -f "/etc/php/7.2/fpm/pool.d/www.conf" ]; then rm /etc/php/7.2/fpm/pool.d/www.conf @@ -81,12 +86,20 @@ fi if [ -f "$pool_file_73" ]; then rm $pool_file_73 - service php7.3-fpm restart + systemctl reset-failed php7.3-fpm + systemctl restart php7.3-fpm fi if [ -f "$pool_file_74" ]; then rm $pool_file_74 - service php7.4-fpm restart + systemctl reset-failed php7.4-fpm + systemctl restart php7.4-fpm +fi + +if [ -f "$pool_file_80" ]; then + rm $pool_file_80 + systemctl reset-failed php8.0-fpm + systemctl restart php8.0-fpm fi exit 0 From ded5ca220275f5c9c713db3f19f53502eb4db181 Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Fri, 27 Aug 2021 16:01:52 +0200 Subject: [PATCH 154/896] systemctl reset-failed php7.1-fpm --- .../tools/apache-fpm-tpl/PHP-FPM-71.sh | 26 ++++++++++++++----- 1 file changed, 20 insertions(+), 6 deletions(-) diff --git a/src/deb/for-download/tools/apache-fpm-tpl/PHP-FPM-71.sh b/src/deb/for-download/tools/apache-fpm-tpl/PHP-FPM-71.sh index 8688598c..6110e898 100755 --- a/src/deb/for-download/tools/apache-fpm-tpl/PHP-FPM-71.sh +++ b/src/deb/for-download/tools/apache-fpm-tpl/PHP-FPM-71.sh @@ -46,15 +46,18 @@ pool_file_71="/etc/php/7.1/fpm/pool.d/$2.conf" pool_file_72="/etc/php/7.2/fpm/pool.d/$2.conf" pool_file_73="/etc/php/7.3/fpm/pool.d/$2.conf" pool_file_74="/etc/php/7.4/fpm/pool.d/$2.conf" +pool_file_80="/etc/php/8.0/fpm/pool.d/$2.conf" if [ -f "$pool_file_56" ]; then rm $pool_file_56 - service php5.6-fpm restart + systemctl reset-failed php5.6-fpm + systemctl restart php5.6-fpm fi if [ -f "$pool_file_70" ]; then rm $pool_file_70 - service php7.0-fpm restart + systemctl reset-failed php7.0-fpm + systemctl restart php7.0-fpm fi write_file=0 @@ -68,7 +71,8 @@ else fi if [ $write_file -eq 1 ]; then echo "$pool_conf" > $pool_file_71 - service php7.1-fpm restart + systemctl reset-failed php7.1-fpm + systemctl restart php7.1-fpm fi if [ -f "/etc/php/7.1/fpm/pool.d/www.conf" ]; then rm /etc/php/7.1/fpm/pool.d/www.conf @@ -76,17 +80,27 @@ fi if [ -f "$pool_file_72" ]; then rm $pool_file_72 - service php7.2-fpm restart + systemctl reset-failed php7.2-fpm + systemctl restart php7.2-fpm fi + if [ -f "$pool_file_73" ]; then rm $pool_file_73 - service php7.3-fpm restart + systemctl reset-failed php7.3-fpm + systemctl restart php7.3-fpm fi if [ -f "$pool_file_74" ]; then rm $pool_file_74 - service php7.4-fpm restart + systemctl reset-failed php7.4-fpm + systemctl restart php7.4-fpm +fi + +if [ -f "$pool_file_80" ]; then + rm $pool_file_80 + systemctl reset-failed php8.0-fpm + systemctl restart php8.0-fpm fi exit 0 From 2d4efd2db988a3c98546d20ff3b1779cf35f3a74 Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Fri, 27 Aug 2021 16:05:18 +0200 Subject: [PATCH 155/896] systemctl reset-failed php7.0-fpm --- .../tools/apache-fpm-tpl/PHP-FPM-70.sh | 25 ++++++++++++++----- 1 file changed, 19 insertions(+), 6 deletions(-) diff --git a/src/deb/for-download/tools/apache-fpm-tpl/PHP-FPM-70.sh b/src/deb/for-download/tools/apache-fpm-tpl/PHP-FPM-70.sh index fefdf195..0e742ad8 100755 --- a/src/deb/for-download/tools/apache-fpm-tpl/PHP-FPM-70.sh +++ b/src/deb/for-download/tools/apache-fpm-tpl/PHP-FPM-70.sh @@ -46,10 +46,12 @@ pool_file_71="/etc/php/7.1/fpm/pool.d/$2.conf" pool_file_72="/etc/php/7.2/fpm/pool.d/$2.conf" pool_file_73="/etc/php/7.3/fpm/pool.d/$2.conf" pool_file_74="/etc/php/7.4/fpm/pool.d/$2.conf" +pool_file_80="/etc/php/8.0/fpm/pool.d/$2.conf" if [ -f "$pool_file_56" ]; then rm $pool_file_56 - service php5.6-fpm restart + systemctl reset-failed php5.6-fpm + systemctl restart php5.6-fpm fi write_file=0 @@ -63,7 +65,8 @@ else fi if [ $write_file -eq 1 ]; then echo "$pool_conf" > $pool_file_70 - service php7.0-fpm restart + systemctl reset-failed php7.0-fpm + systemctl restart php7.0-fpm fi if [ -f "/etc/php/7.0/fpm/pool.d/www.conf" ]; then rm /etc/php/7.0/fpm/pool.d/www.conf @@ -71,22 +74,32 @@ fi if [ -f "$pool_file_71" ]; then rm $pool_file_71 - service php7.1-fpm restart + systemctl reset-failed php7.1-fpm + systemctl restart php7.1-fpm fi if [ -f "$pool_file_72" ]; then rm $pool_file_72 - service php7.2-fpm restart + systemctl reset-failed php7.2-fpm + systemctl restart php7.2-fpm fi if [ -f "$pool_file_73" ]; then rm $pool_file_73 - service php7.3-fpm restart + systemctl reset-failed php7.3-fpm + systemctl restart php7.3-fpm fi if [ -f "$pool_file_74" ]; then rm $pool_file_74 - service php7.4-fpm restart + systemctl reset-failed php7.4-fpm + systemctl restart php7.4-fpm +fi + +if [ -f "$pool_file_80" ]; then + rm $pool_file_80 + systemctl reset-failed php8.0-fpm + systemctl restart php8.0-fpm fi exit 0 From 8e666c269b8d1cdf01275831c9bab7e75901c4f7 Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Fri, 27 Aug 2021 16:09:58 +0200 Subject: [PATCH 156/896] systemctl reset-failed php5.6-fpm --- .../tools/apache-fpm-tpl/PHP-FPM-56.sh | 26 ++++++++++++++----- 1 file changed, 20 insertions(+), 6 deletions(-) diff --git a/src/deb/for-download/tools/apache-fpm-tpl/PHP-FPM-56.sh b/src/deb/for-download/tools/apache-fpm-tpl/PHP-FPM-56.sh index 4f54592d..b9137821 100755 --- a/src/deb/for-download/tools/apache-fpm-tpl/PHP-FPM-56.sh +++ b/src/deb/for-download/tools/apache-fpm-tpl/PHP-FPM-56.sh @@ -46,6 +46,7 @@ pool_file_71="/etc/php/7.1/fpm/pool.d/$2.conf" pool_file_72="/etc/php/7.2/fpm/pool.d/$2.conf" pool_file_73="/etc/php/7.3/fpm/pool.d/$2.conf" pool_file_74="/etc/php/7.4/fpm/pool.d/$2.conf" +pool_file_80="/etc/php/8.0/fpm/pool.d/$2.conf" write_file=0 if [ ! -f "$pool_file_56" ]; then @@ -58,7 +59,8 @@ else fi if [ $write_file -eq 1 ]; then echo "$pool_conf" > $pool_file_56 - service php5.6-fpm restart + systemctl reset-failed php5.6-fpm + systemctl restart php5.6-fpm fi if [ -f "/etc/php/5.6/fpm/pool.d/www.conf" ]; then rm /etc/php/5.6/fpm/pool.d/www.conf @@ -66,27 +68,39 @@ fi if [ -f "$pool_file_70" ]; then rm $pool_file_70 - service php7.0-fpm restart + systemctl reset-failed php7.0-fpm + systemctl restart php7.0-fpm fi + if [ -f "$pool_file_71" ]; then rm $pool_file_71 - service php7.1-fpm restart + systemctl reset-failed php7.1-fpm + systemctl restart php7.1-fpm fi if [ -f "$pool_file_72" ]; then rm $pool_file_72 - service php7.2-fpm restart + systemctl reset-failed php7.2-fpm + systemctl restart php7.2-fpm fi if [ -f "$pool_file_73" ]; then rm $pool_file_73 - service php7.3-fpm restart + systemctl reset-failed php7.3-fpm + systemctl restart php7.3-fpm fi if [ -f "$pool_file_74" ]; then rm $pool_file_74 - service php7.4-fpm restart + systemctl reset-failed php7.4-fpm + systemctl restart php7.4-fpm +fi + +if [ -f "$pool_file_80" ]; then + rm $pool_file_80 + systemctl reset-failed php8.0-fpm + systemctl restart php8.0-fpm fi exit 0 From b4204da66fcad7eb279f28fe0b0664377def62f7 Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Sat, 28 Aug 2021 20:01:47 +0200 Subject: [PATCH 157/896] Fix for: news@anydomain.com went to /var/spool/news Issue https://github.com/hestiacp/hestiacp/issues/2078 Credits to HestiaCP --- install/debian/10/exim/exim4.conf.template | 2 ++ 1 file changed, 2 insertions(+) diff --git a/install/debian/10/exim/exim4.conf.template b/install/debian/10/exim/exim4.conf.template index 7cc13c36..cb79ab3c 100644 --- a/install/debian/10/exim/exim4.conf.template +++ b/install/debian/10/exim/exim4.conf.template @@ -247,6 +247,8 @@ userforward: driver = redirect check_local_user file = $home/.forward + require_files = ${local_part}:+${home}/.forward + domains = +local_domains allow_filter no_verify no_expn From b8963d5b2d9909df1245e6a73e3b794145bcc28b Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Sat, 28 Aug 2021 20:06:24 +0200 Subject: [PATCH 158/896] Fix for: news@anydomain.com went to /var/spool/news Issue https://github.com/hestiacp/hestiacp/issues/2078 Credits to @HestiaCP --- install/debian/11/exim/exim4.conf.template | 2 ++ 1 file changed, 2 insertions(+) diff --git a/install/debian/11/exim/exim4.conf.template b/install/debian/11/exim/exim4.conf.template index fe92680f..977dc661 100644 --- a/install/debian/11/exim/exim4.conf.template +++ b/install/debian/11/exim/exim4.conf.template @@ -247,6 +247,8 @@ userforward: driver = redirect check_local_user file = $home/.forward + require_files = ${local_part}:+${home}/.forward + domains = +local_domains allow_filter no_verify no_expn From 0686c6d5f6004784c9c3cd1323efe9af17c77550 Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Sat, 28 Aug 2021 23:35:10 +0200 Subject: [PATCH 159/896] More logical check expression in secure_login.php --- web/inc/secure_login.php | 38 +++++++++++++++++++------------------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/web/inc/secure_login.php b/web/inc/secure_login.php index 34b02695..b5fcf32f 100644 --- a/web/inc/secure_login.php +++ b/web/inc/secure_login.php @@ -1,38 +1,38 @@ Date: Sun, 29 Aug 2021 00:04:27 +0200 Subject: [PATCH 160/896] Smarter preventing all POST CSRF --- web/inc/secure_login.php | 25 ++++++++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) diff --git a/web/inc/secure_login.php b/web/inc/secure_login.php index b5fcf32f..ce614ea1 100644 --- a/web/inc/secure_login.php +++ b/web/inc/secure_login.php @@ -50,15 +50,34 @@ if ($secure_gate_check==true) { } } -// Preventing all CSRF -if ($secure_gate_check==true) { +function prevent_post_csrf ($hard_check=false) { + if (file_exists('/usr/local/vesta/conf_web/dont_check_csrf')) return; if ($_SERVER['REQUEST_METHOD']=='POST') { + if ($hard_check==false) { + if (isset($_SERVER['HTTP_HOST']) == false) return; + if (isset($_SERVER['HTTP_ORIGIN']) == false) return; + if (isset($_SERVER['SERVER_PORT']) == false) return; + } else { + if (isset($_SERVER['HTTP_HOST']) == false) $_SERVER['HTTP_HOST']=''; + if (isset($_SERVER['HTTP_ORIGIN']) == false) $_SERVER['HTTP_ORIGIN']=''; + if (isset($_SERVER['SERVER_PORT']) == false) $_SERVER['HTTP_PORT']=''; + } + $_SERVER['HTTP_HOST']=strtolower($_SERVER['HTTP_HOST']); + $_SERVER['HTTP_ORIGIN']=strtolower($_SERVER['HTTP_ORIGIN']); + if ($hard_check==false) { + if (substr($_SERVER['HTTP_ORIGIN'], 0,7) != "http://" && substr($_SERVER['HTTP_ORIGIN'], 0,8)!="https://") return; + } $host_arr=explode(":", $_SERVER['HTTP_HOST']); $hostname=$host_arr[0]; $port = $_SERVER['SERVER_PORT']; $expected_http_origin="https://".$hostname.":".$port; + $level=1; + if ($hard_check==true) $level=2; if ($_SERVER['HTTP_ORIGIN'] != $expected_http_origin) { - die ("Nope."); + die ("CSRF detected (".$level.").
Your browser sent HTTP_ORIGIN with value: ".$_SERVER['HTTP_ORIGIN']."
myVesta expected HTTP_ORIGIN with value: ".$expected_http_origin."
Probably some browser extension is blocking it... disable all extensions and try again (or try to login with other browser).
If you are system administrator of this server, you can disable CSRF check by doing (as root, in SSH): mkdir /usr/local/vesta/conf_web && touch /usr/local/vesta/conf_web/dont_check_csrf
(but we don't recommend it)
If you are not system administrator of this server and you can't access the hosting panel even you disabled all browser extensions, please copy-paste this message to the system administrator of this server.
Once again, before you disable CSRF check, try to disable all browser extensions or try to login with other browser."); } } } + +// Preventing all POST CSRF +if ($secure_gate_check==true) prevent_post_csrf(); From c2a30bcd31d41ce90146734af3d52073ae1c169a Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Sun, 29 Aug 2021 00:07:41 +0200 Subject: [PATCH 161/896] Preventing CSRF in /edit/file/ --- web/edit/file/index.php | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/web/edit/file/index.php b/web/edit/file/index.php index 9071af3a..b36a4656 100644 --- a/web/edit/file/index.php +++ b/web/edit/file/index.php @@ -1,15 +1,7 @@ Date: Sun, 29 Aug 2021 00:10:42 +0200 Subject: [PATCH 162/896] Preventing CSRF in UploadHandler.php --- web/upload/UploadHandler.php | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/web/upload/UploadHandler.php b/web/upload/UploadHandler.php index 15adb406..511ec4b3 100755 --- a/web/upload/UploadHandler.php +++ b/web/upload/UploadHandler.php @@ -2,13 +2,8 @@ //session_start(); -$host_arr=explode(":", $_SERVER['HTTP_HOST']); -$hostname=$host_arr[0]; -$port = $_SERVER['SERVER_PORT']; -$expected_http_origin="https://".$hostname.":".$port; -if ($_SERVER['HTTP_ORIGIN'] != $expected_http_origin) { - die ("Nope."); -} +// Preventing CSRF +prevent_post_csrf(true); include($_SERVER['DOCUMENT_ROOT']."/inc/main.php"); From 9277b3780007a371ea7bb067a7a40dc39ed05d0d Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Sun, 29 Aug 2021 00:12:09 +0200 Subject: [PATCH 163/896] Preventing CSRF in /schedule/backup --- web/schedule/backup/index.php | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/web/schedule/backup/index.php b/web/schedule/backup/index.php index 06881993..07412e71 100644 --- a/web/schedule/backup/index.php +++ b/web/schedule/backup/index.php @@ -1,15 +1,7 @@ Date: Sun, 29 Aug 2021 00:14:15 +0200 Subject: [PATCH 164/896] Preventing CSRF in /file_manager/fm_api.php --- web/file_manager/fm_api.php | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/web/file_manager/fm_api.php b/web/file_manager/fm_api.php index 4a4dd9ec..c593b3f6 100644 --- a/web/file_manager/fm_api.php +++ b/web/file_manager/fm_api.php @@ -3,15 +3,7 @@ //error_reporting(NULL); // Preventing CSRF -if ($_SERVER['REQUEST_METHOD']=='POST') { - $host_arr=explode(":", $_SERVER['HTTP_HOST']); - $hostname=$host_arr[0]; - $port = $_SERVER['SERVER_PORT']; - $expected_http_origin="https://".$hostname.":".$port; - if ($_SERVER['HTTP_ORIGIN'] != $expected_http_origin) { - die ("Nope."); - } -} +prevent_post_csrf(true); header('Content-Type: application/json'); From 11f1cfcf4e4f575625c91309159e67d40baca28f Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Sun, 29 Aug 2021 00:54:57 +0200 Subject: [PATCH 165/896] Proper way to fix CSRF in /schedule/backup/ --- web/schedule/backup/index.php | 10 +++++++--- web/templates/admin/list_backup.html | 2 +- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/web/schedule/backup/index.php b/web/schedule/backup/index.php index 07412e71..8d51832e 100644 --- a/web/schedule/backup/index.php +++ b/web/schedule/backup/index.php @@ -1,14 +1,18 @@- +
From 59edb05f49fed2b141da8d2ad130b6e704bc9649 Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Sun, 29 Aug 2021 01:20:12 +0200 Subject: [PATCH 166/896] Proper way to fix CSRF in /edit/file/ --- web/edit/file/index.php | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/web/edit/file/index.php b/web/edit/file/index.php index b36a4656..931b861f 100644 --- a/web/edit/file/index.php +++ b/web/edit/file/index.php @@ -1,8 +1,5 @@ - + @@ -96,6 +99,7 @@ if (($_SESSION['user'] == 'admin') && (!empty($_SESSION['look']))) { var makeBackup = function() { var params = { action: 'backup', + token: '=$_SESSION['token']?>', path: '= $path ?>' }; From 085a25d1658dc818e5ca6729252fcad94dcbfcb6 Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Sun, 29 Aug 2021 01:59:49 +0200 Subject: [PATCH 167/896] Update secure_login.php --- web/inc/secure_login.php | 34 ++++++++++++++++++---------------- 1 file changed, 18 insertions(+), 16 deletions(-) diff --git a/web/inc/secure_login.php b/web/inc/secure_login.php index ce614ea1..b55d8e31 100644 --- a/web/inc/secure_login.php +++ b/web/inc/secure_login.php @@ -53,31 +53,33 @@ if ($secure_gate_check==true) { function prevent_post_csrf ($hard_check=false) { if (file_exists('/usr/local/vesta/conf_web/dont_check_csrf')) return; if ($_SERVER['REQUEST_METHOD']=='POST') { - if ($hard_check==false) { - if (isset($_SERVER['HTTP_HOST']) == false) return; + if ($hard_check == false) { if (isset($_SERVER['HTTP_ORIGIN']) == false) return; + if (isset($_SERVER['HTTP_HOST']) == false) return; if (isset($_SERVER['SERVER_PORT']) == false) return; } else { - if (isset($_SERVER['HTTP_HOST']) == false) $_SERVER['HTTP_HOST']=''; - if (isset($_SERVER['HTTP_ORIGIN']) == false) $_SERVER['HTTP_ORIGIN']=''; - if (isset($_SERVER['SERVER_PORT']) == false) $_SERVER['HTTP_PORT']=''; + if (isset($_SERVER['HTTP_ORIGIN']) == false) $_SERVER['HTTP_ORIGIN'] = ''; + if (isset($_SERVER['HTTP_HOST']) == false) $_SERVER['HTTP_HOST'] = ''; + if (isset($_SERVER['SERVER_PORT']) == false) $_SERVER['HTTP_PORT'] = ''; } - $_SERVER['HTTP_HOST']=strtolower($_SERVER['HTTP_HOST']); - $_SERVER['HTTP_ORIGIN']=strtolower($_SERVER['HTTP_ORIGIN']); - if ($hard_check==false) { + $_SERVER['HTTP_HOST'] = strtolower($_SERVER['HTTP_HOST']); + $_SERVER['HTTP_ORIGIN'] = strtolower($_SERVER['HTTP_ORIGIN']); + if ($hard_check == false) { if (substr($_SERVER['HTTP_ORIGIN'], 0,7) != "http://" && substr($_SERVER['HTTP_ORIGIN'], 0,8)!="https://") return; } - $host_arr=explode(":", $_SERVER['HTTP_HOST']); - $hostname=$host_arr[0]; + $host_arr = explode(":", $_SERVER['HTTP_HOST']); + $hostname = $host_arr[0]; $port = $_SERVER['SERVER_PORT']; - $expected_http_origin="https://".$hostname.":".$port; - $level=1; - if ($hard_check==true) $level=2; + $expected_http_origin = "https://".$hostname.":".$port; + $level = 1; + if ($hard_check == true) $level = 2; if ($_SERVER['HTTP_ORIGIN'] != $expected_http_origin) { - die ("CSRF detected (".$level.").
Your browser sent HTTP_ORIGIN with value: ".$_SERVER['HTTP_ORIGIN']."
myVesta expected HTTP_ORIGIN with value: ".$expected_http_origin."
Probably some browser extension is blocking it... disable all extensions and try again (or try to login with other browser).
If you are system administrator of this server, you can disable CSRF check by doing (as root, in SSH): mkdir /usr/local/vesta/conf_web && touch /usr/local/vesta/conf_web/dont_check_csrf
(but we don't recommend it)
If you are not system administrator of this server and you can't access the hosting panel even you disabled all browser extensions, please copy-paste this message to the system administrator of this server.
Once again, before you disable CSRF check, try to disable all browser extensions or try to login with other browser."); + die ("CSRF detected (".$level.").
Your browser sent HTTP_ORIGIN with value: ".$_SERVER['HTTP_ORIGIN']."
myVesta expected HTTP_ORIGIN with value: ".$expected_http_origin."
Probably some browser extension is blocking it... disable all browser extensions and try again (or try to login with other browser).
If you are system administrator of this server, you can disable CSRF check by doing (as root, in SSH): mkdir /usr/local/vesta/conf_web && touch /usr/local/vesta/conf_web/dont_check_csrf
(but we don't recommend it)
If you are not system administrator of this server and you can't access the hosting panel even you disabled all browser extensions, please copy-paste this message to the system administrator of this server.
Once again, before you disable CSRF check, try to disable all browser extensions or try to login with other browser."); } } } -// Preventing all POST CSRF -if ($secure_gate_check==true) prevent_post_csrf(); +// Preventing all CSRFs +if ($secure_gate_check == true) { + prevent_post_csrf(); +} From 49905063f634e5d95585664f227520512a324605 Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Sun, 29 Aug 2021 11:09:24 +0200 Subject: [PATCH 168/896] Update secure_login.php --- web/inc/secure_login.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/web/inc/secure_login.php b/web/inc/secure_login.php index b55d8e31..f9452cc3 100644 --- a/web/inc/secure_login.php +++ b/web/inc/secure_login.php @@ -54,18 +54,18 @@ function prevent_post_csrf ($hard_check=false) { if (file_exists('/usr/local/vesta/conf_web/dont_check_csrf')) return; if ($_SERVER['REQUEST_METHOD']=='POST') { if ($hard_check == false) { - if (isset($_SERVER['HTTP_ORIGIN']) == false) return; if (isset($_SERVER['HTTP_HOST']) == false) return; if (isset($_SERVER['SERVER_PORT']) == false) return; + if (isset($_SERVER['HTTP_ORIGIN']) == false) return; } else { - if (isset($_SERVER['HTTP_ORIGIN']) == false) $_SERVER['HTTP_ORIGIN'] = ''; if (isset($_SERVER['HTTP_HOST']) == false) $_SERVER['HTTP_HOST'] = ''; if (isset($_SERVER['SERVER_PORT']) == false) $_SERVER['HTTP_PORT'] = ''; + if (isset($_SERVER['HTTP_ORIGIN']) == false) $_SERVER['HTTP_ORIGIN'] = ''; } $_SERVER['HTTP_HOST'] = strtolower($_SERVER['HTTP_HOST']); $_SERVER['HTTP_ORIGIN'] = strtolower($_SERVER['HTTP_ORIGIN']); if ($hard_check == false) { - if (substr($_SERVER['HTTP_ORIGIN'], 0,7) != "http://" && substr($_SERVER['HTTP_ORIGIN'], 0,8)!="https://") return; + if (substr($_SERVER['HTTP_ORIGIN'], 0, 8) != "file:///" && substr($_SERVER['HTTP_ORIGIN'], 0, 7) != "http://" && substr($_SERVER['HTTP_ORIGIN'], 0, 8) != "https://") return; } $host_arr = explode(":", $_SERVER['HTTP_HOST']); $hostname = $host_arr[0]; From eae5c3418a87c58cf69b9d800647429e67550976 Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Sun, 29 Aug 2021 11:14:11 +0200 Subject: [PATCH 169/896] Preventing GET CSRFs --- web/inc/secure_login.php | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/web/inc/secure_login.php b/web/inc/secure_login.php index f9452cc3..93df7b53 100644 --- a/web/inc/secure_login.php +++ b/web/inc/secure_login.php @@ -79,7 +79,26 @@ function prevent_post_csrf ($hard_check=false) { } } +function prevent_get_csrf ($hard_check=false) { + if (file_exists('/usr/local/vesta/conf_web/dont_check_csrf')) return; + if (isset($_SERVER['HTTP_HOST']) == false) return; + if (isset($_SERVER['SERVER_PORT']) == false) return; + if (isset($_SERVER['HTTP_REFERER']) == false) return; + $_SERVER['HTTP_HOST'] = strtolower($_SERVER['HTTP_HOST']); + $_SERVER['HTTP_ORIGIN'] = strtolower($_SERVER['HTTP_ORIGIN']); + if (substr($_SERVER['HTTP_REFERER'], 0, 8) != "file:///" && substr($_SERVER['HTTP_REFERER'], 0, 7) != "http://" && substr($_SERVER['HTTP_REFERER'], 0, 8) != "https://") return; + $host_arr = explode(":", $_SERVER['HTTP_HOST']); + $hostname = $host_arr[0]; + $port = $_SERVER['SERVER_PORT']; + $expected_http_referer = "https://".$hostname.":".$port; + $expected_http_referer_length = strlen($expected_http_referer); + if (substr($_SERVER['HTTP_REFERER'], 0, $expected_http_referer_length) != $expected_http_referer) { + die ("You clicked on someone's link from other site.
This is just a protection layer to prevent potentially dangerous clicks, so if it was your link - you can proceed safely to your hosting panel.
Technical details:
Your browser sent HTTP_REFERER with value: ".$_SERVER['HTTP_REFERER']."
myVesta expected HTTP_REFERER to begin with value: ".$expected_http_referer."
If you got this error during casual work in your hosting panel, probably some browser extension is blocking HTTP_REFERER... disable all browser extensions and try again (or try to login with other browser).
If you are system administrator of this server, you can disable CSRF check by doing (as root, in SSH): mkdir /usr/local/vesta/conf_web && touch /usr/local/vesta/conf_web/dont_check_csrf
(but we don't recommend it)
If you are not system administrator of this server and you can't access the hosting panel even you clicked \"proceed safely to your hosting panel\" and disabled all browser extensions or changed the browser, please copy-paste this message to the system administrator of this server.
Once again, before you disable CSRF check, try to click \"proceed safely to your hosting panel\", and if that does not help then try to disable all browser extensions or try to login with other browser."); + } +} + // Preventing all CSRFs if ($secure_gate_check == true) { prevent_post_csrf(); + prevent_get_csrf(); } From 834f939fbea444d1fb1fedff67fe271ad008e2e2 Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Sun, 29 Aug 2021 11:50:22 +0200 Subject: [PATCH 170/896] Exception for function prevent_get_csrf --- web/inc/secure_login.php | 37 +++++++++++++++++++++---------------- 1 file changed, 21 insertions(+), 16 deletions(-) diff --git a/web/inc/secure_login.php b/web/inc/secure_login.php index 93df7b53..1dfe2541 100644 --- a/web/inc/secure_login.php +++ b/web/inc/secure_login.php @@ -79,22 +79,27 @@ function prevent_post_csrf ($hard_check=false) { } } -function prevent_get_csrf ($hard_check=false) { - if (file_exists('/usr/local/vesta/conf_web/dont_check_csrf')) return; - if (isset($_SERVER['HTTP_HOST']) == false) return; - if (isset($_SERVER['SERVER_PORT']) == false) return; - if (isset($_SERVER['HTTP_REFERER']) == false) return; - $_SERVER['HTTP_HOST'] = strtolower($_SERVER['HTTP_HOST']); - $_SERVER['HTTP_ORIGIN'] = strtolower($_SERVER['HTTP_ORIGIN']); - if (substr($_SERVER['HTTP_REFERER'], 0, 8) != "file:///" && substr($_SERVER['HTTP_REFERER'], 0, 7) != "http://" && substr($_SERVER['HTTP_REFERER'], 0, 8) != "https://") return; - $host_arr = explode(":", $_SERVER['HTTP_HOST']); - $hostname = $host_arr[0]; - $port = $_SERVER['SERVER_PORT']; - $expected_http_referer = "https://".$hostname.":".$port; - $expected_http_referer_length = strlen($expected_http_referer); - if (substr($_SERVER['HTTP_REFERER'], 0, $expected_http_referer_length) != $expected_http_referer) { - die ("You clicked on someone's link from other site.
This is just a protection layer to prevent potentially dangerous clicks, so if it was your link - you can proceed safely to your hosting panel.
Technical details:
Your browser sent HTTP_REFERER with value: ".$_SERVER['HTTP_REFERER']."
myVesta expected HTTP_REFERER to begin with value: ".$expected_http_referer."
If you got this error during casual work in your hosting panel, probably some browser extension is blocking HTTP_REFERER... disable all browser extensions and try again (or try to login with other browser).
If you are system administrator of this server, you can disable CSRF check by doing (as root, in SSH): mkdir /usr/local/vesta/conf_web && touch /usr/local/vesta/conf_web/dont_check_csrf
(but we don't recommend it)
If you are not system administrator of this server and you can't access the hosting panel even you clicked \"proceed safely to your hosting panel\" and disabled all browser extensions or changed the browser, please copy-paste this message to the system administrator of this server.
Once again, before you disable CSRF check, try to click \"proceed safely to your hosting panel\", and if that does not help then try to disable all browser extensions or try to login with other browser."); - } +function prevent_get_csrf () { + global $login_url; + if (file_exists('/usr/local/vesta/conf_web/dont_check_csrf')) return; + if ($_SERVER['REQUEST_METHOD'] == "GET") { + if (isset($_GET[$login_url])) return; + if ($_SERVER['REQUEST_URI']=="" || $_SERVER['REQUEST_URI']=="/" || $_SERVER['REQUEST_URI']=="/login/" || $_SERVER['REQUEST_URI']=="/list/web/") return; + } + if (isset($_SERVER['HTTP_HOST']) == false) return; + if (isset($_SERVER['SERVER_PORT']) == false) return; + if (isset($_SERVER['HTTP_REFERER']) == false) return; + $_SERVER['HTTP_HOST'] = strtolower($_SERVER['HTTP_HOST']); + $_SERVER['HTTP_ORIGIN'] = strtolower($_SERVER['HTTP_ORIGIN']); + if (substr($_SERVER['HTTP_REFERER'], 0, 8) != "file:///" && substr($_SERVER['HTTP_REFERER'], 0, 7) != "http://" && substr($_SERVER['HTTP_REFERER'], 0, 8) != "https://") return; + $host_arr = explode(":", $_SERVER['HTTP_HOST']); + $hostname = $host_arr[0]; + $port = $_SERVER['SERVER_PORT']; + $expected_http_referer = "https://".$hostname.":".$port; + $expected_http_referer_length = strlen($expected_http_referer); + if (substr($_SERVER['HTTP_REFERER'], 0, $expected_http_referer_length) != $expected_http_referer) { + die ("You clicked on someone's link from other site.
This is just a protection layer to prevent potentially dangerous clicks, so if it was your link - you can proceed safely to your hosting panel.
Technical details:
Your browser sent HTTP_REFERER with value: ".$_SERVER['HTTP_REFERER']."
myVesta expected HTTP_REFERER to begin with value: ".$expected_http_referer."
If you got this error during casual work in your hosting panel, probably some browser extension is blocking HTTP_REFERER... disable all browser extensions and try again (or try to login with other browser).
If you are system administrator of this server, you can disable CSRF check by doing (as root, in SSH): mkdir /usr/local/vesta/conf_web && touch /usr/local/vesta/conf_web/dont_check_csrf
(but we don't recommend it)
If you are not system administrator of this server and you can't access the hosting panel even you clicked \"proceed safely to your hosting panel\" and disabled all browser extensions or changed the browser, please copy-paste this message to the system administrator of this server.
Once again, before you disable CSRF check, try to click \"proceed safely to your hosting panel\", and if that does not help then try to disable all browser extensions or try to login with other browser."); + } } // Preventing all CSRFs From 8a5469abcd282fe1c916fa960995561ff3954bbd Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Sun, 29 Aug 2021 12:39:48 +0200 Subject: [PATCH 171/896] Update secure_login.php --- web/inc/secure_login.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/web/inc/secure_login.php b/web/inc/secure_login.php index 1dfe2541..dcfc2b82 100644 --- a/web/inc/secure_login.php +++ b/web/inc/secure_login.php @@ -84,7 +84,7 @@ function prevent_get_csrf () { if (file_exists('/usr/local/vesta/conf_web/dont_check_csrf')) return; if ($_SERVER['REQUEST_METHOD'] == "GET") { if (isset($_GET[$login_url])) return; - if ($_SERVER['REQUEST_URI']=="" || $_SERVER['REQUEST_URI']=="/" || $_SERVER['REQUEST_URI']=="/login/" || $_SERVER['REQUEST_URI']=="/list/web/") return; + if ($_SERVER['REQUEST_URI']=="" || $_SERVER['REQUEST_URI']=="/" || $_SERVER['REQUEST_URI']=="/login/" || $_SERVER['REQUEST_URI']=="/list/user/" || $_SERVER['REQUEST_URI']=="/list/web/") return; } if (isset($_SERVER['HTTP_HOST']) == false) return; if (isset($_SERVER['SERVER_PORT']) == false) return; From 7c9da855e8853b2b095dbc2bc1f1840ff9bd3f7c Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Sun, 29 Aug 2021 14:05:15 +0200 Subject: [PATCH 172/896] Update secure_login.php --- web/inc/secure_login.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/web/inc/secure_login.php b/web/inc/secure_login.php index dcfc2b82..b360c1e8 100644 --- a/web/inc/secure_login.php +++ b/web/inc/secure_login.php @@ -74,7 +74,7 @@ function prevent_post_csrf ($hard_check=false) { $level = 1; if ($hard_check == true) $level = 2; if ($_SERVER['HTTP_ORIGIN'] != $expected_http_origin) { - die ("CSRF detected (".$level.").
Your browser sent HTTP_ORIGIN with value: ".$_SERVER['HTTP_ORIGIN']."
myVesta expected HTTP_ORIGIN with value: ".$expected_http_origin."
Probably some browser extension is blocking it... disable all browser extensions and try again (or try to login with other browser).
If you are system administrator of this server, you can disable CSRF check by doing (as root, in SSH): mkdir /usr/local/vesta/conf_web && touch /usr/local/vesta/conf_web/dont_check_csrf
(but we don't recommend it)
If you are not system administrator of this server and you can't access the hosting panel even you disabled all browser extensions, please copy-paste this message to the system administrator of this server.
Once again, before you disable CSRF check, try to disable all browser extensions or try to login with other browser."); + die ("CSRF detected (".$level.").
Your browser sent HTTP_ORIGIN with value: ".$_SERVER['HTTP_ORIGIN']."
myVesta expected HTTP_ORIGIN with value: ".$expected_http_origin."
Probably some browser extension is blocking it... disable all browser extensions and try again (or try to login with other browser).
If you are system administrator of this server, you can disable CSRF check by doing (as root, in SSH): mkdir -p /usr/local/vesta/conf_web && touch /usr/local/vesta/conf_web/dont_check_csrf
(but we don't recommend it)
If you are not system administrator of this server and you can't access the hosting panel even you disabled all browser extensions, please copy-paste this message to the system administrator of this server.
Once again, before you disable CSRF check, try to disable all browser extensions or try to login with other browser."); } } } @@ -98,7 +98,7 @@ function prevent_get_csrf () { $expected_http_referer = "https://".$hostname.":".$port; $expected_http_referer_length = strlen($expected_http_referer); if (substr($_SERVER['HTTP_REFERER'], 0, $expected_http_referer_length) != $expected_http_referer) { - die ("You clicked on someone's link from other site.
This is just a protection layer to prevent potentially dangerous clicks, so if it was your link - you can proceed safely to your hosting panel.
Technical details:
Your browser sent HTTP_REFERER with value: ".$_SERVER['HTTP_REFERER']."
myVesta expected HTTP_REFERER to begin with value: ".$expected_http_referer."
If you got this error during casual work in your hosting panel, probably some browser extension is blocking HTTP_REFERER... disable all browser extensions and try again (or try to login with other browser).
If you are system administrator of this server, you can disable CSRF check by doing (as root, in SSH): mkdir /usr/local/vesta/conf_web && touch /usr/local/vesta/conf_web/dont_check_csrf
(but we don't recommend it)
If you are not system administrator of this server and you can't access the hosting panel even you clicked \"proceed safely to your hosting panel\" and disabled all browser extensions or changed the browser, please copy-paste this message to the system administrator of this server.
Once again, before you disable CSRF check, try to click \"proceed safely to your hosting panel\", and if that does not help then try to disable all browser extensions or try to login with other browser."); + die ("You clicked on someone's link from other site.
This is just a protection layer to prevent potentially dangerous clicks, so if it was your link - you can proceed safely to your hosting panel.
Technical details:
Your browser sent HTTP_REFERER with value: ".$_SERVER['HTTP_REFERER']."
myVesta expected HTTP_REFERER to begin with value: ".$expected_http_referer."
If you got this error during casual work in your hosting panel, probably some browser extension is blocking HTTP_REFERER... disable all browser extensions and try again (or try to login with other browser).
If you are system administrator of this server, you can disable CSRF check by doing (as root, in SSH): mkdir -p /usr/local/vesta/conf_web && touch /usr/local/vesta/conf_web/dont_check_csrf
(but we don't recommend it)
If you are not system administrator of this server and you can't access the hosting panel even you clicked \"proceed safely to your hosting panel\" and disabled all browser extensions or changed the browser, please copy-paste this message to the system administrator of this server.
Once again, before you disable CSRF check, try to click \"proceed safely to your hosting panel\", and if that does not help then try to disable all browser extensions or try to login with other browser."); } } From 5262b3f4470e7a937dccd3b9d537d6d1543bbca4 Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Sun, 29 Aug 2021 14:13:03 +0200 Subject: [PATCH 173/896] Update secure_login.php --- web/inc/secure_login.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/web/inc/secure_login.php b/web/inc/secure_login.php index b360c1e8..0fb030fc 100644 --- a/web/inc/secure_login.php +++ b/web/inc/secure_login.php @@ -98,7 +98,7 @@ function prevent_get_csrf () { $expected_http_referer = "https://".$hostname.":".$port; $expected_http_referer_length = strlen($expected_http_referer); if (substr($_SERVER['HTTP_REFERER'], 0, $expected_http_referer_length) != $expected_http_referer) { - die ("You clicked on someone's link from other site.
This is just a protection layer to prevent potentially dangerous clicks, so if it was your link - you can proceed safely to your hosting panel.
Technical details:
Your browser sent HTTP_REFERER with value: ".$_SERVER['HTTP_REFERER']."
myVesta expected HTTP_REFERER to begin with value: ".$expected_http_referer."
If you got this error during casual work in your hosting panel, probably some browser extension is blocking HTTP_REFERER... disable all browser extensions and try again (or try to login with other browser).
If you are system administrator of this server, you can disable CSRF check by doing (as root, in SSH): mkdir -p /usr/local/vesta/conf_web && touch /usr/local/vesta/conf_web/dont_check_csrf
(but we don't recommend it)
If you are not system administrator of this server and you can't access the hosting panel even you clicked \"proceed safely to your hosting panel\" and disabled all browser extensions or changed the browser, please copy-paste this message to the system administrator of this server.
Once again, before you disable CSRF check, try to click \"proceed safely to your hosting panel\", and if that does not help then try to disable all browser extensions or try to login with other browser."); + die ("You clicked on someone's link from other site.
This is just a protection layer to prevent potentially dangerous clicks, so if it was your link (or you got the link from the trusted source) - then you can proceed safely to your hosting panel.
Technical details:
Your browser sent HTTP_REFERER with value: ".$_SERVER['HTTP_REFERER']."
myVesta expected HTTP_REFERER to begin with value: ".$expected_http_referer."
If you got this error during casual work in your hosting panel, probably some browser extension is blocking HTTP_REFERER... disable all browser extensions and try again (or try to login with other browser).
If you are system administrator of this server, you can disable CSRF check by doing (as root, in SSH): mkdir -p /usr/local/vesta/conf_web && touch /usr/local/vesta/conf_web/dont_check_csrf
(but we don't recommend it)
If you are not system administrator of this server and you can't access the hosting panel even you clicked \"proceed safely to your hosting panel\" and disabled all browser extensions or changed the browser, please copy-paste this message to the system administrator of this server.
Once again, before you disable CSRF check, try to click \"proceed safely to your hosting panel\", and if that does not help then try to disable all browser extensions or try to login with other browser."); } } From 475fe47984df6209cebc741fba02ee65f84e0a4d Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Sun, 29 Aug 2021 16:05:33 +0200 Subject: [PATCH 174/896] Checking token on adding and deleting favorites --- web/add/favorite/index.php | 7 +++---- web/delete/favorite/index.php | 5 +++++ web/js/init.js | 5 +++-- 3 files changed, 11 insertions(+), 6 deletions(-) diff --git a/web/add/favorite/index.php b/web/add/favorite/index.php index e9f2e828..a3054d99 100644 --- a/web/add/favorite/index.php +++ b/web/add/favorite/index.php @@ -7,10 +7,9 @@ session_start(); include($_SERVER['DOCUMENT_ROOT']."/inc/main.php"); // Check token -// if ((!isset($_POST['token'])) || ($_SESSION['token'] != $_POST['token'])) { -// header('location: /login/'); -// exit(); -// } +if ((!isset($_REQUEST['token'])) || ($_SESSION['token'] != $_REQUEST['token'])) { + die("Wrong token"); +} // Protect input $v_section = escapeshellarg($_REQUEST['v_section']); diff --git a/web/delete/favorite/index.php b/web/delete/favorite/index.php index 9f471b9b..093566f9 100644 --- a/web/delete/favorite/index.php +++ b/web/delete/favorite/index.php @@ -5,6 +5,11 @@ include($_SERVER['DOCUMENT_ROOT']."/inc/main.php"); + // Check token + if ((!isset($_REQUEST['token'])) || ($_SESSION['token'] != $_REQUEST['token'])) { + die("Wrong token"); + } + unset($_SESSION['favourites'][strtoupper($_REQUEST['v_section'])][$_REQUEST['v_unit_id']]); $v_section = escapeshellarg($_REQUEST['v_section']); diff --git a/web/js/init.js b/web/js/init.js index 3ac6175e..6c60ff85 100644 --- a/web/js/init.js +++ b/web/js/init.js @@ -128,6 +128,7 @@ $(document).ready(function(){ $('.l-unit .l-icon-star').click(function(){ var l_unit = $(this).parents('.l-unit'); + var token = $('#token').attr('token'); if(l_unit.hasClass('l-unit--starred')){ // removing star @@ -135,7 +136,7 @@ $(document).ready(function(){ $.ajax({ method: "POST", url: "/delete/favorite/index.php", - data: { v_section: l_unit.attr('v_section'), v_unit_id: l_unit.attr('v_unit_id') } + data: { v_section: l_unit.attr('v_section'), v_unit_id: l_unit.attr('v_unit_id'), token: token } }); l_unit.attr({'sort-star': 0}); @@ -145,7 +146,7 @@ $(document).ready(function(){ $.ajax({ method: "POST", url: "/add/favorite/index.php", - data: { v_unit_id: l_unit.attr('v_unit_id'), v_section: l_unit.attr('v_section') } + data: { v_unit_id: l_unit.attr('v_unit_id'), v_section: l_unit.attr('v_section'), token: token } }); l_unit.attr({'sort-star': 1}); From 693dd2877cdec6da8287d7739f1484102f88652b Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Mon, 30 Aug 2021 00:06:32 +0200 Subject: [PATCH 175/896] session.cookie_httponly and session.cookie_secure in myvesta php-fpm --- src/deb/for-download/php/php-fpm.conf | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/deb/for-download/php/php-fpm.conf b/src/deb/for-download/php/php-fpm.conf index d9a04795..cd0005f8 100644 --- a/src/deb/for-download/php/php-fpm.conf +++ b/src/deb/for-download/php/php-fpm.conf @@ -32,3 +32,5 @@ php_admin_value[upload_max_filesize] = 512M php_admin_value[max_execution_time] = 600 php_admin_value[max_input_time] = 600 php_admin_value[session.save_path] = /usr/local/vesta/data/sessions +php_admin_flag[session.cookie_httponly] = on +php_admin_flag[session.cookie_secure] = on From ab9c10b05c63fc5efdf46d7fc07f6105f43f8104 Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Wed, 1 Sep 2021 00:24:43 +0200 Subject: [PATCH 176/896] Update secure_login.php --- web/inc/secure_login.php | 1 + 1 file changed, 1 insertion(+) diff --git a/web/inc/secure_login.php b/web/inc/secure_login.php index 0fb030fc..b9e2115c 100644 --- a/web/inc/secure_login.php +++ b/web/inc/secure_login.php @@ -85,6 +85,7 @@ function prevent_get_csrf () { if ($_SERVER['REQUEST_METHOD'] == "GET") { if (isset($_GET[$login_url])) return; if ($_SERVER['REQUEST_URI']=="" || $_SERVER['REQUEST_URI']=="/" || $_SERVER['REQUEST_URI']=="/login/" || $_SERVER['REQUEST_URI']=="/list/user/" || $_SERVER['REQUEST_URI']=="/list/web/") return; + if ($_SERVER['DOCUMENT_URI']=="/reset/index.php") return; } if (isset($_SERVER['HTTP_HOST']) == false) return; if (isset($_SERVER['SERVER_PORT']) == false) return; From 3b287934c3bd42cfadd05ea00eba3a125340f59a Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Wed, 1 Sep 2021 00:33:16 +0200 Subject: [PATCH 177/896] Enabling session.cookie_httponly and session.cookie_secure in myvesta php-fpm --- src/deb/vesta/postinst | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/deb/vesta/postinst b/src/deb/vesta/postinst index fe80212f..dbb7cbd2 100755 --- a/src/deb/vesta/postinst +++ b/src/deb/vesta/postinst @@ -23,6 +23,18 @@ fi echo "1" > /usr/local/vesta/data/upgrades/show_changelog chmod a=rw /usr/local/vesta/data/upgrades/show_changelog +# Enabling session.cookie_httponly and session.cookie_secure in myvesta php-fpm +if [ ! -f "/usr/local/vesta/data/upgrades/enable_cookie_httponly" ]; then + touch /usr/local/vesta/data/upgrades/enable_cookie_httponly + check_grep=$(grep -c 'cookie_httponly' /usr/local/vesta/php/etc/php-fpm.conf) + if [ "$check_grep" -eq 0 ]; then + echo "== Enabling session.cookie_httponly and session.cookie_secure in myvesta php-fpm" + echo "php_admin_flag[session.cookie_httponly] = on" >> /usr/local/vesta/php/etc/php-fpm.conf + echo "php_admin_flag[session.cookie_secure] = on" >> /usr/local/vesta/php/etc/php-fpm.conf + systemctl restart vesta + fi +fi + # Enabling TLS for ProFTPD FTPS if [ ! -f "/usr/local/vesta/data/upgrades/enable-tls-in-proftpd" ]; then if [ -f "/etc/proftpd/proftpd.conf" ]; then From 584acfd4568e813666718cfa3ea372335ce205f1 Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Thu, 2 Sep 2021 21:40:40 +0200 Subject: [PATCH 178/896] New versions of software in vesta_compile.sh --- src/deb/vesta_compile.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/deb/vesta_compile.sh b/src/deb/vesta_compile.sh index 026e3812..c8308d7f 100644 --- a/src/deb/vesta_compile.sh +++ b/src/deb/vesta_compile.sh @@ -58,9 +58,9 @@ BUILD_DATE=$(date +"%d-%b-%Y") # Set Version for compiling VESTA_V=$VESTA_VER"_amd64" -NGINX_V='1.19.9' -OPENSSL_V='1.1.1k' -PCRE_V='8.44' +NGINX_V='1.21.2' +OPENSSL_V='1.1.1l' +PCRE_V='8.45' ZLIB_V='1.2.11' PHP_V='5.6.40' From 5a6977660cd81230212c7dd93c23a359d72e104c Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Thu, 2 Sep 2021 21:47:17 +0200 Subject: [PATCH 179/896] Update vst-install-debian.sh --- install/vst-install-debian.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/install/vst-install-debian.sh b/install/vst-install-debian.sh index d835bdc5..d419edb6 100755 --- a/install/vst-install-debian.sh +++ b/install/vst-install-debian.sh @@ -1721,6 +1721,7 @@ touch /usr/local/vesta/data/upgrades/roundcube_smtp_auth touch /usr/local/vesta/data/upgrades/apache_status_public_access touch /usr/local/vesta/data/upgrades/update-cloudflare-ips touch /usr/local/vesta/data/upgrades/enable-tls-in-proftpd +touch /usr/local/vesta/data/upgrades/enable_cookie_httponly # Secret URL secretquery='' From 9a746ea4845f198e30fc86cea52faf68a91ecbe6 Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Sat, 4 Sep 2021 01:23:24 +0200 Subject: [PATCH 180/896] Adding token for /logout/ --- web/templates/admin/list_search.html | 2 +- web/templates/admin/list_server_info.html | 2 +- web/templates/admin/list_user.html | 2 +- web/templates/admin/list_weblog.html | 2 +- web/templates/admin/panel.html | 2 +- web/templates/user/list_search.html | 2 +- web/templates/user/list_user.html | 2 +- web/templates/user/panel.html | 2 +- 8 files changed, 8 insertions(+), 8 deletions(-) diff --git a/web/templates/admin/list_search.html b/web/templates/admin/list_search.html index 13aef07f..4483920f 100644 --- a/web/templates/admin/list_search.html +++ b/web/templates/admin/list_search.html @@ -71,7 +71,7 @@ if ($value['USER'] != $user && $value['KEY'] == 'ACCOUNT') { if ($key == $user) { ?> - + diff --git a/web/templates/admin/list_server_info.html b/web/templates/admin/list_server_info.html index eaaf34cd..7a131572 100644 --- a/web/templates/admin/list_server_info.html +++ b/web/templates/admin/list_server_info.html @@ -33,7 +33,7 @@ diff --git a/web/templates/admin/list_user.html b/web/templates/admin/list_user.html index 7dd47577..4ad3daec 100644 --- a/web/templates/admin/list_user.html +++ b/web/templates/admin/list_user.html @@ -94,7 +94,7 @@ sort-bandwidth="=$data[$key]['U_BANDWIDTH']?>" sort-disk="=$data[$key]['U_DI if ($key == $user) { ?> - + diff --git a/web/templates/admin/list_weblog.html b/web/templates/admin/list_weblog.html index 0627c477..1ca837e2 100644 --- a/web/templates/admin/list_weblog.html +++ b/web/templates/admin/list_weblog.html @@ -29,7 +29,7 @@ diff --git a/web/templates/admin/panel.html b/web/templates/admin/panel.html index 80bfdaf1..b4534ccd 100644 --- a/web/templates/admin/panel.html +++ b/web/templates/admin/panel.html @@ -26,7 +26,7 @@ diff --git a/web/templates/user/list_search.html b/web/templates/user/list_search.html index a9198d1d..abe3a768 100644 --- a/web/templates/user/list_search.html +++ b/web/templates/user/list_search.html @@ -70,7 +70,7 @@ if ($value['USER'] != $user && $value['KEY'] == 'ACCOUNT') { if ($key == $user) { ?> - + diff --git a/web/templates/user/list_user.html b/web/templates/user/list_user.html index 85ed64c3..e6645900 100644 --- a/web/templates/user/list_user.html +++ b/web/templates/user/list_user.html @@ -89,7 +89,7 @@ sort-disk="=$data[$key]['U_DISK']?>" sort-star=" - + diff --git a/web/templates/user/panel.html b/web/templates/user/panel.html index dfb544c9..81cd8358 100644 --- a/web/templates/user/panel.html +++ b/web/templates/user/panel.html @@ -20,7 +20,7 @@"> if(($_SESSION['user'] == 'admin') && ($user != 'admin')) echo 'admin → ' ?>=$user?> - =__('Log out')?> + =__('Log out')?>From 82d00b4a5c0e7fd1ebe1f648953122f841eac99e Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Sat, 4 Sep 2021 11:29:36 +0200 Subject: [PATCH 181/896] Fix for: mv: cannot stat '/usr/local/vesta/log/backup.log' --- bin/v-backup-users | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/v-backup-users b/bin/v-backup-users index 9671c9e8..16a93d6d 100755 --- a/bin/v-backup-users +++ b/bin/v-backup-users @@ -39,9 +39,9 @@ log=$VESTA/log/backup.log $BIN/v-check-vesta-license >/dev/null +touch $log if [ ! -z "$NOTIFY_ADMIN_FULL_BACKUP" ]; then mv $log $log-`date +"%Y-%m-%d--%H:%M:%S"` - touch $log fi # Auto-repair all databases before backuping all accounts From 7220e011161a08beb2a3539e867535288f15cc8a Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Sat, 4 Sep 2021 12:18:09 +0200 Subject: [PATCH 182/896] secured php.ini for multi-php --- src/deb/for-download/tools/multi-php-install.sh | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/deb/for-download/tools/multi-php-install.sh b/src/deb/for-download/tools/multi-php-install.sh index ffee228e..ce04f573 100644 --- a/src/deb/for-download/tools/multi-php-install.sh +++ b/src/deb/for-download/tools/multi-php-install.sh @@ -145,6 +145,9 @@ if [ "$inst_70" -eq 1 ]; then if [ $debian_version -eq 10 ]; then cp /etc/php/7.3/fpm/php.ini /etc/php/7.0/fpm/php.ini fi + if [ $debian_version -eq 11 ]; then + cp /etc/php/7.4/fpm/php.ini /etc/php/7.0/fpm/php.ini + fi press_enter "=== Press enter to continue ===============================================================================" fi @@ -166,6 +169,9 @@ if [ "$inst_71" -eq 1 ]; then if [ $debian_version -eq 10 ]; then cp /etc/php/7.3/fpm/php.ini /etc/php/7.1/fpm/php.ini fi + if [ $debian_version -eq 11 ]; then + cp /etc/php/7.4/fpm/php.ini /etc/php/7.1/fpm/php.ini + fi press_enter "=== Press enter to continue ===============================================================================" fi @@ -187,6 +193,9 @@ if [ "$inst_72" -eq 1 ]; then if [ $debian_version -eq 10 ]; then cp /etc/php/7.3/fpm/php.ini /etc/php/7.2/fpm/php.ini fi + if [ $debian_version -eq 11 ]; then + cp /etc/php/7.4/fpm/php.ini /etc/php/7.2/fpm/php.ini + fi press_enter "=== Press enter to continue ===============================================================================" fi @@ -209,6 +218,9 @@ if [ "$inst_73" -eq 1 ]; then if [ $debian_version -eq 9 ]; then cp /etc/php/7.0/apache2/php.ini /etc/php/7.3/fpm/php.ini fi + if [ $debian_version -eq 11 ]; then + cp /etc/php/7.4/fpm/php.ini /etc/php/7.3/fpm/php.ini + fi press_enter "=== Press enter to continue ===============================================================================" fi From 329c37a13cd3ef44de901a90ca14181cb6281099 Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Sat, 4 Sep 2021 12:32:16 +0200 Subject: [PATCH 183/896] Update index.php --- web/schedule/backup/index.php | 1 - 1 file changed, 1 deletion(-) diff --git a/web/schedule/backup/index.php b/web/schedule/backup/index.php index 8d51832e..be7e713c 100644 --- a/web/schedule/backup/index.php +++ b/web/schedule/backup/index.php @@ -8,7 +8,6 @@ include($_SERVER['DOCUMENT_ROOT']."/inc/main.php"); // Check token if ((!isset($_GET['token'])) || ($_SESSION['token'] != $_GET['token'])) { - die($_SESSION['token']); header('location: /login/'); exit(); } From 63861e4ffdc009a8f0176fe4733be0c6e261e6fb Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Sat, 4 Sep 2021 12:55:40 +0200 Subject: [PATCH 184/896] Fix fox CSRF in /dowload/web-log/ --- web/download/web-log/index.php | 7 +++++++ web/templates/admin/list_weblog.html | 4 ++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/web/download/web-log/index.php b/web/download/web-log/index.php index 79b5601c..35ebc335 100644 --- a/web/download/web-log/index.php +++ b/web/download/web-log/index.php @@ -3,6 +3,13 @@ error_reporting(NULL); session_start(); include($_SERVER['DOCUMENT_ROOT']."/inc/main.php"); + +// Check token +if ((!isset($_GET['token'])) || ($_SESSION['token'] != $_GET['token'])) { + header('Location: /login/'); + exit(); +} + $v_domain = $_GET['domain']; $v_domain = escapeshellarg($_GET['domain']); if ($_GET['type'] == 'access') $type = 'access'; diff --git a/web/templates/admin/list_weblog.html b/web/templates/admin/list_weblog.html index 1ca837e2..b46e7979 100644 --- a/web/templates/admin/list_weblog.html +++ b/web/templates/admin/list_weblog.html @@ -23,8 +23,8 @@- - + +From 93de22a0b3d45fb46e47ff7337445fb074179773 Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Sat, 4 Sep 2021 15:31:34 +0200 Subject: [PATCH 185/896] Fix for CSRF in FileManager and UploadHandler --- web/download/file/index.php | 5 +++++ web/file_manager/fm_api.php | 7 +++++-- web/js/app.js | 2 ++ web/js/file_manager.js | 13 ++++++++----- web/templates/file_manager/main.php | 4 +++- web/upload/UploadHandler.php | 7 ++++++- 6 files changed, 29 insertions(+), 9 deletions(-) diff --git a/web/download/file/index.php b/web/download/file/index.php index efabb0e1..ee1a9989 100644 --- a/web/download/file/index.php +++ b/web/download/file/index.php @@ -1,6 +1,11 @@ GLOBAL = {}; + @@ -145,6 +146,7 @@ var acc = $(''); $(['A', 'B']).each(function(k, letter) { var url = '/upload/'; + var token = $('#token').attr('token'); $('#file_upload_' + letter).fileupload({ singleFileUploads: false, add: function (e, data) { @@ -154,7 +156,7 @@ var file_relocation = FM['TAB_'+tab+'_CURRENT_PATH']; - $('#file_upload_' + letter).fileupload("option", "url", url + '?dir=' + file_relocation); + $('#file_upload_' + letter).fileupload("option", "url", url + '?token='+token+'&dir=' + file_relocation); acc = $(''); show_msg = false; data.submit(); diff --git a/web/upload/UploadHandler.php b/web/upload/UploadHandler.php index 511ec4b3..48f40b23 100755 --- a/web/upload/UploadHandler.php +++ b/web/upload/UploadHandler.php @@ -3,10 +3,15 @@ //session_start(); // Preventing CSRF -prevent_post_csrf(true); +// prevent_post_csrf(true); include($_SERVER['DOCUMENT_ROOT']."/inc/main.php"); +// Check token +if ((!isset($_REQUEST['token'])) || ($_SESSION['token'] != $_REQUEST['token'])) { + die("Wrong token or missing token"); +} + // Check login_as feature $user = $_SESSION['user']; if (($_SESSION['user'] == 'admin') && (!empty($_SESSION['look']))) { From ee3665ecb7e46d58ef7d9039e0eda55c76254a94 Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Sat, 4 Sep 2021 19:00:20 +0200 Subject: [PATCH 186/896] Update index.php --- web/delete/backup/exclusion/index.php | 3 +++ 1 file changed, 3 insertions(+) diff --git a/web/delete/backup/exclusion/index.php b/web/delete/backup/exclusion/index.php index 29ad3bd5..7cad5856 100644 --- a/web/delete/backup/exclusion/index.php +++ b/web/delete/backup/exclusion/index.php @@ -1,4 +1,7 @@ Date: Tue, 14 Sep 2021 20:22:35 +0200 Subject: [PATCH 187/896] backuping php-fpm conf file --- bin/v-backup-user | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/bin/v-backup-user b/bin/v-backup-user index 767eba22..52e5134d 100755 --- a/bin/v-backup-user +++ b/bin/v-backup-user @@ -151,6 +151,25 @@ if [ ! -z "$WEB_SYSTEM" ] && [ "$WEB" != '*' ]; then format_domain_idn get_domain_values 'web' + # backuping php-fpm conf file + if [[ $TPL == "PHP-FPM-"* ]]; then + fpm_tpl_ver=${TPL:8:2} + fpm_ver="${TPL:8:1}.${TPL:9:1}" + fpm_folder="$fpm_ver/fpm/pool.d" + fpm_path="$fpm_ver/fpm/pool.d/$domain.conf" + if [[ $TPL == *"-ioncube" ]]; then + fpm_folder="$fpm_ver/fpm/pool.d-ioncube" + fpm_path = "$fpm_ver/fpm/pool.d-ioncube/$domain.conf" + fi + fpm_original_path="/etc/php/$fpm_path" + fpm_dest_path="$tmpdir/web/$domain/php/$fpm_path" + fpm_dest_folder="$tmpdir/web/$domain/php/$fpm_folder" + if [ -f "$fpm_original_path" ]; then + mkdir -p $fpm_dest_folder + cp $fpm_original_path $fpm_dest_path + fi + fi + # Backup web.conf cd $tmpdir/web/$domain/ conf="$USER_DATA/web.conf" From f36d20641e6818072e02e9a426d56633c272ea50 Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Tue, 14 Sep 2021 20:24:39 +0200 Subject: [PATCH 188/896] Update v-backup-user --- bin/v-backup-user | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/v-backup-user b/bin/v-backup-user index 52e5134d..e2d7cac9 100755 --- a/bin/v-backup-user +++ b/bin/v-backup-user @@ -159,7 +159,7 @@ if [ ! -z "$WEB_SYSTEM" ] && [ "$WEB" != '*' ]; then fpm_path="$fpm_ver/fpm/pool.d/$domain.conf" if [[ $TPL == *"-ioncube" ]]; then fpm_folder="$fpm_ver/fpm/pool.d-ioncube" - fpm_path = "$fpm_ver/fpm/pool.d-ioncube/$domain.conf" + fpm_path="$fpm_ver/fpm/pool.d-ioncube/$domain.conf" fi fpm_original_path="/etc/php/$fpm_path" fpm_dest_path="$tmpdir/web/$domain/php/$fpm_path" From ca76e2bc8cfd1dbecc997742cc6f008e9fb44610 Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Tue, 14 Sep 2021 21:07:22 +0200 Subject: [PATCH 189/896] Allow to specify full path to backup file --- bin/v-restore-user | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/bin/v-restore-user b/bin/v-restore-user index a78ffc4d..c1f19fd8 100755 --- a/bin/v-restore-user +++ b/bin/v-restore-user @@ -28,6 +28,11 @@ if [ -z "$BACKUP" ]; then BACKUP=/backup fi +# Allow to specify full path to backup file +if [[ $backup == "/backup/"* ]]; then + backup="${backup:8}" +fi + # Includes source $VESTA/func/main.sh source $VESTA/func/domain.sh From c93345f669fa62694f353a960374926e96260ce6 Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Tue, 14 Sep 2021 21:10:10 +0200 Subject: [PATCH 190/896] Restoring php-fpm pool.d conf files --- bin/v-restore-user | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/bin/v-restore-user b/bin/v-restore-user index c1f19fd8..4aaab76d 100755 --- a/bin/v-restore-user +++ b/bin/v-restore-user @@ -440,6 +440,12 @@ if [ "$web" != 'no' ] && [ ! -z "$WEB_SYSTEM" ]; then find $HOMEDIR/$user/web/$domain/ -user $old_uid \ -exec chown -h $user:$user {} \; fi + + # Restoring php-fpm pool.d conf files + if [ -d "$tmpdir/web/$domain/php" ]; then + cp -r $tmpdir/web/$domain/php/ /etc/ + fi + done # Adding user to traff queue From 7ee21aad7b06b2c506165a2af3d2f15b3d79edfa Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Tue, 14 Sep 2021 21:43:46 +0200 Subject: [PATCH 191/896] Restoring php-fpm pool.d conf files --- bin/v-restore-user | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/bin/v-restore-user b/bin/v-restore-user index 4aaab76d..e9861d46 100755 --- a/bin/v-restore-user +++ b/bin/v-restore-user @@ -443,7 +443,10 @@ if [ "$web" != 'no' ] && [ ! -z "$WEB_SYSTEM" ]; then # Restoring php-fpm pool.d conf files if [ -d "$tmpdir/web/$domain/php" ]; then - cp -r $tmpdir/web/$domain/php/ /etc/ + fpmver=$(ls $tmpdir/web/$domain/php/) + cp -r $tmpdir/web/$domain/php/$fpmver/ /etc/php/ + systemctl reset-failed php$fpmver-fpm + systemctl restart php$fpmver-fpm fi done From 73948ac4d1958a08d656aa36b0ebb95a37a97476 Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Sun, 19 Sep 2021 13:26:45 +0200 Subject: [PATCH 192/896] Logging letsencrypt error message --- bin/v-add-letsencrypt-domain | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/bin/v-add-letsencrypt-domain b/bin/v-add-letsencrypt-domain index ed6e5e90..3a7b10b8 100755 --- a/bin/v-add-letsencrypt-domain +++ b/bin/v-add-letsencrypt-domain @@ -268,6 +268,8 @@ for auth in $authz; do echo "[$(date)] : query_le_v2 \"$url\" \"$payload\" \"$nonce\"" >> /usr/local/vesta/log/letsencrypt.log answer=$(query_le_v2 "$url" "$payload" "$nonce") echo "[$(date)] : answer=$answer" >> /usr/local/vesta/log/letsencrypt.log + url2=$(echo "$answer" |grep -A3 $proto |grep url |cut -f 4 -d \") + echo "[$(date)] : url2=$url2" >> /usr/local/vesta/log/letsencrypt.log validation=$(echo "$answer"|grep -A1 $proto |tail -n1|cut -f4 -d \") echo "[$(date)] : validation=$validation" >> /usr/local/vesta/log/letsencrypt.log nonce=$(echo "$answer" |grep -i nonce |cut -f2 -d \ |tr -d '\r\n') @@ -284,6 +286,9 @@ for auth in $authz; do echo "[$(date)] : EXIT=Let's Encrypt domain validation timeout" >> /usr/local/vesta/log/letsencrypt.log check_result $E_CONNECT "Let's Encrypt domain validation timeout" fi + echo "[$(date)] : curl: $url2 :" >> /usr/local/vesta/log/letsencrypt.log + get_answer=$(curl -S "$url2") + echo "[$(date)] : get_answer=$get_answer" >> /usr/local/vesta/log/letsencrypt.log sleeping=$((i*2)) echo "[$(date)] : sleep $sleeping (i=$i)" >> /usr/local/vesta/log/letsencrypt.log sleep $sleeping From e7b2626d4ca0643cbab3ce40b8d4943830608082 Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Fri, 24 Sep 2021 10:54:20 +0200 Subject: [PATCH 193/896] installing php7.x-imap --- install/vst-install-debian.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/install/vst-install-debian.sh b/install/vst-install-debian.sh index d419edb6..99600590 100755 --- a/install/vst-install-debian.sh +++ b/install/vst-install-debian.sh @@ -1598,13 +1598,13 @@ $VESTA/bin/v-add-cron-vesta-autoupdate echo "=== Installing additional PHP libs" if [ "$release" -eq 9 ]; then - apt-get -y install php7.0-apcu php7.0-mbstring php7.0-bcmath php7.0-curl php7.0-gd php7.0-intl php7.0-mcrypt php7.0-mysql php7.0-mysqlnd php7.0-pdo php7.0-soap php7.0-json php7.0-xml php7.0-zip php7.0-memcache php7.0-memcached php7.0-zip php7.0-imagick + apt-get -y install php7.0-apcu php7.0-mbstring php7.0-bcmath php7.0-curl php7.0-gd php7.0-intl php7.0-mcrypt php7.0-mysql php7.0-mysqlnd php7.0-pdo php7.0-soap php7.0-json php7.0-xml php7.0-zip php7.0-memcache php7.0-memcached php7.0-zip php7.0-imagick php7.0-imap fi if [ "$release" -eq 10 ]; then - apt-get -y install php7.3-apcu php7.3-mbstring php7.3-bcmath php7.3-curl php7.3-gd php7.3-intl php7.3-mysql php7.3-mysqlnd php7.3-pdo php7.3-soap php7.3-json php7.3-xml php7.3-zip php7.3-memcache php7.3-memcached php7.3-zip php7.3-imagick + apt-get -y install php7.3-apcu php7.3-mbstring php7.3-bcmath php7.3-curl php7.3-gd php7.3-intl php7.3-mysql php7.3-mysqlnd php7.3-pdo php7.3-soap php7.3-json php7.3-xml php7.3-zip php7.3-memcache php7.3-memcached php7.3-zip php7.3-imagick php7.3-imap fi if [ "$release" -eq 11 ]; then - apt-get -y install php7.4-apcu php7.4-mbstring php7.4-bcmath php7.4-curl php7.4-gd php7.4-intl php7.4-mysql php7.4-mysqlnd php7.4-pdo php7.4-soap php7.4-json php7.4-xml php7.4-zip php7.4-memcache php7.4-memcached php7.4-zip php7.4-imagick + apt-get -y install php7.4-apcu php7.4-mbstring php7.4-bcmath php7.4-curl php7.4-gd php7.4-intl php7.4-mysql php7.4-mysqlnd php7.4-pdo php7.4-soap php7.4-json php7.4-xml php7.4-zip php7.4-memcache php7.4-memcached php7.4-zip php7.4-imagick php7.4-imap fi touch /var/log/php-mail.log From ae99e0c837dd195f37051f9b0cf9531cd79952c3 Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Sat, 25 Sep 2021 14:17:09 +0200 Subject: [PATCH 194/896] Fresh W3TC.json --- src/deb/for-download/tools/W3TC.json | 305 ++++++++++++++++++--------- 1 file changed, 200 insertions(+), 105 deletions(-) diff --git a/src/deb/for-download/tools/W3TC.json b/src/deb/for-download/tools/W3TC.json index 7e1f0340..d42973d0 100644 --- a/src/deb/for-download/tools/W3TC.json +++ b/src/deb/for-download/tools/W3TC.json @@ -1,5 +1,5 @@ { - "version": "0.14.3", + "version": "2.1.8", "cluster.messagebus.debug": false, "cluster.messagebus.enabled": false, "cluster.messagebus.sns.region": "", @@ -11,7 +11,7 @@ "dbcache.debug_purge": false, "dbcache.enabled": true, "dbcache.engine": "memcached", - "dbcache.file.gc": 3600, + "dbcache.file.gc": 7200, "dbcache.file.locking": false, "dbcache.lifetime": 3600, "dbcache.memcached.persistent": true, @@ -60,24 +60,47 @@ "\\bsql_calc_found_rows\\b", "\\bfound_rows\\(\\)" ], + "docroot_fix.enable": false, "lazyload.enabled": false, + "lazyload.threshold": "", "lazyload.process_img": true, "lazyload.process_background": true, "lazyload.googlemaps.google_maps_easy": false, "lazyload.googlemaps.wp_google_maps": false, "lazyload.googlemaps.wp_google_map_plugin": false, "lazyload.exclude": [ - "skip_lazy" + "avia-bg-style-fixed", + "data-bgposition=", + "data-envira-src=", + "data-large_image=", + "data-lazy-original=", + "data-lazy-src=", + "data-lazyload=", + "data-lazysrc=", + "data-no-lazy=", + "data-src=", + "data-srcset=", + "fullurl=", + "lazy-slider-img=", + "loading=\"eager\"", + "no-lazy", + "rev-slidebg", + "skip-lazy", + "soliloquy-image", + "swatch-img", + "w3-total-cache", + "woocommerce\/assets\/images\/placeholder.png", + "wpcf7_captcha" ], "lazyload.embed_method": "async_head", "objectcache.configuration_overloaded": false, "objectcache.enabled": true, "objectcache.debug": false, "objectcache.debug_purge": false, - "objectcache.enabled_for_wp_admin": true, + "objectcache.enabled_for_wp_admin": false, "objectcache.fallback_transients": true, "objectcache.engine": "memcached", - "objectcache.file.gc": 3600, + "objectcache.file.gc": 7200, "objectcache.file.locking": false, "objectcache.memcached.servers": [ "127.0.0.1:11211" @@ -107,7 +130,6 @@ "global-posts" ], "objectcache.groups.nonpersistent": [ - "comment", "counts", "plugins" ], @@ -120,7 +142,7 @@ "pgcache.debug_purge": false, "pgcache.engine": "memcached", "pgcache.file.gc": 3600, - "pgcache.file.nfs": true, + "pgcache.file.nfs": false, "pgcache.file.locking": false, "pgcache.lifetime": 86400, "pgcache.memcached.servers": [ @@ -137,9 +159,9 @@ ], "pgcache.redis.password": "", "pgcache.redis.dbid": 0, - "pgcache.cache.query": true, + "pgcache.cache.query": false, "pgcache.cache.home": true, - "pgcache.cache.feed": true, + "pgcache.cache.feed": false, "pgcache.cache.nginx_handle_xml": false, "pgcache.cache.ssl": true, "pgcache.cache.404": false, @@ -167,11 +189,11 @@ ], "pgcache.late_init": false, "pgcache.late_caching": false, - "pgcache.mirrors.enabled": true, + "pgcache.mirrors.enabled": false, "pgcache.mirrors.home_urls": [ "" ], - "pgcache.reject.front_page": "0", + "pgcache.reject.front_page": false, "pgcache.reject.logged": true, "pgcache.reject.logged_roles": false, "pgcache.reject.roles": [ @@ -200,7 +222,7 @@ "wptouch_switch_toggle" ], "pgcache.reject.request_head": false, - "pgcache.purge.front_page": "1", + "pgcache.purge.front_page": true, "pgcache.purge.home": true, "pgcache.purge.post": true, "pgcache.purge.comments": false, @@ -222,7 +244,7 @@ ], "pgcache.purge.sitemap_regex": "([a-z0-9_\\-]*?)sitemap([a-z0-9_\\-]*)?\\.xml", "pgcache.prime.enabled": false, - "pgcache.prime.interval": 3600, + "pgcache.prime.interval": 900, "pgcache.prime.limit": 10, "pgcache.prime.sitemap": "", "pgcache.prime.post.enabled": false, @@ -267,8 +289,8 @@ "minify.debug": false, "minify.engine": "file", "minify.error.notification": "", - "minify.file.gc": "86400", - "minify.file.nfs": true, + "minify.file.gc": 86400, + "minify.file.nfs": false, "minify.file.locking": false, "minify.memcached.servers": [ "127.0.0.1:11211" @@ -284,41 +306,43 @@ ], "minify.redis.password": "", "minify.redis.dbid": 0, - "minify.rewrite": "1", + "minify.rewrite": true, "minify.options": [], "minify.symlinks": [], - "minify.lifetime": "86400", + "minify.lifetime": 86400, "minify.upload": true, - "minify.html.enable": "1", + "minify.html.enable": false, "minify.html.engine": "html", - "minify.html.reject.feed": "0", - "minify.html.inline.css": "0", - "minify.html.inline.js": "0", - "minify.html.strip.crlf": "0", + "minify.html.reject.feed": false, + "minify.html.inline.css": false, + "minify.html.inline.js": false, + "minify.html.strip.crlf": false, "minify.html.comments.ignore": [ "google_ad_", - "RSPEAK_" + "RSPEAK_", + "mfunc" ], - "minify.css.combine": "0", - "minify.css.enable": "1", + "minify.css.enable": true, "minify.css.engine": "css", - "minify.css.http2push": "0", - "minify.css.strip.comments": "0", - "minify.css.strip.crlf": "0", + "minify.css.method": "both", + "minify.css.http2push": false, + "minify.css.strip.comments": false, + "minify.css.strip.crlf": false, "minify.css.embed": false, "minify.css.imports": "", "minify.css.groups": [], - "minify.js.http2push": "0", - "minify.js.enable": "1", + "minify.js.http2push": false, + "minify.js.enable": true, "minify.js.engine": "js", - "minify.js.combine.header": "0", + "minify.js.method": "both", + "minify.js.combine.header": false, "minify.js.header.embed_type": "blocking", "minify.js.combine.body": false, "minify.js.body.embed_type": "blocking", "minify.js.combine.footer": false, "minify.js.footer.embed_type": "blocking", - "minify.js.strip.comments": "0", - "minify.js.strip.crlf": "0", + "minify.js.strip.comments": false, + "minify.js.strip.crlf": false, "minify.js.groups": [], "minify.yuijs.path.java": "java", "minify.yuijs.path.jar": "yuicompressor.jar", @@ -353,28 +377,20 @@ "minify.htmltidy.options.clean": false, "minify.htmltidy.options.hide-comments": true, "minify.htmltidy.options.wrap": 0, - "minify.reject.logged": "0", - "minify.reject.ua": [ - "" - ], - "minify.reject.uri": [ - "" - ], - "minify.reject.files.js": [ - "" - ], - "minify.reject.files.css": [ - "" - ], + "minify.reject.logged": false, + "minify.reject.ua": [], + "minify.reject.uri": [], + "minify.reject.files.js": [], + "minify.reject.files.css": [], "minify.cache.files": [ "" ], - "minify.cache.files_regexp": "0", + "minify.cache.files_regexp": false, "cdn.configuration_overloaded": false, "cdn.enabled": false, "cdn.debug": false, "cdn.flush_manually": false, - "cdn.engine": "maxcdn", + "cdn.engine": "stackpath2", "cdn.uploads.enable": true, "cdn.includes.enable": true, "cdn.includes.files": "*.css;*.js;*.gif;*.png;*.jpg;*.xml", @@ -535,6 +551,9 @@ "cdnfsd.stackpath2.site_root_domain": 0, "cdnfsd.stackpath2.domain": [], "cdnfsd.stackpath2.ssl": "auto", + "cdnfsd.transparentcdn.client_id": "", + "cdnfsd.transparentcdn.client_secret": "", + "cdnfsd.transparentcdn.company_id": "", "varnish.configuration_overloaded": false, "varnish.enabled": false, "varnish.debug": false, @@ -547,7 +566,7 @@ "browsercache.no404wp": false, "browsercache.no404wp.exceptions": [ "robots\\.txt", - "[a-z0-9_\\-]*sitemap[a-z0-9_\\-]*\\.(xml|xsl|html)(\\.gz)?" + "[a-z0-9_\\-]*sitemap[a-z0-9_\\.\\-]*\\.(xml|xsl|html)(\\.gz)?" ], "browsercache.cssjs.last_modified": true, "browsercache.cssjs.compression": true, @@ -623,63 +642,136 @@ "mobile.configuration_overloaded": false, "mobile.enabled": false, "mobile.rgroups": { - "high": { + "tablets": { "theme": "", "enabled": false, "redirect": "", "agents": [ - "android", - "mobi", - "bada", - "incognito", + "a1-32ab0", + "a210", + "a211", + "b6000-h", + "b8000-h", + "bnrv200", + "bntv400", + "darwin", + "gt-n8005", + "gt-p3105", + "gt-p6810", + "gt-p7510", + "hmj37", + "hp-tablet", + "hp\\sslate", + "hp\\sslatebook", + "ht7s3", + "ideatab_a1107", + "ideataba2109a", + "ideos\\ss7", + "imm76d", + "ipad", + "k00f", + "kfjwi", + "kfot", + "kftt", "kindle", - "maemo", - "opera\\ mini", - "s8000", - "series60", - "ucbrowser", - "ucweb", - "webmate", - "webos" + "l-06c", + "lg-f200k", + "lg-f200l", + "lg-f200s", + "m470bsa", + "m470bse", + "maxwell", + "me173x", + "mediapad", + "midc497", + "msi\\senjoy\\s10\\splus", + "mz601", + "mz616", + "nexus", + "nookcolor", + "pg09410", + "pg41200", + "pmp5570c", + "pmp5588c", + "pocketbook", + "qmv7a", + "sgp311", + "sgpt12", + "shv-e230k", + "shw-m305w", + "shw-m380w", + "sm-p605", + "smarttab", + "sonysgp321", + "sph-p500", + "surfpad", + "tab07-200", + "tab10-201", + "tab465euk", + "tab474", + "tablet", + "tegranote", + "tf700t", + "thinkpad", + "viewpad", + "voltaire" ] }, - "low": { + "phones": { "theme": "", "enabled": false, "redirect": "", "agents": [ - "2\\.0\\ mmp", + "(android|bb\\d+|meego).+mobile", "240x320", + "2.0\\ mmp", + "\\bppc\\b", + "acer\\ s100", "alcatel", "amoi", + "archos5", "asus", - "au\\-mic", + "au-mic", "audiovox", "avantgo", + "bada", "benq", "bird", "blackberry", "blazer", "cdm", "cellphone", + "cupcake", "danger", "ddipocket", "docomo", + "docomo\\ ht-03a", "dopod", - "elaine\/3\\.0", + "dream", + "elaine\/3.0", "ericsson", "eudoraweb", "fly", + "froyo", + "googlebot-mobile", "haier", "hiptop", - "hp\\.ipaq", + "hp.ipaq", "htc", + "htc\\ hero", + "htc\\ magic", + "htc_dream", + "htc_magic", "huawei", - "i\\-mobile", + "i-mobile", "iemobile", "iemobile\/7", + "iemobile\/7.0", "iemobile\/9", - "j\\-phone", + "incognito", + "iphone", + "ipod", + "j-phone", "kddi", "konka", "kwc", @@ -687,27 +779,34 @@ "lenovo", "lg", "lg\/u990", + "lg-gw620", "lge\\ vx", + "liquid\\ build", + "maemo", "midp", - "midp\\-2\\.0", + "midp-2.0", "mmef20", "mmp", "mobilephone", - "mot\\-v", + "mot-mb200", + "mot-mb300", + "mot-v", "motorola", - "msie\\ 10\\.0", + "msie\\ 10.0", "netfront", "newgen", "newt", + "nexus\\ 7", + "nexus\\ one", "nintendo\\ ds", "nintendo\\ wii", "nitro", "nokia", "novarra", - "o2", "openweb", + "opera\\ mini", "opera\\ mobi", - "opera\\.mobi", + "opera.mobi", "p160u", "palm", "panasonic", @@ -719,40 +818,52 @@ "playbook", "playstation\\ portable", "portalmmm", - "\\bppc\\b", "proxinet", "psp", "qtek", + "s8000", "sagem", "samsung", + "samsung-s8000", "sanyo", "sch", - "sch\\-i800", + "sch-i800", "sec", "sendo", + "series60.*webkit", + "series60\/5.0", "sgh", "sharp", - "sharp\\-tq\\-gx10", + "sharp-tq-gx10", "small", "smartphone", "softbank", "sonyericsson", + "sonyericssone10", + "sonyericssonu20", + "sonyericssonx10", "sph", "symbian", "symbian\\ os", "symbianos", + "t-mobile\\ mytouch\\ 3g", + "t-mobile\\ opal", + "tattoo", "toshiba", + "touch", "treo", - "ts21i\\-10", - "up\\.browser", - "up\\.link", + "ts21i-10", + "up.browser", + "up.link", "uts", "vertu", "vodafone", "wap", + "webmate", + "webos", "willcome", "windows\\ ce", - "windows\\.ce", + "windows.ce", "winwap", "xda", "xoom", @@ -776,13 +887,14 @@ ] } }, + "robots_block.enable": false, "common.track_usage": false, "common.tweeted": false, - "config.check": false, + "config.check": true, "config.path": "", "widget.latest.items": 3, "widget.latest_news.items": 5, - "widget.pagespeed.enabled": true, + "widget.pagespeed.enabled": false, "widget.pagespeed.key": "", "widget.pagespeed.key.restrict.referrer": "", "widget.pagespeed.show_in_admin_bar": false, @@ -797,34 +909,17 @@ "timelimit.cdn_test": 300, "timelimit.domain_rename": 120, "timelimit.minify_recommendations": 600, - "common.instance_id": 393748815, + "common.instance_id": 1165104676, "common.force_master": true, "extensions.active": { - "newrelic": "w3-total-cache\/Extension_NewRelic_Plugin.php", - "fragmentcache": "w3-total-cache\/Extension_FragmentCache_Plugin.php", - "swarmify": "w3-total-cache\/Extension_Swarmify_Plugin.php" + "fragmentcache": "w3-total-cache\/Extension_FragmentCache_Plugin.php" }, "extensions.active_frontend": [], "extensions.active_dropin": [], "plugin.license_key": "", "plugin.type": "", - "common.support": "", - "timelimit.cdn_container_create": 300, + "jquerymigrate.disabled": false, "fragmentcache": { - "engine": "memcached", - "memcached.servers": [ - "127.0.0.1:11211" - ], - "memcached.persistent": "1", - "memcached.aws_autodiscovery": "0", - "memcached.username": "", - "memcached.password": "", - "lifetime": "3600", - "file.gc": "3600", - "groups": "" - }, - "pgcache.bad_behavior_path": "", - "newrelic": { - "monitoring_type": "apm" + "engine": "memcached" } -} \ No newline at end of file +} From d7a656b94fb0af3fa37d27d0c49c825d0304bb53 Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Sat, 25 Sep 2021 14:35:35 +0200 Subject: [PATCH 195/896] roundcube set elastic skin as defalt --- install/debian/11/roundcube/main.inc.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install/debian/11/roundcube/main.inc.php b/install/debian/11/roundcube/main.inc.php index 55a4e082..91f32000 100644 --- a/install/debian/11/roundcube/main.inc.php +++ b/install/debian/11/roundcube/main.inc.php @@ -685,7 +685,7 @@ $rcmail_config['addressbook_search_mode'] = 0; $rcmail_config['default_charset'] = 'UTF-8'; // skin name: folder from skins/ -$rcmail_config['skin'] = 'larry'; +$rcmail_config['skin'] = 'elastic'; // show up to X items in messages list view $rcmail_config['mail_pagesize'] = 50; From 43955dd086cb3da35d3532595ca2ff09bec9bbbc Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Sat, 25 Sep 2021 15:30:30 +0200 Subject: [PATCH 196/896] Updating apt before installation --- install/vst-install-debian.sh | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/install/vst-install-debian.sh b/install/vst-install-debian.sh index 99600590..f8f73cb4 100755 --- a/install/vst-install-debian.sh +++ b/install/vst-install-debian.sh @@ -294,15 +294,18 @@ if [ ! -z "$(grep ^admin: /etc/passwd)" ] && [ -z "$force" ]; then check_result 1 "User admin exists" fi +echo "Updating apt, please wait..." +apt-get update > /dev/null 2>&1 + # Checking wget if [ ! -e '/usr/bin/wget' ]; then - apt-get -y install wget + apt-get -y install wget > /dev/null 2>&1 check_result $? "Can't install wget" fi # Check if gnupg2 is installed if [ $(dpkg-query -W -f='${Status}' gnupg2 2>/dev/null | grep -c "ok installed") -eq 0 ]; then - apt -y install gnupg2 + apt-get -y install gnupg2 > /dev/null 2>&1 fi # Check if apparmor is installed From e843f1e701fbb77d235cfe68d329f08f1c51444f Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Sun, 26 Sep 2021 10:41:18 +0200 Subject: [PATCH 197/896] Removing pre-installed exim4 --- install/vst-install-debian.sh | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/install/vst-install-debian.sh b/install/vst-install-debian.sh index f8f73cb4..d985b525 100755 --- a/install/vst-install-debian.sh +++ b/install/vst-install-debian.sh @@ -329,6 +329,15 @@ for pkg in exim4 mysql-server apache2 nginx vesta; do fi done rm -f $tmpfile + +if [ ! -z "$conflicts" ] && [[ "$conflicts" = *"exim4"* ]]; then + echo "=== Removing pre-installed exim4" + apt remove --purge -y exim4 exim4-base exim4-config + rm -rf /etc/exim4 + conflicts=$(echo "$conflicts" | sed -e "s/exim4//") + conflicts=$(echo "$conflicts" | sed -e "s/ //") +fi + if [ ! -z "$conflicts" ] && [ -z "$force" ]; then echo '!!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!!' echo From f66403eb9fe4b1c09846cbd8e6a35ce62f5105fd Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Sun, 26 Sep 2021 11:55:15 +0200 Subject: [PATCH 198/896] Better replacing yescrypt to sha512 --- install/vst-install-debian.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install/vst-install-debian.sh b/install/vst-install-debian.sh index d985b525..231e2aa3 100755 --- a/install/vst-install-debian.sh +++ b/install/vst-install-debian.sh @@ -1442,7 +1442,7 @@ fi if [ "$release" -eq 11 ]; then # Switching to sha512 - sed -i "s/obscure yescrypt/obscure sha512/g" /etc/pam.d/common-password + sed -i "s/yescrypt/sha512/g" /etc/pam.d/common-password fi # Deleting old admin user From 1884463e8efe5082237995deaa234a2a4f09c333 Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Mon, 27 Sep 2021 16:28:49 +0200 Subject: [PATCH 199/896] Set original cPanel mail passwords --- bin/v-import-cpanel-backup | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/bin/v-import-cpanel-backup b/bin/v-import-cpanel-backup index fc3c7352..c6005800 100644 --- a/bin/v-import-cpanel-backup +++ b/bin/v-import-cpanel-backup @@ -7,7 +7,6 @@ # This script can import databases and database users and password, # Import domains, subdomains and website files # This script import also mail accounts and mails into accounts if previous cpanel run dovecot -# Mail password not are restored this was reset by new one. ########### # If you need restore main database user read line 160 or above ########### @@ -272,7 +271,13 @@ if [[ "$sk_maild" != "cur" && "$sk_maild" != "new" && "$sk_maild" != "tmp" ]]; mv ${sk_maild}/${sk_mail_account} /home/${sk_cp_user}/mail/${sk_maild} chown ${sk_cp_user}:mail -R /home/${sk_cp_user}/mail/${sk_maild} find /home/${sk_cp_user}/mail/${sk_maild} -type f -name 'dovecot*' -delete - echo "${sk_mail_account}@${sk_maild} | $sk_mail_pass1" >> /root/sk_mail_password_${sk_cp_user}-${sk_cod} + # echo "${sk_mail_account}@${sk_maild} | $sk_mail_pass1" >> /root/sk_mail_password_${sk_cp_user}-${sk_cod} + echo "Set password for ${sk_mail_account}@${sk_maild}" + pass=$(grep "^${sk_mail_account}:" ${sk_importer_in}/homedir/etc/${sk_maild}/shadow | awk -F ":" '{print $2}') + newline="${sk_mail_account}:{SHA512-CRYPT}$pass:${sk_cp_user}:mail::/home/${sk_cp_user}:0" + echo $newline + escaped=$(printf '%s\n' "$newline" | sed -e 's/[\/&]/\\&/g') + sed -i "s/^${sk_mail_account}:.*/$escaped/g" /home/${sk_cp_user}/conf/mail/${sk_maild}/passwd done fi #else @@ -351,7 +356,7 @@ tput setaf 4 echo "##############################" echo "cPanel Backup restored" echo "Review your content and report any fail" -echo "I reset mail password not posible restore it yet." -echo "Check your new passwords runing: cat /root/sk_mail_password_${sk_cp_user}-${sk_cod}" +# echo "I reset mail password not posible restore it yet." +# echo "Check your new passwords runing: cat /root/sk_mail_password_${sk_cp_user}-${sk_cod}" echo "##############################" tput sgr0 From d4411dc92f7c67ab0fba4cee4a1f87b7b21fe043 Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Mon, 27 Sep 2021 19:12:33 +0200 Subject: [PATCH 200/896] Update v-import-cpanel-backup --- bin/v-import-cpanel-backup | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/v-import-cpanel-backup b/bin/v-import-cpanel-backup index c6005800..a740a44b 100644 --- a/bin/v-import-cpanel-backup +++ b/bin/v-import-cpanel-backup @@ -275,7 +275,7 @@ if [[ "$sk_maild" != "cur" && "$sk_maild" != "new" && "$sk_maild" != "tmp" ]]; echo "Set password for ${sk_mail_account}@${sk_maild}" pass=$(grep "^${sk_mail_account}:" ${sk_importer_in}/homedir/etc/${sk_maild}/shadow | awk -F ":" '{print $2}') newline="${sk_mail_account}:{SHA512-CRYPT}$pass:${sk_cp_user}:mail::/home/${sk_cp_user}:0" - echo $newline + # echo $newline escaped=$(printf '%s\n' "$newline" | sed -e 's/[\/&]/\\&/g') sed -i "s/^${sk_mail_account}:.*/$escaped/g" /home/${sk_cp_user}/conf/mail/${sk_maild}/passwd done From fc483f5d3cf29631f171d545c8790e3727482d8c Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Mon, 27 Sep 2021 21:35:47 +0200 Subject: [PATCH 201/896] Set original cPanel mail passwords --- bin/v-import-cpanel-backup | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/bin/v-import-cpanel-backup b/bin/v-import-cpanel-backup index a740a44b..a4d40226 100644 --- a/bin/v-import-cpanel-backup +++ b/bin/v-import-cpanel-backup @@ -252,6 +252,11 @@ rm -f sk_sds2 sk_sds ################## # mail + +time_n_date=$(date +'%T %F') +time=$(echo "$time_n_date" |cut -f 1 -d \ ) +date=$(echo "$time_n_date" |cut -f 2 -d \ ) + tput setaf 2 echo "Start Restoring Mails" tput sgr0 @@ -272,12 +277,15 @@ if [[ "$sk_maild" != "cur" && "$sk_maild" != "new" && "$sk_maild" != "tmp" ]]; chown ${sk_cp_user}:mail -R /home/${sk_cp_user}/mail/${sk_maild} find /home/${sk_cp_user}/mail/${sk_maild} -type f -name 'dovecot*' -delete # echo "${sk_mail_account}@${sk_maild} | $sk_mail_pass1" >> /root/sk_mail_password_${sk_cp_user}-${sk_cod} - echo "Set password for ${sk_mail_account}@${sk_maild}" - pass=$(grep "^${sk_mail_account}:" ${sk_importer_in}/homedir/etc/${sk_maild}/shadow | awk -F ":" '{print $2}') - newline="${sk_mail_account}:{SHA512-CRYPT}$pass:${sk_cp_user}:mail::/home/${sk_cp_user}:0" - # echo $newline - escaped=$(printf '%s\n' "$newline" | sed -e 's/[\/&]/\\&/g') - sed -i "s/^${sk_mail_account}:.*/$escaped/g" /home/${sk_cp_user}/conf/mail/${sk_maild}/passwd + echo "Set password for ${sk_mail_account}@${sk_maild}" + pass=$(grep "^${sk_mail_account}:" ${sk_importer_in}/homedir/etc/${sk_maild}/shadow | awk -F ":" '{print $2}') + newline="${sk_mail_account}:{SHA512-CRYPT}$pass:${sk_cp_user}:mail::/home/${sk_cp_user}:0" + newline2="ACCOUNT='${sk_mail_account}' ALIAS='' AUTOREPLY='no' FWD='' FWD_ONLY='' MD5='{SHA512-CRYPT}$pass' QUOTA='unlimited' U_DISK='0' SUSPENDED='no' TIME='$time' DATE='$date'" + # echo $newline + escaped=$(printf '%s\n' "$newline" | sed -e 's/[\/&]/\\&/g') + escaped2=$(printf '%s\n' "$newline2" | sed -e 's/[\/&]/\\&/g') + sed -i "s/^${sk_mail_account}:.*/$escaped/g" /home/${sk_cp_user}/conf/mail/${sk_maild}/passwd + sed -i "s/^ACCOUNT='${sk_mail_account}.*/$escaped2/g" /usr/local/vesta/data/users/${sk_cp_user}/mail/${sk_maild}.conf done fi #else From 2ac72e00fb914eee6632ee0937782ceede89ee4f Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Thu, 30 Sep 2021 11:02:23 +0200 Subject: [PATCH 202/896] Fix Autoreply issue with Exim 4.94+ --- bin/v-add-mail-account | 2 ++ bin/v-add-mail-domain | 2 ++ bin/v-delete-mail-account | 1 + func/rebuild.sh | 6 ++++++ install/debian/11/exim/exim4.conf.template | 4 ++-- install/vst-install-debian.sh | 1 + src/deb/vesta/postinst | 11 +++++++++++ 7 files changed, 25 insertions(+), 2 deletions(-) diff --git a/bin/v-add-mail-account b/bin/v-add-mail-account index 1675d5d7..81da9e71 100755 --- a/bin/v-add-mail-account +++ b/bin/v-add-mail-account @@ -61,6 +61,8 @@ if [[ "$MAIL_SYSTEM" =~ exim ]]; then fi str="$account:$md5:$user:mail::$HOMEDIR/$user:$quota" echo $str >> $HOMEDIR/$user/conf/mail/$domain/passwd + userstr="$account:$account:$user:mail:$HOMEDIR/$user" + echo $userstr >> $HOMEDIR/$user/conf/mail/$domain/accounts fi # Create mail account folder (mailbox) diff --git a/bin/v-add-mail-domain b/bin/v-add-mail-domain index 7c9dbc36..c26dadb2 100755 --- a/bin/v-add-mail-domain +++ b/bin/v-add-mail-domain @@ -91,6 +91,7 @@ if [[ "$MAIL_SYSTEM" =~ exim ]]; then touch $HOMEDIR/$user/conf/mail/$domain/aliases touch $HOMEDIR/$user/conf/mail/$domain/passwd touch $HOMEDIR/$user/conf/mail/$domain/fwd_only + touch $HOMEDIR/$user/conf/mail/$domain/accounts ln -s $HOMEDIR/$user/conf/mail/$domain \ /etc/$MAIL_SYSTEM/domains/$domain_idn @@ -119,6 +120,7 @@ if [[ "$MAIL_SYSTEM" =~ exim ]]; then # Set ownership chown -R $MAIL_USER:mail $HOMEDIR/$user/conf/mail/$domain chown -R dovecot:mail $HOMEDIR/$user/conf/mail/$domain/passwd + chown $MAIL_USER:mail $HOMEDIR/$user/conf/mail/$domain/accounts chown $user:mail $HOMEDIR/$user/mail/$domain_idn fi diff --git a/bin/v-delete-mail-account b/bin/v-delete-mail-account index f0da423c..09c41b50 100755 --- a/bin/v-delete-mail-account +++ b/bin/v-delete-mail-account @@ -53,6 +53,7 @@ if [[ "$MAIL_SYSTEM" =~ exim ]]; then sed -i "/^$account@$domain_idn:/d" $HOMEDIR/$user/conf/mail/$domain/aliases sed -i "/^$account:/d" $HOMEDIR/$user/conf/mail/$domain/passwd + sed -i "/^$account:/d" $HOMEDIR/$user/conf/mail/$domain/accounts rm -rf $HOMEDIR/$user/mail/$domain/$account fi diff --git a/func/rebuild.sh b/func/rebuild.sh index b4df3d20..bf04dda0 100644 --- a/func/rebuild.sh +++ b/func/rebuild.sh @@ -445,9 +445,12 @@ rebuild_mail_domain_conf() { rm -f $HOMEDIR/$user/conf/mail/$domain/protection rm -f $HOMEDIR/$user/conf/mail/$domain/passwd rm -f $HOMEDIR/$user/conf/mail/$domain/fwd_only + rm -f $HOMEDIR/$user/conf/mail/$domain/accounts + touch $HOMEDIR/$user/conf/mail/$domain/aliases touch $HOMEDIR/$user/conf/mail/$domain/passwd touch $HOMEDIR/$user/conf/mail/$domain/fwd_only + touch $HOMEDIR/$user/conf/mail/$domain/accounts # Adding antispam protection if [ "$ANTISPAM" = 'yes' ]; then @@ -506,6 +509,8 @@ rebuild_mail_domain_conf() { fi str="$account:$MD5:$user:mail::$HOMEDIR/$user:$QUOTA" echo $str >> $HOMEDIR/$user/conf/mail/$domain/passwd + userstr="$account:$account:$user:mail:$HOMEDIR/$user" + echo $userstr >> $HOMEDIR/$user/conf/mail/$domain/accounts for malias in ${ALIAS//,/ }; do echo "$malias@$domain_idn:$account@$domain_idn" >> $dom_aliases done @@ -527,6 +532,7 @@ rebuild_mail_domain_conf() { chmod 770 $HOMEDIR/$user/mail/$domain_idn chown -R $MAIL_USER:mail $HOMEDIR/$user/conf/mail/$domain chown -R dovecot:mail $HOMEDIR/$user/conf/mail/$domain/passwd + chown $MAIL_USER:mail $HOMEDIR/$user/conf/mail/$domain/accounts chown $user:mail $HOMEDIR/$user/mail/$domain_idn fi diff --git a/install/debian/11/exim/exim4.conf.template b/install/debian/11/exim/exim4.conf.template index 977dc661..d8bca393 100644 --- a/install/debian/11/exim/exim4.conf.template +++ b/install/debian/11/exim/exim4.conf.template @@ -381,8 +381,8 @@ address_reply: userautoreply: driver = autoreply - file = /etc/exim4/domains/${lookup{$domain}dsearch{/etc/exim4/domains/}}/autoreply.${lookup{$local_part}dsearch{${extract{5}{:}{${lookup{$local_part}lsearch{/etc/exim4/domains/${lookup{$domain}dsearch{/etc/exim4/domains/}}/passwd}}}}/mail/${lookup{$domain}dsearch{/etc/exim4/domains/}}}}.msg - from = "${lookup{$local_part}dsearch{${extract{5}{:}{${lookup{$local_part}lsearch{/etc/exim4/domains/${lookup{$domain}dsearch{/etc/exim4/domains/}}/passwd}}}}/mail/${lookup{$domain}dsearch{/etc/exim4/domains/}}}}@${lookup{$domain}dsearch{/etc/exim4/domains/}}" + file = /etc/exim4/domains/${lookup{$domain}dsearch{/etc/exim4/domains/}}/autoreply.${extract{1}{:}{${lookup{$local_part}lsearch{/etc/exim4/domains/${lookup{$domain}dsearch{/etc/exim4/domains/}}/accounts}}}}.msg + from = "${extract{1}{:}{${lookup{$local_part}lsearch{/etc/exim4/domains/${lookup{$domain}dsearch{/etc/exim4/domains/}}/accounts}}}}@${lookup{$domain}dsearch{/etc/exim4/domains/}}" headers = Content-Type: text/plain; charset=utf-8;\nContent-Transfer-Encoding: 8bit subject = "${if def:h_Subject: {Autoreply: \"${rfc2047:$h_Subject:}\"} {Autoreply Message}}" to = "${sender_address}" diff --git a/install/vst-install-debian.sh b/install/vst-install-debian.sh index 231e2aa3..b73c929f 100755 --- a/install/vst-install-debian.sh +++ b/install/vst-install-debian.sh @@ -1734,6 +1734,7 @@ touch /usr/local/vesta/data/upgrades/apache_status_public_access touch /usr/local/vesta/data/upgrades/update-cloudflare-ips touch /usr/local/vesta/data/upgrades/enable-tls-in-proftpd touch /usr/local/vesta/data/upgrades/enable_cookie_httponly +touch /usr/local/vesta/data/upgrades/fix_exim_494_autoreply # Secret URL secretquery='' diff --git a/src/deb/vesta/postinst b/src/deb/vesta/postinst index dbb7cbd2..906cd305 100755 --- a/src/deb/vesta/postinst +++ b/src/deb/vesta/postinst @@ -23,6 +23,17 @@ fi echo "1" > /usr/local/vesta/data/upgrades/show_changelog chmod a=rw /usr/local/vesta/data/upgrades/show_changelog +# Fix Autoreply issue with Exim 4.94+ +if [ ! -f "/usr/local/vesta/data/upgrades/fix_exim_494_autoreply" ]; then + touch /usr/local/vesta/data/upgrades/fix_exim_494_autoreply + if [ -f "/etc/exim4/exim4.conf.template" ]; then + echo "== Fix Autoreply issue with Exim 4.94+" + sed -i 's|file = /etc/exim4/domains/${lookup{$domain}dsearch{/etc/exim4/domains/}}/autoreply.${lookup{$local_part}dsearch{${extract{5}{:}{${lookup{$local_part}lsearch{/etc/exim4/domains/${lookup{$domain}dsearch{/etc/exim4/domains/}}/passwd}}}}/mail/${lookup{$domain}dsearch{/etc/exim4/domains/}}}}.msg|file = /etc/exim4/domains/${lookup{$domain}dsearch{/etc/exim4/domains/}}/autoreply.${extract{1}{:}{${lookup{$local_part}lsearch{/etc/exim4/domains/${lookup{$domain}dsearch{/etc/exim4/domains/}}/accounts}}}}.msg|g' /etc/exim4/exim4.conf.template + sed -i 's| from = "${lookup{$local_part}dsearch{${extract{5}{:}{${lookup{$local_part}lsearch{/etc/exim4/domains/${lookup{$domain}dsearch{/etc/exim4/domains/}}/passwd}}}}/mail/${lookup{$domain}dsearch{/etc/exim4/domains/}}}}@${lookup{$domain}dsearch{/etc/exim4/domains/}}"| from = "${extract{1}{:}{${lookup{$local_part}lsearch{/etc/exim4/domains/${lookup{$domain}dsearch{/etc/exim4/domains/}}/accounts}}}}@${lookup{$domain}dsearch{/etc/exim4/domains/}}"|g' /etc/exim4/exim4.conf.template + systemctl restart exim4 + fi +fi + # Enabling session.cookie_httponly and session.cookie_secure in myvesta php-fpm if [ ! -f "/usr/local/vesta/data/upgrades/enable_cookie_httponly" ]; then touch /usr/local/vesta/data/upgrades/enable_cookie_httponly From f236015bdf806bbb8b438b601af9bcad91eef1b6 Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Thu, 30 Sep 2021 13:40:01 +0200 Subject: [PATCH 203/896] Update process for Autoreply fix with Exim 4.94+ --- src/deb/vesta/postinst | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/src/deb/vesta/postinst b/src/deb/vesta/postinst index 906cd305..b644a3cd 100755 --- a/src/deb/vesta/postinst +++ b/src/deb/vesta/postinst @@ -25,12 +25,20 @@ chmod a=rw /usr/local/vesta/data/upgrades/show_changelog # Fix Autoreply issue with Exim 4.94+ if [ ! -f "/usr/local/vesta/data/upgrades/fix_exim_494_autoreply" ]; then - touch /usr/local/vesta/data/upgrades/fix_exim_494_autoreply - if [ -f "/etc/exim4/exim4.conf.template" ]; then - echo "== Fix Autoreply issue with Exim 4.94+" - sed -i 's|file = /etc/exim4/domains/${lookup{$domain}dsearch{/etc/exim4/domains/}}/autoreply.${lookup{$local_part}dsearch{${extract{5}{:}{${lookup{$local_part}lsearch{/etc/exim4/domains/${lookup{$domain}dsearch{/etc/exim4/domains/}}/passwd}}}}/mail/${lookup{$domain}dsearch{/etc/exim4/domains/}}}}.msg|file = /etc/exim4/domains/${lookup{$domain}dsearch{/etc/exim4/domains/}}/autoreply.${extract{1}{:}{${lookup{$local_part}lsearch{/etc/exim4/domains/${lookup{$domain}dsearch{/etc/exim4/domains/}}/accounts}}}}.msg|g' /etc/exim4/exim4.conf.template - sed -i 's| from = "${lookup{$local_part}dsearch{${extract{5}{:}{${lookup{$local_part}lsearch{/etc/exim4/domains/${lookup{$domain}dsearch{/etc/exim4/domains/}}/passwd}}}}/mail/${lookup{$domain}dsearch{/etc/exim4/domains/}}}}@${lookup{$domain}dsearch{/etc/exim4/domains/}}"| from = "${extract{1}{:}{${lookup{$local_part}lsearch{/etc/exim4/domains/${lookup{$domain}dsearch{/etc/exim4/domains/}}/accounts}}}}@${lookup{$domain}dsearch{/etc/exim4/domains/}}"|g' /etc/exim4/exim4.conf.template - systemctl restart exim4 + if [ "$release" -eq 11 ]; then + touch /usr/local/vesta/data/upgrades/fix_exim_494_autoreply + if [ -f "/etc/exim4/exim4.conf.template" ]; then + echo "== Fix Autoreply issue with Exim 4.94+" + sed -i 's|file = /etc/exim4/domains/${lookup{$domain}dsearch{/etc/exim4/domains/}}/autoreply.${lookup{$local_part}dsearch{${extract{5}{:}{${lookup{$local_part}lsearch{/etc/exim4/domains/${lookup{$domain}dsearch{/etc/exim4/domains/}}/passwd}}}}/mail/${lookup{$domain}dsearch{/etc/exim4/domains/}}}}.msg|file = /etc/exim4/domains/${lookup{$domain}dsearch{/etc/exim4/domains/}}/autoreply.${extract{1}{:}{${lookup{$local_part}lsearch{/etc/exim4/domains/${lookup{$domain}dsearch{/etc/exim4/domains/}}/accounts}}}}.msg|g' /etc/exim4/exim4.conf.template + sed -i 's| from = "${lookup{$local_part}dsearch{${extract{5}{:}{${lookup{$local_part}lsearch{/etc/exim4/domains/${lookup{$domain}dsearch{/etc/exim4/domains/}}/passwd}}}}/mail/${lookup{$domain}dsearch{/etc/exim4/domains/}}}}@${lookup{$domain}dsearch{/etc/exim4/domains/}}"| from = "${extract{1}{:}{${lookup{$local_part}lsearch{/etc/exim4/domains/${lookup{$domain}dsearch{/etc/exim4/domains/}}/accounts}}}}@${lookup{$domain}dsearch{/etc/exim4/domains/}}"|g' /etc/exim4/exim4.conf.template + for user in $(grep '@' /etc/passwd |cut -f1 -d:); do + if [ ! -f "/usr/local/vesta/data/users/$user/user.conf" ]; then + continue; + fi + v-rebuild-mail-domains $user + done + systemctl restart exim4 + fi fi fi From fd8a44ae23884f345626ffd50bcf47dd11eb95fd Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Thu, 30 Sep 2021 13:43:51 +0200 Subject: [PATCH 204/896] Update postinst --- src/deb/vesta/postinst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/deb/vesta/postinst b/src/deb/vesta/postinst index b644a3cd..8649087b 100755 --- a/src/deb/vesta/postinst +++ b/src/deb/vesta/postinst @@ -35,7 +35,7 @@ if [ ! -f "/usr/local/vesta/data/upgrades/fix_exim_494_autoreply" ]; then if [ ! -f "/usr/local/vesta/data/users/$user/user.conf" ]; then continue; fi - v-rebuild-mail-domains $user + /usr/local/vesta/bin/v-rebuild-mail-domains $user done systemctl restart exim4 fi From 9eb21cef4cf2c23c7476de7e4c95d73f2ded53db Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Thu, 30 Sep 2021 15:44:18 +0200 Subject: [PATCH 205/896] Define mail user in rebuild_mail_domain_conf() --- func/rebuild.sh | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/func/rebuild.sh b/func/rebuild.sh index bf04dda0..23f9d4d7 100644 --- a/func/rebuild.sh +++ b/func/rebuild.sh @@ -523,6 +523,12 @@ rebuild_mail_domain_conf() { fi done + # Define mail user + if [ "$MAIL_SYSTEM" = 'exim4' ]; then + MAIL_USER=Debian-exim + else + MAIL_USER=exim + fi # Set permissions and ownership if [[ "$MAIL_SYSTEM" =~ exim ]]; then chmod 660 $USER_DATA/mail/$domain.* From 402131c22b352e9200c8f141aa516aff53692fec Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Thu, 30 Sep 2021 16:41:36 +0200 Subject: [PATCH 206/896] Moving v-install-wordpress to --parameters --- bin/v-install-wordpress | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/bin/v-install-wordpress b/bin/v-install-wordpress index 8e60dc6f..82c8e6ac 100644 --- a/bin/v-install-wordpress +++ b/bin/v-install-wordpress @@ -17,14 +17,15 @@ fi # Argument definition domain=$1 -database="wp"; -if [ $# -gt 1 ]; then - database=$2 +# take --parameters +source /usr/local/vesta/func/handle_parameters.sh + +if [ -z "$database" ]; then + database="wp" fi -email="info@$domain"; -if [ $# -gt 2 ]; then - email=$3 +if [ -z "$emil" ]; then + email="info@$domain"; fi user=$(/usr/local/vesta/bin/v-search-domain-owner $domain) @@ -83,11 +84,15 @@ PASSWDDB=$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 8 | head -n 1) #----------------------------------------------------------# PROTOCOL='http' -if [ ! -f "/home/$user/conf/web/ssl.$domain.ca" ]; then - /usr/local/vesta/bin/v-add-letsencrypt-domain "$user" "$domain" "www.$domain" "yes" +if [ -z "$SKIP_LE" ]; then + if [ ! -f "/home/$user/conf/web/ssl.$domain.ca" ]; then + /usr/local/vesta/bin/v-add-letsencrypt-domain "$user" "$domain" "www.$domain" "yes" + fi +else + PROTOCOL='https' fi -if [ -f "/home/$user/conf/web/ssl.$domain.ca" ]; then +if [ -f "/home/$user/conf/web/ssl.$domain.ca" ] || [ ! -z "$SKIP_LE" ]; then PROTOCOL='https' if [ -f "/usr/local/vesta/data/templates/web/nginx/force-https.stpl" ]; then /usr/local/vesta/bin/v-change-web-domain-proxy-tpl "$user" "$domain" "force-https" "jpeg,jpg,png,gif,bmp,ico,svg,tif,tiff,css,js,ttf,otf,webp,txt,csv,rtf,doc,docx,xls,xlsx,ppt,pptx,odf,odp,ods,odt,pdf,psd,ai,eot,eps,ps,zip,tar,tgz,gz,rar,bz2,7z,aac,m4a,mp3,mp4,ogg,wav,wma,3gp,avi,flv,m4v,mkv,mov,mpeg,mpg,wmv,exe,iso,dmg,swf,woff,woff2" "yes" From def46e8cd7b738b5dce9d94b9a29358e4232af19 Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Tue, 12 Oct 2021 11:41:04 +0200 Subject: [PATCH 207/896] Update v-install-wordpress --- bin/v-install-wordpress | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/bin/v-install-wordpress b/bin/v-install-wordpress index 82c8e6ac..d558dd35 100644 --- a/bin/v-install-wordpress +++ b/bin/v-install-wordpress @@ -17,17 +17,6 @@ fi # Argument definition domain=$1 -# take --parameters -source /usr/local/vesta/func/handle_parameters.sh - -if [ -z "$database" ]; then - database="wp" -fi - -if [ -z "$emil" ]; then - email="info@$domain"; -fi - user=$(/usr/local/vesta/bin/v-search-domain-owner $domain) if [ -z "$user" ]; then check_result $E_NOTEXIST "domain $domain doesn't exist" @@ -49,6 +38,17 @@ is_format_valid 'domain' 'database' 'email' is_object_valid 'user' 'USER' "$user" is_object_unsuspended 'user' 'USER' "$user" +# take --parameters +source /usr/local/vesta/func/handle_parameters.sh + +if [ -z "$database" ]; then + database="wp" +fi + +if [ -z "$emil" ]; then + email="info@$domain"; +fi + if [ ! -d "/home/$user" ]; then echo "User doesn't exist"; exit 1; From 8bbfc1255ffacc02c2e45617320b29dd92adbb4d Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Fri, 15 Oct 2021 10:33:21 +0200 Subject: [PATCH 208/896] Avoiding error if unzip destination exists --- bin/v-extract-fs-archive | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/v-extract-fs-archive b/bin/v-extract-fs-archive index ec70baba..1ea608af 100755 --- a/bin/v-extract-fs-archive +++ b/bin/v-extract-fs-archive @@ -82,7 +82,7 @@ fi # Extracting ziped archive if [ ! -z "$(echo $src_file |grep -i '.zip')" ]; then sudo -u $user mkdir -p "$dst_dir" >/dev/null 2>&1 - sudo -u $user unzip "$src_file" -d "$dst_dir" >/dev/null 2>&1 + sudo -u $user unzip -o "$src_file" -d "$dst_dir" >/dev/null 2>&1 rc=$? fi From a493c140cea6ac604938273c244128fac9d7c807 Mon Sep 17 00:00:00 2001 From: Jaap Marcus <9754650+jaapmarcus@users.noreply.github.com> Date: Mon, 18 Oct 2021 09:31:48 +0200 Subject: [PATCH 209/896] Regex string threaded literally instead as regex During shellcheck of Hestia source code I noticed the following error matching the line: ^----^ SC2076: Don't quote right-hand side of =~, it'll match literally rather than as a regex. ^--------------^ SC2076: Don't quote right-hand side of =~, it'll match literally rather Proof of concept: root@dev:~# v-add-web-domain jaap jaap..nu Error: nginx restart failed root@dev:~# v-add-web-domain jaap jaap..nu Error: invalid domain format :: jaap..nu --- func/main.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/func/main.sh b/func/main.sh index 5f71bb1f..a92bb59a 100644 --- a/func/main.sh +++ b/func/main.sh @@ -551,7 +551,7 @@ is_user_format_valid() { is_domain_format_valid() { object_name=${2-domain} exclude="[!|@|#|$|^|&|*|(|)|+|=|{|}|:|,|<|>|?|_|/|\|\"|'|;|%|\`| ]" - if [[ $1 =~ $exclude ]] || [[ $1 =~ ^[0-9]+$ ]] || [[ $1 =~ "\.\." ]] || [[ $1 =~ "$(printf '\t')" ]]; then + if [[ $1 =~ $exclude ]] || [[ $1 =~ ^[0-9]+$ ]] || [[ $1 =~ \.\. ]] || [[ $1 =~ $(printf '\t') ]]; then check_result $E_INVALID "invalid $object_name format :: $1" fi } From f68d0178c810d5353434d9a1f4becb4ef80233c3 Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Wed, 20 Oct 2021 21:51:17 +0200 Subject: [PATCH 210/896] Update multi-php-install.sh --- src/deb/for-download/tools/multi-php-install.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/deb/for-download/tools/multi-php-install.sh b/src/deb/for-download/tools/multi-php-install.sh index ce04f573..4dd830c1 100644 --- a/src/deb/for-download/tools/multi-php-install.sh +++ b/src/deb/for-download/tools/multi-php-install.sh @@ -293,6 +293,6 @@ if [ $debian_version -eq 10 ]; then a2dismod php8.0 a2dismod mpm_prefork a2enmod mpm_event - apt-get -y remove libapache2-mod-php8.0 + apt-get -y remove libapache2-mod-php* service apache2 restart fi From e2537d902655ccd90dcf3930d3925896c7ceefe7 Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Wed, 20 Oct 2021 23:34:42 +0200 Subject: [PATCH 211/896] Set default php in installer --- install/vst-install-debian.sh | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/install/vst-install-debian.sh b/install/vst-install-debian.sh index b73c929f..4f48ca0b 100755 --- a/install/vst-install-debian.sh +++ b/install/vst-install-debian.sh @@ -1637,7 +1637,9 @@ if [ "$release" -eq 9 ]; then patch -p1 --directory=/ < /root/vesta-temp-dl/vesta/patch/php7.0-dedi.patch fi fi + update-alternatives --set php /usr/bin/php7.0 fi + if [ "$release" -eq 10 ]; then if [ $memory -lt 10000000 ]; then echo "=== Patching php7.3-vps" @@ -1647,8 +1649,10 @@ if [ "$release" -eq 10 ]; then echo "=== Patching php7.3-dedi" patch /etc/php/7.3/fpm/php.ini < $vestacp/php/php7.3-dedi.patch fi + update-alternatives --set php /usr/bin/php7.3 service php7.3-fpm restart fi + if [ "$release" -eq 11 ]; then if [ $memory -lt 10000000 ]; then echo "=== Patching php7.4-vps" @@ -1658,6 +1662,7 @@ if [ "$release" -eq 11 ]; then echo "=== Patching php7.4-dedi" patch /etc/php/7.4/fpm/php.ini < $vestacp/php/php7.4-dedi.patch fi + update-alternatives --set php /usr/bin/php7.4 service php7.4-fpm restart fi From 5633b839e5e3821784aa880c6c35b04038e70039 Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Wed, 20 Oct 2021 23:36:26 +0200 Subject: [PATCH 212/896] Update multi-php-install.sh --- src/deb/for-download/tools/multi-php-install.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/deb/for-download/tools/multi-php-install.sh b/src/deb/for-download/tools/multi-php-install.sh index 4dd830c1..6d30ab25 100644 --- a/src/deb/for-download/tools/multi-php-install.sh +++ b/src/deb/for-download/tools/multi-php-install.sh @@ -281,7 +281,7 @@ fi apt update apt upgrade -y -if [ $debian_version -eq 10 ]; then +if [ $debian_version -ge 10 ]; then a2dismod ruid2 a2dismod suexec a2dismod php5.6 @@ -291,6 +291,7 @@ if [ $debian_version -eq 10 ]; then a2dismod php7.3 a2dismod php7.4 a2dismod php8.0 + a2dismod php8.1 a2dismod mpm_prefork a2enmod mpm_event apt-get -y remove libapache2-mod-php* From bc9ca52c3736bd9dc46df38eed98b6231c0dc58a Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Wed, 20 Oct 2021 23:48:42 +0200 Subject: [PATCH 213/896] Create v-clean-garbage --- bin/v-clean-garbage | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 bin/v-clean-garbage diff --git a/bin/v-clean-garbage b/bin/v-clean-garbage new file mode 100644 index 00000000..fc354210 --- /dev/null +++ b/bin/v-clean-garbage @@ -0,0 +1,35 @@ +#!/bin/bash + +nice -n 19 ionice -c 3 find /home/*/tmp/ -type f -delete +find /home/ -name '.wp-cli' -type d -exec rm -rf {} \; + +rm /var/backups/* +rm /var/cache/apt/archives/* +cd /var/log +truncate -s 0 xferlog lastlog faillog btmp syslog; +find /var/log/ -name "*.log" -type f -exec truncate -s 0 {} \; +find /var/log/ -name "*.err" -type f -exec truncate -s 0 {} \; +find /var/log/ -name "errors" -type f -exec truncate -s 0 {} \; +find /var/log/ -name "*.info" -type f -exec truncate -s 0 {} \; +find /var/log/ -name "*.warn" -type f -exec truncate -s 0 {} \; +find /var/log/ -type f -name "*.1" -delete +find /var/log/ -type f -name "*.2" -delete +find /var/log/ -type f -name "*.3" -delete +find /var/log/ -type f -name "*.4" -delete +find /var/log/ -type f -name "*.5" -delete +find /var/log/ -type f -name "*.6" -delete +find /var/log/ -type f -name "*.7" -delete +find /var/log/ -name "*.gz" -type f -delete +find /usr/local/vesta/log/ -type f -name "*.log" -exec truncate -s 0 {} \; +find /usr/local/vesta/log/ -type f -not -name "*.log" -delete +find /var/log/exim4/ -type f -exec truncate -s 0 {} \; + +find /home/*/web/*/public_html/wp-content/aiowps_backups/ -type f -not -name ".htaccess" -not -name "index.php" -not -name "index.html" -not -name "web.config" -delete +find /home/*/web/*/public_html/wp-content/envato-backups/ -type f -not -name ".htaccess" -not -name "index.php" -not -name "index.html" -not -name "web.config" -delete +find /home/*/web/*/public_html/wp-content/ai1wm-backups/ -type f -not -name ".htaccess" -not -name "index.php" -not -name "index.html" -not -name "web.config" -delete +find /home/*/web/*/public_html/wp-content/updraft/ -type f -not -name ".htaccess" -not -name "index.php" -not -name "index.html" -not -name "web.config" -delete +find /home/*/web/*/public_html/ -type f -name "error_log" -delete +find /home/*/web/*/public_html/ -type f -name "error_log.txt" -delete +find /home/ -type f -name "*.log" -delete + +echo "=== Garbage cleaned ===" From 39c9ebc2a7edbb1dd17fd5b4e6110cb065fba852 Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Sun, 7 Nov 2021 00:33:45 +0100 Subject: [PATCH 214/896] curl --silent in v-add-letsencrypt-domain --- bin/v-add-letsencrypt-domain | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/v-add-letsencrypt-domain b/bin/v-add-letsencrypt-domain index 3a7b10b8..0cea207c 100755 --- a/bin/v-add-letsencrypt-domain +++ b/bin/v-add-letsencrypt-domain @@ -287,7 +287,7 @@ for auth in $authz; do check_result $E_CONNECT "Let's Encrypt domain validation timeout" fi echo "[$(date)] : curl: $url2 :" >> /usr/local/vesta/log/letsencrypt.log - get_answer=$(curl -S "$url2") + get_answer=$(curl --silent -S "$url2") echo "[$(date)] : get_answer=$get_answer" >> /usr/local/vesta/log/letsencrypt.log sleeping=$((i*2)) echo "[$(date)] : sleep $sleeping (i=$i)" >> /usr/local/vesta/log/letsencrypt.log From 4bb53ff28f22fe5f18a50da493683cfba19983c0 Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Sun, 7 Nov 2021 14:26:16 +0100 Subject: [PATCH 215/896] Properly rebuild_mysql_database password for MariaDB > 10.4 --- func/rebuild.sh | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/func/rebuild.sh b/func/rebuild.sh index 23f9d4d7..eeef03ee 100644 --- a/func/rebuild.sh +++ b/func/rebuild.sh @@ -568,21 +568,30 @@ rebuild_mysql_database() { fi else # mariadb - if [ "$(echo $mysql_ver |cut -d '.' -f1)" -eq 5 ]; then + mysql_ver_sub=$(echo $mysql_ver |cut -d '.' -f1) + mysql_ver_sub_sub=$(echo $mysql_ver |cut -d '.' -f2) + if [ "$mysql_ver_sub" -eq 5 ]; then # mariadb = 5 mysql_query "CREATE USER \`$DBUSER\`" > /dev/null mysql_query "CREATE USER \`$DBUSER\`@localhost" > /dev/null + query="UPDATE mysql.user SET Password='$MD5' WHERE User='$DBUSER'" else # mariadb = 10 mysql_query "CREATE USER IF NOT EXISTS \`$DBUSER\`" > /dev/null mysql_query "CREATE USER IF NOT EXISTS \`$DBUSER\`@localhost" > /dev/null + query="UPDATE mysql.user SET Password='$MD5' WHERE User='$DBUSER'" + if [ "$mysql_ver_sub_sub" -ge 4 ]; then + query="SET PASSWORD FOR '$DBUSER'@'%' = '$MD5';" + query2="SET PASSWORD FOR '$DBUSER'@'localhost' = '$MD5';" + fi fi - # mariadb any version - query="UPDATE mysql.user SET Password='$MD5' WHERE User='$DBUSER'" fi mysql_query "GRANT ALL ON \`$DB\`.* TO \`$DBUSER\`@\`%\`" >/dev/null mysql_query "GRANT ALL ON \`$DB\`.* TO \`$DBUSER\`@localhost" >/dev/null mysql_query "$query" >/dev/null + if [ ! -z "$query2" ]; then + mysql_query "$query2" >/dev/null + fi mysql_query "FLUSH PRIVILEGES" >/dev/null } From 14ba4ab999869dacabe670e41a22ebf9e7b1a3e4 Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Sun, 7 Nov 2021 21:46:52 +0100 Subject: [PATCH 216/896] Version 0.9.8-26-50 --- src/deb/latest.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/deb/latest.txt b/src/deb/latest.txt index efd44125..53712deb 100644 --- a/src/deb/latest.txt +++ b/src/deb/latest.txt @@ -1 +1 @@ -vesta-0.9.8-26-49 +vesta-0.9.8-26-50 From c0cebf526438aac378862e45ac16d6fe774cb6fe Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Sun, 7 Nov 2021 21:48:46 +0100 Subject: [PATCH 217/896] Update Changelog.md --- Changelog.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Changelog.md b/Changelog.md index 647187e0..4ecfde8f 100644 --- a/Changelog.md +++ b/Changelog.md @@ -1,3 +1,7 @@ +Version 0.9.8-26-50 [07-Nov-2021] +================================================== +* Many small bugfixes and CSRF fixes + Version 0.9.8-26-49 [17-Jul-2021] ================================================== * Support for Debian 11 From aba861c8143c0b23a3d327636bf79ebe13cc897d Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Thu, 11 Nov 2021 22:54:42 +0100 Subject: [PATCH 218/896] check spam if email smaller than 600 KB --- install/debian/10/exim/exim4.conf.template | 2 +- install/debian/11/exim/exim4.conf.template | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/install/debian/10/exim/exim4.conf.template b/install/debian/10/exim/exim4.conf.template index cb79ab3c..70577b6e 100644 --- a/install/debian/10/exim/exim4.conf.template +++ b/install/debian/10/exim/exim4.conf.template @@ -174,7 +174,7 @@ acl_check_data: .ifdef SPAMASSASSIN warn !authenticated = * hosts = !+relay_from_hosts - condition = ${if < {$message_size}{100K}} + condition = ${if < {$message_size}{600K}} condition = ${if eq{$acl_m1}{yes}{yes}{no}} spam = nobody:true/defer_ok add_header = X-Spam-Score: $spam_score_int diff --git a/install/debian/11/exim/exim4.conf.template b/install/debian/11/exim/exim4.conf.template index d8bca393..a041b329 100644 --- a/install/debian/11/exim/exim4.conf.template +++ b/install/debian/11/exim/exim4.conf.template @@ -174,7 +174,7 @@ acl_check_data: .ifdef SPAMASSASSIN warn !authenticated = * hosts = !+relay_from_hosts - condition = ${if < {$message_size}{100K}} + condition = ${if < {$message_size}{600K}} condition = ${if eq{$acl_m1}{yes}{yes}{no}} spam = nobody:true/defer_ok add_header = X-Spam-Score: $spam_score_int From 8c4be97720bdda6f25db0a94c7150d779679d2f0 Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Fri, 12 Nov 2021 23:04:46 +0100 Subject: [PATCH 219/896] Fix for "chmod: changing permissions" --- bin/v-add-web-domain | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/v-add-web-domain b/bin/v-add-web-domain index aab09e6a..72de559a 100755 --- a/bin/v-add-web-domain +++ b/bin/v-add-web-domain @@ -90,7 +90,7 @@ done # Changing file owner & permission chown -R $user:$user $HOMEDIR/$user/web/$domain chown root:$user /var/log/$WEB_SYSTEM/domains/$domain.* $conf -sudo -u $user chmod 640 /var/log/$WEB_SYSTEM/domains/$domain.* +chmod 640 /var/log/$WEB_SYSTEM/domains/$domain.* sudo -u $user chmod 751 $HOMEDIR/$user/web/$domain $HOMEDIR/$user/web/$domain/* sudo -u $user chmod 551 $HOMEDIR/$user/web/$domain/stats $HOMEDIR/$user/web/$domain/logs sudo -u $user chmod 644 $HOMEDIR/$user/web/$domain/public_*html/*.* From 302e351252d2afa3428381bd11d72a03729a2438 Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Sun, 14 Nov 2021 19:47:54 +0100 Subject: [PATCH 220/896] Many fixes for v-list-sys-services --- bin/v-list-sys-services | 142 ++++++++++++++++++++++--- web/templates/admin/list_services.html | 12 ++- 2 files changed, 133 insertions(+), 21 deletions(-) diff --git a/bin/v-list-sys-services b/bin/v-list-sys-services index 93f01a11..71133ac4 100755 --- a/bin/v-list-sys-services +++ b/bin/v-list-sys-services @@ -18,6 +18,8 @@ source $VESTA/conf/vesta.conf export PATH=$PATH:/sbin +debug=0 + # JSON list function json_list() { IFS=$'\n' @@ -50,6 +52,9 @@ shell_list() { echo "---- ----- --- --- ------" while read str; do eval $str + if [ "$STATE" = "stopped" ]; then + STATE='off' + fi echo "$NAME $STATE $CPU $MEM $RTIME" done < <(echo -e "$data" |grep NAME) } @@ -77,8 +82,17 @@ csv_list() { get_srv_state() { srv=$1 name=${2-$1} + procfolder=$4 + procfile=$5 state='running' + mem=0 + cpu=0 + rtime="0" + if [ $debug -eq 1 ]; then + echo "---------------------" + echo "$srv = $name" + fi # Searching related pids if [ -z $3 ]; then pids=$(pidof $name |tr ' ' '|') @@ -88,10 +102,23 @@ get_srv_state() { if [ -z "$pids" ] && [ "$name" != 'nginx' ]; then pids=$(pgrep $name |tr '\n' '|') fi + if [ "$name" = 'elasticsearch' ]; then + pids=$(ps -Af | grep 'elasticsearch' | grep -v 'grep' | awk '{print $2}' | tr '\n' '|') + fi + if [ "$name" = 'vesta-nginx' ]; then + pids=$(ps -Af | grep 'vesta/nginx' | grep -v 'grep' | awk '{print $2}' | tr '\n' '|') + fi + if [ "$name" = 'vesta-php' ]; then + pids=$(ps -Af | grep 'vesta/php' | grep -v 'grep' | awk '{print $2}' | tr '\n' '|') + fi + if [ $debug -eq 1 ]; then + echo "pids = $pids" + fi # Checking pid - if [ ! -z "$pids" ]; then + if [ -n "$pids" ]; then pid=$(echo "$pids" |cut -f 1 -d '|') + pids=${pids%|} pids=$(egrep "$pids" $tmp_file) # Calculating CPU usage @@ -103,7 +130,22 @@ get_srv_state() { # Searching pid file pid_file='' - if [ -e "/var/run/$srv.pid" ]; then + if [ ! -z "$procfolder" ]; then + if [ -f "/var/run/$procfolder/$srv.pid" ]; then + pid_file="/var/run/$procfolder/$srv.pid" + fi + fi + if [ -z "$pid_file" ] && [ ! -z "$procfolder" ] && [ ! -z "$procfile" ]; then + if [ -f "/var/run/$procfolder/$procfile.pid" ]; then + pid_file="/var/run/$procfolder/$procfile.pid" + fi + fi + if [ -z "$pid_file" ] && [ -z "$procfolder" ] && [ ! -z "$procfile" ]; then + if [ -f "/var/run/$procfile.pid" ]; then + pid_file="/var/run/$procfile.pid" + fi + fi + if [ -z "$pid_file" ] && [ -e "/var/run/$srv.pid" ]; then pid_file="/var/run/$srv.pid" fi if [ -z "$pid_file" ] && [ -e "/var/run/$srv/$srv.pid" ]; then @@ -112,18 +154,31 @@ get_srv_state() { if [ -z "$pid_file" ] && [ -e "/var/run/$name/$name.pid" ]; then pid_file="/var/run/$name/$name.pid" fi + if [ -z "$pid_file" ] && [ -f "/var/run/$name.pid" ]; then + pid_file="/var/run/$name.pid" + fi if [ -z "$pid_file" ] && [ -e "/proc/$pid" ]; then pid_file="/proc/$pid" fi + if [ $debug -eq 1 ]; then + echo "$srv = $name = $pid_file" + fi # Calculating uptime - if [ ! -z "$pid_file" ]; then + if [ -n "$pid_file" ]; then mtime=$(stat -c "%Y" $pid_file) rtime=$((ctime - mtime)) rtime=$((rtime / 60)) else rtime=0 fi + if [ "$pid_file" = "/proc/$pid" ]; then + if [ $debug -eq 1 ]; then + echo "getting pid lifetime via ps" + fi + rtime=$(ps -p 2877633 -o etimes | tail -n 1 | awk '{print $1}') + rtime=$((rtime / 60)) + fi else state='stopped' mem=0 @@ -151,14 +206,6 @@ if [ ! -z "$WEB_SYSTEM" ] && [ "$WEB_SYSTEM" != 'remote' ]; then data="$data MEM='$mem' RTIME='$rtime'" fi -# Checking WEB Backend -if [ ! -z "$WEB_BACKEND" ] && [ "$WEB_BACKEND" != 'remote' ]; then - proc_name=$(ls /usr/sbin/php*fpm* | rev | cut -d'/' -f 1 | rev) - get_srv_state $proc_name - data="$data\nNAME='$WEB_BACKEND' SYSTEM='backend server' STATE='$state'" - data="$data CPU='$cpu' MEM='$mem' RTIME='$rtime'" -fi - # Checking WEB Proxy if [ ! -z "$PROXY_SYSTEM" ] && [ "$PROXY_SYSTEM" != 'remote' ]; then get_srv_state $PROXY_SYSTEM @@ -166,6 +213,18 @@ if [ ! -z "$PROXY_SYSTEM" ] && [ "$PROXY_SYSTEM" != 'remote' ]; then data="$data CPU='$cpu' MEM='$mem' RTIME='$rtime'" fi +# Checking WEB Backend +if [ "$WEB_BACKEND" != 'remote' ]; then + php_versions=$(ls /usr/sbin/php*fpm* | cut -d'/' -f4 | sed 's|php-fpm||') + for version in $php_versions; do + proc_name="php-fpm${version}" + service_name="php${version}-fpm" + get_srv_state "$service_name" "$proc_name" '' 'php' + data="$data\nNAME='$service_name' SYSTEM='backend server' STATE='$state'" + data="$data CPU='$cpu' MEM='$mem' RTIME='$rtime'" + done +fi + # DNS service=$DNS_SYSTEM if [ ! -z "$service" ] && [ "$service" != 'remote' ]; then @@ -177,14 +236,22 @@ fi # Checking MAIL system if [ ! -z "$MAIL_SYSTEM" ] && [ "$MAIL_SYSTEM" != 'remote' ]; then - get_srv_state $MAIL_SYSTEM + if [ "$MAIL_SYSTEM" = "exim4" ]; then + get_srv_state "$MAIL_SYSTEM" "$MAIL_SYSTEM" '' 'exim4' 'exim' + else + get_srv_state $MAIL_SYSTEM + fi data="$data\nNAME='$MAIL_SYSTEM' SYSTEM='mail server' STATE='$state'" data="$data CPU='$cpu' MEM='$mem' RTIME='$rtime'" fi # Checking MAIL IMAP if [ ! -z "$IMAP_SYSTEM" ] && [ "$IMAP_SYSTEM" != 'remote' ]; then - get_srv_state $IMAP_SYSTEM + if [ "$IMAP_SYSTEM" = "dovecot" ]; then + get_srv_state "$IMAP_SYSTEM" "$IMAP_SYSTEM" '' 'dovecot' 'master' + else + get_srv_state $IMAP_SYSTEM + fi data="$data\nNAME='$IMAP_SYSTEM' SYSTEM='pop/imap server' STATE='$state'" data="$data CPU='$cpu' MEM='$mem' RTIME='$rtime'" fi @@ -200,11 +267,19 @@ if [ ! -z "$ANTIVIRUS_SYSTEM" ] && [ "$ANTIVIRUS_SYSTEM" != 'remote' ]; then if [ "$ANTIVIRUS_SYSTEM" == 'clamav-daemon' ];then proc_name='clamd' fi - get_srv_state $ANTIVIRUS_SYSTEM $proc_name + get_srv_state $ANTIVIRUS_SYSTEM $proc_name '' 'clamav' 'clamd' fi data="$data\nNAME='$ANTIVIRUS_SYSTEM' SYSTEM='email antivirus'" data="$data STATE='$state' CPU='$cpu' MEM='$mem' RTIME='$rtime'" proc_name='' + if [ ! -d "/etc/sysconfig" ]; then + if [ "$ANTIVIRUS_SYSTEM" == 'clamav-daemon' ];then + get_srv_state "clamav-freshclam" "freshclam" + data="$data\nNAME='clamav-freshclam' SYSTEM='email antivirus updater'" + data="$data STATE='$state' CPU='$cpu' MEM='$mem' RTIME='$rtime'" + proc_name='' + fi + fi fi # Checking MAIL ANTISPAM @@ -220,6 +295,7 @@ if [ ! -z "$DB_SYSTEM" ] && [ "$DB_SYSTEM" != 'remote' ]; then proc_name='' service="$db" if [ "$service" = 'mysql' ]; then + proc_name='mysqld' release=$(cat /etc/debian_version | tr "." "\n" | head -n1) if [ "$release" -eq 11 ]; then service='mariadb' @@ -243,7 +319,7 @@ if [ ! -z "$DB_SYSTEM" ] && [ "$DB_SYSTEM" != 'remote' ]; then proc_name='postgres' fi fi - get_srv_state $service $proc_name + get_srv_state $service $proc_name '' 'mysqld' 'mysqld' data="$data\nNAME='$service' SYSTEM='database server' STATE='$state'" data="$data CPU='$cpu' MEM='$mem' RTIME='$rtime'" proc_name='' @@ -259,11 +335,28 @@ fi # Checking CRON system if [ ! -z "$CRON_SYSTEM" ] && [ "$CRON_SYSTEM" != 'remote' ]; then - get_srv_state $CRON_SYSTEM + get_srv_state "$CRON_SYSTEM" "$CRON_SYSTEM" '' '' 'crond' data="$data\nNAME='$CRON_SYSTEM' SYSTEM='job scheduler' STATE='$state'" data="$data CPU='$cpu' MEM='$mem' RTIME='$rtime'" fi +# Checking SSH daemon +if [ -e "/etc/ssh/sshd_config" ]; then + get_srv_state 'ssh' 'ssh' '' '' 'sshd' + data="$data\nNAME='ssh' SYSTEM='SSH Access' STATE='$state'" + data="$data CPU='$cpu' MEM='$mem' RTIME='$rtime'" +fi + +# Checking Vesta nginx +get_srv_state 'vesta' 'vesta-nginx' '' '' 'vesta-nginx' +data="$data\nNAME='vesta-nginx' SYSTEM='Vesta nginx service' STATE='$state'" +data="$data CPU='$cpu' MEM='$mem' RTIME='$rtime'" + +# Checking Vesta php-fpm +get_srv_state 'vesta' 'vesta-php' '' '' 'vesta-php' +data="$data\nNAME='vesta-php' SYSTEM='Vesta php service' STATE='$state'" +data="$data CPU='$cpu' MEM='$mem' RTIME='$rtime'" + # Checking FIREWALL system if [ ! -z "$FIREWALL_SYSTEM" ] && [ "$FIREWALL_SYSTEM" != 'remote' ]; then state="stopped" @@ -277,11 +370,26 @@ fi # Checking FIREWALL Fail2ban extention if [ ! -z "$FIREWALL_EXTENSION" ]; then - get_srv_state $FIREWALL_EXTENSION fail2ban-server script + get_srv_state "$FIREWALL_EXTENSION" 'fail2ban-server' 'script' data="$data\nNAME='$FIREWALL_EXTENSION' SYSTEM='brute-force monitor'" data="$data STATE='$state' CPU='$cpu' MEM='$mem' RTIME='$rtime'" fi +# Checking ElasticSearch +if [ -d "/etc/elasticsearch" ]; then + get_srv_state 'elasticsearch' + data="$data\nNAME='elasticsearch' SYSTEM='ElasticSearch' STATE='$state'" + data="$data CPU='$cpu' MEM='$mem' RTIME='$rtime'" +fi + +# Checking Redis +if [ -d "/etc/redis" ]; then + get_srv_state 'redis' 'redis-server' '' 'redis' 'redis-server' + data="$data\nNAME='redis' SYSTEM='Redis' STATE='$state'" + data="$data CPU='$cpu' MEM='$mem' RTIME='$rtime'" +fi + + # Listing data case $format in json) json_list ;; diff --git a/web/templates/admin/list_services.html b/web/templates/admin/list_services.html index 6012d2a3..45d6b18a 100644 --- a/web/templates/admin/list_services.html +++ b/web/templates/admin/list_services.html @@ -121,7 +121,11 @@ $status = 'suspended'; $action = 'start'; } - + + $realservice=$key; + if ($realservice=="vesta-php") $realservice="vesta"; + if ($realservice=="vesta-nginx") $realservice="vesta"; + $cpu = $data[$key]['CPU'] / 10; $cpu = number_format($cpu, 1); if ($cpu == '0.0') $cpu = 0; @@ -137,9 +141,9 @@From d9202d91b9a0d334db272b738f2996f38fb1a6d9 Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Sun, 14 Nov 2021 20:01:21 +0100 Subject: [PATCH 221/896] Avoid clamav fixes if clamav is disabled --- src/deb/vesta/postinst | 119 +++++++++++++++++++++-------------------- 1 file changed, 61 insertions(+), 58 deletions(-) diff --git a/src/deb/vesta/postinst b/src/deb/vesta/postinst index 8649087b..c9b9732c 100755 --- a/src/deb/vesta/postinst +++ b/src/deb/vesta/postinst @@ -141,48 +141,68 @@ if [ "$check_cron" -eq 0 ]; then crontab -l | { cat; echo "10 2 * * 6 sudo find /home/*/tmp/ -type f -mtime +5 -exec rm {} \;"; } | crontab - fi -# make sure clamav-daemon.service has mkdir fix -if [ -f "/lib/systemd/system/clamav-daemon.service" ]; then - check_grep=$(grep -c 'mkdir' /lib/systemd/system/clamav-daemon.service) - if [ "$check_grep" -eq 0 ]; then - echo "=== patching clamav-daemon.service" - exec_pre1='ExecStartPre=-/bin/mkdir -p /var/run/clamav' - exec_pre2='ExecStartPre=-/bin/chown -R clamav:clamav /var/run/clamav' - sed -i "s|\[Service\]|[Service]\n$exec_pre1\n$exec_pre2|g" /lib/systemd/system/clamav-daemon.service - systemctl daemon-reload - systemctl restart clamav-daemon - systemctl restart clamav-freshclam - fi -fi - -# reverting to default clamd sock -if [ ! -f "/usr/local/vesta/data/upgrades/change-clamav-socket-v3" ]; then - touch /usr/local/vesta/data/upgrades/change-clamav-socket-v3 - if [ -f "/etc/clamav/clamd.conf" ]; then - sed -i "s#/var/lib/clamav/clamd.sock#/var/run/clamav/clamd.ctl#g" /etc/clamav/clamd.conf - if [ -f "/etc/exim4/exim4.conf.template" ]; then - sed -i "s#/var/lib/clamav/clamd.sock#/var/run/clamav/clamd.ctl#g" /etc/exim4/exim4.conf.template - fi - if [ -f "/lib/systemd/system/clamav-daemon.socket" ]; then - sed -i "s#/var/lib/clamav/clamd.sock#/run/clamav/clamd.ctl#g" /lib/systemd/system/clamav-daemon.socket - fi - systemctl daemon-reload - systemctl restart clamav-daemon - systemctl restart clamav-freshclam - if [ -f "/etc/exim4/exim4.conf.template" ]; then - systemctl restart exim4 - fi - fi -fi - -# reverting to default clamd sock -if [ ! -f "/usr/local/vesta/data/upgrades/change-clamav-socket-v4" ]; then - touch /usr/local/vesta/data/upgrades/change-clamav-socket-v4 - if [ -f "/etc/clamav/clamd.conf" ]; then - check_grep=$(grep -c '/var/lib/clamav/clamd.ctl' /etc/clamav/clamd.conf) - if [ "$check_grep" -eq 1 ]; then - sed -i "s#/var/lib/clamav/clamd.ctl#/var/run/clamav/clamd.ctl#g" /etc/clamav/clamd.conf +unit_files="$(systemctl list-unit-files | grep clamav-daemon)" +if [[ ! "$unit_files" =~ "disabled" ]]; then + # make sure clamav-daemon.service has mkdir fix + if [ -f "/lib/systemd/system/clamav-daemon.service" ]; then + check_grep=$(grep -c 'mkdir' /lib/systemd/system/clamav-daemon.service) + if [ "$check_grep" -eq 0 ]; then + echo "=== patching clamav-daemon.service" + exec_pre1='ExecStartPre=-/bin/mkdir -p /var/run/clamav' + exec_pre2='ExecStartPre=-/bin/chown -R clamav:clamav /var/run/clamav' + sed -i "s|\[Service\]|[Service]\n$exec_pre1\n$exec_pre2|g" /lib/systemd/system/clamav-daemon.service + systemctl daemon-reload systemctl restart clamav-daemon + systemctl restart clamav-freshclam + fi + fi + + # reverting to default clamd sock + if [ ! -f "/usr/local/vesta/data/upgrades/change-clamav-socket-v3" ]; then + touch /usr/local/vesta/data/upgrades/change-clamav-socket-v3 + if [ -f "/etc/clamav/clamd.conf" ]; then + sed -i "s#/var/lib/clamav/clamd.sock#/var/run/clamav/clamd.ctl#g" /etc/clamav/clamd.conf + if [ -f "/etc/exim4/exim4.conf.template" ]; then + sed -i "s#/var/lib/clamav/clamd.sock#/var/run/clamav/clamd.ctl#g" /etc/exim4/exim4.conf.template + fi + if [ -f "/lib/systemd/system/clamav-daemon.socket" ]; then + sed -i "s#/var/lib/clamav/clamd.sock#/run/clamav/clamd.ctl#g" /lib/systemd/system/clamav-daemon.socket + fi + systemctl daemon-reload + systemctl restart clamav-daemon + systemctl restart clamav-freshclam + if [ -f "/etc/exim4/exim4.conf.template" ]; then + systemctl restart exim4 + fi + fi + fi + + # reverting to default clamd sock + if [ ! -f "/usr/local/vesta/data/upgrades/change-clamav-socket-v4" ]; then + touch /usr/local/vesta/data/upgrades/change-clamav-socket-v4 + if [ -f "/etc/clamav/clamd.conf" ]; then + check_grep=$(grep -c '/var/lib/clamav/clamd.ctl' /etc/clamav/clamd.conf) + if [ "$check_grep" -eq 1 ]; then + sed -i "s#/var/lib/clamav/clamd.ctl#/var/run/clamav/clamd.ctl#g" /etc/clamav/clamd.conf + systemctl restart clamav-daemon + fi + fi + fi + + # Block executable files inside zip/rar/tar archives in ClamAV + if [ ! -f "/usr/local/vesta/data/upgrades/clamav_block_exe_in_archives" ]; then + touch /usr/local/vesta/data/upgrades/clamav_block_exe_in_archives + if [ -f "/etc/exim4/exim4.conf.template" ]; then + check_grep=$(grep -c '#CLAMD' /etc/exim4/exim4.conf.template) + if [ "$check_grep" -eq 0 ]; then + folder="/var/lib/clamav" + if [ -d "$folder" ]; then + echo "=== Blocking executable files inside zip/rar/tar archives in ClamAV" + wget -nv -O $folder/foxhole_all.cdb http://c.myvestacp.com/tools/clamav/foxhole_all.cdb + chown clamav:clamav $folder/foxhole_all.cdb + service clamav-daemon restart + fi + fi fi fi fi @@ -204,23 +224,6 @@ if [ "$release" -eq 9 ] || [ "$release" -eq 10 ]; then fi fi -# Block executable files inside zip/rar/tar archives in ClamAV -if [ ! -f "/usr/local/vesta/data/upgrades/clamav_block_exe_in_archives" ]; then - touch /usr/local/vesta/data/upgrades/clamav_block_exe_in_archives - if [ -f "/etc/exim4/exim4.conf.template" ]; then - check_grep=$(grep -c '#CLAMD' /etc/exim4/exim4.conf.template) - if [ "$check_grep" -eq 0 ]; then - folder="/var/lib/clamav" - if [ -d "$folder" ]; then - echo "=== Blocking executable files inside zip/rar/tar archives in ClamAV" - wget -nv -O $folder/foxhole_all.cdb http://c.myvestacp.com/tools/clamav/foxhole_all.cdb - chown clamav:clamav $folder/foxhole_all.cdb - service clamav-daemon restart - fi - fi - fi -fi - # Clearing letsencrypt pipe if [ ! -f "/usr/local/vesta/data/upgrades/clearing-letsencrypt-pipe" ]; then touch /usr/local/vesta/data/upgrades/clearing-letsencrypt-pipe From b42d607ad141e2f82088a2ba629b508cdb812f39 Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Sun, 14 Nov 2021 20:05:49 +0100 Subject: [PATCH 222/896] Version 0.9.8-26-51 --- src/deb/latest.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/deb/latest.txt b/src/deb/latest.txt index 53712deb..af812423 100644 --- a/src/deb/latest.txt +++ b/src/deb/latest.txt @@ -1 +1 @@ -vesta-0.9.8-26-50 +vesta-0.9.8-26-51 From a7d96a479bfb039b01a75f1845c568e7f9d65fbc Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Sun, 14 Nov 2021 20:16:27 +0100 Subject: [PATCH 223/896] Fixes only if ClamAV is enabled --- src/deb/vesta/postinst | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/deb/vesta/postinst b/src/deb/vesta/postinst index c9b9732c..d06501bd 100755 --- a/src/deb/vesta/postinst +++ b/src/deb/vesta/postinst @@ -141,8 +141,9 @@ if [ "$check_cron" -eq 0 ]; then crontab -l | { cat; echo "10 2 * * 6 sudo find /home/*/tmp/ -type f -mtime +5 -exec rm {} \;"; } | crontab - fi -unit_files="$(systemctl list-unit-files | grep clamav-daemon)" -if [[ ! "$unit_files" =~ "disabled" ]]; then +if [ $(systemctl list-unit-files | grep clamav-daemon | grep -c "disabled") -eq 0 ]; then + # Fixes only if ClamAV is enabled + # make sure clamav-daemon.service has mkdir fix if [ -f "/lib/systemd/system/clamav-daemon.service" ]; then check_grep=$(grep -c 'mkdir' /lib/systemd/system/clamav-daemon.service) From b62486ddd291382abccf162f2d542942152e613b Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Sun, 14 Nov 2021 20:20:29 +0100 Subject: [PATCH 224/896] Update Changelog.md --- Changelog.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Changelog.md b/Changelog.md index 4ecfde8f..3cf4b126 100644 --- a/Changelog.md +++ b/Changelog.md @@ -1,3 +1,7 @@ +Version 0.9.8-26-51 [14-Nov-2021] +================================================== +* Many fixes for "List services" page (v-list-sys-services function) + Version 0.9.8-26-50 [07-Nov-2021] ================================================== * Many small bugfixes and CSRF fixes From de5f28459e7e2d53927f100e6ddc05ffc517d4ad Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Sun, 14 Nov 2021 21:11:34 +0100 Subject: [PATCH 225/896] $pid fix in v-list-sys-services --- bin/v-list-sys-services | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/v-list-sys-services b/bin/v-list-sys-services index 71133ac4..2b7e7890 100755 --- a/bin/v-list-sys-services +++ b/bin/v-list-sys-services @@ -176,7 +176,7 @@ get_srv_state() { if [ $debug -eq 1 ]; then echo "getting pid lifetime via ps" fi - rtime=$(ps -p 2877633 -o etimes | tail -n 1 | awk '{print $1}') + rtime=$(ps -p $pid -o etimes | tail -n 1 | awk '{print $1}') rtime=$((rtime / 60)) fi else From 8f6fe21dbf10e03705f649bd0e1538698e37cafc Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Wed, 17 Nov 2021 15:15:23 +0100 Subject: [PATCH 226/896] Dont match wildcardly *domains and databases* while restoring --- bin/v-restore-user | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/bin/v-restore-user b/bin/v-restore-user index e9861d46..af451d88 100755 --- a/bin/v-restore-user +++ b/bin/v-restore-user @@ -476,7 +476,7 @@ if [ "$dns" != 'no' ] && [ ! -z "$DNS_SYSTEM" ]; then if [ -z "$dns" ] || [ "$dns" = '*' ]; then domains="$backup_domains" else - echo "$dns" |tr ',' '\n' > $tmpdir/selected.txt + echo "$dns" | tr ',' '\n' | sed -e "s/^/^/" > $tmpdir/selected.txt domains=$(echo "$backup_domains" |egrep -f $tmpdir/selected.txt) fi @@ -556,7 +556,7 @@ if [ "$mail" != 'no' ] && [ ! -z "$MAIL_SYSTEM" ]; then if [ -z "$mail" ] || [ "$mail" = '*' ]; then domains="$backup_domains" else - echo "$mail" |tr ',' '\n' > $tmpdir/selected.txt + echo "$mail" | tr ',' '\n' | sed -e "s/^/^/" > $tmpdir/selected.txt domains=$(echo "$backup_domains" |egrep -f $tmpdir/selected.txt) fi @@ -653,7 +653,7 @@ if [ "$db" != 'no' ] && [ ! -z "$DB_SYSTEM" ]; then if [ -z "$db" ] || [ "$db" = '*' ]; then databases="$backup_databases" else - echo "$db" |tr ',' '\n' > $tmpdir/selected.txt + echo "$db" |tr ',' '\n' | sed -e "s/$/$/" > $tmpdir/selected.txt databases=$(echo "$backup_databases" |egrep -f $tmpdir/selected.txt) fi From d36f1a355b3bcb1d37f6a9015b9c81c245f320e6 Mon Sep 17 00:00:00 2001 From: Anton Reutov- - - + + +Date: Fri, 19 Nov 2021 21:28:19 +0300 Subject: [PATCH 227/896] Small improvmemts for login form --- web/css/styles.min.css | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/web/css/styles.min.css b/web/css/styles.min.css index 302f9c01..edc706d5 100644 --- a/web/css/styles.min.css +++ b/web/css/styles.min.css @@ -2917,7 +2917,7 @@ a.button.cancel { padding: 0; text-align: left; vertical-align: top; - width: 500px; + width: 550px; } .login a.error { @@ -2940,7 +2940,7 @@ a.button.cancel { padding: 0 26px 0 0; text-align: right; vertical-align: top; - width: 474px; + width: 520px; } .l-unit.selected { From 47f2ca1d378668ac4882e360ccacbbb172fe8005 Mon Sep 17 00:00:00 2001 From: Anton Reutov Date: Fri, 19 Nov 2021 21:29:42 +0300 Subject: [PATCH 228/896] Small improvmemts for login form --- web/templates/login.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/web/templates/login.html b/web/templates/login.html index 47e004de..1fd923fb 100644 --- a/web/templates/login.html +++ b/web/templates/login.html @@ -7,7 +7,7 @@ - ![]()
+