瀏覽代碼

Missing underscore

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

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

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