Browse Source

Move to directory

Bob Mottram 9 years ago
parent
commit
02e1b92f6e
1 changed files with 304 additions and 302 deletions
  1. 304
    302
      src/freedombone

+ 304
- 302
src/freedombone View File

@@ -2022,60 +2022,60 @@ function backup_database_local {
2022 2022
     backup_databases_script=/usr/bin/backupdatabases
2023 2023
     echo '' >> $backup_databases_script
2024 2024
     echo "# Backup the ${database_name} database" >> $backup_databases_script
2025
-		  echo "TEMPFILE=/root/${database_name}.sql" >> $backup_databases_script
2026
-		  echo 'DAILYFILE=/var/backups/${database_name}_daily.sql' >> $backup_databases_script
2027
-		  echo "mysqldump --password=\"\$MYSQL_PASSWORD\" ${database_name} > \$TEMPFILE" >> $backup_databases_script
2028
-		  echo 'FILESIZE=$(stat -c%s $TEMPFILE)' >> $backup_databases_script
2029
-		  echo 'if [ "$FILESIZE" -eq "0" ]; then' >> $backup_databases_script
2030
-		  echo '    if [ -f $DAILYFILE ]; then' >> $backup_databases_script
2031
-		  echo '        cp $DAILYFILE $TEMPFILE' >> $backup_databases_script
2032
-		  echo '' >> $backup_databases_script
2033
-		  echo '        # try to restore yesterdays database' >> $backup_databases_script
2034
-		  echo "        mysql -u root --password=\"\$MYSQL_PASSWORD\" ${database_name} -o < \$DAILYFILE" >> $backup_databases_script
2035
-		  echo '' >> $backup_databases_script
2036
-		  echo '        # Send a warning email' >> $backup_databases_script
2037
-		  echo "        echo \"Unable to create a backup of the ${database_name} database. Attempted to restore from yesterdays backup\" | mail -s \"${database_name} backup\" \$EMAIL" >> $backup_databases_script
2038
-		  echo '    else' >> $backup_databases_script
2039
-		  echo '        # Send a warning email' >> $backup_databases_script
2040
-		  echo "        echo \"Unable to create a backup of the ${database_name} database.\" | mail -s \"${database_name} backup\" \$EMAIL" >> $backup_databases_script
2041
-		  echo '    fi' >> $backup_databases_script
2042
-		  echo 'else' >> $backup_databases_script
2043
-		  echo '    chmod 600 $TEMPFILE' >> $backup_databases_script
2044
-		  echo '    mv $TEMPFILE $DAILYFILE' >> $backup_databases_script
2045
-		  echo '' >> $backup_databases_script
2046
-		  echo '    # Make the backup readable only by root' >> $backup_databases_script
2047
-		  echo '    chmod 600 $DAILYFILE' >> $backup_databases_script
2048
-		  echo 'fi' >> $backup_databases_script
2049
-
2050
-		  weekly_backup_script=/etc/cron.weekly/backupdatabasesweekly
2051
-		  if ! grep -q "${database_name}" ${weekly_backup_script}; then
2052
-			  echo '' >> ${weekly_backup_script}
2053
-			  echo "# ${database_name}" >> ${weekly_backup_script}
2054
-			  echo "if [ -f /var/backups/${database_name}_weekly.sql ]; then" >> ${weekly_backup_script}
2055
-			  echo "  cp -f /var/backups/${database_name}_weekly.sql /var/backups/${database_name}_2weekly.sql" >> ${weekly_backup_script}
2056
-			  echo 'fi' >> ${weekly_backup_script}
2057
-			  echo "if [ -f /var/backups/${database_name}_daily.sql ]; then" >> ${weekly_backup_script}
2058
-			  echo "  cp -f /var/backups/${database_name}_daily.sql /var/backups/${database_name}_weekly.sql" >> ${weekly_backup_script}
2059
-			  echo 'fi' >> ${weekly_backup_script}
2060
-		  fi
2061
-
2062
-		  monthly_backup_script=/etc/cron.monthly/backupdatabasesmonthly
2063
-		  if ! grep -q "${database_name}" ${monthly_backup_script}; then
2064
-			  echo '' >> ${monthly_backup_script}
2065
-			  echo "# ${database_name}" >> ${monthly_backup_script}
2066
-			  echo "if [ -f /var/backups/${database_name}_monthly.sql ]; then" >> ${monthly_backup_script}
2067
-			  echo "  cp -f /var/backups/${database_name}_monthly.sql /var/backups/${database_name}_2monthly.sql" >> ${monthly_backup_script}
2068
-			  echo 'fi' >> ${monthly_backup_script}
2069
-			  echo "if [ -f /var/backups/${database_name}_weekly.sql ]; then" >> ${monthly_backup_script}
2070
-			  echo "  cp -f /var/backups/${database_name}_weekly.sql /var/backups/${database_name}_monthly.sql" >> ${monthly_backup_script}
2071
-			  echo 'fi' >> ${monthly_backup_script}
2072
-		  fi
2073
-
2074
-		  if ! grep -q "${database_name}" /etc/cron.hourly/repair; then
2075
-			  echo "${PROJECT_NAME}-repair-database ${database_name}" >> /etc/cron.hourly/repair
2076
-			  # remove legacy stuff
2077
-			  sed -i 's|/usr/bin/repairdatabase redmatrix||g' /etc/cron.hourly/repair
2078
-		  fi
2025
+    echo "TEMPFILE=/root/${database_name}.sql" >> $backup_databases_script
2026
+    echo 'DAILYFILE=/var/backups/${database_name}_daily.sql' >> $backup_databases_script
2027
+    echo "mysqldump --password=\"\$MYSQL_PASSWORD\" ${database_name} > \$TEMPFILE" >> $backup_databases_script
2028
+    echo 'FILESIZE=$(stat -c%s $TEMPFILE)' >> $backup_databases_script
2029
+    echo 'if [ "$FILESIZE" -eq "0" ]; then' >> $backup_databases_script
2030
+    echo '    if [ -f $DAILYFILE ]; then' >> $backup_databases_script
2031
+    echo '        cp $DAILYFILE $TEMPFILE' >> $backup_databases_script
2032
+    echo '' >> $backup_databases_script
2033
+    echo '        # try to restore yesterdays database' >> $backup_databases_script
2034
+    echo "        mysql -u root --password=\"\$MYSQL_PASSWORD\" ${database_name} -o < \$DAILYFILE" >> $backup_databases_script
2035
+    echo '' >> $backup_databases_script
2036
+    echo '        # Send a warning email' >> $backup_databases_script
2037
+    echo "        echo \"Unable to create a backup of the ${database_name} database. Attempted to restore from yesterdays backup\" | mail -s \"${database_name} backup\" \$EMAIL" >> $backup_databases_script
2038
+    echo '    else' >> $backup_databases_script
2039
+    echo '        # Send a warning email' >> $backup_databases_script
2040
+    echo "        echo \"Unable to create a backup of the ${database_name} database.\" | mail -s \"${database_name} backup\" \$EMAIL" >> $backup_databases_script
2041
+    echo '    fi' >> $backup_databases_script
2042
+    echo 'else' >> $backup_databases_script
2043
+    echo '    chmod 600 $TEMPFILE' >> $backup_databases_script
2044
+    echo '    mv $TEMPFILE $DAILYFILE' >> $backup_databases_script
2045
+    echo '' >> $backup_databases_script
2046
+    echo '    # Make the backup readable only by root' >> $backup_databases_script
2047
+    echo '    chmod 600 $DAILYFILE' >> $backup_databases_script
2048
+    echo 'fi' >> $backup_databases_script
2049
+
2050
+    weekly_backup_script=/etc/cron.weekly/backupdatabasesweekly
2051
+    if ! grep -q "${database_name}" ${weekly_backup_script}; then
2052
+        echo '' >> ${weekly_backup_script}
2053
+        echo "# ${database_name}" >> ${weekly_backup_script}
2054
+        echo "if [ -f /var/backups/${database_name}_weekly.sql ]; then" >> ${weekly_backup_script}
2055
+        echo "  cp -f /var/backups/${database_name}_weekly.sql /var/backups/${database_name}_2weekly.sql" >> ${weekly_backup_script}
2056
+        echo 'fi' >> ${weekly_backup_script}
2057
+        echo "if [ -f /var/backups/${database_name}_daily.sql ]; then" >> ${weekly_backup_script}
2058
+        echo "  cp -f /var/backups/${database_name}_daily.sql /var/backups/${database_name}_weekly.sql" >> ${weekly_backup_script}
2059
+        echo 'fi' >> ${weekly_backup_script}
2060
+    fi
2061
+
2062
+    monthly_backup_script=/etc/cron.monthly/backupdatabasesmonthly
2063
+    if ! grep -q "${database_name}" ${monthly_backup_script}; then
2064
+        echo '' >> ${monthly_backup_script}
2065
+        echo "# ${database_name}" >> ${monthly_backup_script}
2066
+        echo "if [ -f /var/backups/${database_name}_monthly.sql ]; then" >> ${monthly_backup_script}
2067
+        echo "  cp -f /var/backups/${database_name}_monthly.sql /var/backups/${database_name}_2monthly.sql" >> ${monthly_backup_script}
2068
+        echo 'fi' >> ${monthly_backup_script}
2069
+        echo "if [ -f /var/backups/${database_name}_weekly.sql ]; then" >> ${monthly_backup_script}
2070
+        echo "  cp -f /var/backups/${database_name}_weekly.sql /var/backups/${database_name}_monthly.sql" >> ${monthly_backup_script}
2071
+        echo 'fi' >> ${monthly_backup_script}
2072
+    fi
2073
+
2074
+    if ! grep -q "${database_name}" /etc/cron.hourly/repair; then
2075
+        echo "${PROJECT_NAME}-repair-database ${database_name}" >> /etc/cron.hourly/repair
2076
+        # remove legacy stuff
2077
+        sed -i 's|/usr/bin/repairdatabase redmatrix||g' /etc/cron.hourly/repair
2078
+    fi
2079 2079
 }
2080 2080
 
2081 2081
 function install_not_on_BBB {
@@ -8859,6 +8859,8 @@ function install_webmail {
8859 8859
     apt-get -y install php5-dev imagemagick php5-imagick
8860 8860
 
8861 8861
     if [ ! -f $WEBMAIL_PATH/index.php ]; then
8862
+        cd $WEBMAIL_PATH
8863
+        cd ..
8862 8864
         git_clone $WEBMAIL_REPO webmail
8863 8865
         git checkout $WEBMAIL_COMMIT -b $WEBMAIL_COMMIT
8864 8866
         if ! grep -q "Webmail commit" $COMPLETION_FILE; then
@@ -8885,258 +8887,258 @@ function install_webmail {
8885 8887
     fi
8886 8888
     create_database webmail "$WEBMAIL_ADMIN_PASSWORD"
8887 8889
 
8888
-	if [ ! -d /var/www/$DEFAULT_DOMAIN_NAME/htdocs ]; then
8889
-		mkdir -p /var/www/$DEFAULT_DOMAIN_NAME/htdocs
8890
-	fi	
8891
-	ln -s $WEBMAIL_PATH /var/www/$DEFAULT_DOMAIN_NAME/htdocs/webmail
8892
-	
8893
-	if ! grep -q "Webmail" /home/$MY_USERNAME/README; then
8894
-		echo '' >> /home/$MY_USERNAME/README
8895
-		echo '' >> /home/$MY_USERNAME/README
8896
-		echo 'Webmail' >> /home/$MY_USERNAME/README
8897
-		echo '=======' >> /home/$MY_USERNAME/README
8898
-		if [[ $ONION_ONLY == 'no' ]]; then
8899
-			echo $"Open https://$DEFAULT_DOMAIN_NAME/webmail/installer/index.php" >> /home/$MY_USERNAME/README
8900
-		else
8901
-			echo $"Open http://$WEBMAIL_ONION_HOSTNAME/installer/index.php" >> /home/$MY_USERNAME/README
8902
-		fi
8903
-		echo $"Database Type: MySQL" >> /home/$MY_USERNAME/README
8904
-		echo $"Database name: webmail" >> /home/$MY_USERNAME/README
8905
-		echo $"Database user name: webmailadmin" >> /home/$MY_USERNAME/README
8906
-		echo $"Database password: $WEBMAIL_ADMIN_PASSWORD" >> /home/$MY_USERNAME/README
8907
-		echo $"Enable the Enigma PGP plugin" >> /home/$MY_USERNAME/README
8908
-		chown $MY_USERNAME:$MY_USERNAME /home/$MY_USERNAME/README
8909
-		chmod 600 /home/$MY_USERNAME/README
8910
-	fi
8890
+    if [ ! -d /var/www/$DEFAULT_DOMAIN_NAME/htdocs ]; then
8891
+        mkdir -p /var/www/$DEFAULT_DOMAIN_NAME/htdocs
8892
+    fi  
8893
+    ln -s $WEBMAIL_PATH /var/www/$DEFAULT_DOMAIN_NAME/htdocs/webmail
8911 8894
     
8912
-	echo 'install_webmail' >> $COMPLETION_FILE
8895
+    if ! grep -q "Webmail" /home/$MY_USERNAME/README; then
8896
+        echo '' >> /home/$MY_USERNAME/README
8897
+        echo '' >> /home/$MY_USERNAME/README
8898
+        echo 'Webmail' >> /home/$MY_USERNAME/README
8899
+        echo '=======' >> /home/$MY_USERNAME/README
8900
+        if [[ $ONION_ONLY == 'no' ]]; then
8901
+            echo $"Open https://$DEFAULT_DOMAIN_NAME/webmail/installer/index.php" >> /home/$MY_USERNAME/README
8902
+        else
8903
+            echo $"Open http://$WEBMAIL_ONION_HOSTNAME/installer/index.php" >> /home/$MY_USERNAME/README
8904
+        fi
8905
+        echo $"Database Type: MySQL" >> /home/$MY_USERNAME/README
8906
+        echo $"Database name: webmail" >> /home/$MY_USERNAME/README
8907
+        echo $"Database user name: webmailadmin" >> /home/$MY_USERNAME/README
8908
+        echo $"Database password: $WEBMAIL_ADMIN_PASSWORD" >> /home/$MY_USERNAME/README
8909
+        echo $"Enable the Enigma PGP plugin" >> /home/$MY_USERNAME/README
8910
+        chown $MY_USERNAME:$MY_USERNAME /home/$MY_USERNAME/README
8911
+        chmod 600 /home/$MY_USERNAME/README
8912
+    fi
8913
+    
8914
+    echo 'install_webmail' >> $COMPLETION_FILE
8913 8915
 }
8914 8916
 
8915 8917
 function install_hubzilla {
8916
-	if [[ $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_MAILBOX" || $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_MEDIA" || $SYSTEM_TYPE == "$VARIANT_DEVELOPER" || $SYSTEM_TYPE == "$VARIANT_MESH" ]]; then
8917
-		return
8918
-	fi
8919
-	if [ ! $HUBZILLA_DOMAIN_NAME ]; then
8920
-		return
8921
-	fi
8922
-
8923
-	HUBZILLA_PATH=/var/www/$HUBZILLA_DOMAIN_NAME/htdocs
8924
-
8925
-	# update to a new commit if needed
8926
-	set_repo_commit $HUBZILLA_PATH "Hubzilla commit" "$HUBZILLA_COMMIT" $HUBZILLA_REPO
8927
-	set_repo_commit $HUBZILLA_PATH "Hubzilla addons commit" "$HUBZILLA_ADDONS_COMMIT" $HUBZILLA_ADDONS_REPO
8928
-	if [ -d $HUBZILLA_PATH/redmatrix-themes1 ]; then
8929
-		cd $HUBZILLA_PATH/redmatrix-themes1
8930
-		git stash
8931
-		git pull
8932
-		cp -r $HUBZILLA_PATH/redmatrix-themes1/* $HUBZILLA_PATH/view/theme/
8933
-		chown -R www-data:www-data $HUBZILLA_PATH
8934
-	fi
8935
-
8936
-	if grep -Fxq "install_hubzilla" $COMPLETION_FILE; then
8937
-		return
8938
-	fi
8939
-
8940
-	install_mariadb
8941
-	get_mariadb_password
8942
-	repair_databases_script
8943
-
8944
-	apt-get -y install php5-common php5-cli php5-curl php5-gd php5-mysql php5-mcrypt git
8945
-	apt-get -y install php5-dev imagemagick php5-imagick
8946
-
8947
-	if [ ! -d /var/www/$HUBZILLA_DOMAIN_NAME ]; then
8948
-		mkdir /var/www/$HUBZILLA_DOMAIN_NAME
8949
-	fi
8950
-	if [ ! -d $HUBZILLA_PATH ]; then
8951
-		mkdir $HUBZILLA_PATH
8952
-	fi
8953
-
8954
-	if [ ! -f $HUBZILLA_PATH/index.php ]; then
8955
-		cd $INSTALL_DIR
8956
-		git_clone $HUBZILLA_REPO hubzilla
8957
-		git checkout $HUBZILLA_COMMIT -b $HUBZILLA_COMMIT
8958
-		if ! grep -q "Hubzilla commit" $COMPLETION_FILE; then
8959
-			echo "Hubzilla commit:$HUBZILLA_COMMIT" >> $COMPLETION_FILE
8960
-		else
8961
-			sed -i "s/Hubzilla commit.*/Hubzilla commit:$HUBZILLA_COMMIT/g" $COMPLETION_FILE
8962
-		fi
8963
-
8964
-		rm -rf $HUBZILLA_PATH
8965
-		mv hubzilla $HUBZILLA_PATH
8966
-
8967
-		git_clone $HUBZILLA_ADDONS_REPO $HUBZILLA_PATH/addon
8968
-		cd $HUBZILLA_PATH/addon
8969
-		git checkout $HUBZILLA_ADDONS_COMMIT -b $HUBZILLA_ADDONS_COMMIT
8970
-		if ! grep -q "Hubzilla addons commit" $COMPLETION_FILE; then
8971
-			echo "Hubzilla addons commit:$HUBZILLA_ADDONS_COMMIT" >> $COMPLETION_FILE
8972
-		else
8973
-			sed -i "s/Hubzilla addons commit.*/Hubzilla addons commit:$HUBZILLA_ADDONS_COMMIT/g" $COMPLETION_FILE
8974
-		fi
8975
-
8976
-		# some extra themes
8977
-		git_clone $HUBZILLA_THEMES_REPO $HUBZILLA_PATH/redmatrix-themes1
8978
-		cp -r $HUBZILLA_PATH/redmatrix-themes1/* $HUBZILLA_PATH/view/theme/
8979
-
8980
-		chown -R www-data:www-data $HUBZILLA_PATH
8981
-	fi
8982
-
8983
-	HUBZILLA_ONION_HOSTNAME=
8984
-	if [[ $ONION_ONLY != "no" ]]; then
8985
-		HUBZILLA_ONION_HOSTNAME=$(add_onion_service hubzilla 80 ${HUBZILLA_ONION_PORT})
8986
-		echo "Hubzilla onion domain:${HUBZILLA_ONION_HOSTNAME}" >> $COMPLETION_FILE
8987
-	fi
8988
-
8989
-	get_mariadb_hubzilla_admin_password
8990
-	if [ ! $HUBZILLA_ADMIN_PASSWORD ]; then
8991
-		if [ -f $IMAGE_PASSWORD_FILE ]; then
8992
-			HUBZILLA_ADMIN_PASSWORD="$(printf `cat $IMAGE_PASSWORD_FILE`)"
8993
-		else
8994
-			HUBZILLA_ADMIN_PASSWORD="$(openssl rand -base64 32 | cut -c1-30)"
8995
-		fi
8996
-		echo '' >> /home/$MY_USERNAME/README
8997
-		echo '' >> /home/$MY_USERNAME/README
8998
-		echo 'Hubzilla' >> /home/$MY_USERNAME/README
8999
-		echo '========' >> /home/$MY_USERNAME/README
9000
-		if [[ $ONION_ONLY == 'no' ]]; then
9001
-			echo $"Open https://$HUBZILLA_DOMAIN_NAME and register a new user" >> /home/$MY_USERNAME/README
9002
-		else
9003
-			echo $"Open http://$HUBZILLA_ONION_HOSTNAME and register a new user" >> /home/$MY_USERNAME/README
9004
-		fi
9005
-		echo $"Your MariaDB Hubzilla admin password is: $HUBZILLA_ADMIN_PASSWORD" >> /home/$MY_USERNAME/README
9006
-		chown $MY_USERNAME:$MY_USERNAME /home/$MY_USERNAME/README
9007
-		chmod 600 /home/$MY_USERNAME/README
9008
-	fi
9009
-
9010
-	create_database hubzilla "$HUBZILLA_ADMIN_PASSWORD"
9011
-
9012
-	if ! grep -q "$HUBZILLA_PATH" /etc/crontab; then
9013
-		echo "12,22,32,42,52 * *   *   *   root cd $HUBZILLA_PATH; /usr/bin/timeout 500 /usr/bin/php include/poller.php" >> /etc/crontab
9014
-	fi
9015
-
9016
-	add_ddns_domain $HUBZILLA_DOMAIN_NAME
9017
-
9018
-	if [[ $ONION_ONLY == "no" ]]; then
9019
-		nginx_http_redirect $HUBZILLA_DOMAIN_NAME
9020
-		echo 'server {' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9021
-		echo '    listen 443 ssl;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9022
-		echo "    root $HUBZILLA_PATH;" >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9023
-		echo "    server_name $HUBZILLA_DOMAIN_NAME;" >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9024
-		echo "    error_log /var/log/nginx/${HUBZILLA_DOMAIN_NAME}_error_ssl.log $WEBSERVER_LOG_LEVEL;" >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9025
-		echo '    index index.php;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9026
-		echo '    charset utf-8;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9027
-		echo '    access_log off;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9028
-		nginx_limits $HUBZILLA_DOMAIN_NAME
9029
-		nginx_ssl $HUBZILLA_DOMAIN_NAME
9030
-		nginx_disable_sniffing $HUBZILLA_DOMAIN_NAME
9031
-		echo '    add_header Strict-Transport-Security max-age=15768000;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9032
-		echo '' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9033
-		echo '    # rewrite to front controller as default rule' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9034
-		echo '    location / {' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9035
-		echo '        rewrite ^/(.*) /index.php?q=$uri&$args last;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9036
-		echo '    }' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9037
-		echo '' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9038
-		echo "    # make sure webfinger and other well known services aren't blocked" >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9039
-		echo '    # by denying dot files and rewrite request to the front controller' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9040
-		echo '    location ^~ /.well-known/ {' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9041
-		echo '        allow all;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9042
-		echo '        rewrite ^/(.*) /index.php?q=$uri&$args last;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9043
-		echo '    }' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9044
-		echo '' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9045
-		echo '    # statically serve these file types when possible' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9046
-		echo '    # otherwise fall back to front controller' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9047
-		echo '    # allow browser to cache them' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9048
-		echo '    # added .htm for advanced source code editor library' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9049
-		echo '    location ~* \.(jpg|jpeg|gif|png|ico|css|js|htm|html|ttf|woff|svg)$ {' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9050
-		echo '        expires 30d;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9051
-		echo '        try_files $uri /index.php?q=$uri&$args;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9052
-		echo '    }' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9053
-		echo '' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9054
-		echo '    # block these file types' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9055
-		echo '    location ~* \.(tpl|md|tgz|log|out)$ {' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9056
-		echo '        deny all;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9057
-		echo '    }' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9058
-		echo '' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9059
-		echo '    # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9060
-		echo '    # or a unix socket' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9061
-		echo '    location ~* \.php$ {' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9062
-		echo '        # Zero-day exploit defense.' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9063
-		echo '        # http://forum.nginx.org/read.php?2,88845,page=3' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9064
-		echo "        # Won't work properly (404 error) if the file is not stored on this" >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9065
-		echo "        # server, which is entirely possible with php-fpm/php-fcgi." >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9066
-		echo "        # Comment the 'try_files' line out if you set up php-fpm/php-fcgi on" >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9067
-		echo "        # another machine. And then cross your fingers that you won't get hacked." >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9068
-		echo '        try_files $uri $uri/ /index.php;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9069
-		echo '        # NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9070
-		echo '        fastcgi_split_path_info ^(.+\.php)(/.+)$;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9071
-		echo '        # With php5-cgi alone:' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9072
-		echo '        # fastcgi_pass 127.0.0.1:9000;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9073
-		echo '        # With php5-fpm:' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9074
-		echo '        fastcgi_pass unix:/var/run/php5-fpm.sock;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9075
-		echo '        include fastcgi_params;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9076
-		echo '        fastcgi_index index.php;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9077
-		echo '        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9078
-		echo '        fastcgi_read_timeout 300;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9079
-		echo '    }' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9080
-		echo '' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9081
-		echo '    # deny access to all dot files' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9082
-		echo '    location ~ /\. {' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9083
-		echo '        deny all;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9084
-		echo '    }' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9085
-		echo '' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9086
-		echo '    location ~ /\.ht {' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9087
-		echo '      deny  all;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9088
-		echo '    }' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9089
-		echo '}' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9090
-		echo '' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9091
-	else
9092
-		echo 'server {' > /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9093
-		echo "    listen 127.0.0.1:${HUBZILLA_ONION_PORT} default_server;" >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9094
-		echo "    root $HUBZILLA_PATH;" >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9095
-		echo "    server_name $HUBZILLA_ONION_HOSTNAME;" >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9096
-		echo "    error_log /var/log/nginx/${HUBZILLA_DOMAIN_NAME}_error_ssl.log $WEBSERVER_LOG_LEVEL;" >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9097
-		echo '    index index.php;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9098
-		echo '    charset utf-8;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9099
-		echo '    access_log off;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9100
-		nginx_limits $HUBZILLA_DOMAIN_NAME
9101
-		nginx_disable_sniffing $HUBZILLA_DOMAIN_NAME
9102
-		echo '    add_header Strict-Transport-Security max-age=15768000;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9103
-		echo '' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9104
-		echo '    # rewrite to front controller as default rule' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9105
-		echo '    location / {' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9106
-		echo '        rewrite ^/(.*) /index.php?q=$uri&$args last;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9107
-		echo '    }' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9108
-		echo '' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9109
-		echo "    # make sure webfinger and other well known services aren't blocked" >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9110
-		echo '    # by denying dot files and rewrite request to the front controller' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9111
-		echo '    location ^~ /.well-known/ {' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9112
-		echo '        allow all;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9113
-		echo '        rewrite ^/(.*) /index.php?q=$uri&$args last;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9114
-		echo '    }' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9115
-		echo '' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9116
-		echo '    # statically serve these file types when possible' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9117
-		echo '    # otherwise fall back to front controller' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9118
-		echo '    # allow browser to cache them' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9119
-		echo '    # added .htm for advanced source code editor library' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9120
-		echo '    location ~* \.(jpg|jpeg|gif|png|ico|css|js|htm|html|ttf|woff|svg)$ {' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9121
-		echo '        expires 30d;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9122
-		echo '        try_files $uri /index.php?q=$uri&$args;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9123
-		echo '    }' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9124
-		echo '' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9125
-		echo '    # block these file types' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9126
-		echo '    location ~* \.(tpl|md|tgz|log|out)$ {' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9127
-		echo '        deny all;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9128
-		echo '    }' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9129
-		echo '' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9130
-		echo '    # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9131
-		echo '    # or a unix socket' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9132
-		echo '    location ~* \.php$ {' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9133
-		echo '        # Zero-day exploit defense.' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9134
-		echo '        # http://forum.nginx.org/read.php?2,88845,page=3' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9135
-		echo "        # Won't work properly (404 error) if the file is not stored on this" >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9136
-		echo "        # server, which is entirely possible with php-fpm/php-fcgi." >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9137
-		echo "        # Comment the 'try_files' line out if you set up php-fpm/php-fcgi on" >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9138
-		echo "        # another machine. And then cross your fingers that you won't get hacked." >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9139
-		echo '        try_files $uri $uri/ /index.php;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
8918
+    if [[ $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_MAILBOX" || $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_MEDIA" || $SYSTEM_TYPE == "$VARIANT_DEVELOPER" || $SYSTEM_TYPE == "$VARIANT_MESH" ]]; then
8919
+        return
8920
+    fi
8921
+    if [ ! $HUBZILLA_DOMAIN_NAME ]; then
8922
+        return
8923
+    fi
8924
+
8925
+    HUBZILLA_PATH=/var/www/$HUBZILLA_DOMAIN_NAME/htdocs
8926
+
8927
+    # update to a new commit if needed
8928
+    set_repo_commit $HUBZILLA_PATH "Hubzilla commit" "$HUBZILLA_COMMIT" $HUBZILLA_REPO
8929
+    set_repo_commit $HUBZILLA_PATH "Hubzilla addons commit" "$HUBZILLA_ADDONS_COMMIT" $HUBZILLA_ADDONS_REPO
8930
+    if [ -d $HUBZILLA_PATH/redmatrix-themes1 ]; then
8931
+        cd $HUBZILLA_PATH/redmatrix-themes1
8932
+        git stash
8933
+        git pull
8934
+        cp -r $HUBZILLA_PATH/redmatrix-themes1/* $HUBZILLA_PATH/view/theme/
8935
+        chown -R www-data:www-data $HUBZILLA_PATH
8936
+    fi
8937
+
8938
+    if grep -Fxq "install_hubzilla" $COMPLETION_FILE; then
8939
+        return
8940
+    fi
8941
+
8942
+    install_mariadb
8943
+    get_mariadb_password
8944
+    repair_databases_script
8945
+
8946
+    apt-get -y install php5-common php5-cli php5-curl php5-gd php5-mysql php5-mcrypt git
8947
+    apt-get -y install php5-dev imagemagick php5-imagick
8948
+
8949
+    if [ ! -d /var/www/$HUBZILLA_DOMAIN_NAME ]; then
8950
+        mkdir /var/www/$HUBZILLA_DOMAIN_NAME
8951
+    fi
8952
+    if [ ! -d $HUBZILLA_PATH ]; then
8953
+        mkdir $HUBZILLA_PATH
8954
+    fi
8955
+
8956
+    if [ ! -f $HUBZILLA_PATH/index.php ]; then
8957
+        cd $INSTALL_DIR
8958
+        git_clone $HUBZILLA_REPO hubzilla
8959
+        git checkout $HUBZILLA_COMMIT -b $HUBZILLA_COMMIT
8960
+        if ! grep -q "Hubzilla commit" $COMPLETION_FILE; then
8961
+            echo "Hubzilla commit:$HUBZILLA_COMMIT" >> $COMPLETION_FILE
8962
+        else
8963
+            sed -i "s/Hubzilla commit.*/Hubzilla commit:$HUBZILLA_COMMIT/g" $COMPLETION_FILE
8964
+        fi
8965
+
8966
+        rm -rf $HUBZILLA_PATH
8967
+        mv hubzilla $HUBZILLA_PATH
8968
+
8969
+        git_clone $HUBZILLA_ADDONS_REPO $HUBZILLA_PATH/addon
8970
+        cd $HUBZILLA_PATH/addon
8971
+        git checkout $HUBZILLA_ADDONS_COMMIT -b $HUBZILLA_ADDONS_COMMIT
8972
+        if ! grep -q "Hubzilla addons commit" $COMPLETION_FILE; then
8973
+            echo "Hubzilla addons commit:$HUBZILLA_ADDONS_COMMIT" >> $COMPLETION_FILE
8974
+        else
8975
+            sed -i "s/Hubzilla addons commit.*/Hubzilla addons commit:$HUBZILLA_ADDONS_COMMIT/g" $COMPLETION_FILE
8976
+        fi
8977
+
8978
+        # some extra themes
8979
+        git_clone $HUBZILLA_THEMES_REPO $HUBZILLA_PATH/redmatrix-themes1
8980
+        cp -r $HUBZILLA_PATH/redmatrix-themes1/* $HUBZILLA_PATH/view/theme/
8981
+
8982
+        chown -R www-data:www-data $HUBZILLA_PATH
8983
+    fi
8984
+
8985
+    HUBZILLA_ONION_HOSTNAME=
8986
+    if [[ $ONION_ONLY != "no" ]]; then
8987
+        HUBZILLA_ONION_HOSTNAME=$(add_onion_service hubzilla 80 ${HUBZILLA_ONION_PORT})
8988
+        echo "Hubzilla onion domain:${HUBZILLA_ONION_HOSTNAME}" >> $COMPLETION_FILE
8989
+    fi
8990
+
8991
+    get_mariadb_hubzilla_admin_password
8992
+    if [ ! $HUBZILLA_ADMIN_PASSWORD ]; then
8993
+        if [ -f $IMAGE_PASSWORD_FILE ]; then
8994
+            HUBZILLA_ADMIN_PASSWORD="$(printf `cat $IMAGE_PASSWORD_FILE`)"
8995
+        else
8996
+            HUBZILLA_ADMIN_PASSWORD="$(openssl rand -base64 32 | cut -c1-30)"
8997
+        fi
8998
+        echo '' >> /home/$MY_USERNAME/README
8999
+        echo '' >> /home/$MY_USERNAME/README
9000
+        echo 'Hubzilla' >> /home/$MY_USERNAME/README
9001
+        echo '========' >> /home/$MY_USERNAME/README
9002
+        if [[ $ONION_ONLY == 'no' ]]; then
9003
+            echo $"Open https://$HUBZILLA_DOMAIN_NAME and register a new user" >> /home/$MY_USERNAME/README
9004
+        else
9005
+            echo $"Open http://$HUBZILLA_ONION_HOSTNAME and register a new user" >> /home/$MY_USERNAME/README
9006
+        fi
9007
+        echo $"Your MariaDB Hubzilla admin password is: $HUBZILLA_ADMIN_PASSWORD" >> /home/$MY_USERNAME/README
9008
+        chown $MY_USERNAME:$MY_USERNAME /home/$MY_USERNAME/README
9009
+        chmod 600 /home/$MY_USERNAME/README
9010
+    fi
9011
+
9012
+    create_database hubzilla "$HUBZILLA_ADMIN_PASSWORD"
9013
+
9014
+    if ! grep -q "$HUBZILLA_PATH" /etc/crontab; then
9015
+        echo "12,22,32,42,52 * *   *   *   root cd $HUBZILLA_PATH; /usr/bin/timeout 500 /usr/bin/php include/poller.php" >> /etc/crontab
9016
+    fi
9017
+
9018
+    add_ddns_domain $HUBZILLA_DOMAIN_NAME
9019
+
9020
+    if [[ $ONION_ONLY == "no" ]]; then
9021
+        nginx_http_redirect $HUBZILLA_DOMAIN_NAME
9022
+        echo 'server {' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9023
+        echo '    listen 443 ssl;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9024
+        echo "    root $HUBZILLA_PATH;" >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9025
+        echo "    server_name $HUBZILLA_DOMAIN_NAME;" >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9026
+        echo "    error_log /var/log/nginx/${HUBZILLA_DOMAIN_NAME}_error_ssl.log $WEBSERVER_LOG_LEVEL;" >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9027
+        echo '    index index.php;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9028
+        echo '    charset utf-8;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9029
+        echo '    access_log off;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9030
+        nginx_limits $HUBZILLA_DOMAIN_NAME
9031
+        nginx_ssl $HUBZILLA_DOMAIN_NAME
9032
+        nginx_disable_sniffing $HUBZILLA_DOMAIN_NAME
9033
+        echo '    add_header Strict-Transport-Security max-age=15768000;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9034
+        echo '' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9035
+        echo '    # rewrite to front controller as default rule' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9036
+        echo '    location / {' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9037
+        echo '        rewrite ^/(.*) /index.php?q=$uri&$args last;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9038
+        echo '    }' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9039
+        echo '' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9040
+        echo "    # make sure webfinger and other well known services aren't blocked" >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9041
+        echo '    # by denying dot files and rewrite request to the front controller' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9042
+        echo '    location ^~ /.well-known/ {' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9043
+        echo '        allow all;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9044
+        echo '        rewrite ^/(.*) /index.php?q=$uri&$args last;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9045
+        echo '    }' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9046
+        echo '' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9047
+        echo '    # statically serve these file types when possible' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9048
+        echo '    # otherwise fall back to front controller' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9049
+        echo '    # allow browser to cache them' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9050
+        echo '    # added .htm for advanced source code editor library' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9051
+        echo '    location ~* \.(jpg|jpeg|gif|png|ico|css|js|htm|html|ttf|woff|svg)$ {' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9052
+        echo '        expires 30d;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9053
+        echo '        try_files $uri /index.php?q=$uri&$args;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9054
+        echo '    }' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9055
+        echo '' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9056
+        echo '    # block these file types' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9057
+        echo '    location ~* \.(tpl|md|tgz|log|out)$ {' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9058
+        echo '        deny all;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9059
+        echo '    }' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9060
+        echo '' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9061
+        echo '    # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9062
+        echo '    # or a unix socket' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9063
+        echo '    location ~* \.php$ {' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9064
+        echo '        # Zero-day exploit defense.' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9065
+        echo '        # http://forum.nginx.org/read.php?2,88845,page=3' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9066
+        echo "        # Won't work properly (404 error) if the file is not stored on this" >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9067
+        echo "        # server, which is entirely possible with php-fpm/php-fcgi." >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9068
+        echo "        # Comment the 'try_files' line out if you set up php-fpm/php-fcgi on" >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9069
+        echo "        # another machine. And then cross your fingers that you won't get hacked." >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9070
+        echo '        try_files $uri $uri/ /index.php;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9071
+        echo '        # NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9072
+        echo '        fastcgi_split_path_info ^(.+\.php)(/.+)$;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9073
+        echo '        # With php5-cgi alone:' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9074
+        echo '        # fastcgi_pass 127.0.0.1:9000;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9075
+        echo '        # With php5-fpm:' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9076
+        echo '        fastcgi_pass unix:/var/run/php5-fpm.sock;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9077
+        echo '        include fastcgi_params;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9078
+        echo '        fastcgi_index index.php;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9079
+        echo '        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9080
+        echo '        fastcgi_read_timeout 300;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9081
+        echo '    }' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9082
+        echo '' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9083
+        echo '    # deny access to all dot files' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9084
+        echo '    location ~ /\. {' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9085
+        echo '        deny all;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9086
+        echo '    }' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9087
+        echo '' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9088
+        echo '    location ~ /\.ht {' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9089
+        echo '      deny  all;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9090
+        echo '    }' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9091
+        echo '}' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9092
+        echo '' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9093
+    else
9094
+        echo 'server {' > /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9095
+        echo "    listen 127.0.0.1:${HUBZILLA_ONION_PORT} default_server;" >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9096
+        echo "    root $HUBZILLA_PATH;" >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9097
+        echo "    server_name $HUBZILLA_ONION_HOSTNAME;" >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9098
+        echo "    error_log /var/log/nginx/${HUBZILLA_DOMAIN_NAME}_error_ssl.log $WEBSERVER_LOG_LEVEL;" >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9099
+        echo '    index index.php;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9100
+        echo '    charset utf-8;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9101
+        echo '    access_log off;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9102
+        nginx_limits $HUBZILLA_DOMAIN_NAME
9103
+        nginx_disable_sniffing $HUBZILLA_DOMAIN_NAME
9104
+        echo '    add_header Strict-Transport-Security max-age=15768000;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9105
+        echo '' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9106
+        echo '    # rewrite to front controller as default rule' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9107
+        echo '    location / {' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9108
+        echo '        rewrite ^/(.*) /index.php?q=$uri&$args last;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9109
+        echo '    }' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9110
+        echo '' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9111
+        echo "    # make sure webfinger and other well known services aren't blocked" >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9112
+        echo '    # by denying dot files and rewrite request to the front controller' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9113
+        echo '    location ^~ /.well-known/ {' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9114
+        echo '        allow all;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9115
+        echo '        rewrite ^/(.*) /index.php?q=$uri&$args last;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9116
+        echo '    }' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9117
+        echo '' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9118
+        echo '    # statically serve these file types when possible' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9119
+        echo '    # otherwise fall back to front controller' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9120
+        echo '    # allow browser to cache them' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9121
+        echo '    # added .htm for advanced source code editor library' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9122
+        echo '    location ~* \.(jpg|jpeg|gif|png|ico|css|js|htm|html|ttf|woff|svg)$ {' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9123
+        echo '        expires 30d;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9124
+        echo '        try_files $uri /index.php?q=$uri&$args;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9125
+        echo '    }' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9126
+        echo '' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9127
+        echo '    # block these file types' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9128
+        echo '    location ~* \.(tpl|md|tgz|log|out)$ {' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9129
+        echo '        deny all;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9130
+        echo '    }' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9131
+        echo '' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9132
+        echo '    # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9133
+        echo '    # or a unix socket' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9134
+        echo '    location ~* \.php$ {' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9135
+        echo '        # Zero-day exploit defense.' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9136
+        echo '        # http://forum.nginx.org/read.php?2,88845,page=3' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9137
+        echo "        # Won't work properly (404 error) if the file is not stored on this" >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9138
+        echo "        # server, which is entirely possible with php-fpm/php-fcgi." >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9139
+        echo "        # Comment the 'try_files' line out if you set up php-fpm/php-fcgi on" >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9140
+        echo "        # another machine. And then cross your fingers that you won't get hacked." >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9141
+        echo '        try_files $uri $uri/ /index.php;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9140 9142
         echo '        # NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9141 9143
         echo '        fastcgi_split_path_info ^(.+\.php)(/.+)$;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
9142 9144
         echo '        # With php5-cgi alone:' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME