mirror of
https://github.com/myvesta/vesta
synced 2025-08-14 18:49:21 -07:00
Merge branch 'master' into vesta-ipv6-support
This commit is contained in:
commit
790b4aeb51
199 changed files with 2968 additions and 1202 deletions
|
@ -15,6 +15,7 @@
|
|||
# Argument definition
|
||||
user=$1
|
||||
domain=$2
|
||||
domain_idn=$2
|
||||
record=$(idn -t --quiet -u "$3" )
|
||||
record=$(echo "$record" | tr '[:upper:]' '[:lower:]')
|
||||
rtype=$(echo "$4"| tr '[:lower:]' '[:upper:]')
|
||||
|
@ -39,7 +40,7 @@ fi
|
|||
# Add trailing dot at the end of NS/CNAME/MX/PTR/SRV record
|
||||
if [[ $rtype =~ NS|CNAME|MX|PTR|SRV ]]; then
|
||||
trailing_dot=$(echo $dvalue | grep "\.$")
|
||||
if [ -z $trailing_dot ]; then
|
||||
if [ -z "$trailing_dot" ]; then
|
||||
dvalue="$dvalue."
|
||||
fi
|
||||
fi
|
||||
|
@ -53,6 +54,7 @@ fi
|
|||
# Additional argument formatting
|
||||
format_domain
|
||||
format_domain_idn
|
||||
# TODO: $domain_idn not used in this script - maybe $domain should be converted to $doman_idn ?
|
||||
|
||||
|
||||
#----------------------------------------------------------#
|
||||
|
|
|
@ -12,6 +12,7 @@
|
|||
# Argument definition
|
||||
user=$1
|
||||
domain=$2
|
||||
domain_idn=$2
|
||||
account=$3
|
||||
malias=$4
|
||||
|
||||
|
@ -23,6 +24,7 @@ source $VESTA/conf/vesta.conf
|
|||
# Additional argument formatting
|
||||
format_domain
|
||||
format_domain_idn
|
||||
# TODO: $domain_idn not used in this script - maybe $domain should be converted to $doman_idn ?
|
||||
|
||||
|
||||
#----------------------------------------------------------#
|
||||
|
|
|
@ -12,6 +12,7 @@
|
|||
# Argument definition
|
||||
user=$1
|
||||
domain=$2
|
||||
domain_idn=$2
|
||||
account=$3
|
||||
autoreply=$4
|
||||
|
||||
|
@ -30,6 +31,7 @@ fi
|
|||
# Additional argument formatting
|
||||
format_domain
|
||||
format_domain_idn
|
||||
# TODO: $domain_idn not used in this script - maybe $domain should be converted to $doman_idn ?
|
||||
|
||||
|
||||
#----------------------------------------------------------#
|
||||
|
|
|
@ -12,6 +12,7 @@
|
|||
# Argument definition
|
||||
user=$1
|
||||
domain=$2
|
||||
domain_idn=$2
|
||||
account=$3
|
||||
forward=$4
|
||||
|
||||
|
|
|
@ -12,6 +12,7 @@
|
|||
# Argument definition
|
||||
user=$1
|
||||
domain=$2
|
||||
domain_idn=$2
|
||||
account=$3
|
||||
|
||||
# Includes
|
||||
|
@ -29,6 +30,7 @@ fi
|
|||
# Additional argument formatting
|
||||
format_domain
|
||||
format_domain_idn
|
||||
# TODO: $domain_idn not used in this script - maybe $domain should be converted to $doman_idn ?
|
||||
|
||||
|
||||
#----------------------------------------------------------#
|
||||
|
|
|
@ -12,6 +12,7 @@
|
|||
# Argument definition
|
||||
user=$1
|
||||
domain=$2
|
||||
domain_idn=$2
|
||||
antispam=${3-yes}
|
||||
antivirus=${4-yes}
|
||||
dkim=${5-yes}
|
||||
|
|
|
@ -12,6 +12,7 @@
|
|||
# Argument definition
|
||||
user=$1
|
||||
domain=$2
|
||||
domain_idn=$2
|
||||
|
||||
# Includes
|
||||
source $VESTA/func/main.sh
|
||||
|
@ -21,6 +22,7 @@ source $VESTA/conf/vesta.conf
|
|||
# Additional argument formatting
|
||||
format_domain
|
||||
format_domain_idn
|
||||
# TODO: $domain_idn not used in this script - maybe $domain should be converted to $doman_idn ?
|
||||
|
||||
|
||||
#----------------------------------------------------------#
|
||||
|
|
|
@ -12,6 +12,7 @@
|
|||
# Argument definition
|
||||
user=$1
|
||||
domain=$2
|
||||
domain_idn=$2
|
||||
|
||||
# Includes
|
||||
source $VESTA/func/main.sh
|
||||
|
@ -21,6 +22,7 @@ source $VESTA/conf/vesta.conf
|
|||
# Additional argument formatting
|
||||
format_domain
|
||||
format_domain_idn
|
||||
# TODO: $domain_idn not used in this script - maybe $domain should be converted to $doman_idn ?
|
||||
|
||||
|
||||
#----------------------------------------------------------#
|
||||
|
|
|
@ -12,6 +12,7 @@
|
|||
# Argument definition
|
||||
user=$1
|
||||
domain=$2
|
||||
domain_idn=$2
|
||||
email="$3"
|
||||
|
||||
# Includes
|
||||
|
|
|
@ -12,6 +12,7 @@
|
|||
# Argument definition
|
||||
user=$1
|
||||
domain=$2
|
||||
domain_idn=$2
|
||||
dkim_size=${3-1024}
|
||||
|
||||
# Includes
|
||||
|
@ -29,6 +30,7 @@ fi
|
|||
# Additional argument formatting
|
||||
format_domain
|
||||
format_domain_idn
|
||||
# TODO: $domain_idn not used in this script - maybe $domain should be converted to $doman_idn ?
|
||||
|
||||
|
||||
#----------------------------------------------------------#
|
||||
|
@ -81,7 +83,7 @@ fi
|
|||
|
||||
# Adding dkim in config
|
||||
update_object_value 'mail' 'DOMAIN' "$domain" '$DKIM' 'yes'
|
||||
increase_user_value "$user" '$U_MAIL_DKMI'
|
||||
increase_user_value "$user" '$U_MAIL_DKIM'
|
||||
|
||||
# Logging
|
||||
log_history "enabled DKIM support for $domain"
|
||||
|
|
|
@ -45,6 +45,7 @@ fi
|
|||
|
||||
# Enabling jailed sftp
|
||||
if [ -z "$sftp_i" ]; then
|
||||
echo " " >> $config
|
||||
echo "Subsystem sftp internal-sftp" >> $config
|
||||
echo "Match Group sftp-only" >> $config
|
||||
echo "ChrootDirectory /chroot/%u" >> $config
|
||||
|
|
|
@ -13,6 +13,7 @@
|
|||
# Argument definition
|
||||
user=$1
|
||||
domain=$2
|
||||
domain_idn=$2
|
||||
aliases=$3
|
||||
restart="$4"
|
||||
|
||||
|
@ -26,6 +27,7 @@ source $VESTA/conf/vesta.conf
|
|||
# Additional argument formatting
|
||||
format_domain
|
||||
format_domain_idn
|
||||
# TODO: $domain_idn not used in this script - maybe $domain should be converted to $doman_idn ?
|
||||
format_aliases
|
||||
|
||||
|
||||
|
|
|
@ -12,6 +12,7 @@
|
|||
# Argument definition
|
||||
user=$1
|
||||
domain=$2
|
||||
domain_idn=$2
|
||||
ftp_user=${1}_${3}
|
||||
password=$4; HIDE=4
|
||||
ftp_path=$5
|
||||
|
@ -24,6 +25,7 @@ source $VESTA/conf/vesta.conf
|
|||
# Additional argument formatting
|
||||
format_domain
|
||||
format_domain_idn
|
||||
# TODO: $domain_idn not used in this script - maybe $domain should be converted to $doman_idn ?
|
||||
|
||||
|
||||
#----------------------------------------------------------#
|
||||
|
|
|
@ -24,6 +24,8 @@ source $VESTA/conf/vesta.conf
|
|||
# Defining htpasswd file
|
||||
htaccess="$HOMEDIR/$user/conf/web/$WEB_SYSTEM.$domain.conf_htaccess"
|
||||
htpasswd="$HOMEDIR/$user/conf/web/$WEB_SYSTEM.$domain.htpasswd"
|
||||
shtaccess="$HOMEDIR/$user/conf/web/s$WEB_SYSTEM.$domain.conf_htaccess"
|
||||
shtpasswd="$HOMEDIR/$user/conf/web/s$WEB_SYSTEM.$domain.htpasswd"
|
||||
docroot="$HOMEDIR/$user/web/$domain/public_html"
|
||||
|
||||
|
||||
|
@ -71,15 +73,23 @@ fi
|
|||
auth_hash=$($BIN/v-generate-password-hash htpasswd htpasswd $password)
|
||||
touch $htpasswd
|
||||
chmod 640 $htpasswd $htaccess
|
||||
chgrp $user $htpasswd $htaccess
|
||||
sed -i "/^$auth_user:/d" $htpasswd
|
||||
echo "$auth_user:$auth_hash" >> $htpasswd
|
||||
|
||||
# Symbolic link for secure web templates
|
||||
if [ ! -L $shtpasswd ]; then
|
||||
ln -s $htpasswd $shtpasswd
|
||||
fi
|
||||
if [ ! -L $shtaccess ]; then
|
||||
ln -s $htaccess $shtaccess
|
||||
fi
|
||||
|
||||
# Restarting web server
|
||||
if [ "$restart" != 'no' ] && [ "$restart_required" = 'yes' ]; then
|
||||
$BIN/v-restart-web
|
||||
fi
|
||||
|
||||
|
||||
#----------------------------------------------------------#
|
||||
# Vesta #
|
||||
#----------------------------------------------------------#
|
||||
|
|
|
@ -21,6 +21,20 @@ ssl_dir=$3
|
|||
ssl_home=${4-same}
|
||||
restart="$5"
|
||||
|
||||
# Additional argument formatting
|
||||
if [[ "$domain" =~ [[:upper:]] ]]; then
|
||||
domain=$(echo "$domain" |tr '[:upper:]' '[:lower:]')
|
||||
fi
|
||||
if [[ "$domain" =~ ^www\..* ]]; then
|
||||
domain=$(echo "$domain" |sed -e "s/^www.//")
|
||||
fi
|
||||
if [[ "$domain" =~ .*\.$ ]]; then
|
||||
domain=$(echo "$domain" |sed -e "s/\.$//")
|
||||
fi
|
||||
|
||||
domain=$(idn -t --quiet -u "$domain" )
|
||||
domain_idn=$(idn -t --quiet -a "$domain")
|
||||
|
||||
# Includes
|
||||
source $VESTA/func/main.sh
|
||||
source $VESTA/func/domain.sh
|
||||
|
|
|
@ -16,6 +16,7 @@
|
|||
# Argument definition
|
||||
user=$1
|
||||
domain=$2
|
||||
domain_idn=$2
|
||||
type=$3
|
||||
|
||||
# Includes
|
||||
|
|
|
@ -137,6 +137,7 @@ if [ ! -z "$WEB_SYSTEM" ] && [ "$WEB" != '*' ]; then
|
|||
mkdir -p $tmpdir/web/$domain/vesta
|
||||
|
||||
# Get domain variables
|
||||
domain_idn=$domain
|
||||
format_domain_idn
|
||||
get_domain_values 'web'
|
||||
|
||||
|
@ -286,6 +287,7 @@ if [ ! -z "$MAIL_SYSTEM" ] && [ "$MAIL" != '*' ]; then
|
|||
echo -e "$(date "+%F %T") $domain" |tee -a $BACKUP/$user.log
|
||||
mkdir -p $tmpdir/mail/$domain/conf
|
||||
mkdir -p $tmpdir/mail/$domain/vesta
|
||||
domain_idn=$domain
|
||||
format_domain_idn
|
||||
|
||||
# Backup exim config
|
||||
|
@ -809,12 +811,12 @@ current_time=$(date "+%T")
|
|||
if [ "$run_time" -lt 1 ]; then
|
||||
run_time=1
|
||||
fi
|
||||
min=miutes
|
||||
min=minutes
|
||||
if [ "$run_time" -eq 1 ]; then
|
||||
min=minute
|
||||
fi
|
||||
|
||||
echo "$(date "+%F %T") Size: $size Mb" |tee -a $BACKUP/$user.log
|
||||
echo "$(date "+%F %T") Size: $size MB" |tee -a $BACKUP/$user.log
|
||||
echo "$(date "+%F %T") Runtime: $run_time $min" |tee -a $BACKUP/$user.log
|
||||
|
||||
|
||||
|
|
|
@ -13,6 +13,7 @@
|
|||
# Argument definition
|
||||
user=$1
|
||||
domain=$2
|
||||
domain_idn=$2
|
||||
exp=$3
|
||||
|
||||
# Includes
|
||||
|
@ -22,6 +23,7 @@ source $VESTA/conf/vesta.conf
|
|||
# Additional argument formatting
|
||||
format_domain
|
||||
format_domain_idn
|
||||
# TODO: $domain_idn not used in this script - maybe $domain should be converted to $doman_idn ?
|
||||
|
||||
|
||||
#----------------------------------------------------------#
|
||||
|
|
|
@ -12,6 +12,7 @@
|
|||
# Argument definition
|
||||
user=$1
|
||||
domain=$2
|
||||
domain_idn=$2
|
||||
ip=$3
|
||||
restart=$4
|
||||
|
||||
|
@ -24,6 +25,7 @@ source $VESTA/conf/vesta.conf
|
|||
# Additional argument formatting
|
||||
format_domain
|
||||
format_domain_idn
|
||||
# TODO: $domain_idn not used in this script - maybe $domain should be converted to $doman_idn ?
|
||||
|
||||
|
||||
#----------------------------------------------------------#
|
||||
|
|
|
@ -13,6 +13,7 @@
|
|||
# Argument definition
|
||||
user=$1
|
||||
domain=$2
|
||||
domain_idn=$2
|
||||
soa=$(echo $3 | sed -e 's/\.*$//g' -e 's/^\.*//g')
|
||||
restart=$4
|
||||
|
||||
|
@ -24,6 +25,7 @@ source $VESTA/conf/vesta.conf
|
|||
# Additional argument formatting
|
||||
format_domain
|
||||
format_domain_idn
|
||||
# TODO: $domain_idn not used in this script - maybe $domain should be converted to $doman_idn ?
|
||||
|
||||
|
||||
#----------------------------------------------------------#
|
||||
|
|
|
@ -14,6 +14,7 @@
|
|||
# Argument definition
|
||||
user=$1
|
||||
domain=$2
|
||||
domain_idn=$2
|
||||
template=$3
|
||||
restart=$4
|
||||
|
||||
|
|
|
@ -12,6 +12,7 @@
|
|||
# Argument definition
|
||||
user=$1
|
||||
domain=$2
|
||||
domain_idn=$2
|
||||
ttl=$3
|
||||
restart=$4
|
||||
|
||||
|
@ -23,6 +24,7 @@ source $VESTA/conf/vesta.conf
|
|||
# Additional argument formatting
|
||||
format_domain
|
||||
format_domain_idn
|
||||
# TODO: $domain_idn not used in this script - maybe $domain should be converted to $doman_idn ?
|
||||
|
||||
|
||||
#----------------------------------------------------------#
|
||||
|
|
|
@ -12,6 +12,7 @@
|
|||
# Argument definition
|
||||
user=$1
|
||||
domain=$2
|
||||
domain_idn=$2
|
||||
id=$3
|
||||
dvalue=$(idn -t --quiet -u "$4" )
|
||||
priority=$5
|
||||
|
@ -25,6 +26,7 @@ source $VESTA/conf/vesta.conf
|
|||
# Additional argument formatting
|
||||
format_domain
|
||||
format_domain_idn
|
||||
# TODO: $domain_idn not used in this script - maybe $domain should be converted to $doman_idn ?
|
||||
|
||||
|
||||
#----------------------------------------------------------#
|
||||
|
|
|
@ -12,6 +12,7 @@
|
|||
# Argument definition
|
||||
user=$1
|
||||
domain=$2
|
||||
domain_idn=$2
|
||||
id=$3
|
||||
newid=$4
|
||||
restart=$5
|
||||
|
@ -24,6 +25,7 @@ source $VESTA/conf/vesta.conf
|
|||
# Additional argument formatting
|
||||
format_domain
|
||||
format_domain_idn
|
||||
# TODO: $domain_idn not used in this script - maybe $domain should be converted to $doman_idn ?
|
||||
|
||||
|
||||
#----------------------------------------------------------#
|
||||
|
|
|
@ -149,6 +149,11 @@ if [ ! -z "$mail_data" ]; then
|
|||
find $HOMEDIR/$user/mail/$domain -user $owner \
|
||||
-exec chown -h $user {} \;
|
||||
|
||||
# Rebuild config
|
||||
$BIN/v-unsuspend-mail-domain $user $domain no >> /dev/null 2>&1
|
||||
$BIN/v-rebuild-mail-domains $owner no
|
||||
$BIN/v-rebuild-mail-domains $user
|
||||
|
||||
# Checking exim username for later chowning
|
||||
exim_user="exim";
|
||||
check_exim_username=$(grep -c '^Debian-exim:' /etc/passwd)
|
||||
|
@ -156,13 +161,10 @@ if [ ! -z "$mail_data" ]; then
|
|||
exim_user="Debian-exim"
|
||||
fi
|
||||
# Chowning mail conf files to exim user
|
||||
find $HOMEDIR/$user/conf/mail/$domain -user root \
|
||||
-exec chown $exim_user {} \;
|
||||
|
||||
# Rebuild config
|
||||
$BIN/v-unsuspend-mail-domain $user $domain no >> /dev/null 2>&1
|
||||
$BIN/v-rebuild-mail-domains $owner no
|
||||
$BIN/v-rebuild-mail-domains $user
|
||||
if [ -d "$HOMEDIR/$user/conf/mail/$domain" ]; then
|
||||
find $HOMEDIR/$user/conf/mail/$domain -user root \
|
||||
-exec chown $exim_user {} \;
|
||||
fi
|
||||
fi
|
||||
|
||||
# Update counters
|
||||
|
|
|
@ -12,6 +12,7 @@
|
|||
# Argument definition
|
||||
user=$1
|
||||
domain=$2
|
||||
domain_idn=$2
|
||||
account=$3
|
||||
password=$4; HIDE=4
|
||||
|
||||
|
@ -23,6 +24,7 @@ source $VESTA/conf/vesta.conf
|
|||
# Additional argument formatting
|
||||
format_domain
|
||||
format_domain_idn
|
||||
# TODO: $domain_idn not used in this script - maybe $domain should be converted to $doman_idn ?
|
||||
|
||||
|
||||
#----------------------------------------------------------#
|
||||
|
|
|
@ -12,6 +12,7 @@
|
|||
# Argument definition
|
||||
user=$1
|
||||
domain=$2
|
||||
domain_idn=$2
|
||||
account=$3
|
||||
quota=$4
|
||||
|
||||
|
@ -23,6 +24,7 @@ source $VESTA/conf/vesta.conf
|
|||
# Additional argument formatting
|
||||
format_domain
|
||||
format_domain_idn
|
||||
# TODO: $domain_idn not used in this script - maybe $domain should be converted to $doman_idn ?
|
||||
|
||||
|
||||
#----------------------------------------------------------#
|
||||
|
|
|
@ -12,6 +12,7 @@
|
|||
# Argument definition
|
||||
user=$1
|
||||
domain=$2
|
||||
domain_idn=$2
|
||||
email=$3
|
||||
|
||||
# Includes
|
||||
|
|
|
@ -104,7 +104,8 @@ if [ "$update" = 'yes' ] && [ "$restart" != 'no' ]; then
|
|||
service $service restart >/dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
for config in $dst; do
|
||||
mv -f $config.vst.back $config
|
||||
cat $config.vst.back > $config
|
||||
rm -f $config.vst.back
|
||||
done
|
||||
check_result $E_RESTART "$service failed to start with new config"
|
||||
fi
|
||||
|
|
|
@ -43,7 +43,7 @@ is_package_avalable() {
|
|||
check_result $E_LIMIT "Package doesn't cover WEB_DOMAIN usage"
|
||||
fi
|
||||
fi
|
||||
if [ "$DNS_DOMAINS" ! = 'unlimited' ]; then
|
||||
if [ "$DNS_DOMAINS" != 'unlimited' ]; then
|
||||
if [ "$DNS_DOMAINS" -lt "$U_DNS_DOMAINS" ]; then
|
||||
check_result $E_LIMIT "Package doesn't cover DNS_DOMAIN usage"
|
||||
fi
|
||||
|
|
|
@ -12,6 +12,7 @@
|
|||
# Argument definition
|
||||
user=$1
|
||||
domain=$2
|
||||
domain_idn=$2
|
||||
template=$3
|
||||
restart=$4
|
||||
|
||||
|
|
|
@ -12,6 +12,7 @@
|
|||
# Argument definition
|
||||
user=$1
|
||||
domain=$2
|
||||
domain_idn=$2
|
||||
ftp_user=$3
|
||||
password=$4; HIDE=4
|
||||
|
||||
|
@ -23,6 +24,7 @@ source $VESTA/conf/vesta.conf
|
|||
# Additional argument formatting
|
||||
format_domain
|
||||
format_domain_idn
|
||||
# TODO: $domain_idn not used in this script - maybe $domain should be converted to $doman_idn ?
|
||||
|
||||
|
||||
#----------------------------------------------------------#
|
||||
|
|
|
@ -12,6 +12,7 @@
|
|||
# Argument definition
|
||||
user=$1
|
||||
domain=$2
|
||||
domain_idn=$2
|
||||
ftp_user=$3
|
||||
ftp_path=$4
|
||||
|
||||
|
@ -23,6 +24,7 @@ source $VESTA/conf/vesta.conf
|
|||
# Additional argument formatting
|
||||
format_domain
|
||||
format_domain_idn
|
||||
# TODO: $domain_idn not used in this script - maybe $domain should be converted to $doman_idn ?
|
||||
|
||||
|
||||
#----------------------------------------------------------#
|
||||
|
|
|
@ -12,6 +12,7 @@
|
|||
# Argument definition
|
||||
user=$1
|
||||
domain=$2
|
||||
domain_idn=$2
|
||||
ip=$3
|
||||
restart=$4
|
||||
|
||||
|
@ -24,6 +25,7 @@ source $VESTA/conf/vesta.conf
|
|||
# Additional argument formatting
|
||||
format_domain
|
||||
format_domain_idn
|
||||
# TODO: $domain_idn not used in this script - maybe $domain should be converted to $doman_idn ?
|
||||
|
||||
|
||||
#----------------------------------------------------------#
|
||||
|
|
|
@ -12,6 +12,7 @@
|
|||
# Argument defenition
|
||||
user=$1
|
||||
domain=$2
|
||||
domain_idn=$2
|
||||
new_domain=$3
|
||||
restart=$4
|
||||
|
||||
|
@ -25,6 +26,7 @@ source $VESTA/conf/vesta.conf
|
|||
# Additional argument formatting
|
||||
format_domain
|
||||
format_domain_idn
|
||||
# TODO: $domain_idn not used in this script - maybe $domain should be converted to $doman_idn ?
|
||||
|
||||
|
||||
#----------------------------------------------------------#
|
||||
|
|
|
@ -12,6 +12,7 @@
|
|||
# Argument definition
|
||||
user=$1
|
||||
domain=$2
|
||||
domain_idn=$2
|
||||
template=$3
|
||||
default_extentions="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,html,htm"
|
||||
|
@ -28,6 +29,7 @@ source $VESTA/conf/vesta.conf
|
|||
# Additional argument formatting
|
||||
format_domain
|
||||
format_domain_idn
|
||||
# TODO: $domain_idn not used in this script - maybe $domain should be converted to $doman_idn ?
|
||||
|
||||
|
||||
#----------------------------------------------------------#
|
||||
|
|
|
@ -13,6 +13,7 @@
|
|||
# Argument definition
|
||||
user=$1
|
||||
domain=$2
|
||||
domain_idn=$2
|
||||
ssl_dir=$3
|
||||
restart=$4
|
||||
|
||||
|
@ -24,6 +25,7 @@ source $VESTA/conf/vesta.conf
|
|||
# Additional argument formatting
|
||||
format_domain
|
||||
format_domain_idn
|
||||
# TODO: $domain_idn not used in this script - maybe $domain should be converted to $doman_idn ?
|
||||
|
||||
|
||||
#----------------------------------------------------------#
|
||||
|
|
|
@ -8,6 +8,7 @@
|
|||
# Argument definition
|
||||
user=$1
|
||||
domain=$2
|
||||
domain_idn=$2
|
||||
ssl_home=$3
|
||||
restart=$4
|
||||
|
||||
|
@ -19,6 +20,7 @@ source $VESTA/conf/vesta.conf
|
|||
# Additional argument formatting
|
||||
format_domain
|
||||
format_domain_idn
|
||||
# TODO: $domain_idn not used in this script - maybe $domain should be converted to $doman_idn ?
|
||||
|
||||
|
||||
#----------------------------------------------------------#
|
||||
|
|
|
@ -13,6 +13,7 @@
|
|||
# Argument definition
|
||||
user=$1
|
||||
domain=$2
|
||||
domain_idn=$2
|
||||
type=$3
|
||||
|
||||
# Includes
|
||||
|
|
|
@ -13,6 +13,7 @@
|
|||
# Argument definition
|
||||
user=$1
|
||||
domain=$2
|
||||
domain_idn=$2
|
||||
template=$3
|
||||
restart=$4
|
||||
|
||||
|
@ -26,6 +27,7 @@ source $VESTA/conf/vesta.conf
|
|||
# Additional argument formatting
|
||||
format_domain
|
||||
format_domain_idn
|
||||
# TODO: $domain_idn not used in this script - maybe $domain should be converted to $doman_idn ?
|
||||
|
||||
|
||||
#----------------------------------------------------------#
|
||||
|
|
|
@ -89,15 +89,22 @@ uri=$(echo "$answer" |grep -A 3 http-01 |grep uri |cut -f 4 -d \")
|
|||
# Adding location wrapper for request challenge
|
||||
if [ "$WEB_SYSTEM" = 'nginx' ] || [ "$PROXY_SYSTEM" = 'nginx' ]; then
|
||||
conf="$HOMEDIR/$user/conf/web/nginx.$r_domain.conf_letsencrypt"
|
||||
sconf="$HOMEDIR/$user/conf/web/snginx.$r_domain.conf_letsencrypt"
|
||||
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
|
||||
if [ ! -e "$sconf" ]; then
|
||||
ln -s "$conf" "$sconf"
|
||||
fi
|
||||
else
|
||||
acme="$HOMEDIR/$user/web/$r_domain/public_html/.well-known/acme-challenge"
|
||||
echo "$token" > $acme/$token.$thumb
|
||||
if [ ! -d "$acme" ]; then
|
||||
mkdir -p $acme
|
||||
fi
|
||||
echo "$token.$thumb" > $acme/$token
|
||||
chown -R $user:$user $HOMEDIR/$user/web/$r_domain/public_html/.well-known
|
||||
fi
|
||||
|
||||
|
|
|
@ -12,6 +12,7 @@
|
|||
# Argument definition
|
||||
user=$1
|
||||
domain=$2
|
||||
domain_idn=$2
|
||||
dom_alias=$(idn -t --quiet -u "$3" )
|
||||
dom_alias=$(echo $dom_alias |sed -e 's/\.*$//g' -e 's/^\.*//g')
|
||||
dom_alias=$(echo $dom_alias |tr '[:upper:]' '[:lower:]')
|
||||
|
@ -26,6 +27,7 @@ source $VESTA/conf/vesta.conf
|
|||
# Additional argument formatting
|
||||
format_domain
|
||||
format_domain_idn
|
||||
# TODO: $domain_idn not used in this script - maybe $domain should be converted to $doman_idn ?
|
||||
|
||||
|
||||
#----------------------------------------------------------#
|
||||
|
|
|
@ -12,6 +12,7 @@
|
|||
# Argument definition
|
||||
user=$1
|
||||
domain=$2
|
||||
domain_idn=$2
|
||||
id=$3
|
||||
restart=$4
|
||||
|
||||
|
@ -23,6 +24,7 @@ source $VESTA/conf/vesta.conf
|
|||
# Additional argument formatting
|
||||
format_domain
|
||||
format_domain_idn
|
||||
# TODO: $domain_idn not used in this script - maybe $domain should be converted to $doman_idn ?
|
||||
|
||||
|
||||
#----------------------------------------------------------#
|
||||
|
|
|
@ -12,6 +12,7 @@
|
|||
# Argument definition
|
||||
user=$1
|
||||
domain=$2
|
||||
domain_idn=$2
|
||||
account=$3
|
||||
|
||||
# Includes
|
||||
|
|
|
@ -12,6 +12,7 @@
|
|||
# Argument definition
|
||||
user=$1
|
||||
domain=$2
|
||||
domain_idn=$2
|
||||
account=$3
|
||||
malias=$4
|
||||
|
||||
|
|
|
@ -12,6 +12,7 @@
|
|||
# Argument definition
|
||||
user=$1
|
||||
domain=$2
|
||||
domain_idn=$2
|
||||
account=$3
|
||||
malias=$4
|
||||
|
||||
|
@ -23,6 +24,7 @@ source $VESTA/conf/vesta.conf
|
|||
# Additional argument formatting
|
||||
format_domain
|
||||
format_domain_idn
|
||||
# TODO: $domain_idn not used in this script - maybe $domain should be converted to $doman_idn ?
|
||||
|
||||
|
||||
#----------------------------------------------------------#
|
||||
|
|
|
@ -12,6 +12,7 @@
|
|||
# Argument definition
|
||||
user=$1
|
||||
domain=$2
|
||||
domain_idn=$2
|
||||
account=$3
|
||||
forward=$4
|
||||
|
||||
|
|
|
@ -12,6 +12,7 @@
|
|||
# Argument definition
|
||||
user=$1
|
||||
domain=$2
|
||||
domain_idn=$2
|
||||
account=$3
|
||||
|
||||
# Includes
|
||||
|
@ -22,6 +23,7 @@ source $VESTA/conf/vesta.conf
|
|||
# Additional argument formatting
|
||||
format_domain
|
||||
format_domain_idn
|
||||
# TODO: $domain_idn not used in this script - maybe $domain should be converted to $doman_idn ?
|
||||
|
||||
|
||||
#----------------------------------------------------------#
|
||||
|
|
|
@ -13,6 +13,7 @@
|
|||
# Argument definition
|
||||
user=$1
|
||||
domain=$2
|
||||
domain_idn=$2
|
||||
|
||||
# Includes
|
||||
source $VESTA/func/main.sh
|
||||
|
|
|
@ -12,6 +12,7 @@
|
|||
# Argument definition
|
||||
user=$1
|
||||
domain=$2
|
||||
domain_idn=$2
|
||||
|
||||
# Includes
|
||||
source $VESTA/func/main.sh
|
||||
|
@ -21,6 +22,7 @@ source $VESTA/conf/vesta.conf
|
|||
# Additional argument formatting
|
||||
format_domain
|
||||
format_domain_idn
|
||||
# TODO: $domain_idn not used in this script - maybe $domain should be converted to $doman_idn ?
|
||||
|
||||
|
||||
#----------------------------------------------------------#
|
||||
|
|
|
@ -12,6 +12,7 @@
|
|||
# Argument definition
|
||||
user=$1
|
||||
domain=$2
|
||||
domain_idn=$2
|
||||
|
||||
# Includes
|
||||
source $VESTA/func/main.sh
|
||||
|
@ -21,6 +22,7 @@ source $VESTA/conf/vesta.conf
|
|||
# Additional argument formatting
|
||||
format_domain
|
||||
format_domain_idn
|
||||
# TODO: $domain_idn not used in this script - maybe $domain should be converted to $doman_idn ?
|
||||
|
||||
|
||||
#----------------------------------------------------------#
|
||||
|
|
|
@ -12,6 +12,7 @@
|
|||
# Argument definition
|
||||
user=$1
|
||||
domain=$2
|
||||
domain_idn=$2
|
||||
|
||||
# Includes
|
||||
source $VESTA/func/main.sh
|
||||
|
|
|
@ -61,7 +61,7 @@ fi
|
|||
|
||||
# Updatoing config
|
||||
update_object_value 'mail' 'DOMAIN' "$domain" '$DKIM' 'no'
|
||||
decrease_user_value "$user" '$U_MAIL_DKMI'
|
||||
decrease_user_value "$user" '$U_MAIL_DKIM'
|
||||
|
||||
# Logging
|
||||
log_history "disabled DKIM support on $domain"
|
||||
|
|
|
@ -15,6 +15,7 @@
|
|||
# Argument definition
|
||||
user=$1
|
||||
domain=$2
|
||||
domain_idn=$2
|
||||
restart=$3
|
||||
|
||||
# Includes
|
||||
|
@ -26,6 +27,7 @@ source $VESTA/conf/vesta.conf
|
|||
# Additional argument formatting
|
||||
format_domain
|
||||
format_domain_idn
|
||||
# TODO: $domain_idn not used in this script - maybe $domain should be converted to $doman_idn ?
|
||||
|
||||
|
||||
#----------------------------------------------------------#
|
||||
|
|
|
@ -12,6 +12,7 @@
|
|||
# Argument definition
|
||||
user=$1
|
||||
domain=$2
|
||||
domain_idn=$2
|
||||
|
||||
# Includes
|
||||
source $VESTA/func/main.sh
|
||||
|
@ -21,6 +22,7 @@ source $VESTA/conf/vesta.conf
|
|||
# Additional argument formatting
|
||||
format_domain
|
||||
format_domain_idn
|
||||
# TODO: $domain_idn not used in this script - maybe $domain should be converted to $doman_idn ?
|
||||
|
||||
|
||||
#----------------------------------------------------------#
|
||||
|
|
|
@ -12,6 +12,7 @@
|
|||
# Argument definition
|
||||
user=$1
|
||||
domain=$2
|
||||
domain_idn=$2
|
||||
ftp_user=$3
|
||||
|
||||
# Includes
|
||||
|
@ -22,6 +23,7 @@ source $VESTA/conf/vesta.conf
|
|||
# Additional argument formatting
|
||||
format_domain
|
||||
format_domain_idn
|
||||
# TODO: $domain_idn not used in this script - maybe $domain should be converted to $doman_idn ?
|
||||
|
||||
|
||||
#----------------------------------------------------------#
|
||||
|
|
|
@ -23,7 +23,8 @@ source $VESTA/conf/vesta.conf
|
|||
# Defining htpasswd file
|
||||
htaccess="$HOMEDIR/$user/conf/web/$WEB_SYSTEM.$domain.conf_htaccess"
|
||||
htpasswd="$HOMEDIR/$user/conf/web/$WEB_SYSTEM.$domain.htpasswd"
|
||||
|
||||
shtaccess="$HOMEDIR/$user/conf/web/s$WEB_SYSTEM.$domain.conf_htaccess"
|
||||
shtpasswd="$HOMEDIR/$user/conf/web/s$WEB_SYSTEM.$domain.htpasswd"
|
||||
|
||||
#----------------------------------------------------------#
|
||||
# Verifications #
|
||||
|
@ -54,7 +55,7 @@ sed -i "/^$auth_user:/d" $htpasswd
|
|||
|
||||
# Deleting password protection
|
||||
if [ "$(echo "$AUTH_USER" |tr : '\n' |wc -l)" -le 1 ]; then
|
||||
rm -f $htaccess $htpasswd
|
||||
rm -f $htaccess $htpasswd $shtaccess $shtpasswd
|
||||
restart_required='yes'
|
||||
fi
|
||||
|
||||
|
|
|
@ -12,6 +12,7 @@
|
|||
# Argument definition
|
||||
user=$1
|
||||
domain=$2
|
||||
domain_idn=$2
|
||||
restart=$3
|
||||
|
||||
# Includes
|
||||
|
@ -22,6 +23,7 @@ source $VESTA/conf/vesta.conf
|
|||
# Additional argument formatting
|
||||
format_domain
|
||||
format_domain_idn
|
||||
# TODO: $domain_idn not used in this script - maybe $domain should be converted to $doman_idn ?
|
||||
|
||||
|
||||
#----------------------------------------------------------#
|
||||
|
|
|
@ -12,6 +12,7 @@
|
|||
# Argument definition
|
||||
user=$1
|
||||
domain=$2
|
||||
domain_idn=$2
|
||||
restart=$3
|
||||
|
||||
# Includes
|
||||
|
@ -22,6 +23,7 @@ source $VESTA/conf/vesta.conf
|
|||
# Additional argument formatting
|
||||
format_domain
|
||||
format_domain_idn
|
||||
# TODO: $domain_idn not used in this script - maybe $domain should be converted to $doman_idn ?
|
||||
|
||||
|
||||
#----------------------------------------------------------#
|
||||
|
|
|
@ -13,6 +13,7 @@
|
|||
# Argument definition
|
||||
user=$1
|
||||
domain=$2
|
||||
domain_idn=$2
|
||||
|
||||
# Includes
|
||||
source $VESTA/func/main.sh
|
||||
|
|
|
@ -12,6 +12,7 @@
|
|||
# Argument definition
|
||||
user=$1
|
||||
domain=$2
|
||||
domain_idn=$2
|
||||
key=$(echo "$3"| tr '[:lower:]' '[:upper:]' | sed "s/^/$/")
|
||||
|
||||
# Includes
|
||||
|
@ -20,6 +21,7 @@ source $VESTA/func/main.sh
|
|||
# Additional argument formatting
|
||||
format_domain
|
||||
format_domain_idn
|
||||
# TODO: $domain_idn not used in this script - maybe $domain should be converted to $doman_idn ?
|
||||
|
||||
|
||||
#----------------------------------------------------------#
|
||||
|
|
|
@ -12,6 +12,7 @@
|
|||
# Argument definition
|
||||
user=$1
|
||||
domain=$2
|
||||
domain_idn=$2
|
||||
account=$3
|
||||
key=$(echo "$4"| tr '[:lower:]' '[:upper:]' | sed "s/^/$/")
|
||||
|
||||
|
@ -21,6 +22,7 @@ source $VESTA/func/main.sh
|
|||
# Additional argument formatting
|
||||
format_domain
|
||||
format_domain_idn
|
||||
# TODO: $domain_idn not used in this script - maybe $domain should be converted to $doman_idn ?
|
||||
|
||||
|
||||
#----------------------------------------------------------#
|
||||
|
|
|
@ -12,6 +12,7 @@
|
|||
# Argument definition
|
||||
user=$1
|
||||
domain=$2
|
||||
domain_idn=$2
|
||||
key=$(echo "$3"| tr '[:lower:]' '[:upper:]' | sed "s/^/$/")
|
||||
|
||||
# Includes
|
||||
|
@ -20,6 +21,7 @@ source $VESTA/func/main.sh
|
|||
# Additional argument formatting
|
||||
format_domain
|
||||
format_domain_idn
|
||||
# TODO: $domain_idn not used in this script - maybe $domain should be converted to $doman_idn ?
|
||||
|
||||
|
||||
#----------------------------------------------------------#
|
||||
|
|
|
@ -585,6 +585,9 @@ if [ "$mail" != 'no' ] && [ ! -z "$MAIL_SYSTEM" ]; then
|
|||
|
||||
# Rebuilding mail config
|
||||
rebuild_mail_domain_conf
|
||||
|
||||
domain_idn=$domain
|
||||
format_domain_idn
|
||||
|
||||
# Restoring emails
|
||||
if [ -e "$tmpdir/mail/$domain/accounts.tar.gz" ]; then
|
||||
|
|
|
@ -12,6 +12,7 @@
|
|||
# Argument definition
|
||||
user=$1
|
||||
domain=$2
|
||||
domain_idn=$2
|
||||
restart="$3"
|
||||
|
||||
# Includes
|
||||
|
@ -21,6 +22,7 @@ source $VESTA/conf/vesta.conf
|
|||
# Additional argument formatting
|
||||
format_domain
|
||||
format_domain_idn
|
||||
# TODO: $domain_idn not used in this script - maybe $domain should be converted to $doman_idn ?
|
||||
|
||||
|
||||
#----------------------------------------------------------#
|
||||
|
|
|
@ -12,6 +12,7 @@
|
|||
# Argument definition
|
||||
user=$1
|
||||
domain=$2
|
||||
domain_idn=$2
|
||||
id=$3
|
||||
restart=$4
|
||||
|
||||
|
@ -23,6 +24,7 @@ source $VESTA/conf/vesta.conf
|
|||
# Additional argument formatting
|
||||
format_domain
|
||||
format_domain_idn
|
||||
# TODO: $domain_idn not used in this script - maybe $domain should be converted to $doman_idn ?
|
||||
|
||||
|
||||
#----------------------------------------------------------#
|
||||
|
|
|
@ -12,6 +12,7 @@
|
|||
# Argument definition
|
||||
user=$1
|
||||
domain=$2
|
||||
domain_idn=$2
|
||||
account=$3
|
||||
|
||||
# Includes
|
||||
|
@ -22,6 +23,7 @@ source $VESTA/conf/vesta.conf
|
|||
# Additional argument formatting
|
||||
format_domain
|
||||
format_domain_idn
|
||||
# TODO: $domain_idn not used in this script - maybe $domain should be converted to $doman_idn ?
|
||||
|
||||
|
||||
#----------------------------------------------------------#
|
||||
|
|
|
@ -12,6 +12,7 @@
|
|||
# Argument definition
|
||||
user=$1
|
||||
domain=$2
|
||||
domain_idn=$2
|
||||
|
||||
# Includes
|
||||
source $VESTA/func/main.sh
|
||||
|
@ -19,6 +20,8 @@ source $VESTA/conf/vesta.conf
|
|||
|
||||
# Additional argument formatting
|
||||
format_domain
|
||||
format_domain_idn
|
||||
# TODO: $domain_idn not used in this script - maybe $domain should be converted to $doman_idn ?
|
||||
|
||||
|
||||
#----------------------------------------------------------#
|
||||
|
|
|
@ -12,6 +12,7 @@
|
|||
# Argument definition
|
||||
user=$1
|
||||
domain=$2
|
||||
domain_idn=$2
|
||||
|
||||
# Includes
|
||||
source $VESTA/func/main.sh
|
||||
|
@ -21,6 +22,7 @@ source $VESTA/conf/vesta.conf
|
|||
# Additional argument formatting
|
||||
format_domain
|
||||
format_domain_idn
|
||||
# TODO: $domain_idn not used in this script - maybe $domain should be converted to $doman_idn ?
|
||||
|
||||
|
||||
#----------------------------------------------------------#
|
||||
|
|
|
@ -14,6 +14,7 @@
|
|||
# Argument definition
|
||||
user=$1
|
||||
domain=$2
|
||||
domain_idn=$2
|
||||
restart=$3
|
||||
|
||||
# Includes
|
||||
|
@ -25,6 +26,7 @@ source $VESTA/conf/vesta.conf
|
|||
# Additional argument formatting
|
||||
format_domain
|
||||
format_domain_idn
|
||||
# TODO: $domain_idn not used in this script - maybe $domain should be converted to $doman_idn ?
|
||||
|
||||
|
||||
#----------------------------------------------------------#
|
||||
|
|
|
@ -12,6 +12,7 @@
|
|||
# Argument definition
|
||||
user=$1
|
||||
domain=$2
|
||||
domain_idn=$2
|
||||
|
||||
# Includes
|
||||
source $VESTA/func/main.sh
|
||||
|
@ -20,6 +21,7 @@ source $VESTA/conf/vesta.conf
|
|||
# Additional argument formatting
|
||||
format_domain
|
||||
format_domain_idn
|
||||
# TODO: $domain_idn not used in this script - maybe $domain should be converted to $doman_idn ?
|
||||
|
||||
|
||||
#----------------------------------------------------------#
|
||||
|
|
|
@ -12,6 +12,7 @@
|
|||
# Argument definition
|
||||
user=$1
|
||||
domain=$2
|
||||
domain_idn=$2
|
||||
id=$3
|
||||
restart=$4
|
||||
|
||||
|
@ -23,6 +24,7 @@ source $VESTA/conf/vesta.conf
|
|||
# Additional argument formatting
|
||||
format_domain
|
||||
format_domain_idn
|
||||
# TODO: $domain_idn not used in this script - maybe $domain should be converted to $doman_idn ?
|
||||
|
||||
|
||||
#----------------------------------------------------------#
|
||||
|
|
|
@ -12,6 +12,7 @@
|
|||
# Argument definition
|
||||
user=$1
|
||||
domain=$2
|
||||
domain_idn=$2
|
||||
account=$3
|
||||
|
||||
# Includes
|
||||
|
@ -22,6 +23,7 @@ source $VESTA/conf/vesta.conf
|
|||
# Additional argument formatting
|
||||
format_domain
|
||||
format_domain_idn
|
||||
# TODO: $domain_idn not used in this script - maybe $domain should be converted to $doman_idn ?
|
||||
|
||||
|
||||
#----------------------------------------------------------#
|
||||
|
|
|
@ -12,6 +12,7 @@
|
|||
# Argument definition
|
||||
user=$1
|
||||
domain=$2
|
||||
domain_idn=$2
|
||||
|
||||
# Includes
|
||||
source $VESTA/func/main.sh
|
||||
|
@ -20,6 +21,7 @@ source $VESTA/conf/vesta.conf
|
|||
# Additional argument formatting
|
||||
format_domain
|
||||
format_domain_idn
|
||||
# TODO: $domain_idn not used in this script - maybe $domain should be converted to $doman_idn ?
|
||||
|
||||
|
||||
#----------------------------------------------------------#
|
||||
|
|
|
@ -12,6 +12,7 @@
|
|||
# Argument definition
|
||||
user=$1
|
||||
domain=$2
|
||||
domain_idn=$2
|
||||
|
||||
# Includes
|
||||
source $VESTA/func/main.sh
|
||||
|
@ -21,6 +22,7 @@ source $VESTA/conf/vesta.conf
|
|||
# Additional argument formatting
|
||||
format_domain
|
||||
format_domain_idn
|
||||
# TODO: $domain_idn not used in this script - maybe $domain should be converted to $doman_idn ?
|
||||
|
||||
|
||||
#----------------------------------------------------------#
|
||||
|
|
|
@ -12,6 +12,7 @@
|
|||
# Argument definition
|
||||
user=$1
|
||||
domain=$2
|
||||
domain_idn=$2
|
||||
restart=$3
|
||||
|
||||
# Includes
|
||||
|
@ -23,6 +24,7 @@ source $VESTA/conf/vesta.conf
|
|||
# Additional argument formatting
|
||||
format_domain
|
||||
format_domain_idn
|
||||
# TODO: $domain_idn not used in this script - maybe $domain should be converted to $doman_idn ?
|
||||
|
||||
|
||||
#----------------------------------------------------------#
|
||||
|
|
|
@ -12,6 +12,7 @@
|
|||
# Argument definition
|
||||
user=$1
|
||||
domain=$2
|
||||
domain_idn=$2
|
||||
|
||||
# Includes
|
||||
source $VESTA/func/main.sh
|
||||
|
@ -20,6 +21,7 @@ source $VESTA/conf/vesta.conf
|
|||
# Additional argument formatting
|
||||
format_domain
|
||||
format_domain_idn
|
||||
# TODO: $domain_idn not used in this script - maybe $domain should be converted to $doman_idn ?
|
||||
|
||||
|
||||
#----------------------------------------------------------#
|
||||
|
|
|
@ -100,7 +100,7 @@ for ip in $ip_list; do
|
|||
check_ifconfig=$(/sbin/ifconfig |grep "$ip")
|
||||
if [ ! -e "$VESTA/data/ips/$ip" ] && [ ! -z "$check_ifconfig" ]; then
|
||||
interface=$(/sbin/ip addr |grep $ip |awk '{print $NF}')
|
||||
interface=$(echo $interface |cut -f 1 -d :)
|
||||
interface=$(echo "$interface" |cut -f 1 -d : |head -n 1)
|
||||
netmask=$(/sbin/ip addr |grep $ip |cut -f 2 -d / |cut -f 1 -d \ )
|
||||
netmask=$(convert_cidr $netmask)
|
||||
$BIN/v-add-sys-ip $ip $netmask $interface
|
||||
|
|
|
@ -12,6 +12,7 @@
|
|||
# Argument definition
|
||||
user=$1
|
||||
domain=$2
|
||||
domain_idn=$2
|
||||
|
||||
# Includes
|
||||
source $VESTA/func/main.sh
|
||||
|
@ -21,6 +22,7 @@ source $VESTA/conf/vesta.conf
|
|||
# Additional argument formatting
|
||||
format_domain
|
||||
format_domain_idn
|
||||
# TODO: $domain_idn not used in this script - maybe $domain should be converted to $doman_idn ?
|
||||
|
||||
|
||||
#----------------------------------------------------------#
|
||||
|
|
|
@ -15,6 +15,7 @@
|
|||
# Argument definition
|
||||
user=$1
|
||||
domain=$2
|
||||
domain_idn=$2
|
||||
ssl_dir=$3
|
||||
restart=$4
|
||||
|
||||
|
@ -27,6 +28,7 @@ source $VESTA/conf/vesta.conf
|
|||
# Additional argument formatting
|
||||
format_domain
|
||||
format_domain_idn
|
||||
# TODO: $domain_idn not used in this script - maybe $domain should be converted to $doman_idn ?
|
||||
|
||||
|
||||
#----------------------------------------------------------#
|
||||
|
|
|
@ -12,6 +12,7 @@
|
|||
# Argument definition
|
||||
user=$1
|
||||
domain=$2
|
||||
domain_idn=$2
|
||||
|
||||
# Includes
|
||||
source $VESTA/func/main.sh
|
||||
|
|
|
@ -12,6 +12,7 @@
|
|||
# Argument definition
|
||||
user=$1
|
||||
domain=$2
|
||||
domain_idn=$2
|
||||
|
||||
# Includes
|
||||
source $VESTA/func/main.sh
|
||||
|
@ -21,6 +22,7 @@ source $VESTA/conf/vesta.conf
|
|||
# Additional argument formatting
|
||||
format_domain
|
||||
format_domain_idn
|
||||
# TODO: $domain_idn not used in this script - maybe $domain should be converted to $doman_idn ?
|
||||
|
||||
|
||||
#----------------------------------------------------------#
|
||||
|
|
|
@ -172,6 +172,9 @@ add_web_config() {
|
|||
conf="$HOMEDIR/$user/conf/web/s$1.conf"
|
||||
fi
|
||||
|
||||
domain_idn=$domain
|
||||
format_domain_idn
|
||||
|
||||
if [ ! -z $local_ip ]; then
|
||||
cat $WEBTPL/$1/$WEB_BACKEND/$2 | \
|
||||
sed -e "s|%ip%|$local_ip|g" \
|
||||
|
@ -269,6 +272,8 @@ get_web_config_lines() {
|
|||
check_result $E_PARSING "can't parse template $1"
|
||||
fi
|
||||
|
||||
domain_idn=$domain
|
||||
format_domain_idn
|
||||
vhost_lines=$(grep -ni -A2 "$v_ip" $2| grep -iF "name $domain_idn")
|
||||
vhost_lines=$(echo "$vhost_lines" |egrep "$domain_idn($| |;)") #"
|
||||
vhost_lines=$(echo "$vhost_lines" |cut -f 1 -d : |cut -f 1 -d \-)
|
||||
|
|
|
@ -967,6 +967,9 @@ format_domain() {
|
|||
}
|
||||
|
||||
format_domain_idn() {
|
||||
if [ -z "$domain_idn" ]; then
|
||||
domain_idn=$domain
|
||||
fi
|
||||
if [[ "$domain_idn" = *[![:ascii:]]* ]]; then
|
||||
domain_idn=$(idn -t --quiet -a $domain_idn)
|
||||
fi
|
||||
|
|
|
@ -228,6 +228,8 @@ rebuild_web_domain_conf() {
|
|||
|
||||
# Adding web stats parser
|
||||
if [ ! -z "$STATS" ]; then
|
||||
domain_idn=$domain
|
||||
format_domain_idn
|
||||
cat $WEBTPL/$STATS/$STATS.tpl |\
|
||||
sed -e "s|%ip%|$local_ip|g" \
|
||||
-e "s|%ipv6%|$ipv6|g" \
|
||||
|
|
56
install/debian/7/templates/web/nginx/php5-fpm/laravel.stpl
Normal file
56
install/debian/7/templates/web/nginx/php5-fpm/laravel.stpl
Normal file
|
@ -0,0 +1,56 @@
|
|||
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;
|
||||
|
||||
|
||||
ssl on;
|
||||
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%/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*;
|
||||
}
|
50
install/debian/7/templates/web/nginx/php5-fpm/laravel.tpl
Normal file
50
install/debian/7/templates/web/nginx/php5-fpm/laravel.tpl
Normal file
|
@ -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%/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*;
|
||||
}
|
|
@ -73,11 +73,6 @@ server {
|
|||
include %home%/%user%/web/%domain%/stats/auth.conf*;
|
||||
}
|
||||
|
||||
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*;
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
server {
|
||||
listen %ip%:%web_ssl_port%;
|
||||
server_name %domain_idn% %alias_idn%;
|
||||
root %docroot%;
|
||||
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;
|
||||
|
@ -12,7 +12,7 @@ server {
|
|||
ssl_certificate_key %ssl_key%;
|
||||
|
||||
location /installer {
|
||||
try_files $uri $uri/ /installer/index.php;
|
||||
try_files $uri $uri/ /installer/index.php?$query_string;
|
||||
}
|
||||
|
||||
location / {
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
server {
|
||||
listen %ip%:%web_port%;
|
||||
server_name %domain_idn% %alias_idn%;
|
||||
root %docroot%;
|
||||
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;
|
||||
try_files $uri $uri/ /installer/index.php?$query_string;
|
||||
}
|
||||
|
||||
location / {
|
||||
|
|
56
install/debian/8/templates/web/nginx/php5-fpm/laravel.stpl
Normal file
56
install/debian/8/templates/web/nginx/php5-fpm/laravel.stpl
Normal file
|
@ -0,0 +1,56 @@
|
|||
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;
|
||||
|
||||
|
||||
ssl on;
|
||||
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%/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*;
|
||||
}
|
50
install/debian/8/templates/web/nginx/php5-fpm/laravel.tpl
Normal file
50
install/debian/8/templates/web/nginx/php5-fpm/laravel.tpl
Normal file
|
@ -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%/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*;
|
||||
}
|
|
@ -73,11 +73,6 @@ server {
|
|||
include %home%/%user%/web/%domain%/stats/auth.conf*;
|
||||
}
|
||||
|
||||
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*;
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
server {
|
||||
listen %ip%:%web_ssl_port%;
|
||||
server_name %domain_idn% %alias_idn%;
|
||||
root %docroot%;
|
||||
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;
|
||||
|
@ -12,7 +12,7 @@ server {
|
|||
ssl_certificate_key %ssl_key%;
|
||||
|
||||
location /installer {
|
||||
try_files $uri $uri/ /installer/index.php;
|
||||
try_files $uri $uri/ /installer/index.php?$query_string;
|
||||
}
|
||||
|
||||
location / {
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
server {
|
||||
listen %ip%:%web_port%;
|
||||
server_name %domain_idn% %alias_idn%;
|
||||
root %docroot%;
|
||||
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;
|
||||
try_files $uri $uri/ /installer/index.php?$query_string;
|
||||
}
|
||||
|
||||
location / {
|
||||
|
|
56
install/rhel/5/templates/web/nginx/php-fpm/laravel.stpl
Normal file
56
install/rhel/5/templates/web/nginx/php-fpm/laravel.stpl
Normal file
|
@ -0,0 +1,56 @@
|
|||
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;
|
||||
|
||||
|
||||
ssl on;
|
||||
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%/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*;
|
||||
}
|
50
install/rhel/5/templates/web/nginx/php-fpm/laravel.tpl
Normal file
50
install/rhel/5/templates/web/nginx/php-fpm/laravel.tpl
Normal file
|
@ -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%/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*;
|
||||
}
|
|
@ -73,11 +73,6 @@ server {
|
|||
include %home%/%user%/web/%domain%/stats/auth.conf*;
|
||||
}
|
||||
|
||||
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*;
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
server {
|
||||
listen %ip%:%web_ssl_port%;
|
||||
server_name %domain_idn% %alias_idn%;
|
||||
root %docroot%;
|
||||
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;
|
||||
|
@ -12,7 +12,7 @@ server {
|
|||
ssl_certificate_key %ssl_key%;
|
||||
|
||||
location /installer {
|
||||
try_files $uri $uri/ /installer/index.php;
|
||||
try_files $uri $uri/ /installer/index.php?$query_string;
|
||||
}
|
||||
|
||||
location / {
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
server {
|
||||
listen %ip%:%web_port%;
|
||||
server_name %domain_idn% %alias_idn%;
|
||||
root %docroot%;
|
||||
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;
|
||||
try_files $uri $uri/ /installer/index.php?$query_string;
|
||||
}
|
||||
|
||||
location / {
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue