瀏覽代碼

Update hubzilla to 1.12

Bob Mottram 8 年之前
父節點
當前提交
1351d5ed9c
沒有帳戶連結到提交者的電子郵件
共有 1 個檔案被更改,包括 453 行新增453 行删除
  1. 453
    453
      src/freedombone-app-hubzilla

+ 453
- 453
src/freedombone-app-hubzilla 查看文件

@@ -37,488 +37,488 @@ HUBZILLA_REPO="https://github.com/redmatrix/hubzilla.git"
37 37
 HUBZILLA_THEMES_REPO="https://github.com/DeadSuperHero/redmatrix-themes"
38 38
 HUBZILLA_ADDONS_REPO="https://github.com/redmatrix/hubzilla-addons.git"
39 39
 HUBZILLA_ADMIN_PASSWORD=
40
-HUBZILLA_COMMIT='2d79e75788aa71664a379c4cea0b6bfe3ab87ad0'
41
-HUBZILLA_ADDONS_COMMIT='67b40c7a40f328a93ee030eb15e9e1261f3cba64'
40
+HUBZILLA_COMMIT='8aee932525d0bc341713fe7052e2a5ab318a69c0'
41
+HUBZILLA_ADDONS_COMMIT='4456f097e3faf2adeab696ad08e3f213e82199bd'
42 42
 
43 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
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 49
 }
50 50
 
51 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"
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 79
 }
80 80
 
81 81
 function reconfigure_hubzilla {
82
-	echo -n ''
82
+    echo -n ''
83 83
 }
84 84
 
85 85
 function upgrade_hubzilla {
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
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
101 101
 }
102 102
 
103 103
 function backup_local_hubzilla {
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
116
-	fi
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
116
+    fi
117 117
 }
118 118
 
119 119
 function restore_local_hubzilla {
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"
144
-	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"
144
+    fi
145 145
 }
146 146
 
147 147
 function backup_remote_hubzilla {
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
162
-	fi
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
162
+    fi
163 163
 }
164 164
 
165 165
 function restore_remote_hubzilla {
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"
186
-	fi
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"
186
+    fi
187 187
 }
188 188
 
189 189
 function remove_hubzilla {
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'
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'
209 209
 }
210 210
 
211 211
 function install_hubzilla {
212
-	if [ ! $HUBZILLA_DOMAIN_NAME ]; then
213
-		return
214
-	fi
215
-
216
-	if [[ $ONION_ONLY != "no" ]]; then
217
-		return
218
-	fi
219
-
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
283
-
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
368
-	else
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
438
-	fi
439
-
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
470
-
471
-	chown -R www-data:www-data $HUBZILLA_PATH
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
480
-	fi
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
493
-	if [[ $ONION_ONLY == 'no' ]]; then
494
-		echo "\$a->config['system']['baseurl'] = 'https://${HUBZILLA_DOMAIN_NAME}';" >> $HUBZILLA_PATH/.htconfig.php
495
-	else
496
-		echo "\$a->config['system']['baseurl'] = 'http://${HUBZILLA_ONION_HOSTNAME}';" >> $HUBZILLA_PATH/.htconfig.php
497
-	fi
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
212
+    if [ ! $HUBZILLA_DOMAIN_NAME ]; then
213
+        return
214
+    fi
215
+
216
+    if [[ $ONION_ONLY != "no" ]]; then
217
+        return
218
+    fi
219
+
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
283
+
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
368
+    else
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
438
+    fi
439
+
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
470
+
471
+    chown -R www-data:www-data $HUBZILLA_PATH
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
480
+    fi
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
493
+    if [[ $ONION_ONLY == 'no' ]]; then
494
+        echo "\$a->config['system']['baseurl'] = 'https://${HUBZILLA_DOMAIN_NAME}';" >> $HUBZILLA_PATH/.htconfig.php
495
+    else
496
+        echo "\$a->config['system']['baseurl'] = 'http://${HUBZILLA_ONION_HOSTNAME}';" >> $HUBZILLA_PATH/.htconfig.php
497
+    fi
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
522 522
 }
523 523
 
524 524
 # NOTE: deliberately there is no "exit 0"