Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
— |
linux:dummywebsite [2014-04-05 11:42] (aktuell) |
||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
+ | ====== 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: | ||
+ | <code apache> | ||
+ | <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> | ||
+ | </code> | ||
+ | |||
+ | ===== Vorlage für logrotate ===== | ||
+ | Die Vorlage für //[[grundkonfiguration#logrotate|logrotate]]// sieht so aus: | ||
+ | <code bash> | ||
+ | /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 | ||
+ | } | ||
+ | </code> | ||
+ | |||
+ | ===== Script ===== | ||
+ | Ein Script erledigt sämtliche durchzuführenden Aufgaben: | ||
+ | <code bash> | ||
+ | #!/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 | ||
+ | </code> | ||