diff --git a/resources/Apache_v1.0.sh b/resources/Apache_v1.0.sh index d4e8885..7a4bafc 100644 --- a/resources/Apache_v1.0.sh +++ b/resources/Apache_v1.0.sh @@ -9,30 +9,11 @@ # Letsencrypt: Fix (onder in file) toepassen # #============================================================================== -echo Welk domein mag gekoppeld worden? Typ domein zonder www -read domain -echo Standaard wachtwoord -read passwd -echo administrator email -read email -apt-get update -apt-get upgrade -y -apt-get dist-upgrade -y -apt-get clean -apt-get autoremove -y -hostnamectl set-hostname $domain -sed -i 's/;preserve_hostname: false/preserve_hostname: true/g' /etc/cloud/cloud.cfg -timedatectl set-timezone Europe/Amsterdam -ufw allow OpenSSH -ufw allow 443/tcp -ufw allow 80/tcp -ufw limit ssh -echo "y" | sudo ufw enable -sed -i 's/#/vm.swappiness=10/g' /etc/sysctl.conf -sed -i 's/#/vm.vfs_cache_pressure=50/g' /etc/sysctl.conf + #-------------------# # LAMP # #-------------------# + install apache2 -y apt install mysql-server-5.7 -y mysql_secure_installation @@ -48,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 @@ -68,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 @@ -78,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 @@ -92,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 @@ -121,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" @@ -181,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) @@ -239,49 +238,17 @@ 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" + +#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