====== Dummy Website ======
Um schneller neue Webseiten anlegen zu können, habe ich mir eine Vorlage erstellt, die unter ///var/www/dummy// liegt.
===== Vorlage für den Apache2 =====
Meine Vorlage für die Website-Konfiguration des [[Apache2]] sieht wie folgt aus:
ServerName DUMMY.stefan-macke.de
ServerAlias DUMMY.stefan-macke.com DUMMY.stefanmacke.com DUMMY.stefanmacke.de
ServerAdmin webmaster _at_ stefanmacke _dot_ com
DocumentRoot /var/www/DUMMY
AllowOverride None
Order allow,deny
allow from all
ErrorLog DUMMYERRORLOG
LogLevel warn
CustomLog DUMMYCUSTOMLOG combined
ServerSignature Off
===== Vorlage für logrotate =====
Die Vorlage für //[[grundkonfiguration#logrotate|logrotate]]// sieht so aus:
/var/log/apache2/DUMMY/*.log
{
olddir _Pfad zum Backup-Verzeichnis_/logs/apache2/DUMMY
weekly
missingok
rotate 52
compress
delaycompress
notifempty
create 700 _FTP-Benutzer_ ftpusers
sharedscripts
postrotate
if [ -f /var/run/apache2.pid ]; then
/etc/init.d/apache2 restart > /dev/null
fi
endscript
}
===== Script =====
Ein Script erledigt sämtliche durchzuführenden Aufgaben:
#!/bin/bash
if [ $# -eq 0 ]
then
echo "Syntax: create_website name [create_logs=true]"
elif [ $# -eq 1 ]
then
NAME=$1
LOGS=0
DUMMYERRORLOG="\/var\/log\/apache2\/$NAME\/error.log"
DUMMYCUSTOMLOG="\/var\/log\/apache2\/$NAME\/access.log"
elif [ $# -eq 2 ] && [ $2 = "false" ]
then
NAME=$1
LOGS=1
DUMMYERRORLOG="\/var\/log\/apache2\/error.log"
DUMMYCUSTOMLOG="\/var\/log\/apache2\/access.log"
fi
echo "Erstelle Verzeichnis /var/www/$NAME..."
mkdir /var/www/$NAME
chmod 750 /var/www/$NAME -R
chown _FTP-Benutzer_.ftpusers /var/www/$NAME -R
echo "Erstelle Website-Vorlage /etc/apache2/sites-available/$NAME..."
REP1="s/DUMMYERRORLOG/$DUMMYERRORLOG/g"
REP2="s/DUMMYCUSTOMLOG/$DUMMYCUSTOMLOG/g"
REP3="s/DUMMY/$NAME/g"
cat /var/www/dummy/dummy.apache | sed -e $REP1 > /etc/apache2/sites-available/$NAME.tmp
cat /etc/apache2/sites-available/$NAME.tmp | sed -e $REP2 > /etc/apache2/sites-available/$NAME.tmp.1
cat /etc/apache2/sites-available/$NAME.tmp.1 | sed -e $REP3 > /etc/apache2/sites-available/$NAME
rm /etc/apache2/sites-available/$NAME.tmp /etc/apache2/sites-available/$NAME.tmp.1
chmod 644 /etc/apache2/sites-available/$NAME
echo "Verlinke Website-Vorlage..."
ln /etc/apache2/sites-available/$NAME /etc/apache2/sites-enabled/999-$NAME -s
if [ $LOGS -eq 0 ]
then
echo "Erstelle Log-Verzeichnis /var/log/apache2/$NAME..."
mkdir /var/log/apache2/$NAME
chmod 640 /var/log/apache2/$NAME -R
chown root.adm /var/log/apache2/$NAME -R
echo "Erstelle Log-Backupverzeichnis _Pfad zum Backup-Verzeichnis_/logs/apache2/$NAME..."
mkdir _Pfad zum Backup-Verzeichnis_/logs/apache2/$NAME
chmod 700 _Pfad zum Backup-Verzeichnis_/logs/apache2/$NAME -R
chown _FTP-Benutzer_.ftpusers _Pfad zum Backup-Verzeichnis_/logs/apache2/$NAME -R
echo "Erstelle logrotate-Vorlage /etc/logrotate.d/apache2_$NAME..."
cat /var/www/dummy/dummy.logrotate | sed -e $REP3 > /etc/logrotate.d/apache2_$NAME
chmod 644 /etc/logrotate.d/apache2_$NAME
fi