From 60ee5d776f498604a635e01a252dd39ba5591cbf Mon Sep 17 00:00:00 2001 From: Martin Winkler Date: Tue, 9 Apr 2019 01:30:59 +0200 Subject: [PATCH] wip mysql and basic nginx configuration (letsencrypt ready) --- seqs/webserver.sh | 81 ++++++++++++++++++++++++++++++++++++++++------- 1 file changed, 69 insertions(+), 12 deletions(-) diff --git a/seqs/webserver.sh b/seqs/webserver.sh index d20ba93..c1bd6c2 100755 --- a/seqs/webserver.sh +++ b/seqs/webserver.sh @@ -8,20 +8,74 @@ step_1_info() { echo "Installation of $serverName and $databaseName"; } step_1_alias() { ALIAS=install; } step_1() { apt update - apt install nginx mariadb-server mariadb-client - echo - echo "If nginx isn't starting comment the following line in /etc/nginx/sites-available/default" - read -p "Press Enter to open" - vi /etc/nginx/sites-available/default + apt install mariadb-server mariadb-client + saveReturn $? + endReturn + apt install nginx + saveReturn $? } -step_2_info() { echo "Secure mariadb installation"; } +step_2_info() { echo "Basic nginx configuration for initial letsencrypt reception"; } step_2() { + echo "$siteLetsencrypt" > "$siteLetsencryptLoc" + cp -ar "$siteDefaultLoc" "$siteDefaultLoc".bck + read -p "Enter your domain: " siteName + setMyDomain $siteName + if [ $ERNO -ne 0 ] ; then + apt install nginx + fi + mkdir -p /var/www/letsencrypt + echo "Restarting Nginx ..." + service nginx restart +} + +setMyDomain() { + echo -n "$siteDefaultIp4" > "$siteDefaultLoc" + echo -n "$1" >> "$siteDefaultLoc" + echo "$siteDefaultIp42" >> "$siteDefaultLoc" +} +siteLetsencryptLoc="/etc/nginx/snippets/letsencrypt.conf" +siteLetsencrypt="\ +location ^~ /.well-known/acme-challenge/ { + default_type \"text/plain\"; + root /var/www/letsencrypt; +}" +siteDefaultLoc="/etc/nginx/sites-available/default" +siteDefaultIp4="server { + listen 80; + #listen [::]:80; + + server_name " +siteDefaultIp42="; + + include ${siteLetsencryptLoc}; +}" + +step_3_info() { echo "Secure mariadb installation"; } +step_3() { mysql_secure_installation } -step_3_info() { echo "Installation of PHP7.0"; } -step_3() { +step_4_info() { echo "Mariadb configuration"; } +step_4() { + echo "$mariadbConfig" > "$mariadbConfigLoc" + echo -n "Restarting mysql ... " + service mysql restart && echo "ok" +} + +mariadbConfigLoc="/etc/mysql/mariadb.conf.d/90-myconfig.cnf" +mariadbConfig="\ +[mysqld] +innodb_large_prefix=on +innodb_file_format=barracuda +innodb_file_per_table=true + +lower_case_table_names=0 + +#innodb_force_recovery=6" + +step_5_info() { echo "Installation of PHP7.0"; } +step_5() { apt install $phpPackages } @@ -46,12 +100,15 @@ phpCliConfigLocation="/etc/php/7.0/cli/conf.d/90-custom_pi.ini" phpCliConfig="\ date.timezone = Europe/Berlin" -step_4_info() { echo "Configuration of PHP"; } -step_4() { - echo "$phpFpmConfig" > "$phpFpmConfigLocation" - echo "$phpCliConfig" > "$phpCliConfigLocation" +step_6_info() { echo "Configuration of PHP fpm and cli"; } +step_6() { + echo -n "Writing $phpFpmConfigLocation ... " + echo "$phpFpmConfig" > "$phpFpmConfigLocation" && echo "ok" + echo -n "Writing $phpCliConfigLocation ... " + echo "$phpCliConfig" > "$phpCliConfigLocation" && echo "ok" service php7.0-fpm restart } + VERSION_SEQREV=2 . sequencer.sh