Browse Source

Fixing nextcloud

Bob Mottram 7 years ago
parent
commit
b309b6d953
1 changed files with 66 additions and 24 deletions
  1. 66
    24
      src/freedombone-app-nextcloud

+ 66
- 24
src/freedombone-app-nextcloud View File

@@ -177,8 +177,8 @@ function upgrade_nextcloud {
177 177
     function_check set_repo_commit
178 178
     set_repo_commit /var/www/$NEXTCLOUD_DOMAIN_NAME/htdocs "nextcloud commit" "$NEXTCLOUD_COMMIT" $NEXTCLOUD_REPO
179 179
 
180
-    chown -R www-data:www-data /var/www/$NEXTCLOUD_DOMAIN_NAME/htdocs/config
181
-    chown -R www-data:www-data /var/www/$NEXTCLOUD_DOMAIN_NAME/htdocs/data
180
+    chown -R www-data:www-data /var/www/$NEXTCLOUD_DOMAIN_NAME/htdocs
181
+    chown -R www-data:www-data /var/www/$NEXTCLOUD_DOMAIN_NAME/data
182 182
     cd /var/www/$NEXTCLOUD_DOMAIN_NAME/htdocs
183 183
     sudo -u www-data ./occ maintenance:repair
184 184
     sudo -u www-data ./occ files:cleanup
@@ -192,15 +192,19 @@ function backup_local_nextcloud {
192 192
         NEXTCLOUD_DOMAIN_NAME=$(get_completion_param "nextcloud domain")
193 193
     fi
194 194
 
195
-    source_directory=/var/www/${NEXTCLOUD_DOMAIN_NAME}/htdocs
195
+    source_directory=/var/www/${NEXTCLOUD_DOMAIN_NAME}/data
196 196
     if [ -d $source_directory ]; then
197
-        dest_directory=nextcloud
198 197
         function_check suspend_site
199 198
         suspend_site ${NEXTCLOUD_DOMAIN_NAME}
200 199
 
200
+        dest_directory=nextcloudfiles
201 201
         function_check backup_directory_to_usb
202 202
         backup_directory_to_usb $source_directory $dest_directory
203 203
 
204
+        source_directory=/var/www/${NEXTCLOUD_DOMAIN_NAME}/htdocs/config
205
+        dest_directory=nextcloudconfig
206
+        backup_directory_to_usb $source_directory $dest_directory
207
+
204 208
         function_check backup_database_to_usb
205 209
         backup_database_to_usb nextcloud
206 210
 
@@ -215,17 +219,36 @@ function restore_local_nextcloud {
215 219
     fi
216 220
     NEXTCLOUD_DOMAIN_NAME=$(get_completion_param "nextcloud domain")
217 221
     if [ $NEXTCLOUD_DOMAIN_NAME ]; then
218
-        temp_restore_dir=/root/tempnextcloud
219
-        nextcloud_dir=/var/www/${NEXTCLOUD_DOMAIN_NAME}/htdocs
220 222
 
223
+        temp_restore_dir=/root/tempnextcloud
221 224
         function_check nextcloud_create_database
222 225
         nextcloud_create_database
223
-
224 226
         restore_database nextcloud ${NEXTCLOUD_DOMAIN_NAME}
225
-        if [ -d $temp_restore_dir ]; then
226
-            rm -rf $temp_restore_dir
227
+
228
+        temp_restore_dir=/root/tempnextcloudfiles
229
+        restore_directory_from_usb $temp_restore_dir nextcloudfiles
230
+        temp_source_dir=$(find ${temp_restore_dir} -name data)
231
+        cp -r ${temp_source_dir} /var/www/${NEXTCLOUD_DOMAIN_NAME}/
232
+        if [ ! "$?" = "0" ]; then
233
+            set_user_permissions
234
+            backup_unmount_drive
235
+            exit 346723
227 236
         fi
237
+        rm -rf ${temp_restore_dir}
238
+
239
+        temp_restore_dir=/root/tempnextcloudconfig
240
+        restore_directory_from_usb $temp_restore_dir nextcloudconfig
241
+        temp_source_dir=$(find ${temp_restore_dir} -name config)
242
+        cp -r ${temp_source_dir} /var/www/${NEXTCLOUD_DOMAIN_NAME}/htdocs/
243
+        if [ ! "$?" = "0" ]; then
244
+            set_user_permissions
245
+            backup_unmount_drive
246
+            exit 3467343
247
+        fi
248
+        rm -rf ${temp_restore_dir}
228 249
 
250
+        chown -R www-data:www-data /var/www/${NEXTCLOUD_DOMAIN_NAME}/htdocs
251
+        chown -R www-data:www-data /var/www/${NEXTCLOUD_DOMAIN_NAME}/data
229 252
         cd $nextcloud_dir
230 253
         sudo -u www-data ./occ maintenance:repair
231 254
         sudo -u www-data ./occ files:cleanup
@@ -236,7 +259,7 @@ function restore_local_nextcloud {
236 259
 function backup_remote_nextcloud {
237 260
     if grep -q "nextcloud domain" $COMPLETION_FILE; then
238 261
         NEXTCLOUD_DOMAIN_NAME=$(get_completion_param "nextcloud domain")
239
-        temp_backup_dir=/var/www/${NEXTCLOUD_DOMAIN_NAME}/htdocs
262
+        temp_backup_dir=/var/www/${NEXTCLOUD_DOMAIN_NAME}/data
240 263
         if [ -d $temp_backup_dir ]; then
241 264
             function_check suspend_site
242 265
             suspend_site ${NEXTCLOUD_DOMAIN_NAME}
@@ -244,10 +267,11 @@ function backup_remote_nextcloud {
244 267
             function_check backup_database_to_friend
245 268
             backup_database_to_friend nextcloud
246 269
 
247
-            echo $"Backing up GNU social installation"
248
-
249 270
             function_check backup_directory_to_friend
250
-            backup_directory_to_friend $temp_backup_dir nextcloud
271
+            backup_directory_to_friend $temp_backup_dir nextclouddata
272
+
273
+            temp_backup_dir=/var/www/${NEXTCLOUD_DOMAIN_NAME}/htdocs/config
274
+            backup_directory_to_friend $temp_backup_dir nextcloudconfig
251 275
 
252 276
             function_check restart_site
253 277
             restart_site
@@ -261,7 +285,6 @@ function restore_remote_nextcloud {
261 285
     if grep -q "nextcloud domain" $COMPLETION_FILE; then
262 286
         echo $"Restoring nextcloud"
263 287
         NEXTCLOUD_DOMAIN_NAME=$(get_completion_param "nextcloud domain")
264
-        nextcloud_dir=/var/www/${NEXTCLOUD_DOMAIN_NAME}/htdocs
265 288
 
266 289
         function_check nextcloud_create_database
267 290
         nextcloud_create_database
@@ -272,7 +295,27 @@ function restore_remote_nextcloud {
272 295
             rm -rf /root/tempnextcloud
273 296
         fi
274 297
 
275
-        cd $nextcloud_dir
298
+        temp_restore_dir=/root/tempnextcloudfiles
299
+        restore_directory_from_friend $temp_restore_dir nextcloudfiles
300
+        temp_source_dir=$(find ${temp_restore_dir} -name data)
301
+        cp -r ${temp_source_dir} /var/www/${NEXTCLOUD_DOMAIN_NAME}/
302
+        if [ ! "$?" = "0" ]; then
303
+            exit 768254
304
+        fi
305
+        rm -rf ${temp_restore_dir}
306
+
307
+        temp_restore_dir=/root/tempnextcloudconfig
308
+        restore_directory_from_friend $temp_restore_dir nextcloudconfig
309
+        temp_source_dir=$(find ${temp_restore_dir} -name config)
310
+        cp -r ${temp_source_dir} /var/www/${NEXTCLOUD_DOMAIN_NAME}/htdocs/
311
+        if [ ! "$?" = "0" ]; then
312
+            exit 573427
313
+        fi
314
+        rm -rf ${temp_restore_dir}
315
+
316
+        chown -R www-data:www-data /var/www/${NEXTCLOUD_DOMAIN_NAME}/htdocs
317
+        chown -R www-data:www-data /var/www/${NEXTCLOUD_DOMAIN_NAME}/data
318
+        cd /var/www/${NEXTCLOUD_DOMAIN_NAME}/htdocs
276 319
         sudo -u www-data ./occ maintenance:repair
277 320
         sudo -u www-data ./occ files:cleanup
278 321
         sudo -u www-data ./occ files:scan --all
@@ -363,11 +406,6 @@ function install_nextcloud_main {
363 406
     git checkout $NEXTCLOUD_COMMIT -b $NEXTCLOUD_COMMIT
364 407
     set_completion_param "nextcloud commit" "$NEXTCLOUD_COMMIT"
365 408
 
366
-    # some extra apps
367
-    git clone https://github.com/nextcloud/gallery /var/www/$NEXTCLOUD_DOMAIN_NAME/htdocs/apps/gallery
368
-    git clone https://github.com/nextcloud/spreed /var/www/$NEXTCLOUD_DOMAIN_NAME/htdocs/apps/spreed
369
-    git clone https://github.com/nextcloud/calendar /var/www/$NEXTCLOUD_DOMAIN_NAME/htdocs/apps/calendar
370
-
371 409
     chmod g+w /var/www/$NEXTCLOUD_DOMAIN_NAME/htdocs
372 410
     chown -R www-data:www-data /var/www/$NEXTCLOUD_DOMAIN_NAME/htdocs
373 411
 
@@ -502,6 +540,9 @@ function install_nextcloud_main {
502 540
 
503 541
     sed -i 's| DENY;| SAMEORIGIN;|g' $nextcloud_nginx_site
504 542
 
543
+    # NextCloud doesn't like content-security-policy at all
544
+    sed -i '/Content-Security-Policy/d' $nextcloud_nginx_site
545
+
505 546
     function_check configure_php
506 547
     configure_php
507 548
 
@@ -557,20 +598,21 @@ function install_nextcloud_main {
557 598
     ./occ status
558 599
     ./occ app:list
559 600
     ./occ app:enable encryption
560
-    ./occ app:enable gallery
561
-    ./occ app:enable calendar
562
-    ./occ app:enable spreed
563
-    ./occ config:system:set defaultapp --value=gallery
564 601
     ./occ config:system:set appstoreenabled --value=false
565 602
     ./occ config:system:set trusted_domains 1 --value=$NEXTCLOUD_DOMAIN_NAME
566 603
     chmod g+w /var/www/${NEXTCLOUD_DOMAIN_NAME}/htdocs/config/config.php
567 604
     chown -R www-data:www-data /var/www/${NEXTCLOUD_DOMAIN_NAME}/htdocs
568 605
     chmod 0644 .htaccess
569 606
     chmod 0750 data
607
+    chown -R www-data:www-data /var/www/${NEXTCLOUD_DOMAIN_NAME}/data
570 608
     sudo -u www-data ./occ files:cleanup
571 609
     sudo -u www-data ./occ files:scan --all
572 610
     sudo -u www-data ./occ maintenance:repair
573 611
 
612
+    # move the data directory
613
+    mv /var/www/${NEXTCLOUD_DOMAIN_NAME}/htdocs/data /var/www/${NEXTCLOUD_DOMAIN_NAME}/
614
+    sed -i "s|'datadirectory'.*|'datadirectory' => '/var/www/$NEXTCLOUD_DOMAIN_NAME/data',|g" /var/www/${NEXTCLOUD_DOMAIN_NAME}/htdocs/config/config.php
615
+
574 616
     set_completion_param "nextcloud domain" "$NEXTCLOUD_DOMAIN_NAME"
575 617
 
576 618
     install_completed nextcloud_main