blob: 83f6c06ca7690f4baf35a743457ca92100bd1370 (
plain)
- #!/bin/bash
- set -e
- ACTION=$1
- USER=$2
- WEBSITE=$3
- USERROOT=/home
- WEBROOT=/var/www
- LOGROOT=/var/log/apache
- WEBALIZER_OPTIONS="-q"
- function webdir() { echo $1/VIRTUAL/$2; }
- function userwebdir() { echo $1/$2/web_$3; }
- #function logdir() { echo ${LOGROOT}/${WEBSITE}; }
- #function logfiles() { $(ls -r $LOGDIR/*-access*.gz) $(ls -r $LOGDIR/access*.??.gz) $(ls -r $LOGDIR/access*.?.gz) $(ls -r $LOGDIR/access*.?); }
- function logfiles() { ls $1/$2/????.??.??; }
- function host() { cat $1/VIRTUAL/$2/hostname || exit 1; }
- function domain() { cat $1/VIRTUAL/$2/domainname || exit 1; }
- function thishost() { cat /etc/mailhost; }
- # The above can be overridden in /etc/local/www
- . /etc/local/www || exit 1
- function apache_virtualhost() {
- echo "\
- <VirtualHost $WEBSITE>
- ServerName $WEBSITE
- ServerAdmin $USER@$(thishost)
- DocumentRoot $(userwebdir ${USERROOT} ${USERID} ${WEBSITE})
- user $USER
- group $USER
- </VirtualHost>
- " > /etc/apache/virtual/$WEBSITE
- }
- test "x$WEBSITE" = "x" && $ACTION=""
- case "$ACTION" in
- add)
- echo "Adding web user $USER: "
- adduser $USER || exit 1
- mkdir $(userwebdir ${USERROOT} ${USERID} ${WEBSITE})
- user-init $USER
- $(apache_virtualhost)
- ;;
- attach)
- echo "Attaching website to existing user $USER: "
- mkdir $(userwebdir ${USERROOT} ${USERID} ${WEBSITE})
- user-init $USER
- $(apache_virtualhost)
- ;;
- *)
- echo "Usage:"
- echo "Adding a new user:"
- echo " $(basename $0) add <user> <www.domain.com>"
- echo
- echo "Attaching a website to an existing user:"
- echo " $(basename $0) attach <user> <www.domain.com>"
- exit 1
- ;;
- esac
- exit 0
|