Her er så et spæd forsøg på at lave følgende:
Jeg har brug for et script til at opsætte hver enkelte elev subdomain
således:
http://<Elevens Valgte Prefix>.<Elevens Brugernavn>.<Webstedets
Hostname>.<Top Level Domain>/
fx: http://test1.tony.wbhotl.dk/
test1 ligger så i /home/tony/PUBLIC_HTML/test1/
Det skal så med ssh kunne lade sig gøre at komme i kontakt med:
”/home/tony/www/test1.tony.wbhotl.dk/index.php”
Desuden er det nødvendigt af der opsættes en MySQL database for hvert
subdomain, med at valgt password 'mkpasswd qwerty'
fx. navn på MySQL databasen: “test1.tony.wbhotl.dk” fx. med ellevens
password valgt
Mit system er for skrøbeligt, synes jeg, til at jeg kan køre det selv
endnu.
(Det er endnu uden, en mulighed for at fjerne en konto indbygget.)
Måske nogle af jer der fx. har en virtual machine med Linux, Apache, PHP
og
MySQL, som det ikke gør så meget går i stykker, kan køre det.
Her koden.
Thomas :)
#!/bin/bash
set -x
USERARRAY=$(ls -l --format=single-column /home/)
for USRNME in ${USERARRAY[@]}
do
USRDOMNARRAY=$(ls -l --format=single-column /home/$USRNME/PUBLIC_HTML/)
for USRDOMN in ${USRDOMNARRAY[@]}
do
echo $USRDOMN $USRNME
DOT='.'
MNDOMN='juac.dk'
LNK=$(echo ${USRDOMN}${DOT}${USRNME}${DOT}${MNDOMN})
IP=$(echo 90${DOT}184${DOT}106${DOT}85)
DIR=home/$USRNME/PUBLIC_HTML
if [ ! -d ${DIR} ];
then
mkdir ${DIR}
done
done
exit
fi
if [ ! -d /usr/lib/cgi-bin/${LNK}];
then
mkdir "/usr/lib/cgi-bin/${LNK}"
fi
if [ ! -d /etc/apache2/sites-available/${LNK}];
then
echo '<VirtualHost *:80>
ServerAdmin ${USRNME}@${MNDOMN}
ServerName www.${LNK}
ServerAlias ${LNK}
DocumentRoot ${DIR}/${USRDOMN}
# Set Document Root directory options
<Directory />
Options FollowSymlnks -Indexes Includes
# Allow use of .htaccess file
AllowOverride Limit FileInfo
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/${LNK}
# Set CGI-BIN directory options
<Directory /cgi-bin>
AllowOverride None
Options +ExecCGI -Multiviews +SymlnksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
CustomLog /var/log/apache2/access.log common
ErrorLog /var/log/apache2/error.log
</VirtualHost>' > '/etc/apache2/sites-available/${LNK}'
exec /usr/sbin/a2ensite ${LNK}
SPACE=' '
WWW='www'
echo $(echo ${IP}${SPACE}${WWW}${DOT}${LNK}${SPACE}${LNK}) >> /etc/hosts
exec /etc/init.d/apache2 reload
dbpasswd=`mkpasswd qwerty`
mysqladmin create ${LNK} -uroot -p${dbpasswd}
echo 'The username of the database ${LNK} is root. And the password for
the
database is ${dbpasswd}' > '${DIR}/${LNK}.database.txt'
fi
done
done
# end script