Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- #Installation der Pakete
- apt-get install apache2 php5 apache2-mpm-worker apache2-suexec php5-cgi libapache2-mod-fcgid proftpd mysql-server phpmyadmin
- a2enmod fcgid
- a2enmod suexec
- service apache2 restart
- clear
- #Variablen
- read -p "Geben Sie den gewünschten Domain Namen ein:" domain
- read -p "Geben Sie den gewünschten Webuser Namen ein:" webuser
- read -p "Geben Sie den Document Root an:" root
- read -p "Geben Sie das MySQL Root Passwort ein:" dbrootpw
- read -p "Geben Sie das gewünschte Passwort für die Datenbank ein:" dbpw
- documentroot="/var/www/$webuser/html/$root"
- # Nutzererstellung
- adduser $webuser
- adduser www-data $webuser
- #Datenbank erstellen
- mysql --user=root --password=$dbrootpw
- CREATE USER '$webuser'@'localhost' IDENTIFIED BY '$dbpw';
- create database if not exists $webuser;
- grant usage on *.* to '$webuser'@'localhost' identified by '$dbpw';
- grant all privileges on $webuser.* to '$webuser'@'localhost';
- flush privileges;
- quit;
- # Erstellen der Konfigurationsdateien
- mkdir /var/www/$webuser
- mkdir /var/www/$webuser/html
- touch /etc/apache2/sites-available/$webuser.conf
- touch /var/www/$webuser/php.ini
- touch /var/www/$webuser/conf
- # Konfigurationsdateien anlegen
- echo "<VirtualHost *:80>
- ServerName $domain
- ServerAdmin kontakt@ianklemm.de
- DocumentRoot $documentroot
- SuexecUserGroup $webuser $webuser
- <Directory $documentroot>
- Require all granted
- FCGIWrapper /var/www/$webuser/conf .php
- <FilesMatch \.php$>
- SetHandler fcgid-script
- </FilesMatch>
- Options +ExecCGI
- </Directory>
- ErrorLog /var/log/apache2/error.log
- LogLevel warn
- CustomLog /var/log/apache2/access.log combined
- </VirtualHost>" >> /etc/apache2/sites-enabled/$webuser.conf
- echo "#!/bin/sh
- export PHPRC="/var/www/$webuser/"
- exec /usr/bin/php5-cgi" >> /var/www/$webuser/conf
- echo "<IfModule mod_fcgid.c>
- # Wenn dieser Befehl fehlt, werden offene PHP CGI Prozesse nicht richtig beendet
- # Siehe auch: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=398759
- DefaultMinClassProcessCount 0
- # Nach Ablauf von n (hier 300) Sekunden wird ein unbeschäftigter PHP CGI Prozess beendet
- IdleTimeout 300
- # Alle n Sekunden prüft fcgid auf unbeschäftigte Prozesse
- IdleScanInterval 30
- # Legt ein maximal Limit für fcgid Prozesse fest, wird dieses erreicht, wird kein weiterer PHP CGI Prozess gestartet.
- # ACHTUNG: Dies kann bedeuten, dass einzelne VirtualHosts nicht mehr erreichbar werden, wenn der Wert überschritten ist.
- MaxProcessCount 15
- # Dies muss laut fcgid Dokumentation gesetzt werden, um Fehler in Zusammenarbeit mit PHP zu umgehen
- MaxRequestsPerProcess 500
- PHP_Fix_Pathinfo_Enable 1
- </IfModule>" >> /etc/apache2/mods-enabled/fcgid.conf
- #Setzen der Rechte
- chown -R $webuser:$webuser /var/www/$webuser
- chmod 755 /var/www/$webuser/
- chmod 550 /var/www/$webuser/conf
- chmod 750 /var/www/$webuser/html
- # Reload Apache
- service apache2 reload
- clear
- #Zugangsdaten anzeigen
- echo
- "Webuser=$webuser
- Domain=$domain
- DocumentRoot=$documentroot
- MySQL Datenbank=$webuser
- MySQL Benutzer="$webuser
- MySQL Passwort=$dbpw
- "
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement