Sfoglia il codice sorgente

Repo-based owncloud installation

It looks as if future debian releases won't have
an owncloud package, and so it's now installed in a similar
manner to hubzilla and gnusocial
Bob Mottram 9 anni fa
parent
commit
d51a0f4a51

+ 292
- 201
src/freedombone Vedi File

228
 GVM_COMMIT='25ea8ae158e2861c92e2b22c458e60840157832f'
228
 GVM_COMMIT='25ea8ae158e2861c92e2b22c458e60840157832f'
229
 
229
 
230
 # Domain name for Owncloud installation
230
 # Domain name for Owncloud installation
231
+OWNCLOUD_REPO="https://github.com/owncloud/core"
232
+OWNCLOUD_COMMIT='stable9'
231
 OWNCLOUD_DOMAIN_NAME=
233
 OWNCLOUD_DOMAIN_NAME=
232
 OWNCLOUD_CODE=
234
 OWNCLOUD_CODE=
233
 OWNCLOUD_ONION_PORT=8088
235
 OWNCLOUD_ONION_PORT=8088
234
 OWNCLOUD_ADMIN_PASSWORD=
236
 OWNCLOUD_ADMIN_PASSWORD=
235
 OWNCLOUD_MUSIC_APP_REPO="https://github.com/owncloud/music"
237
 OWNCLOUD_MUSIC_APP_REPO="https://github.com/owncloud/music"
236
-OWNCLOUD_MUSIC_APP_COMMIT='7f79afb4ae9a6ecd8f530d87106f960306c0a15a'
238
+OWNCLOUD_MUSIC_APP_COMMIT='0c0e1fadbe31a43f9c98d6a2a7b3960ff881ca0e'
237
 
239
 
238
 # Domain name for your wiki
240
 # Domain name for your wiki
239
 WIKI_DOMAIN_NAME=
241
 WIKI_DOMAIN_NAME=
6227
     echo '        # gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;' >> /etc/nginx/nginx.conf
6229
     echo '        # gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;' >> /etc/nginx/nginx.conf
6228
     echo '' >> /etc/nginx/nginx.conf
6230
     echo '' >> /etc/nginx/nginx.conf
6229
     echo '        ##' >> /etc/nginx/nginx.conf
6231
     echo '        ##' >> /etc/nginx/nginx.conf
6230
-           echo '        # Virtual Host Configs' >> /etc/nginx/nginx.conf
6231
-           echo '        ##' >> /etc/nginx/nginx.conf
6232
-           echo '' >> /etc/nginx/nginx.conf
6233
-           echo '        include /etc/nginx/conf.d/*.conf;' >> /etc/nginx/nginx.conf
6234
-           echo '        include /etc/nginx/sites-enabled/*;' >> /etc/nginx/nginx.conf
6235
-           echo '}' >> /etc/nginx/nginx.conf
6236
-
6237
-           # install a script to easily enable and disable nginx virtual hosts
6238
-           if [ ! -d $INSTALL_DIR ]; then
6239
-               mkdir $INSTALL_DIR
6240
-           fi
6241
-           cd $INSTALL_DIR
6242
-           git_clone $NGINX_ENSITE_REPO $INSTALL_DIR/nginx_ensite
6243
-           cd $INSTALL_DIR/nginx_ensite
6244
-           git checkout $NGINX_ENSITE_COMMIT -b $NGINX_ENSITE_COMMIT
6245
-           if ! grep -q "Nginx-ensite commit" $COMPLETION_FILE; then
6246
-               echo "Nginx-ensite commit:$NGINX_ENSITE_COMMIT" >> $COMPLETION_FILE
6247
-           else
6248
-               sed -i "s/Nginx-ensite commit.*/Nginx-ensite commit:$NGINX_ENSITE_COMMIT/g" $COMPLETION_FILE
6249
-           fi
6250
-
6251
-           make install
6252
-           nginx_dissite default
6253
-           echo 'install_web_server' >> $COMPLETION_FILE
6254
-       }
6255
-
6256
-       function install_web_server_access_control {
6257
-           if [ ! -f /etc/pam.d/nginx ]; then
6258
-               echo '#%PAM-1.0' > /etc/pam.d/nginx
6259
-               echo '@include common-auth' >> /etc/pam.d/nginx
6260
-               echo '@include common-account' >> /etc/pam.d/nginx
6261
-               echo '@include common-session' >> /etc/pam.d/nginx
6262
-           fi
6263
-       }
6264
-
6265
-       function configure_php {
6266
-           sed -i "s/memory_limit = 128M/memory_limit = ${MAX_PHP_MEMORY}M/g" /etc/php5/fpm/php.ini
6267
-           sed -i 's/;cgi.fix_pathinfo=1/cgi.fix_pathinfo=0/g' /etc/php5/fpm/php.ini
6268
-           sed -i "s/memory_limit = -1/memory_limit = ${MAX_PHP_MEMORY}M/g" /etc/php5/cli/php.ini
6269
-           sed -i "s/upload_max_filesize = 2M/upload_max_filesize = 50M/g" /etc/php5/fpm/php.ini
6270
-           sed -i "s/post_max_size = 8M/post_max_size = 50M/g" /etc/php5/fpm/php.ini
6271
-       }
6272
-
6273
-       function install_mariadb {
6274
-           if grep -Fxq "install_mariadb" $COMPLETION_FILE; then
6275
-               return
6276
-           fi
6277
-           apt-get -y install python-software-properties debconf-utils
6278
-           apt-get -y install software-properties-common
6279
-           apt-get -y update
6280
-
6281
-           get_mariadb_password
6282
-           if [ ! $MARIADB_PASSWORD ]; then
6283
-               if [ -f $IMAGE_PASSWORD_FILE ]; then
6284
-                   MARIADB_PASSWORD="$(printf `cat $IMAGE_PASSWORD_FILE`)"
6285
-               else
6286
-                   MARIADB_PASSWORD="$(openssl rand -base64 32)"
6287
-               fi
6288
-               echo "$MARIADB_PASSWORD" > $DATABASE_PASSWORD_FILE
6289
-               chmod 600 $DATABASE_PASSWORD_FILE
6290
-
6291
-               echo '' >> /home/$MY_USERNAME/README
6292
-               echo '' >> /home/$MY_USERNAME/README
6293
-               echo 'MariaDB / MySql' >> /home/$MY_USERNAME/README
6294
-               echo '===============' >> /home/$MY_USERNAME/README
6295
-               echo $"Your MariaDB password is: $MARIADB_PASSWORD" >> /home/$MY_USERNAME/README
6296
-               echo '' >> /home/$MY_USERNAME/README
6297
-               chown $MY_USERNAME:$MY_USERNAME /home/$MY_USERNAME/README
6298
-               chmod 600 /home/$MY_USERNAME/README
6299
-           fi
6300
-
6301
-           debconf-set-selections <<< "mariadb-server mariadb-server/root_password password $MARIADB_PASSWORD"
6302
-           debconf-set-selections <<< "mariadb-server mariadb-server/root_password_again password $MARIADB_PASSWORD"
6303
-           apt-get -y install mariadb-server
6304
-           apt-get -y remove --purge apache*
6305
-           if [ -d /etc/apache2 ]; then
6306
-               rm -rf /etc/apache2
6307
-               echo $'Removed Apache installation after MariaDB install'
6308
-           fi
6309
-
6310
-           if [ ! -d /etc/mysql ]; then
6311
-               echo $"ERROR: mariadb-server does not appear to have installed. $CHECK_MESSAGE"
6312
-               exit 54
6313
-           fi
6314
-
6315
-           mysqladmin -u root password "$MARIADB_PASSWORD"
6316
-           echo 'install_mariadb' >> $COMPLETION_FILE
6317
-       }
6318
-
6319
-       function backup_databases_script_header {
6320
-           if [ ! -f /usr/bin/backupdatabases ]; then
6321
-               # daily
6322
-               echo '#!/bin/sh' > /usr/bin/backupdatabases
6323
-               echo '' >> /usr/bin/backupdatabases
6324
-               echo "EMAIL='$MY_EMAIL_ADDRESS'" >> /usr/bin/backupdatabases
6325
-               echo '' >> /usr/bin/backupdatabases
6326
-               echo -n 'MYSQL_PASSWORD=$(cat ' >> /usr/bin/backupdatabases
6327
-               echo "$DATABASE_PASSWORD_FILE)" >> /usr/bin/backupdatabases
6328
-               echo 'umask 0077' >> /usr/bin/backupdatabases
6329
-               echo '' >> /usr/bin/backupdatabases
6330
-               echo '# exit if we are backing up to friends servers' >> /usr/bin/backupdatabases
6331
-               echo "if [ -f $FRIENDS_SERVERS_LIST ]; then" >> /usr/bin/backupdatabases
6332
-               echo '  exit 1' >> /usr/bin/backupdatabases
6333
-               echo 'fi' >> /usr/bin/backupdatabases
6334
-               chmod 600 /usr/bin/backupdatabases
6335
-               chmod +x /usr/bin/backupdatabases
6336
-
6337
-               echo '#!/bin/sh' > /etc/cron.daily/backupdatabasesdaily
6338
-               echo '/usr/bin/backupdatabases' >> /etc/cron.daily/backupdatabasesdaily
6339
-               chmod 600 /etc/cron.daily/backupdatabasesdaily
6340
-               chmod +x /etc/cron.daily/backupdatabasesdaily
6341
-
6342
-               # weekly
6343
-               echo '#!/bin/sh' > /etc/cron.weekly/backupdatabasesweekly
6344
-               echo '' >> /etc/cron.weekly/backupdatabasesweekly
6345
-               echo 'umask 0077' >> /etc/cron.weekly/backupdatabasesweekly
6346
-
6347
-               chmod 600 /etc/cron.weekly/backupdatabasesweekly
6348
-               chmod +x /etc/cron.weekly/backupdatabasesweekly
6349
-
6350
-               # monthly
6351
-               echo '#!/bin/sh' > /etc/cron.monthly/backupdatabasesmonthly
6352
-               echo '' >> /etc/cron.monthly/backupdatabasesmonthly
6353
-               echo 'umask 0077' >> /etc/cron.monthly/backupdatabasesmonthly
6354
-
6355
-               chmod 600 /etc/cron.monthly/backupdatabasesmonthly
6356
-               chmod +x /etc/cron.monthly/backupdatabasesmonthly
6357
-           fi
6358
-       }
6359
-
6360
-       function repair_databases_script {
6361
-           if [ -f /etc/cron.hourly/repair ]; then
6362
-               sed -i "s|/usr/bin/repairdatabase|${PROJECT_NAME}-repair-database|g" /etc/cron.hourly/repair
6363
-           fi
6364
-
6365
-           if grep -Fxq "repair_databases_script" $COMPLETION_FILE; then
6366
-               return
6367
-           fi
6368
-
6369
-           if [ ! -f $DATABASE_PASSWORD_FILE ]; then
6370
-               return
6371
-           fi
6372
-
6373
-           echo '#!/bin/bash' > /etc/cron.hourly/repair
6374
-           echo '' >> /etc/cron.hourly/repair
6375
-           chmod 600 /etc/cron.hourly/repair
6376
-           chmod +x /etc/cron.hourly/repair
6377
-
6378
-           echo 'repair_databases_script' >> $COMPLETION_FILE
6379
-}
6380
-
6381
-function install_owncloud_music_app {
6232
+    echo '        # Virtual Host Configs' >> /etc/nginx/nginx.conf
6233
+    echo '        ##' >> /etc/nginx/nginx.conf
6234
+    echo '' >> /etc/nginx/nginx.conf
6235
+    echo '        include /etc/nginx/conf.d/*.conf;' >> /etc/nginx/nginx.conf
6236
+    echo '        include /etc/nginx/sites-enabled/*;' >> /etc/nginx/nginx.conf
6237
+    echo '}' >> /etc/nginx/nginx.conf
6238
+
6239
+    # install a script to easily enable and disable nginx virtual hosts
6240
+    if [ ! -d $INSTALL_DIR ]; then
6241
+        mkdir $INSTALL_DIR
6242
+    fi
6243
+    cd $INSTALL_DIR
6244
+    git_clone $NGINX_ENSITE_REPO $INSTALL_DIR/nginx_ensite
6245
+    cd $INSTALL_DIR/nginx_ensite
6246
+    git checkout $NGINX_ENSITE_COMMIT -b $NGINX_ENSITE_COMMIT
6247
+    if ! grep -q "Nginx-ensite commit" $COMPLETION_FILE; then
6248
+        echo "Nginx-ensite commit:$NGINX_ENSITE_COMMIT" >> $COMPLETION_FILE
6249
+    else
6250
+        sed -i "s/Nginx-ensite commit.*/Nginx-ensite commit:$NGINX_ENSITE_COMMIT/g" $COMPLETION_FILE
6251
+    fi
6252
+
6253
+    make install
6254
+    nginx_dissite default
6255
+    echo 'install_web_server' >> $COMPLETION_FILE
6256
+}
6257
+
6258
+function install_web_server_access_control {
6259
+    if [ ! -f /etc/pam.d/nginx ]; then
6260
+        echo '#%PAM-1.0' > /etc/pam.d/nginx
6261
+        echo '@include common-auth' >> /etc/pam.d/nginx
6262
+        echo '@include common-account' >> /etc/pam.d/nginx
6263
+        echo '@include common-session' >> /etc/pam.d/nginx
6264
+    fi
6265
+}
6266
+
6267
+function configure_php {
6268
+    sed -i "s/memory_limit = 128M/memory_limit = ${MAX_PHP_MEMORY}M/g" /etc/php5/fpm/php.ini
6269
+    sed -i 's/;cgi.fix_pathinfo=1/cgi.fix_pathinfo=0/g' /etc/php5/fpm/php.ini
6270
+    sed -i "s/memory_limit = -1/memory_limit = ${MAX_PHP_MEMORY}M/g" /etc/php5/cli/php.ini
6271
+    sed -i "s/upload_max_filesize = 2M/upload_max_filesize = 50M/g" /etc/php5/fpm/php.ini
6272
+    sed -i "s/post_max_size = 8M/post_max_size = 50M/g" /etc/php5/fpm/php.ini
6273
+}
6274
+
6275
+function install_mariadb {
6276
+    if grep -Fxq "install_mariadb" $COMPLETION_FILE; then
6277
+        return
6278
+    fi
6279
+    apt-get -y install python-software-properties debconf-utils
6280
+    apt-get -y install software-properties-common
6281
+    apt-get -y update
6282
+
6283
+    get_mariadb_password
6284
+    if [ ! $MARIADB_PASSWORD ]; then
6285
+        if [ -f $IMAGE_PASSWORD_FILE ]; then
6286
+            MARIADB_PASSWORD="$(printf `cat $IMAGE_PASSWORD_FILE`)"
6287
+        else
6288
+            MARIADB_PASSWORD="$(openssl rand -base64 32)"
6289
+        fi
6290
+        echo "$MARIADB_PASSWORD" > $DATABASE_PASSWORD_FILE
6291
+        chmod 600 $DATABASE_PASSWORD_FILE
6292
+
6293
+        echo '' >> /home/$MY_USERNAME/README
6294
+        echo '' >> /home/$MY_USERNAME/README
6295
+        echo 'MariaDB / MySql' >> /home/$MY_USERNAME/README
6296
+        echo '===============' >> /home/$MY_USERNAME/README
6297
+        echo $"Your MariaDB password is: $MARIADB_PASSWORD" >> /home/$MY_USERNAME/README
6298
+        echo '' >> /home/$MY_USERNAME/README
6299
+        chown $MY_USERNAME:$MY_USERNAME /home/$MY_USERNAME/README
6300
+        chmod 600 /home/$MY_USERNAME/README
6301
+    fi
6302
+
6303
+    debconf-set-selections <<< "mariadb-server mariadb-server/root_password password $MARIADB_PASSWORD"
6304
+    debconf-set-selections <<< "mariadb-server mariadb-server/root_password_again password $MARIADB_PASSWORD"
6305
+    apt-get -y install mariadb-server
6306
+    apt-get -y remove --purge apache*
6307
+    if [ -d /etc/apache2 ]; then
6308
+        rm -rf /etc/apache2
6309
+        echo $'Removed Apache installation after MariaDB install'
6310
+    fi
6311
+
6312
+    if [ ! -d /etc/mysql ]; then
6313
+        echo $"ERROR: mariadb-server does not appear to have installed. $CHECK_MESSAGE"
6314
+        exit 54
6315
+    fi
6316
+
6317
+    mysqladmin -u root password "$MARIADB_PASSWORD"
6318
+    echo 'install_mariadb' >> $COMPLETION_FILE
6319
+}
6320
+
6321
+function backup_databases_script_header {
6322
+    if [ ! -f /usr/bin/backupdatabases ]; then
6323
+        # daily
6324
+        echo '#!/bin/sh' > /usr/bin/backupdatabases
6325
+        echo '' >> /usr/bin/backupdatabases
6326
+        echo "EMAIL='$MY_EMAIL_ADDRESS'" >> /usr/bin/backupdatabases
6327
+        echo '' >> /usr/bin/backupdatabases
6328
+        echo -n 'MYSQL_PASSWORD=$(cat ' >> /usr/bin/backupdatabases
6329
+        echo "$DATABASE_PASSWORD_FILE)" >> /usr/bin/backupdatabases
6330
+        echo 'umask 0077' >> /usr/bin/backupdatabases
6331
+        echo '' >> /usr/bin/backupdatabases
6332
+        echo '# exit if we are backing up to friends servers' >> /usr/bin/backupdatabases
6333
+        echo "if [ -f $FRIENDS_SERVERS_LIST ]; then" >> /usr/bin/backupdatabases
6334
+        echo '  exit 1' >> /usr/bin/backupdatabases
6335
+        echo 'fi' >> /usr/bin/backupdatabases
6336
+        chmod 600 /usr/bin/backupdatabases
6337
+        chmod +x /usr/bin/backupdatabases
6338
+
6339
+        echo '#!/bin/sh' > /etc/cron.daily/backupdatabasesdaily
6340
+        echo '/usr/bin/backupdatabases' >> /etc/cron.daily/backupdatabasesdaily
6341
+        chmod 600 /etc/cron.daily/backupdatabasesdaily
6342
+        chmod +x /etc/cron.daily/backupdatabasesdaily
6343
+
6344
+        # weekly
6345
+        echo '#!/bin/sh' > /etc/cron.weekly/backupdatabasesweekly
6346
+        echo '' >> /etc/cron.weekly/backupdatabasesweekly
6347
+        echo 'umask 0077' >> /etc/cron.weekly/backupdatabasesweekly
6348
+
6349
+        chmod 600 /etc/cron.weekly/backupdatabasesweekly
6350
+        chmod +x /etc/cron.weekly/backupdatabasesweekly
6351
+
6352
+        # monthly
6353
+        echo '#!/bin/sh' > /etc/cron.monthly/backupdatabasesmonthly
6354
+        echo '' >> /etc/cron.monthly/backupdatabasesmonthly
6355
+        echo 'umask 0077' >> /etc/cron.monthly/backupdatabasesmonthly
6356
+
6357
+        chmod 600 /etc/cron.monthly/backupdatabasesmonthly
6358
+        chmod +x /etc/cron.monthly/backupdatabasesmonthly
6359
+    fi
6360
+}
6361
+
6362
+function repair_databases_script {
6363
+    if [ -f /etc/cron.hourly/repair ]; then
6364
+        sed -i "s|/usr/bin/repairdatabase|${PROJECT_NAME}-repair-database|g" /etc/cron.hourly/repair
6365
+    fi
6366
+
6367
+    if grep -Fxq "repair_databases_script" $COMPLETION_FILE; then
6368
+        return
6369
+    fi
6370
+
6371
+    if [ ! -f $DATABASE_PASSWORD_FILE ]; then
6372
+        return
6373
+    fi
6374
+
6375
+    echo '#!/bin/bash' > /etc/cron.hourly/repair
6376
+    echo '' >> /etc/cron.hourly/repair
6377
+    chmod 600 /etc/cron.hourly/repair
6378
+    chmod +x /etc/cron.hourly/repair
6379
+
6380
+    echo 'repair_databases_script' >> $COMPLETION_FILE
6381
+}
6382
+
6383
+function install_owncloud_repo_music_app {
6382
     if [[ $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_MAILBOX" || $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_SOCIAL" || $SYSTEM_TYPE == "$VARIANT_MEDIA" || $SYSTEM_TYPE == "$VARIANT_DEVELOPER" || $SYSTEM_TYPE == "$VARIANT_MESH" ]]; then
6384
     if [[ $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_MAILBOX" || $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_SOCIAL" || $SYSTEM_TYPE == "$VARIANT_MEDIA" || $SYSTEM_TYPE == "$VARIANT_DEVELOPER" || $SYSTEM_TYPE == "$VARIANT_MESH" ]]; then
6383
         return
6385
         return
6384
     fi
6386
     fi
6385
 
6387
 
6386
-    if ! grep -Fxq "install_owncloud" $COMPLETION_FILE; then
6388
+    if ! grep -Fxq "install_owncloud_repo" $COMPLETION_FILE; then
6387
         echo $'Tried to install the Owncloud music app, but Owncloud installation was not found'
6389
         echo $'Tried to install the Owncloud music app, but Owncloud installation was not found'
6388
         exit 9823
6390
         exit 9823
6389
     fi
6391
     fi
6390
 
6392
 
6391
     # update to the next commit
6393
     # update to the next commit
6392
-    set_repo_commit /usr/share/owncloud/apps/music "Owncloud music app commit" "$OWNCLOUD_MUSIC_APP_COMMIT" $OWNCLOUD_MUSIC_APP_REPO
6394
+    set_repo_commit /var/www/${OWNCLOUD_DOMAIN_NAME}/htdocs/apps/music "Owncloud music app commit" "$OWNCLOUD_MUSIC_APP_COMMIT" $OWNCLOUD_MUSIC_APP_REPO
6393
 
6395
 
6394
-    if grep -Fxq "install_owncloud_music_app" $COMPLETION_FILE; then
6396
+    if grep -Fxq "install_owncloud_repo_music_app" $COMPLETION_FILE; then
6395
         return
6397
         return
6396
     fi
6398
     fi
6397
 
6399
 
6398
-    cd /usr/share/owncloud/apps
6400
+    cd /var/www/${OWNCLOUD_DOMAIN_NAME}/htdocs/apps
6399
     git_clone $OWNCLOUD_MUSIC_APP_REPO Music
6401
     git_clone $OWNCLOUD_MUSIC_APP_REPO Music
6400
-    cd /usr/share/owncloud/apps/Music
6402
+    cd /var/www/${OWNCLOUD_DOMAIN_NAME}/htdocs/apps/Music
6401
     git checkout $OWNCLOUD_MUSIC_APP_COMMIT -b $OWNCLOUD_MUSIC_APP_COMMIT
6403
     git checkout $OWNCLOUD_MUSIC_APP_COMMIT -b $OWNCLOUD_MUSIC_APP_COMMIT
6402
     if ! grep -q "Owncloud music app commit" $COMPLETION_FILE; then
6404
     if ! grep -q "Owncloud music app commit" $COMPLETION_FILE; then
6403
         echo "Owncloud music app commit:$OWNCLOUD_MUSIC_APP_COMMIT" >> $COMPLETION_FILE
6405
         echo "Owncloud music app commit:$OWNCLOUD_MUSIC_APP_COMMIT" >> $COMPLETION_FILE
6419
         chmod 600 /home/$MY_USERNAME/README
6421
         chmod 600 /home/$MY_USERNAME/README
6420
     fi
6422
     fi
6421
 
6423
 
6422
-    echo 'install_owncloud_music_app' >> $COMPLETION_FILE
6424
+    echo 'install_owncloud_repo_music_app' >> $COMPLETION_FILE
6423
 }
6425
 }
6424
 
6426
 
6425
 function add_ddns_domain {
6427
 function add_ddns_domain {
6462
     if [ ! $OWNCLOUD_DOMAIN_NAME ]; then
6464
     if [ ! $OWNCLOUD_DOMAIN_NAME ]; then
6463
         return
6465
         return
6464
     fi
6466
     fi
6465
-    if [ ! -f /etc/owncloud/config.php ]; then
6467
+    if [ ! -f /var/www/${OWNCLOUD_DOMAIN_NAME}/htdocs/config/config.php ]; then
6466
         return
6468
         return
6467
     fi
6469
     fi
6468
     if [ ! -f /var/lib/tor/hidden_service_owncloud/hostname ]; then
6470
     if [ ! -f /var/lib/tor/hidden_service_owncloud/hostname ]; then
6469
         return
6471
         return
6470
     fi
6472
     fi
6471
     OWNCLOUD_ONION_HOSTNAME=$(cat /var/lib/tor/hidden_service_owncloud/hostname)
6473
     OWNCLOUD_ONION_HOSTNAME=$(cat /var/lib/tor/hidden_service_owncloud/hostname)
6472
-    if ! grep -q "${OWNCLOUD_ONION_HOSTNAME}" /etc/owncloud/config.php; then
6474
+    if ! grep -q "${OWNCLOUD_ONION_HOSTNAME}" /var/www/${OWNCLOUD_DOMAIN_NAME}/htdocs/config/config.php; then
6473
         sed -i "s|0 => '${OWNCLOUD_DOMAIN_NAME}',|0 => '${OWNCLOUD_DOMAIN_NAME}',
6475
         sed -i "s|0 => '${OWNCLOUD_DOMAIN_NAME}',|0 => '${OWNCLOUD_DOMAIN_NAME}',
6474
-    1 => '${OWNCLOUD_ONION_HOSTNAME}',|g" /etc/owncloud/config.php
6476
+    1 => '${OWNCLOUD_ONION_HOSTNAME}',|g" /var/www/${OWNCLOUD_DOMAIN_NAME}/htdocs/config/config.php
6475
         sed -i "s|'writable' => false,|'writable' => false,
6477
         sed -i "s|'writable' => false,|'writable' => false,
6476
     ),
6478
     ),
6477
     1 =>
6479
     1 =>
6478
     array (
6480
     array (
6479
-      'path' => '/usr/share/owncloud/apps',
6481
+      'path' => '/var/www/${OWNCLOUD_DOMAIN_NAME}/htdocs/apps',
6480
       'url' => '/apps',
6482
       'url' => '/apps',
6481
-      'writable' => false,|g" /etc/owncloud/config.php
6483
+      'writable' => false,|g" /var/www/${OWNCLOUD_DOMAIN_NAME}/htdocs/config/config.php
6482
         echo $'Owncloud configured for onion site'
6484
         echo $'Owncloud configured for onion site'
6483
     fi
6485
     fi
6484
 }
6486
 }
6485
 
6487
 
6486
-function install_owncloud {
6487
-    if [[ $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_MAILBOX" || $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_SOCIAL" || $SYSTEM_TYPE == "$VARIANT_MEDIA" || $SYSTEM_TYPE == "$VARIANT_DEVELOPER" || $SYSTEM_TYPE == "$VARIANT_MESH" ]]; then
6488
+function upgrade_owncloud {
6489
+    # upgrades from the debian packaged version to a repo based version
6490
+    # The debian package for Owncloud is likely to be removed in future debian releases
6491
+    if [ ! -d /etc/owncloud ]; then
6488
         return
6492
         return
6489
     fi
6493
     fi
6490
-    OWNCLOUD_COMPLETION_MSG1=$" *** ${PROJECT_NAME} $SYSTEM_TYPE is now installed ***"
6491
-    OWNCLOUD_COMPLETION_MSG2=$"Open $OWNCLOUD_DOMAIN_NAME in a web browser to complete the setup"
6492
-    if grep -Fxq "install_owncloud" $COMPLETION_FILE; then
6493
-        if [[ $SYSTEM_TYPE == "$VARIANT_CLOUD" ]]; then
6494
-            install_owncloud_music_app
6495
-            backup_to_friends_servers
6496
-            intrusion_detection
6497
-            split_gpg_key_into_fragments
6498
-            # unmount any attached usb drive
6499
-            if [ -d $USB_MOUNT ]; then
6500
-                umount $USB_MOUNT
6501
-                rm -rf $USB_MOUNT
6502
-            fi
6503
-            echo ''
6504
-            echo "$OWNCLOUD_COMPLETION_MSG1"
6505
-            echo "$OWNCLOUD_COMPLETION_MSG2"
6506
-            exit 0
6494
+
6495
+    # create directories
6496
+    if [ ! -d /var/www/${OWNCLOUD_DOMAIN_NAME}/htdocs/data ]; then
6497
+        mkdir /var/www/${OWNCLOUD_DOMAIN_NAME}/htdocs/data
6498
+    fi
6499
+    if [ ! -d /var/www/${OWNCLOUD_DOMAIN_NAME}/htdocs/config ]; then
6500
+        mkdir /var/www/${OWNCLOUD_DOMAIN_NAME}/htdocs/config
6501
+    fi
6502
+
6503
+    # move the data
6504
+    if [ -d /var/lib/owncloud/data ]; then
6505
+        # copy users over
6506
+        cp -rf /var/lib/owncloud/data/* /var/www/${OWNCLOUD_DOMAIN_NAME}/htdocs/data/
6507
+        # set ownership to www-data
6508
+        chown -R www-data:www-data /var/www/${OWNCLOUD_DOMAIN_NAME}/htdocs/data
6509
+    fi
6510
+
6511
+    # move the config files
6512
+    if [ -d /etc/owncloud ]; then
6513
+        # copy users over
6514
+        cp -rf /etc/owncloud/* /var/www/${OWNCLOUD_DOMAIN_NAME}/htdocs/config/
6515
+        # set ownership to www-data
6516
+        chown -R www-data:www-data /var/www/${OWNCLOUD_DOMAIN_NAME}/htdocs/config
6517
+    fi
6518
+
6519
+    # re-index the files
6520
+    for d in /home/*/ ; do
6521
+        USRNAME=$(echo "$d" | awk -F '/' '{print $3}')
6522
+        if [[ $USRNAME != "git" && $USRNAME != "mirrors" ]]; then
6523
+            /var/www/${OWNCLOUD_DOMAIN_NAME}/htdocs/occ files:scan $USRNAME
6507
         fi
6524
         fi
6525
+    done
6526
+    
6527
+    # TODO enable this once upgrade is confirmed working
6528
+    #apt-get -y remove --purge owncloud
6529
+    #rm -rf /etc/owncloud
6530
+    #rm -rf /usr/share/owncloud
6531
+    #rm -rf /var/lib/owncloud
6532
+}
6533
+
6534
+function install_owncloud_from_repo {
6535
+    # new version not based on debian package
6536
+    if [[ $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_MAILBOX" || $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_SOCIAL" || $SYSTEM_TYPE == "$VARIANT_MEDIA" || $SYSTEM_TYPE == "$VARIANT_DEVELOPER" || $SYSTEM_TYPE == "$VARIANT_MESH" ]]; then
6508
         return
6537
         return
6509
     fi
6538
     fi
6510
     # if this is exclusively a cloud setup
6539
     # if this is exclusively a cloud setup
6524
             exit 6746
6553
             exit 6746
6525
         fi
6554
         fi
6526
     fi
6555
     fi
6556
+
6557
+    OWNCLOUD_PATH=/var/www/$OWNCLOUD_DOMAIN_NAME/htdocs
6558
+
6559
+    # was this previously installed from a package?
6560
+    WAS_INSTALLED_FROM_PACKAGE=
6561
+    if [ -d /etc/owncloud ]; then
6562
+        WAS_INSTALLED_FROM_PACKAGE='yes'
6563
+    fi
6564
+
6565
+    # update to a new commit if needed
6566
+    set_repo_commit $OWNCLOUD_PATH "Owncloud commit" "$OWNCLOUD_COMMIT" $OWNCLOUD_REPO
6567
+    
6568
+    OWNCLOUD_COMPLETION_MSG1=$" *** ${PROJECT_NAME} $SYSTEM_TYPE is now installed ***"
6569
+    OWNCLOUD_COMPLETION_MSG2=$"Open $OWNCLOUD_DOMAIN_NAME in a web browser to complete the setup"
6570
+    if grep -Fxq "install_owncloud_from_repo" $COMPLETION_FILE; then
6571
+        if [[ $SYSTEM_TYPE == "$VARIANT_CLOUD" ]]; then
6572
+            install_owncloud_repo_music_app
6573
+            backup_to_friends_servers
6574
+            intrusion_detection
6575
+            split_gpg_key_into_fragments
6576
+            # unmount any attached usb drive
6577
+            if [ -d $USB_MOUNT ]; then
6578
+                umount $USB_MOUNT
6579
+                rm -rf $USB_MOUNT
6580
+            fi
6581
+            echo ''
6582
+            echo "$OWNCLOUD_COMPLETION_MSG1"
6583
+            echo "$OWNCLOUD_COMPLETION_MSG2"
6584
+            exit 0
6585
+        fi
6586
+        return
6587
+    fi
6588
+
6527
     apt-get -y install fonts-linuxlibertine fonts-sil-gentium-basic fonts-way-microhei
6589
     apt-get -y install fonts-linuxlibertine fonts-sil-gentium-basic fonts-way-microhei
6528
     apt-get -y install libjs-twitter-bootstrap
6590
     apt-get -y install libjs-twitter-bootstrap
6529
-    apt-get -y install owncloud
6591
+
6592
+    # ensure that apache hasn't been inadvertantly installed
6530
     apt-get -y remove --purge apache*
6593
     apt-get -y remove --purge apache*
6531
     if [ -d /etc/apache2 ]; then
6594
     if [ -d /etc/apache2 ]; then
6532
         rm -rf /etc/apache2
6595
         rm -rf /etc/apache2
6533
         echo $'Removed Apache installation after Owncloud install'
6596
         echo $'Removed Apache installation after Owncloud install'
6534
     fi
6597
     fi
6598
+
6599
+    # create the directory where owncloud will live
6600
+    if [ ! -d /var/www/$OWNCLOUD_DOMAIN_NAME ]; then
6601
+        mkdir /var/www/$OWNCLOUD_DOMAIN_NAME
6602
+    fi
6603
+
6604
+    # clone the owncloud repo
6605
+    cd /var/www/$OWNCLOUD_DOMAIN_NAME
6606
+    if [ -d $OWNCLOUD_PATH ]; then
6607
+        if [ $WAS_INSTALLED_FROM_PACKAGE ]; then
6608
+            # remove the existing link to /usr/share/owncloud
6609
+            rm $OWNCLOUD_PATH
6610
+            if [ -d $OWNCLOUD_PATH ]; then
6611
+                echo $'Tried to unlink old owncloud, but link remains'
6612
+                exit 67248
6613
+            fi
6614
+        fi
6615
+    fi
6616
+    git_clone $OWNCLOUD_REPO $OWNCLOUD_PATH
6617
+    cd $OWNCLOUD_PATH
6618
+    git checkout $OWNCLOUD_COMMIT -b $OWNCLOUD_COMMIT
6619
+
6620
+    # record the current commit
6621
+    if ! grep -q "Owncloud commit" $COMPLETION_FILE; then
6622
+        echo "Owncloud commit:$OWNCLOUD_COMMIT" >> $COMPLETION_FILE
6623
+    else
6624
+        sed -i "s/Owncloud commit.*/Owncloud commit:$OWNCLOUD_COMMIT/g" $COMPLETION_FILE
6625
+    fi
6626
+    
6535
     install_mariadb
6627
     install_mariadb
6536
     get_mariadb_password
6628
     get_mariadb_password
6537
 
6629
 
6566
         chmod 600 /home/$MY_USERNAME/README
6658
         chmod 600 /home/$MY_USERNAME/README
6567
     fi
6659
     fi
6568
 
6660
 
6569
-    create_database owncloud "$OWNCLOUD_ADMIN_PASSWORD"
6570
-
6571
-    if [ ! -d /var/www/$OWNCLOUD_DOMAIN_NAME ]; then
6572
-        mkdir /var/www/$OWNCLOUD_DOMAIN_NAME
6573
-    fi
6574
-    if [ -d /var/www/$OWNCLOUD_DOMAIN_NAME/htdocs ]; then
6575
-        rm -rf /var/www/$OWNCLOUD_DOMAIN_NAME/htdocs
6661
+    if [ ! $WAS_INSTALLED_FROM_PACKAGE ]; then
6662
+        create_database owncloud "$OWNCLOUD_ADMIN_PASSWORD"
6576
     fi
6663
     fi
6577
 
6664
 
6578
-    ln -s /usr/share/owncloud /var/www/$OWNCLOUD_DOMAIN_NAME/htdocs
6579
-
6580
     if [[ $ONION_ONLY == "no" ]]; then
6665
     if [[ $ONION_ONLY == "no" ]]; then
6581
         nginx_http_redirect $OWNCLOUD_DOMAIN_NAME
6666
         nginx_http_redirect $OWNCLOUD_DOMAIN_NAME
6582
         echo 'server {' >> /etc/nginx/sites-available/$OWNCLOUD_DOMAIN_NAME
6667
         echo 'server {' >> /etc/nginx/sites-available/$OWNCLOUD_DOMAIN_NAME
6583
         echo '    listen 443 ssl;' >> /etc/nginx/sites-available/$OWNCLOUD_DOMAIN_NAME
6668
         echo '    listen 443 ssl;' >> /etc/nginx/sites-available/$OWNCLOUD_DOMAIN_NAME
6584
-        echo "    root /var/www/$OWNCLOUD_DOMAIN_NAME/htdocs;" >> /etc/nginx/sites-available/$OWNCLOUD_DOMAIN_NAME
6669
+        echo "    root $OWNCLOUD_PATH;" >> /etc/nginx/sites-available/$OWNCLOUD_DOMAIN_NAME
6585
         echo "    server_name $OWNCLOUD_DOMAIN_NAME;" >> /etc/nginx/sites-available/$OWNCLOUD_DOMAIN_NAME
6670
         echo "    server_name $OWNCLOUD_DOMAIN_NAME;" >> /etc/nginx/sites-available/$OWNCLOUD_DOMAIN_NAME
6586
         echo '    access_log off;' >> /etc/nginx/sites-available/$OWNCLOUD_DOMAIN_NAME
6671
         echo '    access_log off;' >> /etc/nginx/sites-available/$OWNCLOUD_DOMAIN_NAME
6587
         echo "    error_log /var/log/nginx/${OWNCLOUD_DOMAIN_NAME}_error.log $WEBSERVER_LOG_LEVEL;" >> /etc/nginx/sites-available/$OWNCLOUD_DOMAIN_NAME
6672
         echo "    error_log /var/log/nginx/${OWNCLOUD_DOMAIN_NAME}_error.log $WEBSERVER_LOG_LEVEL;" >> /etc/nginx/sites-available/$OWNCLOUD_DOMAIN_NAME
6654
     fi
6739
     fi
6655
     echo 'server {' >> /etc/nginx/sites-available/$OWNCLOUD_DOMAIN_NAME
6740
     echo 'server {' >> /etc/nginx/sites-available/$OWNCLOUD_DOMAIN_NAME
6656
     echo "    listen 127.0.0.1:${OWNCLOUD_ONION_PORT} default_server;" >> /etc/nginx/sites-available/$OWNCLOUD_DOMAIN_NAME
6741
     echo "    listen 127.0.0.1:${OWNCLOUD_ONION_PORT} default_server;" >> /etc/nginx/sites-available/$OWNCLOUD_DOMAIN_NAME
6657
-    echo "    root /var/www/$OWNCLOUD_DOMAIN_NAME/htdocs;" >> /etc/nginx/sites-available/$OWNCLOUD_DOMAIN_NAME
6742
+    echo "    root $OWNCLOUD_PATH;" >> /etc/nginx/sites-available/$OWNCLOUD_DOMAIN_NAME
6658
     echo "    server_name $OWNCLOUD_DOMAIN_NAME;" >> /etc/nginx/sites-available/$OWNCLOUD_DOMAIN_NAME
6743
     echo "    server_name $OWNCLOUD_DOMAIN_NAME;" >> /etc/nginx/sites-available/$OWNCLOUD_DOMAIN_NAME
6659
     echo '    access_log off;' >> /etc/nginx/sites-available/$OWNCLOUD_DOMAIN_NAME
6744
     echo '    access_log off;' >> /etc/nginx/sites-available/$OWNCLOUD_DOMAIN_NAME
6660
     echo "    error_log /var/log/nginx/${OWNCLOUD_DOMAIN_NAME}_error.log $WEBSERVER_LOG_LEVEL;" >> /etc/nginx/sites-available/$OWNCLOUD_DOMAIN_NAME
6745
     echo "    error_log /var/log/nginx/${OWNCLOUD_DOMAIN_NAME}_error.log $WEBSERVER_LOG_LEVEL;" >> /etc/nginx/sites-available/$OWNCLOUD_DOMAIN_NAME
6752
         chown $MY_USERNAME:$MY_USERNAME /home/$MY_USERNAME/README
6837
         chown $MY_USERNAME:$MY_USERNAME /home/$MY_USERNAME/README
6753
         chmod 600 /home/$MY_USERNAME/README
6838
         chmod 600 /home/$MY_USERNAME/README
6754
     fi
6839
     fi
6755
-    echo "Owncloud onion domain:${OWNCLOUD_ONION_HOSTNAME}" >> $COMPLETION_FILE
6840
+    if ! grep -q "Owncloud onion domain" $COMPLETION_FILE; then
6841
+        echo "Owncloud onion domain:${OWNCLOUD_ONION_HOSTNAME}" >> $COMPLETION_FILE
6842
+    fi
6756
 
6843
 
6757
     # update the dynamic DNS
6844
     # update the dynamic DNS
6758
     CURRENT_DDNS_DOMAIN=$OWNCLOUD_DOMAIN_NAME
6845
     CURRENT_DDNS_DOMAIN=$OWNCLOUD_DOMAIN_NAME
6759
     add_ddns_domain
6846
     add_ddns_domain
6760
 
6847
 
6761
-    echo "Owncloud domain:$OWNCLOUD_DOMAIN_NAME" >> $COMPLETION_FILE
6762
-    echo 'install_owncloud' >> $COMPLETION_FILE
6848
+    if ! grep -q "Owncloud domain" $COMPLETION_FILE; then
6849
+        echo "Owncloud domain:$OWNCLOUD_DOMAIN_NAME" >> $COMPLETION_FILE
6850
+    fi
6851
+
6852
+    echo 'install_owncloud_from_repo' >> $COMPLETION_FILE
6763
 
6853
 
6764
     if [[ $SYSTEM_TYPE == "$VARIANT_CLOUD" ]]; then
6854
     if [[ $SYSTEM_TYPE == "$VARIANT_CLOUD" ]]; then
6765
-        install_owncloud_music_app
6855
+        install_owncloud_repo_music_app
6766
         backup_to_friends_servers
6856
         backup_to_friends_servers
6767
         intrusion_detection
6857
         intrusion_detection
6768
         split_gpg_key_into_fragments
6858
         split_gpg_key_into_fragments
10737
 install_web_server
10827
 install_web_server
10738
 install_web_server_access_control
10828
 install_web_server_access_control
10739
 configure_firewall_for_web_server
10829
 configure_firewall_for_web_server
10740
-install_owncloud
10741
-install_owncloud_music_app
10830
+install_owncloud_from_repo
10831
+upgrade_owncloud
10832
+install_owncloud_repo_music_app
10742
 configure_owncloud_onion_site
10833
 configure_owncloud_onion_site
10743
 upgrade_golang
10834
 upgrade_golang
10744
 install_gogs
10835
 install_gogs

+ 23
- 22
src/freedombone-adduser Vedi File

276
     fi
276
     fi
277
 fi
277
 fi
278
 
278
 
279
-#if grep -q "install_owncloud" $COMPLETION_FILE; then
280
-#    export OC_PASS="$NEW_USER_PASSWORD"
281
-#    occ user:add --password-from-env --display-name="$MY_USERNAME" --group="users" $MY_USERNAME
282
-#    if [ ! "$?" = "0" ]; then
283
-#        echo 'Owncloud user could not be added'
284
-#        if grep -q "install_xmpp" $COMPLETION_FILE; then
285
-#            ${PROJECT_NAME}-rmxmpp -e "$MY_USERNAME@$HOSTNAME"
286
-#        fi
287
-#        if grep -q "Blog domain" $COMPLETION_FILE; then
288
-#            if [ -f /var/www/$FULLBLOG_DOMAIN_NAME/htdocs/config/users/$MY_USERNAME.ini ]; then
289
-#                rm /var/www/$FULLBLOG_DOMAIN_NAME/htdocs/config/users/$MY_USERNAME.ini
290
-#            fi
291
-#        fi
292
-#        if grep -q "install_sip" $COMPLETION_FILE; then
293
-#            ${PROJECT_NAME}-rmsipuser $MY_USERNAME
294
-#        fi
295
-#        userdel -r $MY_USERNAME
296
-#        export OC_PASS=""
297
-#        exit 11
298
-#    fi
299
-#    export OC_PASS=""
300
-#fi
279
+if grep -q "install_owncloud_repo" $COMPLETION_FILE; then
280
+    export OC_PASS="$NEW_USER_PASSWORD"
281
+    OWNCLOUD_DOMAIN_NAME=$(cat $COMPLETION_FILE | grep "Owncloud domain" | awk -F ':' '{print $2}')
282
+    /var/www/${OWNCLOUD_DOMAIN_NAME}/htdocs/occ user:add --password-from-env --display-name="$MY_USERNAME" --group="users" $MY_USERNAME
283
+    if [ ! "$?" = "0" ]; then
284
+        echo 'Owncloud user could not be added'
285
+        if grep -q "install_xmpp" $COMPLETION_FILE; then
286
+            ${PROJECT_NAME}-rmxmpp -e "$MY_USERNAME@$HOSTNAME"
287
+        fi
288
+        if grep -q "Blog domain" $COMPLETION_FILE; then
289
+            if [ -f /var/www/$FULLBLOG_DOMAIN_NAME/htdocs/config/users/$MY_USERNAME.ini ]; then
290
+                rm /var/www/$FULLBLOG_DOMAIN_NAME/htdocs/config/users/$MY_USERNAME.ini
291
+            fi
292
+        fi
293
+        if grep -q "install_sip" $COMPLETION_FILE; then
294
+            ${PROJECT_NAME}-rmsipuser $MY_USERNAME
295
+        fi
296
+        userdel -r $MY_USERNAME
297
+        export OC_PASS=""
298
+        exit 11
299
+    fi
300
+    export OC_PASS=""
301
+fi
301
 
302
 
302
 if grep -q "install_irc_client" $COMPLETION_FILE; then
303
 if grep -q "install_irc_client" $COMPLETION_FILE; then
303
     IRC_PORT=6697
304
     IRC_PORT=6697

+ 27
- 27
src/freedombone-backup-local Vedi File

182
         mkdir -p /root/temp${1}data
182
         mkdir -p /root/temp${1}data
183
     fi
183
     fi
184
     echo $"Obtaining ${1} database backup"
184
     echo $"Obtaining ${1} database backup"
185
-    mysqldump --password="$DATABASE_PASSWORD" ${1} > /root/temp${1}data/${1}.sql
185
+    mysqldump --lock-tables --password="$DATABASE_PASSWORD" ${1} > /root/temp${1}data/${1}.sql
186
     if [ ! -s /root/temp${1}data/${1}.sql ]; then
186
     if [ ! -s /root/temp${1}data/${1}.sql ]; then
187
         echo $"${1} database could not be saved"
187
         echo $"${1} database could not be saved"
188
         shred -zu /root/temp${1}data/*
188
         shred -zu /root/temp${1}data/*
363
         "none,                               none,       /etc/nginx/sites-available,                      web"
363
         "none,                               none,       /etc/nginx/sites-available,                      web"
364
         "none,                               none,       /home/$ADMIN_USERNAME/.ipfs,                     ipfs"
364
         "none,                               none,       /home/$ADMIN_USERNAME/.ipfs,                     ipfs"
365
         "none,                               none,       /var/cache/minidlna,                             dlna"
365
         "none,                               none,       /var/cache/minidlna,                             dlna"
366
-        "/etc/owncloud,                      owncloud,   /root/tempownclouddata,                          ownclouddata"
367
-        "none,                               none,       /var/lib/owncloud,                               owncloud"
368
-        "none,                               none,       /etc/owncloud,                                   owncloud2"
369
         "/home/git/go/src/github.com/gogits, gogs,       /root/tempgogsdata,                              gogsdata"
366
         "/home/git/go/src/github.com/gogits, gogs,       /root/tempgogsdata,                              gogsdata"
370
         "none,                               none,       /home/git/go/src/github.com/gogits/gogs/custom,  gogs"
367
         "none,                               none,       /home/git/go/src/github.com/gogits/gogs/custom,  gogs"
371
         "none,                               none,       /home/git/gogs-repositories,                     gogsrepos"
368
         "none,                               none,       /home/git/gogs-repositories,                     gogsrepos"
373
         "none,                               none,       /var/lib/tox-bootstrapd,                         tox"
370
         "none,                               none,       /var/lib/tox-bootstrapd,                         tox"
374
         "/var/www/${MICROBLOG_DOMAIN_NAME},  gnusocial,  /root/tempgnusocialdata,                         gnusocialdata"
371
         "/var/www/${MICROBLOG_DOMAIN_NAME},  gnusocial,  /root/tempgnusocialdata,                         gnusocialdata"
375
         "none,                               none,       /var/www/${MICROBLOG_DOMAIN_NAME}/htdocs,        gnusocial"
372
         "none,                               none,       /var/www/${MICROBLOG_DOMAIN_NAME}/htdocs,        gnusocial"
373
+        "/var/www/${OWNCLOUD_DOMAIN_NAME},   owncloud,   /root/tempowncloudrepodata,                      owncloudrepodata"
374
+        "none,                               none,       /var/www/${OWNCLOUD_DOMAIN_NAME}/htdocs/data,    owncloudrepofiles"
375
+        "none,                               none,       /var/www/${OWNCLOUD_DOMAIN_NAME}/htdocs/config,  owncloudrepoconfig"
376
         "/var/www/${HUBZILLA_DOMAIN_NAME},   hubzilla,   /root/temphubzilladata,                          hubzilladata"
376
         "/var/www/${HUBZILLA_DOMAIN_NAME},   hubzilla,   /root/temphubzilladata,                          hubzilladata"
377
         "none,                               none,       /var/www/${HUBZILLA_DOMAIN_NAME}/htdocs,         hubzilla"
377
         "none,                               none,       /var/www/${HUBZILLA_DOMAIN_NAME}/htdocs,         hubzilla"
378
         "none,                               none,       /var/www/${FULLBLOG_DOMAIN_NAME}/htdocs,         blog"
378
         "none,                               none,       /var/www/${FULLBLOG_DOMAIN_NAME}/htdocs,         blog"
493
         if [ ! -d /root/tempmariadb ]; then
493
         if [ ! -d /root/tempmariadb ]; then
494
             mkdir /root/tempmariadb
494
             mkdir /root/tempmariadb
495
         fi
495
         fi
496
-        mysqldump --password="$DATABASE_PASSWORD" mysql user > /root/tempmariadb/mysql.sql
496
+        mysqldump --lock-tables --password="$DATABASE_PASSWORD" mysql user > /root/tempmariadb/mysql.sql
497
         if [ ! -s /root/tempmariadb/mysql.sql ]; then
497
         if [ ! -s /root/tempmariadb/mysql.sql ]; then
498
             echo $"Unable to backup mysql settings"
498
             echo $"Unable to backup mysql settings"
499
             rm -rf /root/tempmariadb
499
             rm -rf /root/tempmariadb
512
     is_valid="yes"
512
     is_valid="yes"
513
 
513
 
514
     if [[ "$destination_dir" == "hubzilla" || \
514
     if [[ "$destination_dir" == "hubzilla" || \
515
-				"$destination_dir" == "hubzilladata" || \
516
-				"$destination_dir" == "gogs" || \
517
-				"$destination_dir" == "gogsrepos" || \
518
-				"$destination_dir" == "gogsssh" || \
519
-				"$destination_dir" == "gnusocial" || \
520
-				"$destination_dir" == "gnusocialdata" || \
521
-				"$destination_dir" == "mariadb" || \
522
-				"$destination_dir" == "config" || \
523
-				"$destination_dir" == "letsencrypt" || \
524
-				"$destination_dir" == "wiki" || \
525
-				"$destination_dir" == "wiki2" || \
526
-				"$destination_dir" == "xmpp" || \
527
-				"$destination_dir" == "ipfs" || \
528
-				"$destination_dir" == "dlna" || \
529
-				"$destination_dir" == "tox" || \
530
-				"$destination_dir" == "ssl" || \
531
-				"$destination_dir" == "ttrss" || \
532
-				"$destination_dir" == "blog" || \
533
-				"$destination_dir" == "owncloud" || \
534
-				"$destination_dir" == "owncloud2" || \
535
-				"$destination_dir" == "ownclouddata" || \
536
-				"$destination_dir" == "mailinglist" ]]; then
515
+                "$destination_dir" == "hubzilladata" || \
516
+                "$destination_dir" == "gogs" || \
517
+                "$destination_dir" == "gogsrepos" || \
518
+                "$destination_dir" == "gogsssh" || \
519
+                "$destination_dir" == "gnusocial" || \
520
+                "$destination_dir" == "gnusocialdata" || \
521
+                "$destination_dir" == "mariadb" || \
522
+                "$destination_dir" == "config" || \
523
+                "$destination_dir" == "letsencrypt" || \
524
+                "$destination_dir" == "wiki" || \
525
+                "$destination_dir" == "wiki2" || \
526
+                "$destination_dir" == "xmpp" || \
527
+                "$destination_dir" == "ipfs" || \
528
+                "$destination_dir" == "dlna" || \
529
+                "$destination_dir" == "tox" || \
530
+                "$destination_dir" == "ssl" || \
531
+                "$destination_dir" == "ttrss" || \
532
+                "$destination_dir" == "blog" || \
533
+                "$destination_dir" == "owncloudrepofiles" || \
534
+                "$destination_dir" == "owncloudrepoconfig" || \
535
+                "$destination_dir" == "owncloudrepodata" || \
536
+                "$destination_dir" == "mailinglist" ]]; then
537
         is_valid="no"
537
         is_valid="no"
538
     fi
538
     fi
539
 
539
 

+ 8
- 7
src/freedombone-backup-remote Vedi File

330
     if [ -d /etc/owncloud ]; then
330
     if [ -d /etc/owncloud ]; then
331
         OWNCLOUD_DOMAIN_NAME=$(cat $COMPLETION_FILE | grep "Owncloud domain" | awk -F ':' '{print $2}')
331
         OWNCLOUD_DOMAIN_NAME=$(cat $COMPLETION_FILE | grep "Owncloud domain" | awk -F ':' '{print $2}')
332
         suspend_site ${OWNCLOUD_DOMAIN_NAME}
332
         suspend_site ${OWNCLOUD_DOMAIN_NAME}
333
-        backup_database_to_friend owncloud
334
-        backup_directory_to_friend /root/tempownclouddata ownclouddata
333
+        backup_database_to_friend owncloudrepo
334
+        backup_directory_to_friend /root/tempowncloudrepodata owncloudrepodata
335
         echo $"Backing up Owncloud data"
335
         echo $"Backing up Owncloud data"
336
-        backup_directory_to_friend /var/lib/owncloud owncloud
337
-        backup_directory_to_friend /etc/owncloud owncloud2
336
+        if [ -d /var/www/${OWNCLOUD_DOMAIN_NAME}/htdocs/data ]; then
337
+            backup_directory_to_friend /var/www/${OWNCLOUD_DOMAIN_NAME}/htdocs/data owncloudrepofiles
338
+        fi
339
+        backup_directory_to_friend /var/www/${OWNCLOUD_DOMAIN_NAME}/htdocs/config owncloudrepoconfig
338
         restart_site
340
         restart_site
339
     fi
341
     fi
340
 }
342
 }
554
                 "$destination_dir" == "tox" || \
556
                 "$destination_dir" == "tox" || \
555
                 "$destination_dir" == "ssl" || \
557
                 "$destination_dir" == "ssl" || \
556
                 "$destination_dir" == "blog" || \
558
                 "$destination_dir" == "blog" || \
557
-                "$destination_dir" == "owncloud" || \
558
-                "$destination_dir" == "owncloud2" || \
559
-                "$destination_dir" == "ownclouddata" || \
559
+                "$destination_dir" == "owncloudrepo" || \
560
+                "$destination_dir" == "owncloudrepodata" || \
560
                 "$destination_dir" == "mailinglist" ]]; then
561
                 "$destination_dir" == "mailinglist" ]]; then
561
         is_valid="no"
562
         is_valid="no"
562
     fi
563
     fi

+ 25
- 16
src/freedombone-restore-local Vedi File

826
         fi
826
         fi
827
     fi
827
     fi
828
     if [ $OWNCLOUD_DOMAIN_NAME ]; then
828
     if [ $OWNCLOUD_DOMAIN_NAME ]; then
829
-        restore_database owncloud $OWNCLOUD_DOMAIN_NAME
830
-        if [ -d $USB_MOUNT/backup/owncloud2 ]; then
831
-            restore_directory_from_usb /root/tempowncloud2 owncloud2
832
-            cp -r /root/tempowncloud2/etc/owncloud/* /etc/owncloud/
829
+        restore_database owncloudrepo $OWNCLOUD_DOMAIN_NAME
830
+
831
+        if [ -d $USB_MOUNT/backup/owncloudrepofiles ]; then
832
+            restore_directory_from_usb /root/tempowncloudrepofiles owncloudrepofiles
833
+            cp -r /root/tempowncloudrepofiles/* /
833
             if [ ! "$?" = "0" ]; then
834
             if [ ! "$?" = "0" ]; then
834
                 unmount_drive
835
                 unmount_drive
835
                 exit 982
836
                 exit 982
836
             fi
837
             fi
837
-            rm -rf /root/tempowncloud
838
-            rm -rf /root/tempowncloud2
839
-            chown -R www-data:www-data /var/lib/owncloud/data
840
-            chown -R www-data:www-data /var/lib/owncloud/backup
841
-            chown -R www-data:www-data /var/lib/owncloud/assets
842
-            for d in /home/*/ ; do
843
-                USERNAME=$(echo "$d" | awk -F '/' '{print $3}')
844
-                if [[ $USERNAME != "git" && $USRNAME != "mirrors" ]]; then
845
-                    occ files:scan $USERNAME
846
-                fi
847
-            done
848
-            ln -s /usr/share/owncloud /var/www/${OWNCLOUD_DOMAIN_NAME}/htdocs
838
+            rm -rf /root/tempowncloudrepofiles
839
+        fi
840
+
841
+        if [ -d $USB_MOUNT/backup/owncloudrepoconfig ]; then
842
+            restore_directory_from_usb /root/tempowncloudrepoconfig owncloudrepoconfig
843
+            cp -r /root/tempowncloudrepoconfig/* /
844
+            if [ ! "$?" = "0" ]; then
845
+                unmount_drive
846
+                exit 7825
847
+            fi
848
+            rm -rf /root/tempowncloudrepoconfig
849
         fi
849
         fi
850
+
851
+        # re-index the files
852
+        chown -R www-data:www-data /var/www/${OWNCLOUD_DOMAIN_NAME}/htdocs
853
+        for d in /home/*/ ; do
854
+            USERNAME=$(echo "$d" | awk -F '/' '{print $3}')
855
+            if [[ $USERNAME != "git" && $USRNAME != "mirrors" ]]; then
856
+                /var/www/${OWNCLOUD_DOMAIN_NAME}/htdocs/occ files:scan $USERNAME
857
+            fi
858
+        done
850
     fi
859
     fi
851
 }
860
 }
852
 
861
 

+ 23
- 19
src/freedombone-restore-remote Vedi File

701
     fi
701
     fi
702
     if grep -q "Owncloud domain" $COMPLETION_FILE; then
702
     if grep -q "Owncloud domain" $COMPLETION_FILE; then
703
         OWNCLOUD_DOMAIN_NAME=$(cat $COMPLETION_FILE | grep "Owncloud domain" | awk -F ':' '{print $2}')
703
         OWNCLOUD_DOMAIN_NAME=$(cat $COMPLETION_FILE | grep "Owncloud domain" | awk -F ':' '{print $2}')
704
-        restore_database_from_friend owncloud $OWNCLOUD_DOMAIN_NAME
705
-        if [ -d $SERVER_DIRECTORY/backup/owncloud ]; then
704
+        restore_database_from_friend owncloudrepo $OWNCLOUD_DOMAIN_NAME
705
+
706
+        if [ -d $SERVER_DIRECTORY/backup/owncloudrepofiles ]; then
706
             echo $"Restoring Owncloud installation"
707
             echo $"Restoring Owncloud installation"
707
-            cp -r /root/tempowncloud/var/lib/owncloud/* /var/lib/owncloud/
708
+            cp -r /root/tempowncloudrepofiles/* /
708
             if [ ! "$?" = "0" ]; then
709
             if [ ! "$?" = "0" ]; then
709
-                exit 981
710
+                exit 1458
710
             fi
711
             fi
711
-            restore_directory_from_friend /root/tempowncloud2 owncloud2
712
-            cp -r /root/tempowncloud2/etc/owncloud/* /etc/owncloud/
712
+            rm -rf /root/tempowncloudrepofiles
713
+        fi
714
+
715
+        if [ -d $SERVER_DIRECTORY/backup/owncloudrepoconfig ]; then
716
+            echo $"Restoring Owncloud installation"
717
+            cp -r /root/tempowncloudrepoconfig/* /
713
             if [ ! "$?" = "0" ]; then
718
             if [ ! "$?" = "0" ]; then
714
-                exit 982
719
+                exit 2571
715
             fi
720
             fi
716
-            rm -rf /root/tempowncloud
717
-            rm -rf /root/tempowncloud2
718
-            chown -R www-data:www-data /var/lib/owncloud/data
719
-            chown -R www-data:www-data /var/lib/owncloud/backup
720
-            chown -R www-data:www-data /var/lib/owncloud/assets
721
-            for d in /home/*/ ; do
722
-                USERNAME=$(echo "$d" | awk -F '/' '{print $3}')
723
-                if [[ $USERNAME != "git" && $USRNAME != "mirrors" ]]; then
724
-                    occ files:scan $USERNAME
725
-                fi
726
-            done
727
-            ln -s /usr/share/owncloud /var/www/${OWNCLOUD_DOMAIN_NAME}/htdocs
721
+            rm -rf /root/tempowncloudrepoconfig
728
         fi
722
         fi
723
+        
724
+        chown -R www-data:www-data /var/www/${OWNCLOUD_DOMAIN_NAME}/htdocs
725
+
726
+        # re-index files
727
+        for d in /home/*/ ; do
728
+            USERNAME=$(echo "$d" | awk -F '/' '{print $3}')
729
+            if [[ $USERNAME != "git" && $USRNAME != "mirrors" ]]; then
730
+                /var/www/${OWNCLOUD_DOMAIN_NAME}/htdocs/occ files:scan $USERNAME
731
+            fi
732
+        done
729
     fi
733
     fi
730
 }
734
 }
731
 
735
 

+ 4
- 3
src/freedombone-rmuser Vedi File

110
     fi
110
     fi
111
 fi
111
 fi
112
 
112
 
113
-#if grep -q "install_owncloud" $COMPLETION_FILE; then
114
-#    occ user:delete $MY_USERNAME
115
-#fi
113
+if grep -q "install_owncloud_repo" $COMPLETION_FILE; then
114
+    OWNCLOUD_DOMAIN_NAME=$(cat $COMPLETION_FILE | grep "Owncloud domain" | awk -F ':' '{print $2}')
115
+    /var/www/${OWNCLOUD_DOMAIN_NAME}/htdocs/occ user:delete $MY_USERNAME
116
+fi
116
 
117
 
117
 userdel -r $MY_USERNAME
118
 userdel -r $MY_USERNAME
118
 
119