Browse Source

Create hubzilla database before restoring from backup

Bob Mottram 8 years ago
parent
commit
a58d250386
1 changed files with 441 additions and 418 deletions
  1. 441
    418
      src/freedombone-app-hubzilla

+ 441
- 418
src/freedombone-app-hubzilla View File

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