diff --git a/Apache-Installer_V0.1.sh b/Apache-Installer_V0.1.sh index 33eb509..7a4bafc 100644 --- a/Apache-Installer_V0.1.sh +++ b/Apache-Installer_V0.1.sh @@ -3,16 +3,17 @@ #============================================================================== # apt-get update -y && apt-get upgrade -y && apt-get dist-upgrade -y # do-release-upgrade -d +# +# TODO: +# Netdata: $domain/netata ipv $domain:1999 +# Letsencrypt: Fix (onder in file) toepassen # #============================================================================== -ufw allow OpenSSH -ufw allow 443/tcp -ufw allow 80/tcp -ufw limit ssh -echo "y" | sudo ufw enable + #-------------------# # LAMP # #-------------------# + install apache2 -y apt install mysql-server-5.7 -y mysql_secure_installation @@ -28,9 +29,11 @@ cat < /etc/apache2/mods-enabled/dir.conf EOF systemctl restart apache2 #systemctl status apache2 + #-------------------# # VIRTUAL HOST # #-------------------# + rm /var/www/html mkdir -p /var/www/"$domain"/public_html chmod -R 755 /var/www @@ -48,9 +51,11 @@ EOF a2ensite $domain.conf a2dissite 000-default.conf systemctl restart apache2 + #-------------------# # PHPMYADMIN # #-------------------# + apt-get install phpmyadmin -y ln -s /usr/share/phpmyadmin /var/www/"$domain"/public_html systemctl restart php7.2-fpm @@ -58,9 +63,11 @@ systemctl restart php7.2-fpm cd /var/www/"$domain"/public_html/ ls -l mv phpmyadmin database + #-------------------# # POSTFIX # #-------------------# + apt install mailutils -y sed -i 's/#inet_interfaces = all/inet_interfaces = loopback-only/g' /etc/postfix/main.cf sed -i 's/mydestination/#mydestination/g' /etc/postfix/main.cf @@ -72,25 +79,31 @@ postmaster: root root: $email EOF newaliases + #-------------------# # NETDATA # #-------------------# + bash <(curl -Ss https://my-netdata.io/kickstart.sh) ufw allow 19999/tcp # systemctl stop netdata # systemctl disable netdata + #-------------------# # MEMCACHED # # 127.0.0.1:11211 # #-------------------# + #apt-get install memcached -y #systemctl restart memcached # systemctl stop memcached # systemctl disable memcached + #-------------------# # REDIS # # 127.0.0.1:6379 # #-------------------# + #apt install redis-server -y #sed -i 's/supervised no/supervised systemd/g' /etc/redis/redis.conf #sed -i 's/# bind 127.0.0.1 ::1/bind 127.0.0.1 ::1/g' /etc/redis/redis.conf @@ -101,28 +114,32 @@ ufw allow 19999/tcp # systemctl stop redis.service # systemctl disable redis # systemctl disable redis.service + #-------------------# # CERTBOT # #-------------------# + add-apt-repository ppa:certbot/certbot apt install python-certbot-apache -y ufw allow 443/tcp -#certbot --nginx -d $domain -d www.$domain -#check certbot auto-renewal -> certbot renew --dry-run + #-------------------# # PHP.ini # #-------------------# -sed -i 's/;opcache.memory_consumption=128/opcache.memory_consumption=256/g' /etc/php/7.2/fpm/php.ini -sed -i 's/;opcache.enable=1/opcache.enable=1/g' /etc/php/7.2/fpm/php.ini -sed -i 's/;opcache.interned_strings_buffer=8/opcache.interned_strings_buffer=8/g' /etc/php/7.2/fpm/php.ini -sed -i 's/;opcache.max_accelerated_files=10000/opcache.max_accelerated_files=50000/g' /etc/php/7.2/fpm/php.ini -sed -i 's/;opcache.max_wasted_percentage=5/opcache.max_wasted_percentage=5/g' /etc/php/7.2/fpm/php.ini -sed -i 's/;opcache.revalidate_freq=2/opcache.revalidate_freq=0/g' /etc/php/7.2/fpm/php.ini -sed -i 's/; max_input_vars = 1000/max_input_vars = 10000/g' /etc/php/7.2/fpm/php.ini -systemctl restart php7.2-fpm.service + +sed -i 's/;opcache.memory_consumption=128/opcache.memory_consumption=256/g' /etc/php/7.2/apache2/php.ini +sed -i 's/;opcache.enable=1/opcache.enable=1/g' /etc/php/7.2/apache2/php.ini +sed -i 's/;opcache.interned_strings_buffer=8/opcache.interned_strings_buffer=8/g' /etc/php/7.2/apache2/php.ini +sed -i 's/;opcache.max_accelerated_files=10000/opcache.max_accelerated_files=50000/g' /etc/php/7.2/apache2/php.ini +sed -i 's/;opcache.max_wasted_percentage=5/opcache.max_wasted_percentage=5/g' /etc/php/7.2/apache2/php.ini +sed -i 's/;opcache.revalidate_freq=2/opcache.revalidate_freq=0/g' /etc/php/7.2/apache2/php.ini +sed -i 's/; max_input_vars = 1000/max_input_vars = 10000/g' /etc/php/7.2/apache2/php.ini +systemctl restart apache2 + #-------------------# # MYSQL SETTINGS # #-------------------# + cd /etc/mysql rm /etc/mysql/my.cnf cat > /etc/mysql/my.cnf <<- "EOF" @@ -161,9 +178,11 @@ log_error = /var/log/mysql/error.log expire_logs_days = 10 max_binlog_size = 100M EOF + #-------------------# # WP - INSTALL # #-------------------# + db_name="wp_1" db_user="wp_1" db_pass=$(date +%s|sha256sum|base64|head -c 32) @@ -219,46 +238,24 @@ if ( !defined('ABSPATH') ) #define('WP_REDIS_PORT', '6379'); require_once(ABSPATH . 'wp-settings.php'); EOF -#-------------------# -# OPCACHE GUI # -#-------------------# -cd /tmp -curl -LO https://raw.githubusercontent.com/amnuts/opcache-gui/master/index.php -cp /tmp/index.php /tmp/opcache.php -cp -a /tmp/opcache.php /var/www/"$domain"/public_html -cat > /var/www/"$domain"/public_html/info.php <<- "EOF" - -EOF -#-------------------# -# UPDATE CRON # -#-------------------# -cd /etc/cron.d -touch updates -cat < /etc/cron.d/updates -SHELL=/bin/sh -PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin -# m h dom mon dow command -0 0 * * * apt-get update -y && apt-get upgrade -y &&apt-get dist-upgrade -y -EOF -#-------------------# -# BACKUP CRON # -#-------------------# -cd /home -touch backup.sh -cd /etc/cron.d -touch backup -cat < /etc/cron.d/backup -SHELL=/bin/sh -PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin -# m h dom mon dow command -0 1 * * * /bin/bash /home/backup.sh -EOF + #-------------------# # SSL & HTTP/2 # #-------------------# -#certbot --nginx -d $domain -d www.$domain -#sed -i 's/ssl ipv6only/ssl http2 ipv6only/g' /etc/nginx/sites-available/"$domain" -#sed -i 's/listen 443 ssl/listen 443 ssl http2/g' /etc/nginx/sites-available/"$domain" -#sed -i 's#include /etc/letsencrypt/options-ssl-nginx.conf;#ssl_ciphers EECDH+CHACHA20:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;#g' /etc/nginx/sites-available/"$domain" \ No newline at end of file + +#certbot --apache -d $domain -d www.$domain +#sed -i 's/ssl ipv6only/ssl http2 ipv6only/g' /etc/apache2/sites-available/"$domain" +#sed -i 's/listen 443 ssl/listen 443 ssl http2/g' /etc/apache2/sites-available/"$domain" +#sed -i 's#include /etc/letsencrypt/options-ssl-apache.conf;#ssl_ciphers EECDH+CHACHA20:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;#g' /etc/apache2/sites-available/"$domain" +#check certbot auto-renewal -> certbot renew --dry-run + + + +#Edit voor https, voeg het volgende toe aan $domain-le-ssl.conf tussen DocumentRoot en ErrorLog +# +# Options FollowSymLinks +# AllowOverride All +# +# Order allow,deny +# Allow from all +#