Commit f16bd60b authored by Vitaly Lipatov's avatar Vitaly Lipatov

improve sites functions

parent 28b2bf28
...@@ -42,7 +42,7 @@ fi ...@@ -42,7 +42,7 @@ fi
#mkdir -p $SITE/cgi #mkdir -p $SITE/cgi
mkdir -p $SITEDIR $SESSIONDIR mkdir -p $SITEDIR $SESSIONDIR
chown $USERNAME $SESSIONDIR/ chown $USERNAME:root $SESSIONDIR/
#mkdir -p $LOGDIR #mkdir -p $LOGDIR
#test -f $SITE/favicon.ico || cp -f ./favicon.ico $SITE/favicon.ico #test -f $SITE/favicon.ico || cp -f ./favicon.ico $SITE/favicon.ico
......
...@@ -17,3 +17,6 @@ MAINNAME=azbyka ...@@ -17,3 +17,6 @@ MAINNAME=azbyka
# Каталог основного сайта: # Каталог основного сайта:
MAINSITEDIR=/home/$MAINNAME/www/$MAINDOMAIN MAINSITEDIR=/home/$MAINNAME/www/$MAINDOMAIN
# /home dir for upstream servers
HOMEDIR=/var/lib/vz/private/azbyka/home
...@@ -9,7 +9,8 @@ fatal() ...@@ -9,7 +9,8 @@ fatal()
} }
cat create_sep_sites.list | grep -v "#" | while read PORT URL ; do cat create_sep_sites.list | grep -v "#" | while read PORT URL ; do
NAME=$(basename $URL) [ -n "$PORT" ] || continue
NAME=$(basename $URL) || fatal "Empty URL in the list"
[ -L "$MAINSITEDIR/$NAME" ] && { echo "Skipping $NAME" ; continue ; } [ -L "$MAINSITEDIR/$NAME" ] && { echo "Skipping $NAME" ; continue ; }
echo echo
echo "Creating conf for $NAME..." echo "Creating conf for $NAME..."
...@@ -31,7 +32,7 @@ cat create_sep_sites.list | grep -v "#" | while read PORT URL ; do ...@@ -31,7 +32,7 @@ cat create_sep_sites.list | grep -v "#" | while read PORT URL ; do
fi fi
fi fi
test -d /home/$SEPUSER && fatal "$SEPUSER already created" test -d /home/$SEPUSER && fatal "$SEPUSER already created"
export HACKCOMMONDIR="/home/azbyka/www/azbyka.ru/include:/home/azbyka/www/azbyka.ru/orphus" export HACKCOMMONDIR=":/home/azbyka/www/azbyka.ru/include:/home/azbyka/www/azbyka.ru/orphus"
cat <<EOF cat <<EOF
======== $SEPUSER ============ ======== $SEPUSER ============
......
...@@ -10,6 +10,7 @@ set_vars() ...@@ -10,6 +10,7 @@ set_vars()
SESSIONDIR=$HOMEDIR/sessions/$DOMAINNAME SESSIONDIR=$HOMEDIR/sessions/$DOMAINNAME
TECHNAME=`echo $DOMAINNAME | sed -e "s|\..*||g"` TECHNAME=`echo $DOMAINNAME | sed -e "s|\..*||g"`
TECHALIAS=$TECHNAME.$TECHHOST TECHALIAS=$TECHNAME.$TECHHOST
[ -n "$FLAG" ] && TECHALIAS=
SITEDIR=$HOSTBASE/$DOMAINNAME SITEDIR=$HOSTBASE/$DOMAINNAME
} }
...@@ -31,8 +32,8 @@ set_dirperms() ...@@ -31,8 +32,8 @@ set_dirperms()
# www/sites # www/sites
chown $USERNAME:webmaster $HOSTBASE/* chown $USERNAME:webmaster $HOSTBASE/*
chmod -v 0770 $HOSTBASE/* # g+s, +t
chmod -v g+s $HOSTBASE/* chmod -v 3770 $HOSTBASE/*
# log # log
mkdir -p $LOGDIR mkdir -p $LOGDIR
......
...@@ -57,6 +57,12 @@ siteport="$SITEPORT" ...@@ -57,6 +57,12 @@ siteport="$SITEPORT"
conffile="$APACHECONF" conffile="$APACHECONF"
[ -n "$conffile" ] || conffile=$DOMAINNAME.conf [ -n "$conffile" ] || conffile=$DOMAINNAME.conf
if [ -n "$FLAG" ] && [ -n "$OPENBASEDIR" ]; then
HACKCOMMONDIR="$(echo "$OPENBASEDIR" | sed -e "s|$SITEDIR:$USERTMPDIR:$PHPINCLUDE:/tmp||g")"
else
HACKCOMMONDIR=
fi
cat <<EOF >$conffile.new cat <<EOF >$conffile.new
# Autogenerated by $0 # Autogenerated by $0
# DO NOT CHANGE MANUALLY, YOUR CHANGES WILL BE OVERWRITTEN! # DO NOT CHANGE MANUALLY, YOUR CHANGES WILL BE OVERWRITTEN!
...@@ -75,10 +81,12 @@ cat <<EOF >>$conffile.new ...@@ -75,10 +81,12 @@ cat <<EOF >>$conffile.new
ServerName $DOMAINNAME ServerName $DOMAINNAME
ServerAlias www.$DOMAINNAME $TECHALIAS$aliaslist ServerAlias www.$DOMAINNAME $TECHALIAS$aliaslist
AssignUserID $USERNAME $USERNAME AssignUserID $USERNAME $USERNAME
# does error?
#MaxClientsVHost 8
php_admin_value session.save_path "$SESSIONDIR" php_admin_value session.save_path "$SESSIONDIR"
# Due http://drupal.stackexchange.com/questions/10646/i-get-tmp-is-not-writeable-by-the-webserver-on-migration # Due http://drupal.stackexchange.com/questions/10646/i-get-tmp-is-not-writeable-by-the-webserver-on-migration
# NOTE: /tmp for open_basedir # NOTE: /tmp for open_basedir
php_admin_value open_basedir "$SITEDIR:$USERTMPDIR:$PHPINCLUDE:/tmp:$HACKCOMMONDIR" php_admin_value open_basedir "$SITEDIR:$USERTMPDIR:$PHPINCLUDE:/tmp$HACKCOMMONDIR"
php_admin_value upload_tmp_dir "$USERTMPDIR" php_admin_value upload_tmp_dir "$USERTMPDIR"
php_admin_value auto_prepend_file "$PHPINCLUDE/prepend.php" php_admin_value auto_prepend_file "$PHPINCLUDE/prepend.php"
ServerAdmin $ADMINMAIL ServerAdmin $ADMINMAIL
...@@ -99,13 +107,23 @@ parse_site_config() ...@@ -99,13 +107,23 @@ parse_site_config()
DOMAINNAME=$(get_var $i ServerName | tr [A-Z] [a-z]) DOMAINNAME=$(get_var $i ServerName | tr [A-Z] [a-z])
USERNAME=$(get_var $i AssignUserID | cut -f1 -d" ") USERNAME=$(get_var $i AssignUserID | cut -f1 -d" ")
[ -n "$DOMAINNAME" ] || fatal [ -n "$DOMAINNAME" ] || fatal
# keep config name
APACHECONF=$i
echo echo
echo "*** File $i, site: $DOMAINNAME, user: $USERNAME" echo "*** File $i, site: $DOMAINNAME, user: $USERNAME"
if [ "$(basename $i)" != "$DOMAINNAME.conf" ] ; then if [ "$(basename $i)" != "$DOMAINNAME.conf" ] && [ "$(basename $i)" != "$USERNAME.conf" ] ; then
fatal "$i: file conf name and site name are not equal!" fatal "$i: file conf name and site name are not equal!"
fi fi
if [ "$(basename $i)" = "$USERNAME.conf" ] ; then
FLAG=yes
OPENBASEDIR=$(get_var $i "php_admin_value open_basedir")
else
FLAG=
OPENBASEDIR=
fi
ALIASLIST=$(get_aliaslist $i) ALIASLIST=$(get_aliaslist $i)
[ -z "$ALIASLIST" ] || echo " Alias list: $ALIASLIST" [ -z "$ALIASLIST" ] || echo " Alias list: $ALIASLIST"
} }
...@@ -12,10 +12,10 @@ cd /etc/httpd2/conf/sites-enabled || exit ...@@ -12,10 +12,10 @@ cd /etc/httpd2/conf/sites-enabled || exit
LISTCONF="*.conf" LISTCONF="*.conf"
[ -n "$*" ] && LISTCONF="$*" [ -n "$*" ] && LISTCONF="$*"
for conffile in $LISTCONF ; do for cfile in $LISTCONF ; do
test -L $conffile && continue test -L $cfile && continue
parse_site_config $conffile parse_site_config $cfile
set_vars set_vars
......
...@@ -9,7 +9,7 @@ VEID=`echo $(cat /proc/user_beancounters | grep kmemsize | cut -f1 -d:)` ...@@ -9,7 +9,7 @@ VEID=`echo $(cat /proc/user_beancounters | grep kmemsize | cut -f1 -d:)`
. ./config . ./config
RBCONTDIR=$BACKUPDIR/var/lib/vz/private/$VEID RBCONTDIR=$BACKUPDIR/$HOMEDIR
echo "Restore from $RBCONTDIR" echo "Restore from $RBCONTDIR"
HUSER=$1 HUSER=$1
...@@ -24,5 +24,5 @@ BDATE=$3 ...@@ -24,5 +24,5 @@ BDATE=$3
BACKUPDIR=/home/$HUSER/restored-backup BACKUPDIR=/home/$HUSER/restored-backup
mkdir -p $BACKUPDIR || exit mkdir -p $BACKUPDIR || exit
RESTOREDIR=$RBCONTDIR/home/$HUSER/www/$RSITE RESTOREDIR=$RBCONTDIR/$HUSER/www/$RSITE
rdiff-backup -r $BDATE backup::$RESTOREDIR $BACKUPDIR/$(basename $RSITE) rdiff-backup -r $BDATE backup::$RESTOREDIR $BACKUPDIR/$(basename $RSITE)
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment