|  | @@ -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
 |