Um schneller neue Webseiten anlegen zu können, habe ich mir eine Vorlage erstellt, die unter /var/www/dummy liegt.
Meine Vorlage für die Website-Konfiguration des Apache2 sieht wie folgt aus:
<VirtualHost 85.119.152.89:80> 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 <Directory /var/www/DUMMY/> AllowOverride None Order allow,deny allow from all </Directory> ErrorLog DUMMYERRORLOG LogLevel warn CustomLog DUMMYCUSTOMLOG combined ServerSignature Off </VirtualHost>
Die Vorlage für 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 }
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