Merge branch dev
Merge new features: - Force www or non-www - Ignore ssl - API
This commit is contained in:
commit
4e28539fa4
13
lib/general
13
lib/general
|
@ -117,16 +117,19 @@ pre_install() {
|
|||
sudo apt-get -qq update
|
||||
if [[ $(conf_read pre-packs) != true ]]; then
|
||||
# Check for missing essential packages
|
||||
api_update i1
|
||||
sudo apt-get -y -qq install software-properties-common
|
||||
sudo apt-get -y -qq install python-software-properties
|
||||
sudo apt-get -y -qq install pwgen
|
||||
sudo apt-get -y -qq install unzip
|
||||
conf_write pre-packs true
|
||||
api_update i2
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
mysql_client_install() {
|
||||
api_update im2
|
||||
local osname=$(check_osname)
|
||||
# Cases with MariaDB v10.2 support
|
||||
case "$osname" in
|
||||
|
@ -143,6 +146,7 @@ mysql_client_install() {
|
|||
sudo apt-get -y install mariadb-client
|
||||
conf_write mysql-client true
|
||||
echo "${gre}MySQL Client has been successfully installed!${end}"
|
||||
api_update im3
|
||||
}
|
||||
|
||||
|
||||
|
@ -163,6 +167,15 @@ tools_port() {
|
|||
}
|
||||
|
||||
|
||||
api_update() {
|
||||
conf_write status-api $1
|
||||
if [[ -a /opt/webinoly/lib/myapi ]]; then
|
||||
source /opt/webinoly/lib/myapi
|
||||
api_catch_status $1
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
conf_read() {
|
||||
local val=$(grep -w "^${1}:.*" /opt/webinoly/webinoly.conf | cut -f 2 -d ':')
|
||||
echo $val
|
||||
|
|
28
lib/install
28
lib/install
|
@ -15,6 +15,7 @@ app_purge() {
|
|||
|
||||
|
||||
linux_optim() {
|
||||
api_update in4
|
||||
if [[ $(conf_read linux-optim) == "true" ]]; then
|
||||
exit 1
|
||||
fi
|
||||
|
@ -83,11 +84,13 @@ net.ipv4.tcp_max_syn_backlog = 3240000
|
|||
sudo kill $(cat /run/nginx.pid)
|
||||
conf_write linux-optim true
|
||||
sudo nginx -t && sudo service nginx start
|
||||
api_update in7
|
||||
}
|
||||
|
||||
|
||||
linux_purge() {
|
||||
if [[ $(conf_read linux-optim) == "true" ]]; then
|
||||
api_update pn7
|
||||
sudo sed -i '/WebinolyStart/,/WebinolyEnd/{/.*/d}' /etc/security/limits.conf
|
||||
sudo sed -i '/WebinolyStart/,/WebinolyEnd/{/.*/d}' /etc/sysctl.conf
|
||||
sudo rm -rf /etc/systemd/system/nginx.service.d
|
||||
|
@ -96,6 +99,7 @@ linux_purge() {
|
|||
sudo sysctl -p
|
||||
sudo systemctl daemon-reload
|
||||
conf_write linux-optim purged
|
||||
api_update pn8
|
||||
fi
|
||||
}
|
||||
|
||||
|
@ -119,6 +123,7 @@ messagend_install() {
|
|||
|
||||
|
||||
nginx_install() {
|
||||
api_update in1
|
||||
if [[ ($(conf_read nginx-ppa) == "mainline" || $value == "mainline") && $value != "stable" ]]; then
|
||||
echo | sudo add-apt-repository ppa:nginx/development
|
||||
conf_write nginx-ppa mainline
|
||||
|
@ -137,10 +142,12 @@ nginx_install() {
|
|||
sudo nginx -t && sudo service nginx start
|
||||
conf_write nginx true
|
||||
echo "${gre}Nginx has been installed successfully! ${end}"
|
||||
api_update in2
|
||||
}
|
||||
|
||||
|
||||
php_install() {
|
||||
api_update ip1
|
||||
if [[ -n $(conf_read php-ver) && ($(conf_read php-ver) == "7.2" || $(conf_read php-ver) == "7.1" || $(conf_read php-ver) == "7.0" || $(conf_read php-ver) == "5.6") ]]; then
|
||||
echo "${gre}Default PHP version '$(conf_read php-ver)' detected!${end}"
|
||||
else
|
||||
|
@ -187,10 +194,12 @@ php_install() {
|
|||
conf_write php true
|
||||
conf_write php-v$ver true
|
||||
echo "${gre}PHP has been installed successfully! ${end}"
|
||||
api_update ip2
|
||||
}
|
||||
|
||||
|
||||
mysql_install() {
|
||||
api_update im1
|
||||
[[ $(conf_read mysql-client) != "true" ]] && mysql_client_install
|
||||
|
||||
pre_install
|
||||
|
@ -226,11 +235,13 @@ _EOF_
|
|||
|
||||
conf_write mysql true
|
||||
echo "${gre}MySQL has been installed successfully! ${end}"
|
||||
api_update im4
|
||||
}
|
||||
|
||||
|
||||
#NGINX OPTIM
|
||||
nginx_optim() {
|
||||
api_update in3
|
||||
sudo cp -R /opt/webinoly/templates/nginx/common /etc/nginx/common
|
||||
sudo cp -R /opt/webinoly/templates/nginx/conf.d/* /etc/nginx/conf.d/
|
||||
|
||||
|
@ -254,12 +265,14 @@ nginx_optim() {
|
|||
linux_optim
|
||||
server_version
|
||||
conf_write nginx-optim true
|
||||
api_update in8
|
||||
}
|
||||
|
||||
|
||||
|
||||
# PHP OPTIM
|
||||
php_optim() {
|
||||
api_update ip3
|
||||
[[ -n $1 ]] && ver="$1" || ver=$(conf_read php-ver)
|
||||
|
||||
if [[ -n $(conf_read max-mb-uploads) && $(conf_read max-mb-uploads) =~ ^[0-9]+$ ]]; then
|
||||
|
@ -291,6 +304,7 @@ php_optim() {
|
|||
sudo sed -i '/pm.max_requests =/c\pm.max_requests = 500' /etc/php/$ver/fpm/pool.d/www.conf
|
||||
sudo sed -i '/pm.status_path =/c\pm.status_path = /status' /etc/php/$ver/fpm/pool.d/www.conf
|
||||
sudo sed -i '/ping.path =/c\ping.path = /ping' /etc/php/$ver/fpm/pool.d/www.conf
|
||||
|
||||
if [[ $(conf_read multi-php) == "true" ]]; then
|
||||
[[ $ver == 7.2 ]] && sudo sed -i '/listen = /c\listen = 127.0.0.1:9000' /etc/php/$ver/fpm/pool.d/www.conf
|
||||
[[ $ver == 7.1 ]] && sudo sed -i '/listen = /c\listen = 127.0.0.1:9002' /etc/php/$ver/fpm/pool.d/www.conf
|
||||
|
@ -306,6 +320,7 @@ php_optim() {
|
|||
sudo sed -i '/rlimit_core =/c\rlimit_core = unlimited' /etc/php/$ver/fpm/pool.d/debug.conf
|
||||
sudo sed -i "/slowlog =/c\slowlog = /var/log/php/$ver/slow.log" /etc/php/$ver/fpm/pool.d/debug.conf
|
||||
sudo sed -i '/request_slowlog_timeout =/c\request_slowlog_timeout = 10s' /etc/php/$ver/fpm/pool.d/debug.conf
|
||||
|
||||
if [[ $(conf_read multi-php) == "true" ]]; then
|
||||
[[ $ver == 7.2 ]] && sudo sed -i '/listen = /c\listen = 127.0.0.1:9001' /etc/php/$ver/fpm/pool.d/debug.conf
|
||||
[[ $ver == 7.1 ]] && sudo sed -i '/listen = /c\listen = 127.0.0.1:9003' /etc/php/$ver/fpm/pool.d/debug.conf
|
||||
|
@ -326,6 +341,7 @@ php_optim() {
|
|||
|
||||
conf_write php-optim true
|
||||
sudo service php*-fpm reload
|
||||
api_update ip4
|
||||
}
|
||||
|
||||
|
||||
|
@ -339,6 +355,7 @@ nginx_tool_site() {
|
|||
|
||||
|
||||
nginx_tool() {
|
||||
api_update in9
|
||||
[[ -z $(conf_read tools-port) ]] && tools_port 22222
|
||||
[[ $(conf_read php) == "true" ]] && nginx_tool_site
|
||||
# in case php was installed before nginx
|
||||
|
@ -353,10 +370,12 @@ nginx_tool() {
|
|||
|
||||
conf_write web-tool true
|
||||
conf_write nginx-tool true
|
||||
api_update in10
|
||||
}
|
||||
|
||||
|
||||
php_tool_site() {
|
||||
api_update ip6
|
||||
# Status pages
|
||||
sudo mkdir -p /var/www/$(conf_read tools-port)/htdocs/fpm/status
|
||||
sudo touch /var/www/$(conf_read tools-port)/htdocs/fpm/status/php
|
||||
|
@ -366,10 +385,12 @@ php_tool_site() {
|
|||
sudo mkdir -p /var/www/$(conf_read tools-port)/htdocs/php
|
||||
sudo touch /var/www/$(conf_read tools-port)/htdocs/php/index.php
|
||||
sudo echo '<?php phpinfo(); ?>' >> /var/www/$(conf_read tools-port)/htdocs/php/index.php
|
||||
api_update ip7
|
||||
}
|
||||
|
||||
|
||||
php_tool() {
|
||||
api_update ip5
|
||||
# in case nginx was installed before php
|
||||
if [[ $(conf_read nginx-tool) == "true" && ! -a /etc/nginx/sites-available/$(conf_read tools-port) ]]; then
|
||||
nginx_tool_site
|
||||
|
@ -394,10 +415,12 @@ php_tool() {
|
|||
sudo service php*-fpm reload
|
||||
conf_write web-tool true
|
||||
conf_write php-tool true
|
||||
api_update ip8
|
||||
}
|
||||
|
||||
|
||||
mysql_tool() {
|
||||
api_update im5
|
||||
#PhpMyAdmin unattended script installation
|
||||
local AUTOGENPASS_PMA=`pwgen -s -1`
|
||||
echo "phpmyadmin phpmyadmin/dbconfig-install boolean true" | debconf-set-selections
|
||||
|
@ -413,17 +436,20 @@ mysql_tool() {
|
|||
|
||||
conf_write mysql-tool true
|
||||
echo "${gre}PhpMyAdmin has been installed successfully! ${end}"
|
||||
api_update im6
|
||||
}
|
||||
|
||||
|
||||
swap_delete() {
|
||||
local swapkb=$(grep SwapTotal /proc/meminfo | cut -f 2 -d ':' | tr -d ' ' | cut -f 1 -d 'k')
|
||||
if [[ -n $swapkb && $swapkb =~ ^[0-9]+$ && $swapkb -gt 0 && $(conf_read swap-owner) == "webinoly" ]]; then
|
||||
api_update pn9
|
||||
sudo swapoff -a -v > /dev/null
|
||||
sudo rm /swapfile
|
||||
sudo sed -i '/\/swapfile/d' /etc/fstab
|
||||
sudo sed -i '/vm.swappiness/d' /etc/sysctl.conf
|
||||
conf_delete swap-owner
|
||||
api_update pn10
|
||||
fi
|
||||
}
|
||||
|
||||
|
@ -442,6 +468,7 @@ swap_create() {
|
|||
|
||||
# https://help.ubuntu.com/community/SwapFaq
|
||||
if [[ -z $swapkb || $swapkb == "0" ]]; then
|
||||
api_update in5
|
||||
if [[ -n $(conf_read swap-mem) && $(conf_read swap-mem) =~ ^[0-9]+$ ]]; then
|
||||
local newswap=$(conf_read swap-mem)
|
||||
elif [[ $ram -le 2 ]]; then
|
||||
|
@ -488,6 +515,7 @@ swap_create() {
|
|||
|
||||
echo "${gre} A new SWAP Partion (${newswap}Gb) has been created! ${end}"
|
||||
fi
|
||||
api_update in6
|
||||
else
|
||||
if [[ $(conf_read swap-owner) != "webinoly" ]]; then
|
||||
conf_write swap-owner system
|
||||
|
|
60
lib/myapi-sample
Normal file
60
lib/myapi-sample
Normal file
|
@ -0,0 +1,60 @@
|
|||
#!/bin/bash
|
||||
|
||||
# Installation process
|
||||
#
|
||||
# i1 - Common Packages
|
||||
# i2 - Common Packages Finished
|
||||
#
|
||||
# in1 - NGINX Installation
|
||||
# in2 - NGINX Installation Finished
|
||||
# in3 - NGINX Optimization
|
||||
# in4 - Ubuntu Optimization
|
||||
# in5 - SWAP Creation
|
||||
# in6 - SWAP Creation Finished
|
||||
# in7 - Ubuntu Optimization Finished
|
||||
# in8 - NGINX Optimization Finished
|
||||
# in9 - NGINX Tools
|
||||
# in10 - NGINX Tools Finished
|
||||
#
|
||||
# ip1 - PHP Installation
|
||||
# ip2 - PHP Installation Finished
|
||||
# ip3 - PHP Optimization
|
||||
# ip4 - PHP Optimization Finished
|
||||
# ip5 - PHP Tools
|
||||
# ip6 - PHP Tools site creation
|
||||
# ip7 - PHP Tools site creation Finished
|
||||
# ip8 - PHP Tools Finished
|
||||
#
|
||||
# im1 - MySQL Installation
|
||||
# im2 - MySQL Client Installation
|
||||
# im3 - MySQL Client Installation Finished
|
||||
# im4 - MySQL Installation Finished
|
||||
# im5 - MySQL Tool (PhpMyAdmin)
|
||||
# im6 - MySQL Tool (PhpMyAdmin) Finished
|
||||
#
|
||||
#
|
||||
# Purge (UnInstall)
|
||||
#
|
||||
# pn1 - NGINX Purge
|
||||
# pn2 - NGINX Delete All Sites
|
||||
# pn3 - NGINX Delete All Sites Finished
|
||||
# pn4 - NGINX Purge Finished
|
||||
# pn5 - NGINX Purge Tools
|
||||
# pn6 - NGINX Purge Tools Finished
|
||||
# pn7 - Ubuntu Optimization Purge
|
||||
# pn8 - Ubuntu Optimization Purge Finished
|
||||
# pn9 - SWAP Purge
|
||||
# pn10 - SWAP Purge Finished
|
||||
#
|
||||
# pp1 - PHP Purge
|
||||
# pp2 - PHP Purge Finished
|
||||
#
|
||||
# pm1 - MySQL Purge
|
||||
# pm2 - MySQL Tool (PhpMyAdmin) Purge
|
||||
# pm3 - MySQL Tool (PhpMyAdmin) Purge Finished
|
||||
# pm4 - MySQL Purge Finished
|
||||
|
||||
|
||||
api_catch_status() {
|
||||
echo "${blu}API Status: $1 ${end}"
|
||||
}
|
|
@ -67,12 +67,13 @@ site_ssl_on() {
|
|||
if [[ -a /etc/letsencrypt/live/$root/fullchain.pem ]]; then
|
||||
sudo sed -i '/listen 80/c \ listen 443 ssl http2;' /etc/nginx/sites-available/$domain
|
||||
sudo sed -i '/listen \[::\]:80/c \ listen [::]:443 ssl http2;' /etc/nginx/sites-available/$domain
|
||||
sudo sed -i '/headers-html.conf/a \ include common/headers-https.conf;' /etc/nginx/sites-available/$domain
|
||||
sudo sed -i '/headers-http.conf/a \ include common/headers-https.conf;' /etc/nginx/sites-available/$domain
|
||||
sudo sed -i '/server_name /r /opt/webinoly/templates/template-site-ssl' /etc/nginx/sites-available/$domain
|
||||
sudo sed -i "/WebinolySSLstart/,/WebinolySSLend/{s/domain.com/$domain/}" /etc/nginx/sites-available/$domain
|
||||
|
||||
# HTTP to HTTPS Redirection
|
||||
local sername=$(grep -w "server_name .*;" /etc/nginx/sites-available/$domain)
|
||||
local sername="server_name $domain www.$domain;"
|
||||
[[ $subdomflag == 1 ]] && sername="server_name $domain;"
|
||||
sudo sed -i '1r /opt/webinoly/templates/template-site-sslredirect' /etc/nginx/sites-available/$domain
|
||||
sudo sed -i "/#server_name;/c \ $sername" /etc/nginx/sites-available/$domain
|
||||
|
||||
|
@ -107,7 +108,7 @@ site_ssl_off() {
|
|||
answer=="N"
|
||||
else
|
||||
echo "${blu}"
|
||||
echo " Do you want to delete your certificate files [y/N]? "
|
||||
echo "Do you want to delete your certificate files [y/N]? "
|
||||
while read -r -n 1 -s answer; do
|
||||
answer=${answer:-n}
|
||||
[[ $answer = [YyNn] ]] && break
|
||||
|
@ -120,7 +121,7 @@ site_ssl_off() {
|
|||
rm -rf /etc/letsencrypt/renewal/${domain}.conf
|
||||
rm -rf /etc/letsencrypt/archive/${domain}
|
||||
echo "${gre}"
|
||||
echo " Certificate for your site $domain has been completely removed!"
|
||||
echo "Certificate for your site $domain has been completely removed!"
|
||||
echo "${end}"
|
||||
fi
|
||||
echo "${gre}SSL have been successfully disabled for site $domain!${end}"
|
||||
|
|
64
lib/sites
64
lib/sites
|
@ -538,3 +538,67 @@ createsite() {
|
|||
|
||||
echo "${gre}Site $domain has been successfully created!${end}"
|
||||
}
|
||||
|
||||
|
||||
force_redirect() {
|
||||
if ! [[ $value =~ ^(www|root|off)$ ]]; then
|
||||
echo "${red}Please, enter a valid argument!${end}"
|
||||
exit 1
|
||||
fi
|
||||
if [[ $subdomflag == 1 ]]; then
|
||||
echo "${red}Please, use the main/root domain, Force-Redirection should not be used in Subdomains!${end}"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
local rediron=$( grep -F "WebinolyWWWredirectStart" /etc/nginx/sites-available/$domain )
|
||||
local sername="server_name $domain www.$domain;"
|
||||
cp /opt/webinoly/templates/template-site-wwwredirect /tmp/template-site-wwwredirect
|
||||
|
||||
case $value in
|
||||
"www")
|
||||
[[ -n $rediron ]] && sudo sed -i '/WebinolyWWWredirectStart/,/WebinolyWWWredirectEnd/{/.*/d}' /etc/nginx/sites-available/$domain
|
||||
sudo sed -i "/#server_name;/c \ server_name $domain;" /tmp/template-site-wwwredirect
|
||||
sudo sed -i "/#return 301;/c \ return 301 \$scheme://www.${domain}\$request_uri;" /tmp/template-site-wwwredirect
|
||||
sudo sed -i "/server_name /c \ server_name www.$domain;" /etc/nginx/sites-available/$domain
|
||||
echo "${gre}Force-Redirection to WWW has been successfully enabled!${end}"
|
||||
;;
|
||||
"root")
|
||||
[[ -n $rediron ]] && sudo sed -i '/WebinolyWWWredirectStart/,/WebinolyWWWredirectEnd/{/.*/d}' /etc/nginx/sites-available/$domain
|
||||
sudo sed -i "/#server_name;/c \ server_name www.$domain;" /tmp/template-site-wwwredirect
|
||||
sudo sed -i "/#return 301;/c \ return 301 \$scheme://${domain}\$request_uri;" /tmp/template-site-wwwredirect
|
||||
sudo sed -i "/server_name /c \ server_name $domain;" /etc/nginx/sites-available/$domain
|
||||
echo "${gre}Force-Redirection to non-WWW has been successfully enabled!${end}"
|
||||
;;
|
||||
"off")
|
||||
if [[ -n $rediron ]]; then
|
||||
sudo sed -i '/WebinolyWWWredirectStart/,/WebinolyWWWredirectEnd/{/.*/d}' /etc/nginx/sites-available/$domain
|
||||
sudo sed -i "/server_name /c \ $sername" /etc/nginx/sites-available/$domain
|
||||
echo "${gre}Force-Redirection has been successfully disabled!${end}"
|
||||
else
|
||||
echo "${red}Force-Redirect is already disabled for site $domain!${end}"
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
|
||||
# If SSL is enabled insert after that - First redirect should be to HTTPS due to HSTS.
|
||||
isssl=$( grep -F "ssl on;" /etc/nginx/sites-available/$domain )
|
||||
if [[ -z $isssl && $value =~ ^(www|root)$ ]]; then
|
||||
sudo sed -i '1r /tmp/template-site-wwwredirect' /etc/nginx/sites-available/$domain
|
||||
elif [[ -n $isssl && $value =~ ^(www|root)$ ]]; then
|
||||
sudo sed -i '/listen 80/c \ listen 443 ssl http2;' /tmp/template-site-wwwredirect
|
||||
sudo sed -i '/listen \[::\]:80/c \ listen [::]:443 ssl http2;' /tmp/template-site-wwwredirect
|
||||
|
||||
if [[ $cache != "-ignore-ssl" ]]; then
|
||||
sudo sed -i '/headers-http.conf/a \ include common/headers-https.conf;' /tmp/template-site-wwwredirect
|
||||
sudo sed -i '/server_name /r /opt/webinoly/templates/template-site-ssl' /tmp/template-site-wwwredirect
|
||||
sudo sed -i "/WebinolySSLstart/,/WebinolySSLend/{s/domain.com/$domain/}" /tmp/template-site-wwwredirect
|
||||
fi
|
||||
|
||||
sudo sed -i "/WebinolySSLredirectStart/,/WebinolySSLredirectEnd/s/\(server_name\).*$/$sername/" /etc/nginx/sites-available/$domain
|
||||
sudo sed -i '/WebinolySSLredirectEnd/r /tmp/template-site-wwwredirect' /etc/nginx/sites-available/$domain
|
||||
fi
|
||||
|
||||
sudo rm /tmp/template-site-wwwredirect
|
||||
|
||||
}
|
||||
|
||||
|
|
21
plugins/site
21
plugins/site
|
@ -2,8 +2,8 @@
|
|||
|
||||
# Site Manager Plugin (Create, delete and de/activate)
|
||||
# Syntax: site <domain> <option> <argument>
|
||||
# Options: -html, -php, -mysql, -wp, -wpsubdir, -wpsubdom, -parked, -proxy, -on, -off, -delete, -delete-all, -list, -nocache, -cache, -ssl-on, ssl-off
|
||||
# Arguments: -cache, -root, -subdomain
|
||||
# Options: -html, -php, -mysql, -wp, -wpsubdir, -wpsubdom, -parked, -proxy, -on, -off, -delete, -delete-all, -list, -nocache, -cache, -ssl-on, ssl-off, -force-redirect
|
||||
# Arguments: -cache, -root, -subdomain, -ignore-ssl
|
||||
|
||||
# shopt is necessary for this kind !(html|22222) of patterns
|
||||
shopt -s extglob
|
||||
|
@ -24,7 +24,7 @@ if [[ ! $(conf_read nginx) == "true" ]]; then
|
|||
fi
|
||||
|
||||
# Check if user entered arg before option and correct it.
|
||||
if [[ "$type" == "-cache" && -n $cache ]]; then
|
||||
if [[ -n $cache && ($type == "-cache" || $type == "-ignore-ssl") ]]; then
|
||||
type="$3"
|
||||
cache="$2"
|
||||
fi
|
||||
|
@ -35,7 +35,7 @@ if [[ $domain == "-mysql="* ]]; then
|
|||
value=$(echo "${domain}" | cut -d'=' -f 2 -s)
|
||||
domain=$(echo "${domain}" | cut -d'=' -f 1 -s)
|
||||
fi
|
||||
if [[ $type == "-parked="* || $type == "-proxy="* || $type == "-wp="* || $type == "-wpsubdir="* || $type == "-wpsubdom="* || $type == "-ssl-off="* || $type == "-mysql="* || $type == "-delete="* ]]; then
|
||||
if [[ $type == "-parked="* || $type == "-proxy="* || $type == "-wp="* || $type == "-wpsubdir="* || $type == "-wpsubdom="* || $type == "-ssl-off="* || $type == "-mysql="* || $type == "-delete="* || $type == "-force-redirect="* ]]; then
|
||||
value=$(echo "${type}" | cut -d'=' -f 2 -s)
|
||||
type=$(echo "${type}" | cut -d'=' -f 1 -s)
|
||||
fi
|
||||
|
@ -46,7 +46,7 @@ fi
|
|||
|
||||
|
||||
# Check if site is sub-domain
|
||||
if [[ -n $domain && $type =~ ^(-html|-php|-mysql|-wp|-wpsubdir|-wpsubdom|-parked|-proxy|-ssl-on)$ ]]; then
|
||||
if [[ -n $domain && $type =~ ^(-html|-php|-mysql|-wp|-wpsubdir|-wpsubdom|-parked|-proxy|-ssl-on|-force-redirect)$ ]]; then
|
||||
count=1
|
||||
while true; do
|
||||
tld=$(echo "${domain}" | rev | cut -d'.' -f -$count -s | rev)
|
||||
|
@ -108,10 +108,10 @@ if [[ $type == "-wp" || $type == "-wpsubdir" || $type == "-wpsubdom" || $type ==
|
|||
fi
|
||||
|
||||
# Cache validation
|
||||
if [[ $cache == "-cache" && $wp == "0" ]]; then
|
||||
if [[ $cache == "-cache" && $wp == [045] ]]; then
|
||||
echo "${red} Site $domain is not a WP site! ${end}"
|
||||
exit 1
|
||||
elif [[ -n $cache && ( $cache != "-cache" && $cache != "-root" && $cache != "-subdomain" ) && $type != "-parked" ]]; then
|
||||
elif [[ -n $cache && ( $cache != "-cache" && $cache != "-root" && $cache != "-subdomain" && $cache != "-ignore-ssl" ) && $type != "-parked" ]]; then
|
||||
echo "${red} $cache is not a valid argument! ${end}"
|
||||
exit 1
|
||||
fi
|
||||
|
@ -339,10 +339,15 @@ elif [[ "$type" == "-cache" && -a /etc/nginx/sites-available/$domain ]]; then
|
|||
else
|
||||
echo "${red} Site $domain is not a WP site or FastCGI is already enabled!${end}"
|
||||
fi
|
||||
|
||||
|
||||
# Force www or non-www redirect (www, root, off)
|
||||
elif [[ "$type" == "-force-redirect" && -a /etc/nginx/sites-available/$domain ]]; then
|
||||
force_redirect
|
||||
|
||||
|
||||
# Catch ERROR
|
||||
elif [[ ! -a /etc/nginx/sites-available/$domain && $type =~ ^(-nocache|-cache|-delete|-off|-on|-ssl-on|-ssl-off)$ ]]; then
|
||||
elif [[ ! -a /etc/nginx/sites-available/$domain && $type =~ ^(-nocache|-cache|-delete|-off|-on|-ssl-on|-ssl-off|-force-redirect)$ ]]; then
|
||||
echo "${red}Site $domain doesn't exists!${end}"
|
||||
else
|
||||
echo "${red} Argument '${type}' is not a valid option! ${end}"
|
||||
|
|
|
@ -53,6 +53,7 @@ if [[ $arg == "-noptim" && $opt == "-lemp" ]]; then
|
|||
|
||||
# Delete some stack
|
||||
elif [[ $arg == "-purge" && ( $opt == "-html" || $opt == "-nginx" ) ]]; then
|
||||
api_update pn1
|
||||
if [[ $(conf_read nginx) != "true" ]]; then
|
||||
echo "${red}Nginx is not installed, hence can not be deleted! ${end}"
|
||||
clear_force_flag
|
||||
|
@ -85,18 +86,23 @@ elif [[ $arg == "-purge" && ( $opt == "-html" || $opt == "-nginx" ) ]]; then
|
|||
fi
|
||||
if [[ $answer == [Yy] ]]; then
|
||||
[[ $(conf_read mysql-tool) == "true" ]] && stack -pma -purge
|
||||
api_update pn2
|
||||
site -delete-all
|
||||
sudo rm -rf /var/www/$(conf_read tools-port)
|
||||
sudo rm -rf /var/www/html
|
||||
api_update pn3
|
||||
fi
|
||||
|
||||
sudo service nginx stop
|
||||
sudo apt-get -y purge nginx nginx-common
|
||||
sudo apt-get -y purge letsencrypt python-boto duplicity duply
|
||||
[[ $(conf_read nginx-ppa) == "mainline" ]] && echo | sudo add-apt-repository --remove 'ppa:nginx/development' || echo | sudo add-apt-repository --remove 'ppa:nginx/stable'
|
||||
api_update pn4
|
||||
api_update pn5
|
||||
sudo apt-get -y purge letsencrypt python-boto duplicity duply
|
||||
sudo apt-get -y autoremove
|
||||
sudo rm $HOME/www
|
||||
sudo rm $HOME/sites-available
|
||||
sudo rm $HOME/sites-available
|
||||
api_update pn6
|
||||
linux_purge
|
||||
|
||||
[[ $(conf_read php-tool) != "true" ]] && conf_write web-tool purged
|
||||
|
@ -114,6 +120,7 @@ elif [[ $arg == "-purge" && ( $opt == "-html" || $opt == "-nginx" ) ]]; then
|
|||
echo ""
|
||||
|
||||
elif [[ $arg == "-purge" && $opt == "-php" ]]; then
|
||||
api_update pp1
|
||||
if [[ $(conf_read php) != "true" ]]; then
|
||||
echo "${red}PHP is not installed, hence can not be deleted! ${end}"
|
||||
clear_force_flag
|
||||
|
@ -168,9 +175,11 @@ elif [[ $arg == "-purge" && $opt == "-php" ]]; then
|
|||
echo ""
|
||||
fi
|
||||
echo ""
|
||||
|
||||
api_update pp2
|
||||
|
||||
|
||||
elif [[ $arg == "-purge" && $opt == "-mysql" ]]; then
|
||||
api_update pm1
|
||||
if [[ $(conf_read mysql) != "true" ]]; then
|
||||
echo "${red}MySQL is not installed, hence can not be deleted! ${end}"
|
||||
clear_force_flag
|
||||
|
@ -229,8 +238,10 @@ elif [[ $arg == "-purge" && $opt == "-mysql" ]]; then
|
|||
echo ""
|
||||
fi
|
||||
echo ""
|
||||
api_update pm4
|
||||
|
||||
elif [[ $arg == "-purge" && $opt == "-pma" ]]; then
|
||||
api_update pm2
|
||||
if [[ $(conf_read mysql-tool) != "true" ]]; then
|
||||
echo "${red} PhpMyAdmin is not installed, hence can not be deleted! ${end}"
|
||||
clear_force_flag
|
||||
|
@ -267,6 +278,7 @@ elif [[ $arg == "-purge" && $opt == "-pma" ]]; then
|
|||
echo ""
|
||||
fi
|
||||
echo ""
|
||||
api_update pm3
|
||||
|
||||
elif [[ $arg == "-purge" && $opt == "-web-tools" ]]; then
|
||||
if [[ $(conf_read web-tool) != "true" ]]; then
|
||||
|
|
10
templates/template-site-wwwredirect
Normal file
10
templates/template-site-wwwredirect
Normal file
|
@ -0,0 +1,10 @@
|
|||
# WebinolyWWWredirectStart - Force WWW or non-WWW redirect
|
||||
server {
|
||||
listen 80;
|
||||
listen [::]:80;
|
||||
#server_name;
|
||||
|
||||
include common/headers-http.conf;
|
||||
#return 301;
|
||||
}
|
||||
# WebinolyWWWredirectEnd
|
Loading…
Reference in a new issue