|  | @@ -41,455 +41,454 @@ HUBZILLA_COMMIT='2d79e75788aa71664a379c4cea0b6bfe3ab87ad0'
 | 
	
		
			
			| 41 | 41 |  HUBZILLA_ADDONS_COMMIT='67b40c7a40f328a93ee030eb15e9e1261f3cba64'
 | 
	
		
			
			| 42 | 42 |  
 | 
	
		
			
			| 43 | 43 |  function reconfigure_hubzilla {
 | 
	
		
			
			| 44 |  | -	echo -n ''
 | 
	
		
			
			|  | 44 | +    echo -n ''
 | 
	
		
			
			| 45 | 45 |  }
 | 
	
		
			
			| 46 | 46 |  
 | 
	
		
			
			| 47 | 47 |  function upgrade_hubzilla {
 | 
	
		
			
			| 48 |  | -	if ! grep -Fxq "install_hubzilla" $COMPLETION_FILE; then
 | 
	
		
			
			| 49 |  | -		return
 | 
	
		
			
			| 50 |  | -	fi
 | 
	
		
			
			| 51 |  | -	HUBZILLA_PATH=/var/www/$HUBZILLA_DOMAIN_NAME/htdocs
 | 
	
		
			
			| 52 |  | -
 | 
	
		
			
			| 53 |  | -	function_check set_repo_commit
 | 
	
		
			
			| 54 |  | -	set_repo_commit $HUBZILLA_PATH "Hubzilla commit" "$HUBZILLA_COMMIT" $HUBZILLA_REPO
 | 
	
		
			
			| 55 |  | -	set_repo_commit $HUBZILLA_PATH/addon "Hubzilla addons commit" "$HUBZILLA_ADDONS_COMMIT" $HUBZILLA_ADDONS_REPO
 | 
	
		
			
			| 56 |  | -	if [ -d $HUBZILLA_PATH/redmatrix-themes1 ]; then
 | 
	
		
			
			| 57 |  | -		cd $HUBZILLA_PATH/redmatrix-themes1
 | 
	
		
			
			| 58 |  | -		git stash
 | 
	
		
			
			| 59 |  | -		git pull
 | 
	
		
			
			| 60 |  | -		cp -r $HUBZILLA_PATH/redmatrix-themes1/* $HUBZILLA_PATH/view/theme/
 | 
	
		
			
			| 61 |  | -		chown -R www-data:www-data $HUBZILLA_PATH
 | 
	
		
			
			| 62 |  | -	fi
 | 
	
		
			
			|  | 48 | +    if ! grep -Fxq "install_hubzilla" $COMPLETION_FILE; then
 | 
	
		
			
			|  | 49 | +        return
 | 
	
		
			
			|  | 50 | +    fi
 | 
	
		
			
			|  | 51 | +    HUBZILLA_PATH=/var/www/$HUBZILLA_DOMAIN_NAME/htdocs
 | 
	
		
			
			|  | 52 | +
 | 
	
		
			
			|  | 53 | +    function_check set_repo_commit
 | 
	
		
			
			|  | 54 | +    set_repo_commit $HUBZILLA_PATH "Hubzilla commit" "$HUBZILLA_COMMIT" $HUBZILLA_REPO
 | 
	
		
			
			|  | 55 | +    set_repo_commit $HUBZILLA_PATH/addon "Hubzilla addons commit" "$HUBZILLA_ADDONS_COMMIT" $HUBZILLA_ADDONS_REPO
 | 
	
		
			
			|  | 56 | +    if [ -d $HUBZILLA_PATH/redmatrix-themes1 ]; then
 | 
	
		
			
			|  | 57 | +        cd $HUBZILLA_PATH/redmatrix-themes1
 | 
	
		
			
			|  | 58 | +        git stash
 | 
	
		
			
			|  | 59 | +        git pull
 | 
	
		
			
			|  | 60 | +        cp -r $HUBZILLA_PATH/redmatrix-themes1/* $HUBZILLA_PATH/view/theme/
 | 
	
		
			
			|  | 61 | +        chown -R www-data:www-data $HUBZILLA_PATH
 | 
	
		
			
			|  | 62 | +    fi
 | 
	
		
			
			| 63 | 63 |  }
 | 
	
		
			
			| 64 | 64 |  
 | 
	
		
			
			| 65 | 65 |  function backup_local_hubzilla {
 | 
	
		
			
			| 66 |  | -	if grep -q "Hubzilla domain" $COMPLETION_FILE; then
 | 
	
		
			
			| 67 |  | -		if [ -d /var/www/${HUBZILLA_DOMAIN_NAME}/htdocs ]; then
 | 
	
		
			
			| 68 |  | -			echo $"Backing up Hubzilla"
 | 
	
		
			
			| 69 |  | -
 | 
	
		
			
			| 70 |  | -			HUBZILLA_DOMAIN_NAME='hubzilla'
 | 
	
		
			
			| 71 |  | -			HUBZILLA_DOMAIN_NAME=$(cat $COMPLETION_FILE | grep "Hubzilla domain" | awk -F ':' '{print $2}')
 | 
	
		
			
			| 72 |  | -
 | 
	
		
			
			| 73 |  | -			function_check backup_database_to_usb
 | 
	
		
			
			| 74 |  | -			backup_database_to_usb hubzilla
 | 
	
		
			
			| 75 |  | -
 | 
	
		
			
			| 76 |  | -			backup_directory_to_usb /var/www/${HUBZILLA_DOMAIN_NAME}/htdocs hubzilla
 | 
	
		
			
			| 77 |  | -
 | 
	
		
			
			| 78 |  | -			echo $"Hubzilla backup complete"
 | 
	
		
			
			| 79 |  | -		fi
 | 
	
		
			
			| 80 |  | -	fi
 | 
	
		
			
			|  | 66 | +    if grep -q "Hubzilla domain" $COMPLETION_FILE; then
 | 
	
		
			
			|  | 67 | +        HUBZILLA_DOMAIN_NAME=$(cat $COMPLETION_FILE | grep "Hubzilla domain" | awk -F ':' '{print $2}')
 | 
	
		
			
			|  | 68 | +        hubzilla_path=/var/www/${HUBZILLA_DOMAIN_NAME}/htdocs
 | 
	
		
			
			|  | 69 | +        if [ -d $hubzilla_path ]; then
 | 
	
		
			
			|  | 70 | +            echo $"Backing up Hubzilla"
 | 
	
		
			
			|  | 71 | +            function_check backup_database_to_usb
 | 
	
		
			
			|  | 72 | +            backup_database_to_usb hubzilla
 | 
	
		
			
			|  | 73 | +
 | 
	
		
			
			|  | 74 | +            backup_directory_to_usb $hubzilla_path hubzilla
 | 
	
		
			
			|  | 75 | +
 | 
	
		
			
			|  | 76 | +            echo $"Hubzilla backup complete"
 | 
	
		
			
			|  | 77 | +        fi
 | 
	
		
			
			|  | 78 | +    fi
 | 
	
		
			
			| 81 | 79 |  }
 | 
	
		
			
			| 82 | 80 |  
 | 
	
		
			
			| 83 | 81 |  function restore_local_hubzilla {
 | 
	
		
			
			| 84 |  | -	if ! grep -q "Hubzilla domain" $COMPLETION_FILE; then
 | 
	
		
			
			| 85 |  | -		return
 | 
	
		
			
			| 86 |  | -	fi
 | 
	
		
			
			| 87 |  | -	HUBZILLA_DOMAIN_NAME=$(cat $COMPLETION_FILE | grep "Hubzilla domain" | awk -F ':' '{print $2}')
 | 
	
		
			
			| 88 |  | -	if [ $HUBZILLA_DOMAIN_NAME ]; then
 | 
	
		
			
			| 89 |  | -		echo $"Restoring Hubzilla"
 | 
	
		
			
			| 90 |  | -		temp_restore_dir=/root/temphubzilla
 | 
	
		
			
			| 91 |  | -		hubzilla_dir=/var/www/${HUBZILLA_DOMAIN_NAME}/htdocs
 | 
	
		
			
			| 92 |  | -		restore_database hubzilla ${HUBZILLA_DOMAIN_NAME}
 | 
	
		
			
			| 93 |  | -		if [ -d $USB_MOUNT/backup/hubzilla ]; then
 | 
	
		
			
			| 94 |  | -			if [ ! -d $hubzilla_dir/store/[data]/smarty3 ]; then
 | 
	
		
			
			| 95 |  | -				mkdir -p $hubzilla_dir/store/[data]/smarty3
 | 
	
		
			
			| 96 |  | -			fi
 | 
	
		
			
			| 97 |  | -			chmod 777 $hubzilla_dir/store/[data]/smarty3
 | 
	
		
			
			| 98 |  | -			chown -R www-data:www-data $hubzilla_dir/*
 | 
	
		
			
			| 99 |  | -			if [ -d $temp_restore_dir ]; then
 | 
	
		
			
			| 100 |  | -				rm -rf $temp_restore_dir
 | 
	
		
			
			| 101 |  | -			fi
 | 
	
		
			
			| 102 |  | -		fi
 | 
	
		
			
			| 103 |  | -		echo $"Restore of Hubzilla complete"
 | 
	
		
			
			| 104 |  | -	fi
 | 
	
		
			
			|  | 82 | +    if ! grep -q "Hubzilla domain" $COMPLETION_FILE; then
 | 
	
		
			
			|  | 83 | +        return
 | 
	
		
			
			|  | 84 | +    fi
 | 
	
		
			
			|  | 85 | +    HUBZILLA_DOMAIN_NAME=$(cat $COMPLETION_FILE | grep "Hubzilla domain" | awk -F ':' '{print $2}')
 | 
	
		
			
			|  | 86 | +    if [ $HUBZILLA_DOMAIN_NAME ]; then
 | 
	
		
			
			|  | 87 | +        echo $"Restoring Hubzilla"
 | 
	
		
			
			|  | 88 | +        temp_restore_dir=/root/temphubzilla
 | 
	
		
			
			|  | 89 | +        hubzilla_dir=/var/www/${HUBZILLA_DOMAIN_NAME}/htdocs
 | 
	
		
			
			|  | 90 | +        restore_database hubzilla ${HUBZILLA_DOMAIN_NAME}
 | 
	
		
			
			|  | 91 | +        if [ -d $USB_MOUNT/backup/hubzilla ]; then
 | 
	
		
			
			|  | 92 | +            if [ ! -d $hubzilla_dir/store/[data]/smarty3 ]; then
 | 
	
		
			
			|  | 93 | +                mkdir -p $hubzilla_dir/store/[data]/smarty3
 | 
	
		
			
			|  | 94 | +            fi
 | 
	
		
			
			|  | 95 | +            chmod 777 $hubzilla_dir/store/[data]/smarty3
 | 
	
		
			
			|  | 96 | +            chown -R www-data:www-data $hubzilla_dir/*
 | 
	
		
			
			|  | 97 | +            if [ -d $temp_restore_dir ]; then
 | 
	
		
			
			|  | 98 | +                rm -rf $temp_restore_dir
 | 
	
		
			
			|  | 99 | +            fi
 | 
	
		
			
			|  | 100 | +        fi
 | 
	
		
			
			|  | 101 | +        echo $"Restore of Hubzilla complete"
 | 
	
		
			
			|  | 102 | +    fi
 | 
	
		
			
			| 105 | 103 |  }
 | 
	
		
			
			| 106 | 104 |  
 | 
	
		
			
			| 107 | 105 |  function backup_remote_hubzilla {
 | 
	
		
			
			| 108 |  | -	if grep -q "Hubzilla domain" $COMPLETION_FILE; then
 | 
	
		
			
			| 109 |  | -		HUBZILLA_DOMAIN_NAME=$(cat $COMPLETION_FILE | grep "Hubzilla domain" | awk -F ':' '{print $2}')
 | 
	
		
			
			| 110 |  | -		temp_backup_dir=/var/www/${HUBZILLA_DOMAIN_NAME}/htdocs
 | 
	
		
			
			| 111 |  | -		if [ -d $temp_backup_dir ]; then
 | 
	
		
			
			| 112 |  | -			suspend_site ${HUBZILLA_DOMAIN_NAME}
 | 
	
		
			
			| 113 |  | -			backup_database_to_friend hubzilla
 | 
	
		
			
			| 114 |  | -			echo "Backing up Hubzilla installation"
 | 
	
		
			
			| 115 |  | -			backup_directory_to_friend $temp_backup_dir hubzilla
 | 
	
		
			
			| 116 |  | -			restart_site
 | 
	
		
			
			| 117 |  | -		else
 | 
	
		
			
			| 118 |  | -			echo $"Hubzilla domain specified but not found in /var/www/${HUBZILLA_DOMAIN_NAME}"
 | 
	
		
			
			| 119 |  | -			exit 2578
 | 
	
		
			
			| 120 |  | -		fi
 | 
	
		
			
			| 121 |  | -	fi
 | 
	
		
			
			|  | 106 | +    if grep -q "Hubzilla domain" $COMPLETION_FILE; then
 | 
	
		
			
			|  | 107 | +        HUBZILLA_DOMAIN_NAME=$(cat $COMPLETION_FILE | grep "Hubzilla domain" | awk -F ':' '{print $2}')
 | 
	
		
			
			|  | 108 | +        temp_backup_dir=/var/www/${HUBZILLA_DOMAIN_NAME}/htdocs
 | 
	
		
			
			|  | 109 | +        if [ -d $temp_backup_dir ]; then
 | 
	
		
			
			|  | 110 | +            suspend_site ${HUBZILLA_DOMAIN_NAME}
 | 
	
		
			
			|  | 111 | +            backup_database_to_friend hubzilla
 | 
	
		
			
			|  | 112 | +            echo "Backing up Hubzilla installation"
 | 
	
		
			
			|  | 113 | +            backup_directory_to_friend $temp_backup_dir hubzilla
 | 
	
		
			
			|  | 114 | +            restart_site
 | 
	
		
			
			|  | 115 | +            echo "Backup of Hubzilla complete"
 | 
	
		
			
			|  | 116 | +        else
 | 
	
		
			
			|  | 117 | +            echo $"Hubzilla domain specified but not found in /var/www/${HUBZILLA_DOMAIN_NAME}"
 | 
	
		
			
			|  | 118 | +            exit 2578
 | 
	
		
			
			|  | 119 | +        fi
 | 
	
		
			
			|  | 120 | +    fi
 | 
	
		
			
			| 122 | 121 |  }
 | 
	
		
			
			| 123 | 122 |  
 | 
	
		
			
			| 124 | 123 |  function restore_remote_hubzilla {
 | 
	
		
			
			| 125 |  | -	if grep -q "Hubzilla domain" $COMPLETION_FILE; then
 | 
	
		
			
			| 126 |  | -		echo $"Restoring Hubzilla"
 | 
	
		
			
			| 127 |  | -		HUBZILLA_DOMAIN_NAME=$(cat $COMPLETION_FILE | grep "Hubzilla domain" | awk -F ':' '{print $2}')
 | 
	
		
			
			| 128 |  | -		function_check restore_database_from_friend
 | 
	
		
			
			| 129 |  | -		restore_database_from_friend hubzilla ${HUBZILLA_DOMAIN_NAME}
 | 
	
		
			
			| 130 |  | -		if [ -d $SERVER_DIRECTORY/backup/hubzilla ]; then
 | 
	
		
			
			| 131 |  | -			if [ ! -d /var/www/${HUBZILLA_DOMAIN_NAME}/htdocs/store/[data]/smarty3 ]; then
 | 
	
		
			
			| 132 |  | -				mkdir -p /var/www/${HUBZILLA_DOMAIN_NAME}/htdocs/store/[data]/smarty3
 | 
	
		
			
			| 133 |  | -			fi
 | 
	
		
			
			| 134 |  | -			chmod 777 /var/www/${HUBZILLA_DOMAIN_NAME}/htdocs/store/[data]/smarty3
 | 
	
		
			
			| 135 |  | -			chown -R www-data:www-data /var/www/${HUBZILLA_DOMAIN_NAME}/htdocs/*
 | 
	
		
			
			| 136 |  | -		fi
 | 
	
		
			
			| 137 |  | -		if [ -d /root/temphubzilla ]; then
 | 
	
		
			
			| 138 |  | -			rm -rf /root/temphubzilla
 | 
	
		
			
			| 139 |  | -		fi
 | 
	
		
			
			| 140 |  | -		echo $"Restore of Hubzilla complete"
 | 
	
		
			
			| 141 |  | -	fi
 | 
	
		
			
			|  | 124 | +    if grep -q "Hubzilla domain" $COMPLETION_FILE; then
 | 
	
		
			
			|  | 125 | +        echo $"Restoring Hubzilla"
 | 
	
		
			
			|  | 126 | +        HUBZILLA_DOMAIN_NAME=$(cat $COMPLETION_FILE | grep "Hubzilla domain" | awk -F ':' '{print $2}')
 | 
	
		
			
			|  | 127 | +        function_check restore_database_from_friend
 | 
	
		
			
			|  | 128 | +        restore_database_from_friend hubzilla ${HUBZILLA_DOMAIN_NAME}
 | 
	
		
			
			|  | 129 | +        if [ -d $SERVER_DIRECTORY/backup/hubzilla ]; then
 | 
	
		
			
			|  | 130 | +            if [ ! -d /var/www/${HUBZILLA_DOMAIN_NAME}/htdocs/store/[data]/smarty3 ]; then
 | 
	
		
			
			|  | 131 | +                mkdir -p /var/www/${HUBZILLA_DOMAIN_NAME}/htdocs/store/[data]/smarty3
 | 
	
		
			
			|  | 132 | +            fi
 | 
	
		
			
			|  | 133 | +            chmod 777 /var/www/${HUBZILLA_DOMAIN_NAME}/htdocs/store/[data]/smarty3
 | 
	
		
			
			|  | 134 | +            chown -R www-data:www-data /var/www/${HUBZILLA_DOMAIN_NAME}/htdocs/*
 | 
	
		
			
			|  | 135 | +        fi
 | 
	
		
			
			|  | 136 | +        if [ -d /root/temphubzilla ]; then
 | 
	
		
			
			|  | 137 | +            rm -rf /root/temphubzilla
 | 
	
		
			
			|  | 138 | +        fi
 | 
	
		
			
			|  | 139 | +        echo $"Restore of Hubzilla complete"
 | 
	
		
			
			|  | 140 | +    fi
 | 
	
		
			
			| 142 | 141 |  }
 | 
	
		
			
			| 143 | 142 |  
 | 
	
		
			
			| 144 | 143 |  function remove_hubzilla {
 | 
	
		
			
			| 145 |  | -	if ! grep -Fxq "install_hubzilla" $COMPLETION_FILE; then
 | 
	
		
			
			| 146 |  | -		return
 | 
	
		
			
			| 147 |  | -	fi
 | 
	
		
			
			| 148 |  | -	nginx_dissite $HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			| 149 |  | -	if [ -d /var/www/$HUBZILLA_DOMAIN_NAME ]; then
 | 
	
		
			
			| 150 |  | -		rm -rf /var/www/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			| 151 |  | -	fi
 | 
	
		
			
			| 152 |  | -	if [ -f /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME ]; then
 | 
	
		
			
			| 153 |  | -		rm /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			| 154 |  | -	fi
 | 
	
		
			
			| 155 |  | -	function_check drop_database
 | 
	
		
			
			| 156 |  | -	drop_database hubzilla
 | 
	
		
			
			| 157 |  | -	function_check remove_onion_service
 | 
	
		
			
			| 158 |  | -	remove_onion_service hubzilla ${HUBZILLA_ONION_PORT}
 | 
	
		
			
			| 159 |  | -	sed -i '/install_hubzilla/d' $COMPLETION_FILE
 | 
	
		
			
			| 160 |  | -	sed -i '/Hubzilla /d' $COMPLETION_FILE
 | 
	
		
			
			|  | 144 | +    if ! grep -Fxq "install_hubzilla" $COMPLETION_FILE; then
 | 
	
		
			
			|  | 145 | +        return
 | 
	
		
			
			|  | 146 | +    fi
 | 
	
		
			
			|  | 147 | +    nginx_dissite $HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			|  | 148 | +    if [ -d /var/www/$HUBZILLA_DOMAIN_NAME ]; then
 | 
	
		
			
			|  | 149 | +        rm -rf /var/www/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			|  | 150 | +    fi
 | 
	
		
			
			|  | 151 | +    if [ -f /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME ]; then
 | 
	
		
			
			|  | 152 | +        rm /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			|  | 153 | +    fi
 | 
	
		
			
			|  | 154 | +    function_check drop_database
 | 
	
		
			
			|  | 155 | +    drop_database hubzilla
 | 
	
		
			
			|  | 156 | +    function_check remove_onion_service
 | 
	
		
			
			|  | 157 | +    remove_onion_service hubzilla ${HUBZILLA_ONION_PORT}
 | 
	
		
			
			|  | 158 | +    sed -i '/install_hubzilla/d' $COMPLETION_FILE
 | 
	
		
			
			|  | 159 | +    sed -i '/Hubzilla /d' $COMPLETION_FILE
 | 
	
		
			
			| 161 | 160 |  }
 | 
	
		
			
			| 162 | 161 |  
 | 
	
		
			
			| 163 | 162 |  function install_hubzilla {
 | 
	
		
			
			| 164 |  | -	if [ ! $HUBZILLA_DOMAIN_NAME ]; then
 | 
	
		
			
			| 165 |  | -		return
 | 
	
		
			
			| 166 |  | -	fi
 | 
	
		
			
			| 167 |  | -
 | 
	
		
			
			| 168 |  | -	if grep -Fxq "install_hubzilla" $COMPLETION_FILE; then
 | 
	
		
			
			| 169 |  | -		return
 | 
	
		
			
			| 170 |  | -	fi
 | 
	
		
			
			| 171 |  | -
 | 
	
		
			
			| 172 |  | -	HUBZILLA_PATH=/var/www/$HUBZILLA_DOMAIN_NAME/htdocs
 | 
	
		
			
			| 173 |  | -
 | 
	
		
			
			| 174 |  | -	function_check install_mariadb
 | 
	
		
			
			| 175 |  | -	install_mariadb
 | 
	
		
			
			| 176 |  | -
 | 
	
		
			
			| 177 |  | -	function_check get_mariadb_password
 | 
	
		
			
			| 178 |  | -	get_mariadb_password
 | 
	
		
			
			| 179 |  | -
 | 
	
		
			
			| 180 |  | -	function_check repair_databases_script
 | 
	
		
			
			| 181 |  | -	repair_databases_script
 | 
	
		
			
			| 182 |  | -
 | 
	
		
			
			| 183 |  | -	apt-get -y install php5-common php5-cli php5-curl php5-gd php5-mysql php5-mcrypt git
 | 
	
		
			
			| 184 |  | -	apt-get -y install php5-dev imagemagick php5-imagick
 | 
	
		
			
			| 185 |  | -	apt-get -y install php5-memcached
 | 
	
		
			
			| 186 |  | -
 | 
	
		
			
			| 187 |  | -	if [ ! -d /var/www/$HUBZILLA_DOMAIN_NAME ]; then
 | 
	
		
			
			| 188 |  | -		mkdir /var/www/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			| 189 |  | -	fi
 | 
	
		
			
			| 190 |  | -	if [ ! -d $HUBZILLA_PATH ]; then
 | 
	
		
			
			| 191 |  | -		mkdir $HUBZILLA_PATH
 | 
	
		
			
			| 192 |  | -	fi
 | 
	
		
			
			| 193 |  | -
 | 
	
		
			
			| 194 |  | -	if [ ! -f $HUBZILLA_PATH/index.php ]; then
 | 
	
		
			
			| 195 |  | -		cd $INSTALL_DIR
 | 
	
		
			
			| 196 |  | -		function_check git_clone
 | 
	
		
			
			| 197 |  | -		git_clone $HUBZILLA_REPO hubzilla
 | 
	
		
			
			| 198 |  | -		git checkout $HUBZILLA_COMMIT -b $HUBZILLA_COMMIT
 | 
	
		
			
			| 199 |  | -		if ! grep -q "Hubzilla commit" $COMPLETION_FILE; then
 | 
	
		
			
			| 200 |  | -			echo "Hubzilla commit:$HUBZILLA_COMMIT" >> $COMPLETION_FILE
 | 
	
		
			
			| 201 |  | -		else
 | 
	
		
			
			| 202 |  | -			sed -i "s/Hubzilla commit.*/Hubzilla commit:$HUBZILLA_COMMIT/g" $COMPLETION_FILE
 | 
	
		
			
			| 203 |  | -		fi
 | 
	
		
			
			| 204 |  | -
 | 
	
		
			
			| 205 |  | -		rm -rf $HUBZILLA_PATH
 | 
	
		
			
			| 206 |  | -		mv hubzilla $HUBZILLA_PATH
 | 
	
		
			
			| 207 |  | -
 | 
	
		
			
			| 208 |  | -		git_clone $HUBZILLA_ADDONS_REPO $HUBZILLA_PATH/addon
 | 
	
		
			
			| 209 |  | -		cd $HUBZILLA_PATH/addon
 | 
	
		
			
			| 210 |  | -		git checkout $HUBZILLA_ADDONS_COMMIT -b $HUBZILLA_ADDONS_COMMIT
 | 
	
		
			
			| 211 |  | -		if ! grep -q "Hubzilla addons commit" $COMPLETION_FILE; then
 | 
	
		
			
			| 212 |  | -			echo "Hubzilla addons commit:$HUBZILLA_ADDONS_COMMIT" >> $COMPLETION_FILE
 | 
	
		
			
			| 213 |  | -		else
 | 
	
		
			
			| 214 |  | -			sed -i "s/Hubzilla addons commit.*/Hubzilla addons commit:$HUBZILLA_ADDONS_COMMIT/g" $COMPLETION_FILE
 | 
	
		
			
			| 215 |  | -		fi
 | 
	
		
			
			| 216 |  | -
 | 
	
		
			
			| 217 |  | -		# some extra themes
 | 
	
		
			
			| 218 |  | -		git_clone $HUBZILLA_THEMES_REPO $HUBZILLA_PATH/redmatrix-themes1
 | 
	
		
			
			| 219 |  | -		cp -r $HUBZILLA_PATH/redmatrix-themes1/* $HUBZILLA_PATH/view/theme/
 | 
	
		
			
			| 220 |  | -
 | 
	
		
			
			| 221 |  | -		chown -R www-data:www-data $HUBZILLA_PATH
 | 
	
		
			
			| 222 |  | -	fi
 | 
	
		
			
			| 223 |  | -
 | 
	
		
			
			| 224 |  | -	HUBZILLA_ONION_HOSTNAME=
 | 
	
		
			
			| 225 |  | -	if [[ $ONION_ONLY != "no" ]]; then
 | 
	
		
			
			| 226 |  | -		HUBZILLA_ONION_HOSTNAME=$(add_onion_service hubzilla 80 ${HUBZILLA_ONION_PORT})
 | 
	
		
			
			| 227 |  | -		echo "Hubzilla onion domain:${HUBZILLA_ONION_HOSTNAME}" >> $COMPLETION_FILE
 | 
	
		
			
			| 228 |  | -	fi
 | 
	
		
			
			| 229 |  | -
 | 
	
		
			
			| 230 |  | -	function_check get_mariadb_hubzilla_admin_password
 | 
	
		
			
			| 231 |  | -	get_mariadb_hubzilla_admin_password
 | 
	
		
			
			| 232 |  | -	if [ ! $HUBZILLA_ADMIN_PASSWORD ]; then
 | 
	
		
			
			| 233 |  | -		if [ -f $IMAGE_PASSWORD_FILE ]; then
 | 
	
		
			
			| 234 |  | -			HUBZILLA_ADMIN_PASSWORD="$(printf `cat $IMAGE_PASSWORD_FILE`)"
 | 
	
		
			
			| 235 |  | -		else
 | 
	
		
			
			| 236 |  | -			HUBZILLA_ADMIN_PASSWORD="$(create_password ${MINIMUM_PASSWORD_LENGTH})"
 | 
	
		
			
			| 237 |  | -		fi
 | 
	
		
			
			| 238 |  | -		echo '' >> /home/$MY_USERNAME/README
 | 
	
		
			
			| 239 |  | -		echo '' >> /home/$MY_USERNAME/README
 | 
	
		
			
			| 240 |  | -		echo 'Hubzilla' >> /home/$MY_USERNAME/README
 | 
	
		
			
			| 241 |  | -		echo '========' >> /home/$MY_USERNAME/README
 | 
	
		
			
			| 242 |  | -		if [[ $ONION_ONLY == 'no' ]]; then
 | 
	
		
			
			| 243 |  | -			echo $"Open https://$HUBZILLA_DOMAIN_NAME and register a new user" >> /home/$MY_USERNAME/README
 | 
	
		
			
			| 244 |  | -		else
 | 
	
		
			
			| 245 |  | -			echo $"Open http://$HUBZILLA_ONION_HOSTNAME and register a new user" >> /home/$MY_USERNAME/README
 | 
	
		
			
			| 246 |  | -		fi
 | 
	
		
			
			| 247 |  | -		echo $"Your MariaDB Hubzilla admin password is: $HUBZILLA_ADMIN_PASSWORD" >> /home/$MY_USERNAME/README
 | 
	
		
			
			| 248 |  | -		chown $MY_USERNAME:$MY_USERNAME /home/$MY_USERNAME/README
 | 
	
		
			
			| 249 |  | -		chmod 600 /home/$MY_USERNAME/README
 | 
	
		
			
			| 250 |  | -	fi
 | 
	
		
			
			| 251 |  | -
 | 
	
		
			
			| 252 |  | -	function_check create_database
 | 
	
		
			
			| 253 |  | -	create_database hubzilla "$HUBZILLA_ADMIN_PASSWORD"
 | 
	
		
			
			| 254 |  | -
 | 
	
		
			
			| 255 |  | -	if ! grep -q "$HUBZILLA_PATH" /etc/crontab; then
 | 
	
		
			
			| 256 |  | -		echo "12,22,32,42,52 * *   *   *   root cd $HUBZILLA_PATH; /usr/bin/timeout 500 /usr/bin/php include/poller.php" >> /etc/crontab
 | 
	
		
			
			| 257 |  | -	fi
 | 
	
		
			
			| 258 |  | -
 | 
	
		
			
			| 259 |  | -	function check add_ddns_domain
 | 
	
		
			
			| 260 |  | -	add_ddns_domain $HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			| 261 |  | -
 | 
	
		
			
			| 262 |  | -	if [[ $ONION_ONLY == "no" ]]; then
 | 
	
		
			
			| 263 |  | -		function_check nginx_http_redirect
 | 
	
		
			
			| 264 |  | -		nginx_http_redirect $HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			| 265 |  | -		echo 'server {' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			| 266 |  | -		echo '    listen 443 ssl;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			| 267 |  | -		echo "    root $HUBZILLA_PATH;" >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			| 268 |  | -		echo "    server_name $HUBZILLA_DOMAIN_NAME;" >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			| 269 |  | -		echo "    error_log /var/log/nginx/${HUBZILLA_DOMAIN_NAME}_error_ssl.log $WEBSERVER_LOG_LEVEL;" >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			| 270 |  | -		echo '    index index.php;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			| 271 |  | -		echo '    charset utf-8;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			| 272 |  | -		echo '    access_log off;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			| 273 |  | -		function_check nginx_limits
 | 
	
		
			
			| 274 |  | -		nginx_limits $HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			| 275 |  | -		function_check nginx_ssl
 | 
	
		
			
			| 276 |  | -		nginx_ssl $HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			| 277 |  | -		function_check nginx_disable_sniffing
 | 
	
		
			
			| 278 |  | -		nginx_disable_sniffing $HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			| 279 |  | -		echo '    add_header Strict-Transport-Security max-age=15768000;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			| 280 |  | -		echo '' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			| 281 |  | -		echo '    # rewrite to front controller as default rule' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			| 282 |  | -		echo '    location / {' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			| 283 |  | -		echo '        rewrite ^/(.*) /index.php?q=$uri&$args last;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			| 284 |  | -		echo '    }' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			| 285 |  | -		echo '' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			| 286 |  | -		echo "    # make sure webfinger and other well known services aren't blocked" >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			| 287 |  | -		echo '    # by denying dot files and rewrite request to the front controller' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			| 288 |  | -		echo '    location ^~ /.well-known/ {' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			| 289 |  | -		echo '        allow all;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			| 290 |  | -		echo '        rewrite ^/(.*) /index.php?q=$uri&$args last;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			| 291 |  | -		echo '    }' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			| 292 |  | -		echo '' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			| 293 |  | -		echo '    # statically serve these file types when possible' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			| 294 |  | -		echo '    # otherwise fall back to front controller' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			| 295 |  | -		echo '    # allow browser to cache them' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			| 296 |  | -		echo '    # added .htm for advanced source code editor library' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			| 297 |  | -		echo '    location ~* \.(jpg|jpeg|gif|png|ico|css|js|htm|html|ttf|woff|svg)$ {' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			| 298 |  | -		echo '        expires 30d;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			| 299 |  | -		echo '        try_files $uri /index.php?q=$uri&$args;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			| 300 |  | -		echo '    }' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			| 301 |  | -		echo '' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			| 302 |  | -		echo '    # block these file types' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			| 303 |  | -		echo '    location ~* \.(tpl|md|tgz|log|out)$ {' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			| 304 |  | -		echo '        deny all;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			| 305 |  | -		echo '    }' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			| 306 |  | -		echo '' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			| 307 |  | -		echo '    # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			| 308 |  | -		echo '    # or a unix socket' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			| 309 |  | -		echo '    location ~* \.php$ {' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			| 310 |  | -		echo '        # Zero-day exploit defense.' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			| 311 |  | -		echo '        # http://forum.nginx.org/read.php?2,88845,page=3' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			| 312 |  | -		echo "        # Won't work properly (404 error) if the file is not stored on this" >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			| 313 |  | -		echo "        # server, which is entirely possible with php-fpm/php-fcgi." >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			| 314 |  | -		echo "        # Comment the 'try_files' line out if you set up php-fpm/php-fcgi on" >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			| 315 |  | -		echo "        # another machine. And then cross your fingers that you won't get hacked." >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			| 316 |  | -		echo '        try_files $uri $uri/ /index.php;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			| 317 |  | -		echo '        # NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			| 318 |  | -		echo '        fastcgi_split_path_info ^(.+\.php)(/.+)$;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			| 319 |  | -		echo '        # With php5-cgi alone:' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			| 320 |  | -		echo '        # fastcgi_pass 127.0.0.1:9000;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			| 321 |  | -		echo '        # With php5-fpm:' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			| 322 |  | -		echo '        fastcgi_pass unix:/var/run/php5-fpm.sock;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			| 323 |  | -		echo '        include fastcgi_params;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			| 324 |  | -		echo '        fastcgi_index index.php;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			| 325 |  | -		echo '        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			| 326 |  | -		echo '        fastcgi_read_timeout 300;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			| 327 |  | -		echo '    }' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			| 328 |  | -		echo '' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			| 329 |  | -		echo '    # deny access to all dot files' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			| 330 |  | -		echo '    location ~ /\. {' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			| 331 |  | -		echo '        deny all;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			| 332 |  | -		echo '    }' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			| 333 |  | -		echo '' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			| 334 |  | -		echo '    location ~ /\.ht {' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			| 335 |  | -		echo '      deny  all;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			| 336 |  | -		echo '    }' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			| 337 |  | -		echo '}' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			| 338 |  | -		echo '' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			| 339 |  | -	else
 | 
	
		
			
			| 340 |  | -		echo 'server {' > /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			| 341 |  | -		echo "    listen 127.0.0.1:${HUBZILLA_ONION_PORT} default_server;" >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			| 342 |  | -		echo "    root $HUBZILLA_PATH;" >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			| 343 |  | -		echo "    server_name $HUBZILLA_ONION_HOSTNAME;" >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			| 344 |  | -		echo "    error_log /var/log/nginx/${HUBZILLA_DOMAIN_NAME}_error_ssl.log $WEBSERVER_LOG_LEVEL;" >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			| 345 |  | -		echo '    index index.php;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			| 346 |  | -		echo '    charset utf-8;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			| 347 |  | -		echo '    access_log off;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			| 348 |  | -		nginx_limits $HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			| 349 |  | -		nginx_disable_sniffing $HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			| 350 |  | -		echo '    add_header Strict-Transport-Security max-age=15768000;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			| 351 |  | -		echo '' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			| 352 |  | -		echo '    # rewrite to front controller as default rule' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			| 353 |  | -		echo '    location / {' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			| 354 |  | -		echo '        rewrite ^/(.*) /index.php?q=$uri&$args last;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			| 355 |  | -		echo '    }' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			| 356 |  | -		echo '' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			| 357 |  | -		echo "    # make sure webfinger and other well known services aren't blocked" >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			| 358 |  | -		echo '    # by denying dot files and rewrite request to the front controller' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			| 359 |  | -		echo '    location ^~ /.well-known/ {' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			| 360 |  | -		echo '        allow all;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			| 361 |  | -		echo '        rewrite ^/(.*) /index.php?q=$uri&$args last;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			| 362 |  | -		echo '    }' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			| 363 |  | -		echo '' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			| 364 |  | -		echo '    # statically serve these file types when possible' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			| 365 |  | -		echo '    # otherwise fall back to front controller' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			| 366 |  | -		echo '    # allow browser to cache them' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			| 367 |  | -		echo '    # added .htm for advanced source code editor library' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			| 368 |  | -		echo '    location ~* \.(jpg|jpeg|gif|png|ico|css|js|htm|html|ttf|woff|svg)$ {' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			| 369 |  | -		echo '        expires 30d;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			| 370 |  | -		echo '        try_files $uri /index.php?q=$uri&$args;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			| 371 |  | -		echo '    }' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			| 372 |  | -		echo '' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			| 373 |  | -		echo '    # block these file types' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			| 374 |  | -		echo '    location ~* \.(tpl|md|tgz|log|out)$ {' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			| 375 |  | -		echo '        deny all;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			| 376 |  | -		echo '    }' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			| 377 |  | -		echo '' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			| 378 |  | -		echo '    # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			| 379 |  | -		echo '    # or a unix socket' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			| 380 |  | -		echo '    location ~* \.php$ {' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			| 381 |  | -		echo '        # Zero-day exploit defense.' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			| 382 |  | -		echo '        # http://forum.nginx.org/read.php?2,88845,page=3' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			| 383 |  | -		echo "        # Won't work properly (404 error) if the file is not stored on this" >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			| 384 |  | -		echo "        # server, which is entirely possible with php-fpm/php-fcgi." >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			| 385 |  | -		echo "        # Comment the 'try_files' line out if you set up php-fpm/php-fcgi on" >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			| 386 |  | -		echo "        # another machine. And then cross your fingers that you won't get hacked." >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			| 387 |  | -		echo '        try_files $uri $uri/ /index.php;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			| 388 |  | -		echo '        # NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			| 389 |  | -		echo '        fastcgi_split_path_info ^(.+\.php)(/.+)$;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			| 390 |  | -		echo '        # With php5-cgi alone:' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			| 391 |  | -		echo '        # fastcgi_pass 127.0.0.1:9000;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			| 392 |  | -		echo '        # With php5-fpm:' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			| 393 |  | -		echo '        fastcgi_pass unix:/var/run/php5-fpm.sock;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			| 394 |  | -		echo '        include fastcgi_params;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			| 395 |  | -		echo '        fastcgi_index index.php;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			| 396 |  | -		echo '        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			| 397 |  | -		echo '        fastcgi_read_timeout 300;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			| 398 |  | -		echo '    }' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			| 399 |  | -		echo '' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			| 400 |  | -		echo '    # deny access to all dot files' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			| 401 |  | -		echo '    location ~ /\. {' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			| 402 |  | -		echo '        deny all;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			| 403 |  | -		echo '    }' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			| 404 |  | -		echo '' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			| 405 |  | -		echo '    location ~ /\.ht {' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			| 406 |  | -		echo '      deny  all;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			| 407 |  | -		echo '    }' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			| 408 |  | -		echo '}' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			| 409 |  | -	fi
 | 
	
		
			
			| 410 |  | -
 | 
	
		
			
			| 411 |  | -	function_check configure_php
 | 
	
		
			
			| 412 |  | -	configure_php
 | 
	
		
			
			| 413 |  | -
 | 
	
		
			
			| 414 |  | -	function_check create_site_certificate
 | 
	
		
			
			| 415 |  | -	create_site_certificate $HUBZILLA_DOMAIN_NAME 'yes'
 | 
	
		
			
			| 416 |  | -
 | 
	
		
			
			| 417 |  | -	if [ ! -d $HUBZILLA_PATH/view/tpl/smarty3 ]; then
 | 
	
		
			
			| 418 |  | -		mkdir $HUBZILLA_PATH/view/tpl/smarty3
 | 
	
		
			
			| 419 |  | -	fi
 | 
	
		
			
			| 420 |  | -	if [ ! -d "$HUBZILLA_PATH/store" ]; then
 | 
	
		
			
			| 421 |  | -		mkdir "$HUBZILLA_PATH/store"
 | 
	
		
			
			| 422 |  | -	fi
 | 
	
		
			
			| 423 |  | -	if [ ! -d "$HUBZILLA_PATH/store/[data]" ]; then
 | 
	
		
			
			| 424 |  | -		mkdir "$HUBZILLA_PATH/store/[data]"
 | 
	
		
			
			| 425 |  | -	fi
 | 
	
		
			
			| 426 |  | -	if [ ! -d "$HUBZILLA_PATH/store/[data]/smarty3" ]; then
 | 
	
		
			
			| 427 |  | -		mkdir "$HUBZILLA_PATH/store/[data]/smarty3"
 | 
	
		
			
			| 428 |  | -		chmod 777 "$HUBZILLA_PATH/store/[data]/smarty3"
 | 
	
		
			
			| 429 |  | -	fi
 | 
	
		
			
			| 430 |  | -	chmod 777 $HUBZILLA_PATH/view/tpl
 | 
	
		
			
			| 431 |  | -	chown -R www-data:www-data "$HUBZILLA_PATH/store"
 | 
	
		
			
			| 432 |  | -	chmod 777 $HUBZILLA_PATH/view/tpl/smarty3
 | 
	
		
			
			| 433 |  | -
 | 
	
		
			
			| 434 |  | -	# Ensure that the database gets backed up locally, if remote
 | 
	
		
			
			| 435 |  | -	# backups are not being used
 | 
	
		
			
			| 436 |  | -	function_check backup_databases_script_header
 | 
	
		
			
			| 437 |  | -	backup_databases_script_header
 | 
	
		
			
			| 438 |  | -
 | 
	
		
			
			| 439 |  | -	function_check backup_database_local
 | 
	
		
			
			| 440 |  | -	backup_database_local hubzilla
 | 
	
		
			
			| 441 |  | -
 | 
	
		
			
			| 442 |  | -	chown -R www-data:www-data $HUBZILLA_PATH
 | 
	
		
			
			| 443 |  | -
 | 
	
		
			
			| 444 |  | -	function_check nginx_ensite
 | 
	
		
			
			| 445 |  | -	nginx_ensite $HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			| 446 |  | -
 | 
	
		
			
			| 447 |  | -	# initialize the database
 | 
	
		
			
			| 448 |  | -	if [ ! -f $HUBZILLA_PATH/install/schema_mysql.sql ]; then
 | 
	
		
			
			| 449 |  | -		echo $'No database schema found for hubzilla'
 | 
	
		
			
			| 450 |  | -		exit 252782
 | 
	
		
			
			| 451 |  | -	fi
 | 
	
		
			
			| 452 |  | -	function_check initialise_database
 | 
	
		
			
			| 453 |  | -	initialise_database hubzilla $HUBZILLA_PATH/install/schema_mysql.sql
 | 
	
		
			
			| 454 |  | -
 | 
	
		
			
			| 455 |  | -	# create the config file
 | 
	
		
			
			| 456 |  | -	echo '<?php' > $HUBZILLA_PATH/.htconfig.php
 | 
	
		
			
			| 457 |  | -	echo "\$db_host = 'localhost';" >> $HUBZILLA_PATH/.htconfig.php
 | 
	
		
			
			| 458 |  | -	echo "\$db_port = '0';" >> $HUBZILLA_PATH/.htconfig.php
 | 
	
		
			
			| 459 |  | -	echo "\$db_user = 'root';" >> $HUBZILLA_PATH/.htconfig.php
 | 
	
		
			
			| 460 |  | -	echo "\$db_pass = '${MARIADB_PASSWORD}';" >> $HUBZILLA_PATH/.htconfig.php
 | 
	
		
			
			| 461 |  | -	echo "\$db_data = 'hubzilla';" >> $HUBZILLA_PATH/.htconfig.php
 | 
	
		
			
			| 462 |  | -	echo "\$db_type = '0';" >> $HUBZILLA_PATH/.htconfig.php
 | 
	
		
			
			| 463 |  | -	echo "\$default_timezone = 'Europe/London';" >> $HUBZILLA_PATH/.htconfig.php
 | 
	
		
			
			| 464 |  | -	if [[ $ONION_ONLY == 'no' ]]; then
 | 
	
		
			
			| 465 |  | -		echo "\$a->config['system']['baseurl'] = 'https://${HUBZILLA_DOMAIN_NAME}';" >> $HUBZILLA_PATH/.htconfig.php
 | 
	
		
			
			| 466 |  | -	else
 | 
	
		
			
			| 467 |  | -		echo "\$a->config['system']['baseurl'] = 'http://${HUBZILLA_ONION_HOSTNAME}';" >> $HUBZILLA_PATH/.htconfig.php
 | 
	
		
			
			| 468 |  | -	fi
 | 
	
		
			
			| 469 |  | -	echo "\$a->config['system']['sitename'] = \"Hubzilla\";" >> $HUBZILLA_PATH/.htconfig.php
 | 
	
		
			
			| 470 |  | -	HUBZILLA_LOCATION_HASH="$(create_password 30)"
 | 
	
		
			
			| 471 |  | -	echo "\$a->config['system']['location_hash'] = '${HUBZILLA_LOCATION_HASH}';" >> $HUBZILLA_PATH/.htconfig.php
 | 
	
		
			
			| 472 |  | -	echo "\$a->config['system']['register_policy'] = REGISTER_OPEN;" >> $HUBZILLA_PATH/.htconfig.php
 | 
	
		
			
			| 473 |  | -	echo "\$a->config['system']['register_text'] = '';" >> $HUBZILLA_PATH/.htconfig.php
 | 
	
		
			
			| 474 |  | -	echo "\$a->config['system']['admin_email'] = '${MY_EMAIL_ADDRESS}';" >> $HUBZILLA_PATH/.htconfig.php
 | 
	
		
			
			| 475 |  | -	echo "\$a->config['system']['verify_email'] = 1;" >> $HUBZILLA_PATH/.htconfig.php
 | 
	
		
			
			| 476 |  | -	echo "\$a->config['system']['access_policy'] = ACCESS_PRIVATE;" >> $HUBZILLA_PATH/.htconfig.php
 | 
	
		
			
			| 477 |  | -	echo "\$a->config['system']['sellpage'] = '';" >> $HUBZILLA_PATH/.htconfig.php
 | 
	
		
			
			| 478 |  | -	echo "\$a->config['system']['max_import_size'] = 200000;" >> $HUBZILLA_PATH/.htconfig.php
 | 
	
		
			
			| 479 |  | -	echo "\$a->config['system']['php_path'] = '/usr/bin/php';" >> $HUBZILLA_PATH/.htconfig.php
 | 
	
		
			
			| 480 |  | -	echo "\$a->config['system']['directory_mode']  = DIRECTORY_MODE_NORMAL;" >> $HUBZILLA_PATH/.htconfig.php
 | 
	
		
			
			| 481 |  | -	echo "\$a->config['system']['theme'] = 'redbasic';" >> $HUBZILLA_PATH/.htconfig.php
 | 
	
		
			
			| 482 |  | -	chown www-data:www-data $HUBZILLA_PATH/.htconfig.php
 | 
	
		
			
			| 483 |  | -	chmod 755 $HUBZILLA_PATH/.htconfig.php
 | 
	
		
			
			| 484 |  | -
 | 
	
		
			
			| 485 |  | -	systemctl restart php5-fpm
 | 
	
		
			
			| 486 |  | -	systemctl restart nginx
 | 
	
		
			
			| 487 |  | -	systemctl restart cron
 | 
	
		
			
			| 488 |  | -
 | 
	
		
			
			| 489 |  | -	${PROJECT_NAME}-addemail -u $MY_USERNAME -e "noreply@$HUBZILLA_DOMAIN_NAME" -g hubzilla --public no
 | 
	
		
			
			| 490 |  | -
 | 
	
		
			
			| 491 |  | -	echo "Hubzilla domain:${HUBZILLA_DOMAIN_NAME}" >> $COMPLETION_FILE
 | 
	
		
			
			| 492 |  | -	echo 'install_hubzilla' >> $COMPLETION_FILE
 | 
	
		
			
			|  | 163 | +    if [ ! $HUBZILLA_DOMAIN_NAME ]; then
 | 
	
		
			
			|  | 164 | +        return
 | 
	
		
			
			|  | 165 | +    fi
 | 
	
		
			
			|  | 166 | +
 | 
	
		
			
			|  | 167 | +    if grep -Fxq "install_hubzilla" $COMPLETION_FILE; then
 | 
	
		
			
			|  | 168 | +        return
 | 
	
		
			
			|  | 169 | +    fi
 | 
	
		
			
			|  | 170 | +
 | 
	
		
			
			|  | 171 | +    HUBZILLA_PATH=/var/www/$HUBZILLA_DOMAIN_NAME/htdocs
 | 
	
		
			
			|  | 172 | +
 | 
	
		
			
			|  | 173 | +    function_check install_mariadb
 | 
	
		
			
			|  | 174 | +    install_mariadb
 | 
	
		
			
			|  | 175 | +
 | 
	
		
			
			|  | 176 | +    function_check get_mariadb_password
 | 
	
		
			
			|  | 177 | +    get_mariadb_password
 | 
	
		
			
			|  | 178 | +
 | 
	
		
			
			|  | 179 | +    function_check repair_databases_script
 | 
	
		
			
			|  | 180 | +    repair_databases_script
 | 
	
		
			
			|  | 181 | +
 | 
	
		
			
			|  | 182 | +    apt-get -y install php5-common php5-cli php5-curl php5-gd php5-mysql php5-mcrypt git
 | 
	
		
			
			|  | 183 | +    apt-get -y install php5-dev imagemagick php5-imagick
 | 
	
		
			
			|  | 184 | +    apt-get -y install php5-memcached
 | 
	
		
			
			|  | 185 | +
 | 
	
		
			
			|  | 186 | +    if [ ! -d /var/www/$HUBZILLA_DOMAIN_NAME ]; then
 | 
	
		
			
			|  | 187 | +        mkdir /var/www/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			|  | 188 | +    fi
 | 
	
		
			
			|  | 189 | +    if [ ! -d $HUBZILLA_PATH ]; then
 | 
	
		
			
			|  | 190 | +        mkdir $HUBZILLA_PATH
 | 
	
		
			
			|  | 191 | +    fi
 | 
	
		
			
			|  | 192 | +
 | 
	
		
			
			|  | 193 | +    if [ ! -f $HUBZILLA_PATH/index.php ]; then
 | 
	
		
			
			|  | 194 | +        cd $INSTALL_DIR
 | 
	
		
			
			|  | 195 | +        function_check git_clone
 | 
	
		
			
			|  | 196 | +        git_clone $HUBZILLA_REPO hubzilla
 | 
	
		
			
			|  | 197 | +        git checkout $HUBZILLA_COMMIT -b $HUBZILLA_COMMIT
 | 
	
		
			
			|  | 198 | +        if ! grep -q "Hubzilla commit" $COMPLETION_FILE; then
 | 
	
		
			
			|  | 199 | +            echo "Hubzilla commit:$HUBZILLA_COMMIT" >> $COMPLETION_FILE
 | 
	
		
			
			|  | 200 | +        else
 | 
	
		
			
			|  | 201 | +            sed -i "s/Hubzilla commit.*/Hubzilla commit:$HUBZILLA_COMMIT/g" $COMPLETION_FILE
 | 
	
		
			
			|  | 202 | +        fi
 | 
	
		
			
			|  | 203 | +
 | 
	
		
			
			|  | 204 | +        rm -rf $HUBZILLA_PATH
 | 
	
		
			
			|  | 205 | +        mv hubzilla $HUBZILLA_PATH
 | 
	
		
			
			|  | 206 | +
 | 
	
		
			
			|  | 207 | +        git_clone $HUBZILLA_ADDONS_REPO $HUBZILLA_PATH/addon
 | 
	
		
			
			|  | 208 | +        cd $HUBZILLA_PATH/addon
 | 
	
		
			
			|  | 209 | +        git checkout $HUBZILLA_ADDONS_COMMIT -b $HUBZILLA_ADDONS_COMMIT
 | 
	
		
			
			|  | 210 | +        if ! grep -q "Hubzilla addons commit" $COMPLETION_FILE; then
 | 
	
		
			
			|  | 211 | +            echo "Hubzilla addons commit:$HUBZILLA_ADDONS_COMMIT" >> $COMPLETION_FILE
 | 
	
		
			
			|  | 212 | +        else
 | 
	
		
			
			|  | 213 | +            sed -i "s/Hubzilla addons commit.*/Hubzilla addons commit:$HUBZILLA_ADDONS_COMMIT/g" $COMPLETION_FILE
 | 
	
		
			
			|  | 214 | +        fi
 | 
	
		
			
			|  | 215 | +
 | 
	
		
			
			|  | 216 | +        # some extra themes
 | 
	
		
			
			|  | 217 | +        git_clone $HUBZILLA_THEMES_REPO $HUBZILLA_PATH/redmatrix-themes1
 | 
	
		
			
			|  | 218 | +        cp -r $HUBZILLA_PATH/redmatrix-themes1/* $HUBZILLA_PATH/view/theme/
 | 
	
		
			
			|  | 219 | +
 | 
	
		
			
			|  | 220 | +        chown -R www-data:www-data $HUBZILLA_PATH
 | 
	
		
			
			|  | 221 | +    fi
 | 
	
		
			
			|  | 222 | +
 | 
	
		
			
			|  | 223 | +    HUBZILLA_ONION_HOSTNAME=
 | 
	
		
			
			|  | 224 | +    if [[ $ONION_ONLY != "no" ]]; then
 | 
	
		
			
			|  | 225 | +        HUBZILLA_ONION_HOSTNAME=$(add_onion_service hubzilla 80 ${HUBZILLA_ONION_PORT})
 | 
	
		
			
			|  | 226 | +        echo "Hubzilla onion domain:${HUBZILLA_ONION_HOSTNAME}" >> $COMPLETION_FILE
 | 
	
		
			
			|  | 227 | +    fi
 | 
	
		
			
			|  | 228 | +
 | 
	
		
			
			|  | 229 | +    function_check get_mariadb_hubzilla_admin_password
 | 
	
		
			
			|  | 230 | +    get_mariadb_hubzilla_admin_password
 | 
	
		
			
			|  | 231 | +    if [ ! $HUBZILLA_ADMIN_PASSWORD ]; then
 | 
	
		
			
			|  | 232 | +        if [ -f $IMAGE_PASSWORD_FILE ]; then
 | 
	
		
			
			|  | 233 | +            HUBZILLA_ADMIN_PASSWORD="$(printf `cat $IMAGE_PASSWORD_FILE`)"
 | 
	
		
			
			|  | 234 | +        else
 | 
	
		
			
			|  | 235 | +            HUBZILLA_ADMIN_PASSWORD="$(create_password ${MINIMUM_PASSWORD_LENGTH})"
 | 
	
		
			
			|  | 236 | +        fi
 | 
	
		
			
			|  | 237 | +        echo '' >> /home/$MY_USERNAME/README
 | 
	
		
			
			|  | 238 | +        echo '' >> /home/$MY_USERNAME/README
 | 
	
		
			
			|  | 239 | +        echo 'Hubzilla' >> /home/$MY_USERNAME/README
 | 
	
		
			
			|  | 240 | +        echo '========' >> /home/$MY_USERNAME/README
 | 
	
		
			
			|  | 241 | +        if [[ $ONION_ONLY == 'no' ]]; then
 | 
	
		
			
			|  | 242 | +            echo $"Open https://$HUBZILLA_DOMAIN_NAME and register a new user" >> /home/$MY_USERNAME/README
 | 
	
		
			
			|  | 243 | +        else
 | 
	
		
			
			|  | 244 | +            echo $"Open http://$HUBZILLA_ONION_HOSTNAME and register a new user" >> /home/$MY_USERNAME/README
 | 
	
		
			
			|  | 245 | +        fi
 | 
	
		
			
			|  | 246 | +        echo $"Your MariaDB Hubzilla admin password is: $HUBZILLA_ADMIN_PASSWORD" >> /home/$MY_USERNAME/README
 | 
	
		
			
			|  | 247 | +        chown $MY_USERNAME:$MY_USERNAME /home/$MY_USERNAME/README
 | 
	
		
			
			|  | 248 | +        chmod 600 /home/$MY_USERNAME/README
 | 
	
		
			
			|  | 249 | +    fi
 | 
	
		
			
			|  | 250 | +
 | 
	
		
			
			|  | 251 | +    function_check create_database
 | 
	
		
			
			|  | 252 | +    create_database hubzilla "$HUBZILLA_ADMIN_PASSWORD"
 | 
	
		
			
			|  | 253 | +
 | 
	
		
			
			|  | 254 | +    if ! grep -q "$HUBZILLA_PATH" /etc/crontab; then
 | 
	
		
			
			|  | 255 | +        echo "12,22,32,42,52 * *   *   *   root cd $HUBZILLA_PATH; /usr/bin/timeout 500 /usr/bin/php include/poller.php" >> /etc/crontab
 | 
	
		
			
			|  | 256 | +    fi
 | 
	
		
			
			|  | 257 | +
 | 
	
		
			
			|  | 258 | +    function check add_ddns_domain
 | 
	
		
			
			|  | 259 | +    add_ddns_domain $HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			|  | 260 | +
 | 
	
		
			
			|  | 261 | +    if [[ $ONION_ONLY == "no" ]]; then
 | 
	
		
			
			|  | 262 | +        function_check nginx_http_redirect
 | 
	
		
			
			|  | 263 | +        nginx_http_redirect $HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			|  | 264 | +        echo 'server {' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			|  | 265 | +        echo '    listen 443 ssl;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			|  | 266 | +        echo "    root $HUBZILLA_PATH;" >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			|  | 267 | +        echo "    server_name $HUBZILLA_DOMAIN_NAME;" >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			|  | 268 | +        echo "    error_log /var/log/nginx/${HUBZILLA_DOMAIN_NAME}_error_ssl.log $WEBSERVER_LOG_LEVEL;" >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			|  | 269 | +        echo '    index index.php;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			|  | 270 | +        echo '    charset utf-8;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			|  | 271 | +        echo '    access_log off;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			|  | 272 | +        function_check nginx_limits
 | 
	
		
			
			|  | 273 | +        nginx_limits $HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			|  | 274 | +        function_check nginx_ssl
 | 
	
		
			
			|  | 275 | +        nginx_ssl $HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			|  | 276 | +        function_check nginx_disable_sniffing
 | 
	
		
			
			|  | 277 | +        nginx_disable_sniffing $HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			|  | 278 | +        echo '    add_header Strict-Transport-Security max-age=15768000;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			|  | 279 | +        echo '' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			|  | 280 | +        echo '    # rewrite to front controller as default rule' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			|  | 281 | +        echo '    location / {' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			|  | 282 | +        echo '        rewrite ^/(.*) /index.php?q=$uri&$args last;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			|  | 283 | +        echo '    }' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			|  | 284 | +        echo '' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			|  | 285 | +        echo "    # make sure webfinger and other well known services aren't blocked" >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			|  | 286 | +        echo '    # by denying dot files and rewrite request to the front controller' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			|  | 287 | +        echo '    location ^~ /.well-known/ {' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			|  | 288 | +        echo '        allow all;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			|  | 289 | +        echo '        rewrite ^/(.*) /index.php?q=$uri&$args last;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			|  | 290 | +        echo '    }' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			|  | 291 | +        echo '' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			|  | 292 | +        echo '    # statically serve these file types when possible' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			|  | 293 | +        echo '    # otherwise fall back to front controller' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			|  | 294 | +        echo '    # allow browser to cache them' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			|  | 295 | +        echo '    # added .htm for advanced source code editor library' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			|  | 296 | +        echo '    location ~* \.(jpg|jpeg|gif|png|ico|css|js|htm|html|ttf|woff|svg)$ {' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			|  | 297 | +        echo '        expires 30d;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			|  | 298 | +        echo '        try_files $uri /index.php?q=$uri&$args;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			|  | 299 | +        echo '    }' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			|  | 300 | +        echo '' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			|  | 301 | +        echo '    # block these file types' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			|  | 302 | +        echo '    location ~* \.(tpl|md|tgz|log|out)$ {' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			|  | 303 | +        echo '        deny all;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			|  | 304 | +        echo '    }' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			|  | 305 | +        echo '' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			|  | 306 | +        echo '    # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			|  | 307 | +        echo '    # or a unix socket' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			|  | 308 | +        echo '    location ~* \.php$ {' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			|  | 309 | +        echo '        # Zero-day exploit defense.' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			|  | 310 | +        echo '        # http://forum.nginx.org/read.php?2,88845,page=3' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			|  | 311 | +        echo "        # Won't work properly (404 error) if the file is not stored on this" >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			|  | 312 | +        echo "        # server, which is entirely possible with php-fpm/php-fcgi." >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			|  | 313 | +        echo "        # Comment the 'try_files' line out if you set up php-fpm/php-fcgi on" >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			|  | 314 | +        echo "        # another machine. And then cross your fingers that you won't get hacked." >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			|  | 315 | +        echo '        try_files $uri $uri/ /index.php;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			|  | 316 | +        echo '        # NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			|  | 317 | +        echo '        fastcgi_split_path_info ^(.+\.php)(/.+)$;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			|  | 318 | +        echo '        # With php5-cgi alone:' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			|  | 319 | +        echo '        # fastcgi_pass 127.0.0.1:9000;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			|  | 320 | +        echo '        # With php5-fpm:' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			|  | 321 | +        echo '        fastcgi_pass unix:/var/run/php5-fpm.sock;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			|  | 322 | +        echo '        include fastcgi_params;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			|  | 323 | +        echo '        fastcgi_index index.php;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			|  | 324 | +        echo '        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			|  | 325 | +        echo '        fastcgi_read_timeout 300;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			|  | 326 | +        echo '    }' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			|  | 327 | +        echo '' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			|  | 328 | +        echo '    # deny access to all dot files' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			|  | 329 | +        echo '    location ~ /\. {' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			|  | 330 | +        echo '        deny all;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			|  | 331 | +        echo '    }' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			|  | 332 | +        echo '' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			|  | 333 | +        echo '    location ~ /\.ht {' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			|  | 334 | +        echo '      deny  all;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			|  | 335 | +        echo '    }' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			|  | 336 | +        echo '}' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			|  | 337 | +        echo '' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			|  | 338 | +    else
 | 
	
		
			
			|  | 339 | +        echo 'server {' > /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			|  | 340 | +        echo "    listen 127.0.0.1:${HUBZILLA_ONION_PORT} default_server;" >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			|  | 341 | +        echo "    root $HUBZILLA_PATH;" >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			|  | 342 | +        echo "    server_name $HUBZILLA_ONION_HOSTNAME;" >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			|  | 343 | +        echo "    error_log /var/log/nginx/${HUBZILLA_DOMAIN_NAME}_error_ssl.log $WEBSERVER_LOG_LEVEL;" >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			|  | 344 | +        echo '    index index.php;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			|  | 345 | +        echo '    charset utf-8;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			|  | 346 | +        echo '    access_log off;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			|  | 347 | +        nginx_limits $HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			|  | 348 | +        nginx_disable_sniffing $HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			|  | 349 | +        echo '    add_header Strict-Transport-Security max-age=15768000;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			|  | 350 | +        echo '' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			|  | 351 | +        echo '    # rewrite to front controller as default rule' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			|  | 352 | +        echo '    location / {' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			|  | 353 | +        echo '        rewrite ^/(.*) /index.php?q=$uri&$args last;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			|  | 354 | +        echo '    }' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			|  | 355 | +        echo '' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			|  | 356 | +        echo "    # make sure webfinger and other well known services aren't blocked" >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			|  | 357 | +        echo '    # by denying dot files and rewrite request to the front controller' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			|  | 358 | +        echo '    location ^~ /.well-known/ {' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			|  | 359 | +        echo '        allow all;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			|  | 360 | +        echo '        rewrite ^/(.*) /index.php?q=$uri&$args last;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			|  | 361 | +        echo '    }' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			|  | 362 | +        echo '' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			|  | 363 | +        echo '    # statically serve these file types when possible' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			|  | 364 | +        echo '    # otherwise fall back to front controller' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			|  | 365 | +        echo '    # allow browser to cache them' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			|  | 366 | +        echo '    # added .htm for advanced source code editor library' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			|  | 367 | +        echo '    location ~* \.(jpg|jpeg|gif|png|ico|css|js|htm|html|ttf|woff|svg)$ {' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			|  | 368 | +        echo '        expires 30d;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			|  | 369 | +        echo '        try_files $uri /index.php?q=$uri&$args;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			|  | 370 | +        echo '    }' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			|  | 371 | +        echo '' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			|  | 372 | +        echo '    # block these file types' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			|  | 373 | +        echo '    location ~* \.(tpl|md|tgz|log|out)$ {' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			|  | 374 | +        echo '        deny all;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			|  | 375 | +        echo '    }' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			|  | 376 | +        echo '' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			|  | 377 | +        echo '    # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			|  | 378 | +        echo '    # or a unix socket' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			|  | 379 | +        echo '    location ~* \.php$ {' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			|  | 380 | +        echo '        # Zero-day exploit defense.' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			|  | 381 | +        echo '        # http://forum.nginx.org/read.php?2,88845,page=3' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			|  | 382 | +        echo "        # Won't work properly (404 error) if the file is not stored on this" >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			|  | 383 | +        echo "        # server, which is entirely possible with php-fpm/php-fcgi." >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			|  | 384 | +        echo "        # Comment the 'try_files' line out if you set up php-fpm/php-fcgi on" >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			|  | 385 | +        echo "        # another machine. And then cross your fingers that you won't get hacked." >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			|  | 386 | +        echo '        try_files $uri $uri/ /index.php;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			|  | 387 | +        echo '        # NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			|  | 388 | +        echo '        fastcgi_split_path_info ^(.+\.php)(/.+)$;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			|  | 389 | +        echo '        # With php5-cgi alone:' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			|  | 390 | +        echo '        # fastcgi_pass 127.0.0.1:9000;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			|  | 391 | +        echo '        # With php5-fpm:' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			|  | 392 | +        echo '        fastcgi_pass unix:/var/run/php5-fpm.sock;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			|  | 393 | +        echo '        include fastcgi_params;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			|  | 394 | +        echo '        fastcgi_index index.php;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			|  | 395 | +        echo '        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			|  | 396 | +        echo '        fastcgi_read_timeout 300;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			|  | 397 | +        echo '    }' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			|  | 398 | +        echo '' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			|  | 399 | +        echo '    # deny access to all dot files' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			|  | 400 | +        echo '    location ~ /\. {' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			|  | 401 | +        echo '        deny all;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			|  | 402 | +        echo '    }' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			|  | 403 | +        echo '' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			|  | 404 | +        echo '    location ~ /\.ht {' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			|  | 405 | +        echo '      deny  all;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			|  | 406 | +        echo '    }' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			|  | 407 | +        echo '}' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			|  | 408 | +    fi
 | 
	
		
			
			|  | 409 | +
 | 
	
		
			
			|  | 410 | +    function_check configure_php
 | 
	
		
			
			|  | 411 | +    configure_php
 | 
	
		
			
			|  | 412 | +
 | 
	
		
			
			|  | 413 | +    function_check create_site_certificate
 | 
	
		
			
			|  | 414 | +    create_site_certificate $HUBZILLA_DOMAIN_NAME 'yes'
 | 
	
		
			
			|  | 415 | +
 | 
	
		
			
			|  | 416 | +    if [ ! -d $HUBZILLA_PATH/view/tpl/smarty3 ]; then
 | 
	
		
			
			|  | 417 | +        mkdir $HUBZILLA_PATH/view/tpl/smarty3
 | 
	
		
			
			|  | 418 | +    fi
 | 
	
		
			
			|  | 419 | +    if [ ! -d "$HUBZILLA_PATH/store" ]; then
 | 
	
		
			
			|  | 420 | +        mkdir "$HUBZILLA_PATH/store"
 | 
	
		
			
			|  | 421 | +    fi
 | 
	
		
			
			|  | 422 | +    if [ ! -d "$HUBZILLA_PATH/store/[data]" ]; then
 | 
	
		
			
			|  | 423 | +        mkdir "$HUBZILLA_PATH/store/[data]"
 | 
	
		
			
			|  | 424 | +    fi
 | 
	
		
			
			|  | 425 | +    if [ ! -d "$HUBZILLA_PATH/store/[data]/smarty3" ]; then
 | 
	
		
			
			|  | 426 | +        mkdir "$HUBZILLA_PATH/store/[data]/smarty3"
 | 
	
		
			
			|  | 427 | +        chmod 777 "$HUBZILLA_PATH/store/[data]/smarty3"
 | 
	
		
			
			|  | 428 | +    fi
 | 
	
		
			
			|  | 429 | +    chmod 777 $HUBZILLA_PATH/view/tpl
 | 
	
		
			
			|  | 430 | +    chown -R www-data:www-data "$HUBZILLA_PATH/store"
 | 
	
		
			
			|  | 431 | +    chmod 777 $HUBZILLA_PATH/view/tpl/smarty3
 | 
	
		
			
			|  | 432 | +
 | 
	
		
			
			|  | 433 | +    # Ensure that the database gets backed up locally, if remote
 | 
	
		
			
			|  | 434 | +    # backups are not being used
 | 
	
		
			
			|  | 435 | +    function_check backup_databases_script_header
 | 
	
		
			
			|  | 436 | +    backup_databases_script_header
 | 
	
		
			
			|  | 437 | +
 | 
	
		
			
			|  | 438 | +    function_check backup_database_local
 | 
	
		
			
			|  | 439 | +    backup_database_local hubzilla
 | 
	
		
			
			|  | 440 | +
 | 
	
		
			
			|  | 441 | +    chown -R www-data:www-data $HUBZILLA_PATH
 | 
	
		
			
			|  | 442 | +
 | 
	
		
			
			|  | 443 | +    function_check nginx_ensite
 | 
	
		
			
			|  | 444 | +    nginx_ensite $HUBZILLA_DOMAIN_NAME
 | 
	
		
			
			|  | 445 | +
 | 
	
		
			
			|  | 446 | +    # initialize the database
 | 
	
		
			
			|  | 447 | +    if [ ! -f $HUBZILLA_PATH/install/schema_mysql.sql ]; then
 | 
	
		
			
			|  | 448 | +        echo $'No database schema found for hubzilla'
 | 
	
		
			
			|  | 449 | +        exit 252782
 | 
	
		
			
			|  | 450 | +    fi
 | 
	
		
			
			|  | 451 | +    function_check initialise_database
 | 
	
		
			
			|  | 452 | +    initialise_database hubzilla $HUBZILLA_PATH/install/schema_mysql.sql
 | 
	
		
			
			|  | 453 | +
 | 
	
		
			
			|  | 454 | +    # create the config file
 | 
	
		
			
			|  | 455 | +    echo '<?php' > $HUBZILLA_PATH/.htconfig.php
 | 
	
		
			
			|  | 456 | +    echo "\$db_host = 'localhost';" >> $HUBZILLA_PATH/.htconfig.php
 | 
	
		
			
			|  | 457 | +    echo "\$db_port = '0';" >> $HUBZILLA_PATH/.htconfig.php
 | 
	
		
			
			|  | 458 | +    echo "\$db_user = 'root';" >> $HUBZILLA_PATH/.htconfig.php
 | 
	
		
			
			|  | 459 | +    echo "\$db_pass = '${MARIADB_PASSWORD}';" >> $HUBZILLA_PATH/.htconfig.php
 | 
	
		
			
			|  | 460 | +    echo "\$db_data = 'hubzilla';" >> $HUBZILLA_PATH/.htconfig.php
 | 
	
		
			
			|  | 461 | +    echo "\$db_type = '0';" >> $HUBZILLA_PATH/.htconfig.php
 | 
	
		
			
			|  | 462 | +    echo "\$default_timezone = 'Europe/London';" >> $HUBZILLA_PATH/.htconfig.php
 | 
	
		
			
			|  | 463 | +    if [[ $ONION_ONLY == 'no' ]]; then
 | 
	
		
			
			|  | 464 | +        echo "\$a->config['system']['baseurl'] = 'https://${HUBZILLA_DOMAIN_NAME}';" >> $HUBZILLA_PATH/.htconfig.php
 | 
	
		
			
			|  | 465 | +    else
 | 
	
		
			
			|  | 466 | +        echo "\$a->config['system']['baseurl'] = 'http://${HUBZILLA_ONION_HOSTNAME}';" >> $HUBZILLA_PATH/.htconfig.php
 | 
	
		
			
			|  | 467 | +    fi
 | 
	
		
			
			|  | 468 | +    echo "\$a->config['system']['sitename'] = \"Hubzilla\";" >> $HUBZILLA_PATH/.htconfig.php
 | 
	
		
			
			|  | 469 | +    HUBZILLA_LOCATION_HASH="$(create_password 30)"
 | 
	
		
			
			|  | 470 | +    echo "\$a->config['system']['location_hash'] = '${HUBZILLA_LOCATION_HASH}';" >> $HUBZILLA_PATH/.htconfig.php
 | 
	
		
			
			|  | 471 | +    echo "\$a->config['system']['register_policy'] = REGISTER_OPEN;" >> $HUBZILLA_PATH/.htconfig.php
 | 
	
		
			
			|  | 472 | +    echo "\$a->config['system']['register_text'] = '';" >> $HUBZILLA_PATH/.htconfig.php
 | 
	
		
			
			|  | 473 | +    echo "\$a->config['system']['admin_email'] = '${MY_EMAIL_ADDRESS}';" >> $HUBZILLA_PATH/.htconfig.php
 | 
	
		
			
			|  | 474 | +    echo "\$a->config['system']['verify_email'] = 1;" >> $HUBZILLA_PATH/.htconfig.php
 | 
	
		
			
			|  | 475 | +    echo "\$a->config['system']['access_policy'] = ACCESS_PRIVATE;" >> $HUBZILLA_PATH/.htconfig.php
 | 
	
		
			
			|  | 476 | +    echo "\$a->config['system']['sellpage'] = '';" >> $HUBZILLA_PATH/.htconfig.php
 | 
	
		
			
			|  | 477 | +    echo "\$a->config['system']['max_import_size'] = 200000;" >> $HUBZILLA_PATH/.htconfig.php
 | 
	
		
			
			|  | 478 | +    echo "\$a->config['system']['php_path'] = '/usr/bin/php';" >> $HUBZILLA_PATH/.htconfig.php
 | 
	
		
			
			|  | 479 | +    echo "\$a->config['system']['directory_mode']  = DIRECTORY_MODE_NORMAL;" >> $HUBZILLA_PATH/.htconfig.php
 | 
	
		
			
			|  | 480 | +    echo "\$a->config['system']['theme'] = 'redbasic';" >> $HUBZILLA_PATH/.htconfig.php
 | 
	
		
			
			|  | 481 | +    chown www-data:www-data $HUBZILLA_PATH/.htconfig.php
 | 
	
		
			
			|  | 482 | +    chmod 755 $HUBZILLA_PATH/.htconfig.php
 | 
	
		
			
			|  | 483 | +
 | 
	
		
			
			|  | 484 | +    systemctl restart php5-fpm
 | 
	
		
			
			|  | 485 | +    systemctl restart nginx
 | 
	
		
			
			|  | 486 | +    systemctl restart cron
 | 
	
		
			
			|  | 487 | +
 | 
	
		
			
			|  | 488 | +    ${PROJECT_NAME}-addemail -u $MY_USERNAME -e "noreply@$HUBZILLA_DOMAIN_NAME" -g hubzilla --public no
 | 
	
		
			
			|  | 489 | +
 | 
	
		
			
			|  | 490 | +    echo "Hubzilla domain:${HUBZILLA_DOMAIN_NAME}" >> $COMPLETION_FILE
 | 
	
		
			
			|  | 491 | +    echo 'install_hubzilla' >> $COMPLETION_FILE
 | 
	
		
			
			| 493 | 492 |  }
 | 
	
		
			
			| 494 | 493 |  
 | 
	
		
			
			| 495 | 494 |  # NOTE: deliberately there is no "exit 0"
 |