#!/bin/bash # cat < /dev/null echo ok else echo "már engedélyezett" fi echo -n " - ModReWrite engedélyezése ... " if [ ! -e /etc/apache2/mods-enabled/rewrite.load ]; then a2enmod rewrite > /dev/null echo ok else echo "már engedélyezett" fi echo -n " - mod_suexec engedélyezése ... " if [ ! -e /etc/apache2/mods-enabled/suexec.load ]; then a2enmod suexec > /dev/null echo ok else echo "már engedélyezett" fi echo -n " - mod_fcgid engedélyezése ... " if [ ! -e /etc/apache2/mods-enabled/fcgid.load ]; then a2enmod fcgid > /dev/null echo ok else echo "már engedélyezett" fi echo -n " - mod_actions engedélyezése ... " if [ ! -e /etc/apache2/mods-enabled/actions.load ]; then a2enmod actions > /dev/null echo ok else echo "már engedélyezett" fi echo -n " - mod_php kikapcsolása (a www-data php értelmezője)" if [ -e /etc/apache2/mods-enabled/php7.0.load ]; then a2dismod php7.0 > /dev/null echo ok else echo "nincs bekapcsolava" fi echo -n " - mod_headers engedélyezése" if [ ! -e /etc/apache2/mods-enabled/headers.load ]; then a2enmod headers > /dev/null echo ok else echo "nincs bekapcsolava" fi echo -n " - Apache2 mod_worker és mod_event, amíg a php nem lesz thread-safe. " if [ -e /etc/apache2/mods-enabled/mpm_event.load ] || [ -e /etc/apache2/mods-enabled/mpm_worker.load ]; then a2dismod mpm_event > /dev/null a2dismod mpm_worker > /dev/null a2enmod mpm_prefork > /dev/null echo ok else echo "nincs bekapcsolava" fi echo "ok." echo -e " Apache2 konfiguráció létrehozása\n" cat > /etc/apache2/sites-available/mayor_naplo.conf < ServerName your.mayor.server.hu # ServerAlias your.mayor.server.hu your.mayor.server.iskola.sulinet.hu ServerAdmin webmaster@localhost SuexecUserGroup mayor-user mayor-user DocumentRoot mayor-docroot ScriptAlias /wbin/ mayor-web-bin AddHandler php-fcgi .php Action php-fcgi /wbin/php7.fcgi AddType application/x-httpd-php .php FcgidProcessLifeTime 3600 FcgidIOTimeout 320 FcgidMaxRequestInMem 16777216 FcgidMaxRequestLen 33554432 FcgidBusyTimeout 600 ## FcgidOutputBufferSize 0 FcgidIdleTimeout 400 # Részletesebben: # FcgidProcessLifeTime 3600 ##(seconds) A php max futási ideje (a (hagyományos) mod_php-nál is ennyi) # FcgidIOTimeout 320 ##(seconds) A php generál valamit, elkldi a böngészőnek, vagy a böngésző küld adatot a php-nak, ennyi ideig tarthat. (pl: 120sec) # FcgidMaxRequestInMem 16777216 ##(bytes) Amikor a böngésző küld adatokat a php-nak, ennyi megy a pufferbe. (16MB elég) # FcgidMaxRequestLen 33554432 ##(bytes) Amikor a böngésző küld adatot a php-nak, az adat max hossza bájtokabn. (32MB elég) # FcgidBusyTimeout 600 ##(seconds) A php max ennyi ideig gondolkozhat egy futáson/kérésen, ha túllépi, ki lesz lőve. # FcgidOutputBufferSize 0 ##(bytes) Pufer, amikor a php generál valami adatot, és azt elküldené a böngészőnek. {ezt még át kéne nézni} # FcgidIdleTimeout 400 ##(seconds) A php-értelmező ennyi pihenés után le lesz állítva.(**) # ##(**) Figyelem! Itt a "php-értelmező" külön gyermekprocesszként fut, ami az oldal meglátogatásakor indul automatikusan, # ## és FcgidIdleTimeout-nyi pihenés után magától leáll. IndexIgnore * ## A php-csomagoló, és php.ini fájlok közvetlen elérésének tiltása Require all granted Require env REDIRECT_STATUS Require all denied Require all denied DirectoryIndex index.php index.html index.htm Options FollowSymLinks AllowOverride None Options -Indexes +FollowSymLinks +MultiViews AllowOverride None # Apache 2.2 # Order allow,deny # Apache 2.2 # allow from all # Apache 2.4 # Require all granted = 2.3> Require all granted order allow,deny allow from all RewriteEngine on RewriteBase / RewriteCond %{SERVER_PORT} ^80$ RewriteCond %{THE_REQUEST} .*(policy=private|page=auth|page=password).* RewriteRule (.*)$ https://%{HTTP_HOST}/$1 [L] SSLEngine On # ## A gyenge titkosítások tiltása SSLProtocol all -SSLv2 -SSLv3 -TLSv1 SSLCertificateFile /etc/apache2/ssl/apache_mayor.pem # # SSLCertificateFile /etc/apache2/ssl/crt/name-cert.pem # # SSLCertificateKeyFile /etc/apache2/ssl/key/name-key.pem Header always set Strict-Transport-Security "max-age=15552000; includeSubDomains" ErrorLog \${APACHE_LOG_DIR}/mayor_error.log # Possible values include: debug, info, notice, warn, error, crit, # alert, emerg. LogLevel info ssl:warn fcgid:debug CustomLog \${APACHE_LOG_DIR}/mayor_access.log combined ServerSignature On EOT SERVERNAME="" while [ "$SERVERNAME" = "" ] do read -p " A web szerver teljes domain neve (pl: mayor.tesztsuli.hu): " SERVERNAME done #cat $MAYORDIR/install/base/apache2/mayor.conf | sed "s/ServerName your.mayor.server.hu/ServerName $SERVERNAME/" > /etc/apache2/sites-available/mayor.conf # A 2.4-es apache esetén módosítani kell a konfig állományt! APACHE_VERSION=$(dpkg -l apache2 | grep apache2 | tr -s ' ' | cut -d ' ' -f 3 | cut -d '-' -f 1 | sed 's/\..$//') echo -e " Apache2 finomhangolása\n" sed -e "s/ServerName your.mayor.server.hu/ServerName $SERVERNAME/g" -i /etc/apache2/sites-available/mayor_naplo.conf sed -e "s/SuexecUserGroup mayor-user mayor-user/SuexecUserGroup $MAYORUSER $MAYORUSER/g" -i /etc/apache2/sites-available/mayor_naplo.conf sed -e "s/DocumentRoot mayor-docroot/DocumentRoot \/home\/$MAYORUSER\/mayor\/www\/ /g" -i /etc/apache2/sites-available/mayor_naplo.conf sed -e "s/ScriptAlias \/wbin\/ mayor-web-bin/ScriptAlias \/wbin\/ \/home\/$MAYORUSER\/mayor\/www-bin\/ /g" -i /etc/apache2/sites-available/mayor_naplo.conf sed -e "s// /g" -i /etc/apache2/sites-available/mayor_naplo.conf sed -e "s// /g" -i /etc/apache2/sites-available/mayor_naplo.conf echo -e " a suexec beállítása\n" sed -e 's/\/var\/www/\/home\n\/var\/www/g' -i /etc/apache2/suexec/www-data echo " A php-csomagoló elkészítése" mkdir -p "/home/$MAYORUSER/mayor/www-bin/" csomagolo="#!/bin/sh \n exec /usr/bin/php-cgi7.0 " echo -e $csomagolo > "/home/$MAYORUSER/mayor/www-bin/php7.fcgi" chmod +x "/home/$MAYORUSER/mayor/www-bin/php7.fcgi" echo " A php.ini beszerzése" cp "/etc/php/7.0/cgi/php.ini" "/home/$MAYORUSER/mayor/www-bin/php.ini" chown -R "$MAYORUSER:$MAYORUSER" "/home/$MAYORUSER/mayor/www-bin" if [ ! -e /etc/apache2/sites-enabled/mayor_naplo.conf ]; then echo " A mayor site engedélyezése" a2ensite mayor_naplo.conf > /dev/null fi echo " A web-szerver újraindítása" /etc/init.d/apache2 restart