|  | 
 |  | 
 | 
												
													
														| 41 |  HUBZILLA_ADDONS_COMMIT='67b40c7a40f328a93ee030eb15e9e1261f3cba64'
 | 41 |  HUBZILLA_ADDONS_COMMIT='67b40c7a40f328a93ee030eb15e9e1261f3cba64'
 | 
												
													
														| 42 |  
 | 42 |  
 | 
												
													
														| 43 |  function reconfigure_hubzilla {
 | 43 |  function reconfigure_hubzilla {
 | 
												
													
														| 44 | -	echo -n ''
 |  | 
 | 
												
													
														|  | 
 | 44 | +    echo -n ''
 | 
												
													
														| 45 |  }
 | 45 |  }
 | 
												
													
														| 46 |  
 | 46 |  
 | 
												
													
														| 47 |  function upgrade_hubzilla {
 | 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 |  function backup_local_hubzilla {
 | 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 |  function restore_local_hubzilla {
 | 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 |  function backup_remote_hubzilla {
 | 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 |  function restore_remote_hubzilla {
 | 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 |  function remove_hubzilla {
 | 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 |  function install_hubzilla {
 | 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 |  # NOTE: deliberately there is no "exit 0"
 | 494 |  # NOTE: deliberately there is no "exit 0"
 |