Advertisement
Guest User

Untitled

a guest
Jun 10th, 2016
110
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.15 KB | None | 0 0
  1. #!/bin/bash
  2. #Installation der Pakete
  3. apt-get install apache2 php5 apache2-mpm-worker apache2-suexec php5-cgi libapache2-mod-fcgid proftpd mysql-server phpmyadmin
  4. a2enmod fcgid
  5. a2enmod suexec
  6. service apache2 restart
  7. clear
  8. #Variablen
  9. read -p "Geben Sie den gewünschten Domain Namen ein:" domain
  10. read -p "Geben Sie den gewünschten Webuser Namen ein:" webuser
  11. read -p "Geben Sie den Document Root an:" root
  12. read -p "Geben Sie das MySQL Root Passwort ein:" dbrootpw
  13. read -p "Geben Sie das gewünschte Passwort für die Datenbank ein:" dbpw
  14. documentroot="/var/www/$webuser/html/$root"
  15. # Nutzererstellung
  16. adduser $webuser
  17. adduser www-data $webuser
  18. #Datenbank erstellen
  19. mysql --user=root --password=$dbrootpw
  20. CREATE USER '$webuser'@'localhost' IDENTIFIED BY '$dbpw';
  21. create database if not exists $webuser;
  22. grant usage on *.* to '$webuser'@'localhost' identified by '$dbpw';
  23. grant all privileges on $webuser.* to '$webuser'@'localhost';
  24. flush privileges;
  25. quit;
  26. # Erstellen der Konfigurationsdateien
  27. mkdir /var/www/$webuser
  28. mkdir /var/www/$webuser/html
  29. touch /etc/apache2/sites-available/$webuser.conf
  30. touch /var/www/$webuser/php.ini
  31. touch /var/www/$webuser/conf
  32. # Konfigurationsdateien anlegen
  33. echo "<VirtualHost *:80>
  34. ServerName $domain
  35. ServerAdmin kontakt@ianklemm.de
  36.  
  37. DocumentRoot $documentroot
  38. SuexecUserGroup $webuser $webuser
  39.  
  40. <Directory $documentroot>
  41. Require all granted
  42. FCGIWrapper /var/www/$webuser/conf .php
  43. <FilesMatch \.php$>
  44. SetHandler fcgid-script
  45. </FilesMatch>
  46. Options +ExecCGI
  47. </Directory>
  48.  
  49. ErrorLog /var/log/apache2/error.log
  50. LogLevel warn
  51. CustomLog /var/log/apache2/access.log combined
  52.  
  53. </VirtualHost>" >> /etc/apache2/sites-enabled/$webuser.conf
  54.  
  55. echo "#!/bin/sh
  56. export PHPRC="/var/www/$webuser/"
  57. exec /usr/bin/php5-cgi" >> /var/www/$webuser/conf
  58.  
  59. echo "<IfModule mod_fcgid.c>
  60. # Wenn dieser Befehl fehlt, werden offene PHP CGI Prozesse nicht richtig beendet
  61. # Siehe auch: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=398759
  62. DefaultMinClassProcessCount 0
  63.  
  64. # Nach Ablauf von n (hier 300) Sekunden wird ein unbeschäftigter PHP CGI Prozess beendet
  65. IdleTimeout 300
  66.  
  67. # Alle n Sekunden prüft fcgid auf unbeschäftigte Prozesse
  68. IdleScanInterval 30
  69.  
  70. # Legt ein maximal Limit für fcgid Prozesse fest, wird dieses erreicht, wird kein weiterer PHP CGI Prozess gestartet.
  71. # ACHTUNG: Dies kann bedeuten, dass einzelne VirtualHosts nicht mehr erreichbar werden, wenn der Wert überschritten ist.
  72. MaxProcessCount 15
  73.  
  74. # Dies muss laut fcgid Dokumentation gesetzt werden, um Fehler in Zusammenarbeit mit PHP zu umgehen
  75. MaxRequestsPerProcess 500
  76. PHP_Fix_Pathinfo_Enable 1
  77. </IfModule>" >> /etc/apache2/mods-enabled/fcgid.conf
  78.  
  79. #Setzen der Rechte
  80. chown -R $webuser:$webuser /var/www/$webuser
  81. chmod 755 /var/www/$webuser/
  82. chmod 550 /var/www/$webuser/conf
  83. chmod 750 /var/www/$webuser/html
  84. # Reload Apache
  85. service apache2 reload
  86. clear
  87. #Zugangsdaten anzeigen
  88. echo
  89. "Webuser=$webuser
  90. Domain=$domain
  91. DocumentRoot=$documentroot
  92. MySQL Datenbank=$webuser
  93. MySQL Benutzer="$webuser
  94. MySQL Passwort=$dbpw
  95. "
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement