diff options
author | Jonas Smedegaard <dr@jones.dk> | 2001-12-12 19:52:40 +0000 |
---|---|---|
committer | Jonas Smedegaard <dr@jones.dk> | 2001-12-12 19:52:40 +0000 |
commit | c81b7f986867db292d62a1757123723b5ef66518 (patch) | |
tree | a217cf2f481ab7b3099ef76b519a4cc8e1786096 /webuser |
Initial revision
Diffstat (limited to 'webuser')
-rwxr-xr-x | webuser | 66 |
1 files changed, 66 insertions, 0 deletions
@@ -0,0 +1,66 @@ +#!/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 |