Bob Mottram 9 лет назад
Родитель
Сommit
7b68fa1847
1 измененных файлов: 566 добавлений и 20 удалений
  1. 566
    20
      src/freedombone

+ 566
- 20
src/freedombone Просмотреть файл

154
 REDMATRIX_ADDONS_REPO="https://github.com/redmatrix/redmatrix-addons.git"
154
 REDMATRIX_ADDONS_REPO="https://github.com/redmatrix/redmatrix-addons.git"
155
 REDMATRIX_ADMIN_PASSWORD=
155
 REDMATRIX_ADMIN_PASSWORD=
156
 
156
 
157
+# Domain name for hubzilla installation
158
+HUBZILLA_DOMAIN_NAME=
159
+HUBZILLA_CODE=
160
+HUBZILLA_REPO="https://github.com/redmatrix/hubzilla.git"
161
+HUBZILLA_ADDONS_REPO="https://github.com/redmatrix/hubzilla-addons.git"
162
+HUBZILLA_ADMIN_PASSWORD=
163
+
157
 # Domain name for git hosting installation
164
 # Domain name for git hosting installation
158
 GIT_DOMAIN_NAME=
165
 GIT_DOMAIN_NAME=
159
 GIT_CODE=
166
 GIT_CODE=
439
   echo '     --blogdomain       Blog domain name'
446
   echo '     --blogdomain       Blog domain name'
440
   echo '     --ownclouddomain   Owncloud domain name'
447
   echo '     --ownclouddomain   Owncloud domain name'
441
   echo '     --redmatrixdomain  Redmatrix domain name'
448
   echo '     --redmatrixdomain  Redmatrix domain name'
449
+  echo '     --hubzilladomain   Hubzilla domain name'
442
   echo '     --gitdomain        Git hosting domain name'
450
   echo '     --gitdomain        Git hosting domain name'
443
   echo '  -t --time             Domain used as a TLS time source'
451
   echo '  -t --time             Domain used as a TLS time source'
444
   echo '     --ssh              ssh port number'
452
   echo '     --ssh              ssh port number'
591
     shift
599
     shift
592
     REDMATRIX_DOMAIN_NAME="$1"
600
     REDMATRIX_DOMAIN_NAME="$1"
593
     ;;
601
     ;;
602
+    # hubzilla domain name
603
+    --hubzilladomain)
604
+    shift
605
+    HUBZILLA_DOMAIN_NAME="$1"
606
+    ;;
594
     # git hosting domain name
607
     # git hosting domain name
595
     --gitdomain)
608
     --gitdomain)
596
     shift
609
     shift
979
       if grep -q "REDMATRIX_CODE" $CONFIGURATION_FILE; then
992
       if grep -q "REDMATRIX_CODE" $CONFIGURATION_FILE; then
980
           REDMATRIX_CODE=$(grep "REDMATRIX_CODE" $CONFIGURATION_FILE | awk -F '=' '{print $2}')
993
           REDMATRIX_CODE=$(grep "REDMATRIX_CODE" $CONFIGURATION_FILE | awk -F '=' '{print $2}')
981
       fi
994
       fi
995
+      if grep -q "HUBZILLA_DOMAIN_NAME" $CONFIGURATION_FILE; then
996
+          HUBZILLA_DOMAIN_NAME=$(grep "HUBZILLA_DOMAIN_NAME" $CONFIGURATION_FILE | awk -F '=' '{print $2}')
997
+      fi
998
+      if grep -q "HUBZILLA_CODE" $CONFIGURATION_FILE; then
999
+          HUBZILLA_CODE=$(grep "HUBZILLA_CODE" $CONFIGURATION_FILE | awk -F '=' '{print $2}')
1000
+      fi
982
       if grep -q "OWNCLOUD_DOMAIN_NAME" $CONFIGURATION_FILE; then
1001
       if grep -q "OWNCLOUD_DOMAIN_NAME" $CONFIGURATION_FILE; then
983
           OWNCLOUD_DOMAIN_NAME=$(grep "OWNCLOUD_DOMAIN_NAME" $CONFIGURATION_FILE | awk -F '=' '{print $2}')
1002
           OWNCLOUD_DOMAIN_NAME=$(grep "OWNCLOUD_DOMAIN_NAME" $CONFIGURATION_FILE | awk -F '=' '{print $2}')
984
       fi
1003
       fi
1047
   if [ $WIKI_DOMAIN_NAME ]; then
1066
   if [ $WIKI_DOMAIN_NAME ]; then
1048
       test_domain_name "$WIKI_DOMAIN_NAME"
1067
       test_domain_name "$WIKI_DOMAIN_NAME"
1049
 
1068
 
1050
-      if [[ "$WIKI_DOMAIN_NAME" == "$OWNCLOUD_DOMAIN_NAME" ]]; then
1069
+      if [[ "$test_domain_name" == "$OWNCLOUD_DOMAIN_NAME" ]]; then
1051
           echo 'Wiki domain name is the same as Owncloud domain name. They must be different'
1070
           echo 'Wiki domain name is the same as Owncloud domain name. They must be different'
1052
           exit 73863
1071
           exit 73863
1053
       fi
1072
       fi
1054
-      if [[ "$WIKI_DOMAIN_NAME" == "$FULLBLOG_DOMAIN_NAME" ]]; then
1073
+      if [[ "$test_domain_name" == "$FULLBLOG_DOMAIN_NAME" ]]; then
1055
           echo 'Wiki domain name is the same as blog domain name. They must be different'
1074
           echo 'Wiki domain name is the same as blog domain name. They must be different'
1056
           exit 97326
1075
           exit 97326
1057
       fi
1076
       fi
1058
-      if [[ "$WIKI_DOMAIN_NAME" == "$MICROBLOG_DOMAIN_NAME" ]]; then
1077
+      if [[ "$test_domain_name" == "$MICROBLOG_DOMAIN_NAME" ]]; then
1059
           echo 'Wiki domain name is the same as microblog domain name. They must be different'
1078
           echo 'Wiki domain name is the same as microblog domain name. They must be different'
1060
           exit 36827
1079
           exit 36827
1061
       fi
1080
       fi
1062
-      if [[ "$WIKI_DOMAIN_NAME" == "$REDMATRIX_DOMAIN_NAME" ]]; then
1081
+      if [[ "$test_domain_name" == "$REDMATRIX_DOMAIN_NAME" ]]; then
1063
           echo 'Wiki domain name is the same as redmatrix domain name. They must be different'
1082
           echo 'Wiki domain name is the same as redmatrix domain name. They must be different'
1064
           exit 93637
1083
           exit 93637
1065
       fi
1084
       fi
1085
+      if [[ "$test_domain_name" == "$HUBZILLA_DOMAIN_NAME" ]]; then
1086
+          echo 'Wiki domain name is the same as hubzilla domain name. They must be different'
1087
+          exit 65848
1088
+      fi
1066
   fi
1089
   fi
1067
 
1090
 
1068
   if [ $OWNCLOUD_DOMAIN_NAME ]; then
1091
   if [ $OWNCLOUD_DOMAIN_NAME ]; then
1069
       test_domain_name "$OWNCLOUD_DOMAIN_NAME"
1092
       test_domain_name "$OWNCLOUD_DOMAIN_NAME"
1070
 
1093
 
1071
-      if [[ "$OWNCLOUD_DOMAIN_NAME" == "$WIKI_DOMAIN_NAME" ]]; then
1094
+      if [[ "$test_domain_name" == "$WIKI_DOMAIN_NAME" ]]; then
1072
           echo 'Owncloud domain name is the same as wiki domain name. They must be different'
1095
           echo 'Owncloud domain name is the same as wiki domain name. They must be different'
1073
           exit 37994
1096
           exit 37994
1074
       fi
1097
       fi
1075
-      if [[ "$OWNCLOUD_DOMAIN_NAME" == "$FULLBLOG_DOMAIN_NAME" ]]; then
1098
+      if [[ "$test_domain_name" == "$FULLBLOG_DOMAIN_NAME" ]]; then
1076
           echo 'Owncloud domain name is the same as blog domain name. They must be different'
1099
           echo 'Owncloud domain name is the same as blog domain name. They must be different'
1077
           exit 37936
1100
           exit 37936
1078
       fi
1101
       fi
1079
-      if [[ "$OWNCLOUD_DOMAIN_NAME" == "$MICROBLOG_DOMAIN_NAME" ]]; then
1102
+      if [[ "$test_domain_name" == "$MICROBLOG_DOMAIN_NAME" ]]; then
1080
           echo 'Owncloud domain name is the same as microblog domain name. They must be different'
1103
           echo 'Owncloud domain name is the same as microblog domain name. They must be different'
1081
           exit 36896
1104
           exit 36896
1082
       fi
1105
       fi
1083
-      if [[ "$OWNCLOUD_DOMAIN_NAME" == "$REDMATRIX_DOMAIN_NAME" ]]; then
1106
+      if [[ "$test_domain_name" == "$REDMATRIX_DOMAIN_NAME" ]]; then
1084
           echo 'Owncloud domain name is the same as redmatrix domain name. They must be different'
1107
           echo 'Owncloud domain name is the same as redmatrix domain name. They must be different'
1085
           exit 79362
1108
           exit 79362
1086
       fi
1109
       fi
1110
+      if [[ "$test_domain_name" == "$HUBZILLA_DOMAIN_NAME" ]]; then
1111
+          echo 'Owncloud domain name is the same as hubzilla domain name. They must be different'
1112
+          exit 68365
1113
+      fi
1087
   fi
1114
   fi
1088
 
1115
 
1089
   if [ $FULLBLOG_DOMAIN_NAME ]; then
1116
   if [ $FULLBLOG_DOMAIN_NAME ]; then
1090
       test_domain_name "$FULLBLOG_DOMAIN_NAME"
1117
       test_domain_name "$FULLBLOG_DOMAIN_NAME"
1091
 
1118
 
1092
-      if [[ "$FULLBLOG_DOMAIN_NAME" == "$WIKI_DOMAIN_NAME" ]]; then
1119
+      if [[ "$test_domain_name" == "$WIKI_DOMAIN_NAME" ]]; then
1093
           echo 'Blog domain name is the same as wiki domain name. They must be different'
1120
           echo 'Blog domain name is the same as wiki domain name. They must be different'
1094
           exit 62348
1121
           exit 62348
1095
       fi
1122
       fi
1096
-      if [[ "$FULLBLOG_DOMAIN_NAME" == "$OWNCLOUD_DOMAIN_NAME" ]]; then
1123
+      if [[ "$test_domain_name" == "$OWNCLOUD_DOMAIN_NAME" ]]; then
1097
           echo 'Blog domain name is the same as Owncloud domain name. They must be different'
1124
           echo 'Blog domain name is the same as Owncloud domain name. They must be different'
1098
           exit 84682
1125
           exit 84682
1099
       fi
1126
       fi
1100
-      if [[ "$FULLBLOG_DOMAIN_NAME" == "$MICROBLOG_DOMAIN_NAME" ]]; then
1127
+      if [[ "$test_domain_name" == "$MICROBLOG_DOMAIN_NAME" ]]; then
1101
           echo 'Blog domain name is the same as microblog domain name. They must be different'
1128
           echo 'Blog domain name is the same as microblog domain name. They must be different'
1102
           exit 38236
1129
           exit 38236
1103
       fi
1130
       fi
1104
-      if [[ "$FULLBLOG_DOMAIN_NAME" == "$REDMATRIX_DOMAIN_NAME" ]]; then
1131
+      if [[ "$test_domain_name" == "$REDMATRIX_DOMAIN_NAME" ]]; then
1105
           echo 'Blog domain name is the same as redmatrix domain name. They must be different'
1132
           echo 'Blog domain name is the same as redmatrix domain name. They must be different'
1106
           exit 36813
1133
           exit 36813
1107
       fi
1134
       fi
1135
+      if [[ "$test_domain_name" == "$HUBZILLA_DOMAIN_NAME" ]]; then
1136
+          echo 'Blog domain name is the same as hubzilla domain name. They must be different'
1137
+          exit 35483
1138
+      fi
1108
   fi
1139
   fi
1109
 
1140
 
1110
   if [ $MICROBLOG_DOMAIN_NAME ]; then
1141
   if [ $MICROBLOG_DOMAIN_NAME ]; then
1111
       test_domain_name "$MICROBLOG_DOMAIN_NAME"
1142
       test_domain_name "$MICROBLOG_DOMAIN_NAME"
1112
 
1143
 
1113
-      if [[ "$MICROBLOG_DOMAIN_NAME" == "$WIKI_DOMAIN_NAME" ]]; then
1144
+      if [[ "$test_domain_name" == "$WIKI_DOMAIN_NAME" ]]; then
1114
           echo 'Microblog domain name is the same as wiki domain name. They must be different'
1145
           echo 'Microblog domain name is the same as wiki domain name. They must be different'
1115
           exit 73924
1146
           exit 73924
1116
       fi
1147
       fi
1117
-      if [[ "$MICROBLOG_DOMAIN_NAME" == "$OWNCLOUD_DOMAIN_NAME" ]]; then
1148
+      if [[ "$test_domain_name" == "$OWNCLOUD_DOMAIN_NAME" ]]; then
1118
           echo 'Microblog domain name is the same as Owncloud domain name. They must be different'
1149
           echo 'Microblog domain name is the same as Owncloud domain name. They must be different'
1119
           exit 73683
1150
           exit 73683
1120
       fi
1151
       fi
1121
-      if [[ "$MICROBLOG_DOMAIN_NAME" == "$FULLBLOG_DOMAIN_NAME" ]]; then
1152
+      if [[ "$test_domain_name" == "$FULLBLOG_DOMAIN_NAME" ]]; then
1122
           echo 'Microblog domain name is the same as blog domain name. They must be different'
1153
           echo 'Microblog domain name is the same as blog domain name. They must be different'
1123
           exit 26832
1154
           exit 26832
1124
       fi
1155
       fi
1125
-      if [[ "$MICROBLOG_DOMAIN_NAME" == "$REDMATRIX_DOMAIN_NAME" ]]; then
1156
+      if [[ "$test_domain_name" == "$REDMATRIX_DOMAIN_NAME" ]]; then
1126
           echo 'Microblog domain name is the same as redmatrix domain name. They must be different'
1157
           echo 'Microblog domain name is the same as redmatrix domain name. They must be different'
1127
           exit 36373
1158
           exit 36373
1128
       fi
1159
       fi
1160
+      if [[ "$test_domain_name" == "$HUBZILLA_DOMAIN_NAME" ]]; then
1161
+          echo 'Microblog domain name is the same as hubzilla domain name. They must be different'
1162
+          exit 678382
1163
+      fi
1129
   fi
1164
   fi
1130
 
1165
 
1131
   if [ $REDMATRIX_DOMAIN_NAME ]; then
1166
   if [ $REDMATRIX_DOMAIN_NAME ]; then
1132
       test_domain_name "$REDMATRIX_DOMAIN_NAME"
1167
       test_domain_name "$REDMATRIX_DOMAIN_NAME"
1133
 
1168
 
1134
-      if [[ "$REDMATRIX_DOMAIN_NAME" == "$WIKI_DOMAIN_NAME" ]]; then
1169
+      if [[ "$test_domain_name" == "$WIKI_DOMAIN_NAME" ]]; then
1170
+          echo 'RedMatrix domain name is the same as wiki domain name. They must be different'
1171
+          exit 83682
1172
+      fi
1173
+      if [[ "$test_domain_name" == "$OWNCLOUD_DOMAIN_NAME" ]]; then
1174
+          echo 'RedMatrix domain name is the same as Owncloud domain name. They must be different'
1175
+          exit 65192
1176
+      fi
1177
+      if [[ "$test_domain_name" == "$FULLBLOG_DOMAIN_NAME" ]]; then
1178
+          echo 'RedMatrix domain name is the same as blog domain name. They must be different'
1179
+          exit 74817
1180
+      fi
1181
+      if [[ "$test_domain_name" == "$MICROBLOG_DOMAIN_NAME" ]]; then
1182
+          echo 'RedMatrix domain name is the same as microblog domain name. They must be different'
1183
+          exit 83683
1184
+      fi
1185
+      if [[ "$test_domain_name" == "$HUBZILLA_DOMAIN_NAME" ]]; then
1186
+          echo 'RedMatrix domain name is the same as hubzilla domain name. They must be different'
1187
+          exit 82672
1188
+      fi
1189
+  fi
1190
+
1191
+  if [ $HUBZILLA_DOMAIN_NAME ]; then
1192
+      test_domain_name "$HUBZILLA_DOMAIN_NAME"
1193
+
1194
+      if [[ "$test_domain_name" == "$WIKI_DOMAIN_NAME" ]]; then
1135
           echo 'RedMatrix domain name is the same as wiki domain name. They must be different'
1195
           echo 'RedMatrix domain name is the same as wiki domain name. They must be different'
1136
           exit 83682
1196
           exit 83682
1137
       fi
1197
       fi
1138
-      if [[ "$REDMATRIX_DOMAIN_NAME" == "$OWNCLOUD_DOMAIN_NAME" ]]; then
1198
+      if [[ "$test_domain_name" == "$OWNCLOUD_DOMAIN_NAME" ]]; then
1139
           echo 'RedMatrix domain name is the same as Owncloud domain name. They must be different'
1199
           echo 'RedMatrix domain name is the same as Owncloud domain name. They must be different'
1140
           exit 65192
1200
           exit 65192
1141
       fi
1201
       fi
1142
-      if [[ "$REDMATRIX_DOMAIN_NAME" == "$FULLBLOG_DOMAIN_NAME" ]]; then
1202
+      if [[ "$test_domain_name" == "$FULLBLOG_DOMAIN_NAME" ]]; then
1143
           echo 'RedMatrix domain name is the same as blog domain name. They must be different'
1203
           echo 'RedMatrix domain name is the same as blog domain name. They must be different'
1144
           exit 74817
1204
           exit 74817
1145
       fi
1205
       fi
1146
-      if [[ "$REDMATRIX_DOMAIN_NAME" == "$MICROBLOG_DOMAIN_NAME" ]]; then
1206
+      if [[ "$test_domain_name" == "$MICROBLOG_DOMAIN_NAME" ]]; then
1147
           echo 'RedMatrix domain name is the same as microblog domain name. They must be different'
1207
           echo 'RedMatrix domain name is the same as microblog domain name. They must be different'
1148
           exit 83683
1208
           exit 83683
1149
       fi
1209
       fi
1210
+      if [[ "$test_domain_name" == "$REDMATRIX_DOMAIN_NAME" ]]; then
1211
+          echo 'RedMatrix domain name is the same as redmatrix domain name. They must be different'
1212
+          exit 82672
1213
+      fi
1150
   fi
1214
   fi
1151
 }
1215
 }
1152
 
1216
 
2404
   fi
2468
   fi
2405
 }
2469
 }
2406
 
2470
 
2471
+function get_mariadb_hubzilla_admin_password {
2472
+  if [ -f /home/$MY_USERNAME/README ]; then
2473
+      if grep -q "MariaDB Hubzilla admin password" /home/$MY_USERNAME/README; then
2474
+          HUBZILLA_ADMIN_PASSWORD=$(cat /home/$MY_USERNAME/README | grep "MariaDB Hubzilla admin password" | awk -F ':' '{print $2}' | sed 's/^ *//')
2475
+      fi
2476
+  fi
2477
+}
2478
+
2407
 function get_mariadb_owncloud_admin_password {
2479
 function get_mariadb_owncloud_admin_password {
2408
   if [ -f /home/$MY_USERNAME/README ]; then
2480
   if [ -f /home/$MY_USERNAME/README ]; then
2409
       if grep -q "Owncloud database password" /home/$MY_USERNAME/README; then
2481
       if grep -q "Owncloud database password" /home/$MY_USERNAME/README; then
2422
   get_mariadb_password
2494
   get_mariadb_password
2423
   get_mariadb_gnusocial_admin_password
2495
   get_mariadb_gnusocial_admin_password
2424
   get_mariadb_redmatrix_admin_password
2496
   get_mariadb_redmatrix_admin_password
2497
+  get_mariadb_hubzilla_admin_password
2425
   get_mariadb_owncloud_admin_password
2498
   get_mariadb_owncloud_admin_password
2426
   get_mariadb_git_admin_password
2499
   get_mariadb_git_admin_password
2427
 
2500
 
2574
       echo 'fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
2647
       echo 'fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
2575
       echo '' >> /usr/bin/$BACKUP_SCRIPT_NAME
2648
       echo '' >> /usr/bin/$BACKUP_SCRIPT_NAME
2576
   fi
2649
   fi
2650
+  if grep -Fxq "install_hubzilla" $COMPLETION_FILE; then
2651
+      BACKUP_INCLUDES_DATABASES="yes"
2652
+      echo "if [ ! -d $USB_MOUNT/backup/hubzilla ]; then" >> /usr/bin/$BACKUP_SCRIPT_NAME
2653
+      echo "  mkdir -p $USB_MOUNT/backup/hubzilla" >> /usr/bin/$BACKUP_SCRIPT_NAME
2654
+      echo 'fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
2655
+      echo "if [ ! -d $USB_MOUNT/backup/hubzilladata ]; then" >> /usr/bin/$BACKUP_SCRIPT_NAME
2656
+      echo "  mkdir -p $USB_MOUNT/backup/hubzilladata" >> /usr/bin/$BACKUP_SCRIPT_NAME
2657
+      echo 'fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
2658
+      echo "if [ ! -d /root/temphubzilladata ]; then" >> /usr/bin/$BACKUP_SCRIPT_NAME
2659
+      echo "  mkdir -p /root/temphubzilladata" >> /usr/bin/$BACKUP_SCRIPT_NAME
2660
+      echo 'fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
2661
+      echo 'echo "Obtaining Red Matrix database backup"' >> /usr/bin/$BACKUP_SCRIPT_NAME
2662
+      echo 'mysqldump --password=$DATABASE_PASSWORD hubzilla > /root/temphubzilladata/hubzilla.sql' >> /usr/bin/$BACKUP_SCRIPT_NAME
2663
+      echo "if [ ! -s /root/temphubzilladata/hubzilla.sql ]; then" >> /usr/bin/$BACKUP_SCRIPT_NAME
2664
+      echo '  echo "Red Matrix database could not be saved"' >> /usr/bin/$BACKUP_SCRIPT_NAME
2665
+      echo '  if [ ! $DATABASE_PASSWORD ]; then' >> /usr/bin/$BACKUP_SCRIPT_NAME
2666
+      echo "    echo 'No MariaDB password was given'" >> /usr/bin/$BACKUP_SCRIPT_NAME
2667
+      echo "  fi" >> /usr/bin/$BACKUP_SCRIPT_NAME
2668
+      echo '  shred -zu /root/temphubzilladata/*' >> /usr/bin/$BACKUP_SCRIPT_NAME
2669
+      echo '  rm -rf /root/temphubzilladata' >> /usr/bin/$BACKUP_SCRIPT_NAME
2670
+      echo "  umount $USB_MOUNT" >> /usr/bin/$BACKUP_SCRIPT_NAME
2671
+      echo "  rm -rf $USB_MOUNT" >> /usr/bin/$BACKUP_SCRIPT_NAME
2672
+      echo '  exit 378' >> /usr/bin/$BACKUP_SCRIPT_NAME
2673
+      echo "fi" >> /usr/bin/$BACKUP_SCRIPT_NAME
2674
+      echo "rsyncrypto -v -r /root/temphubzilladata $USB_MOUNT/backup/hubzilladata $USB_MOUNT/backup/hubzilladata.keys $BACKUP_CERTIFICATE" >> /usr/bin/$BACKUP_SCRIPT_NAME
2675
+      echo 'if [ ! "$?" = "0" ]; then' >> /usr/bin/$BACKUP_SCRIPT_NAME
2676
+      echo "  umount $USB_MOUNT" >> /usr/bin/$BACKUP_SCRIPT_NAME
2677
+      echo "  rm -rf $USB_MOUNT" >> /usr/bin/$BACKUP_SCRIPT_NAME
2678
+      echo '   exit 285' >> /usr/bin/$BACKUP_SCRIPT_NAME
2679
+      echo 'fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
2680
+      echo 'shred -zu /root/temphubzilladata/*' >> /usr/bin/$BACKUP_SCRIPT_NAME
2681
+      echo 'rm -rf /root/temphubzilladata' >> /usr/bin/$BACKUP_SCRIPT_NAME
2682
+      echo 'echo "Backing up Red Matrix installation"' >> /usr/bin/$BACKUP_SCRIPT_NAME
2683
+      echo "rsyncrypto -v -r /var/www/$HUBZILLA_DOMAIN_NAME/htdocs $USB_MOUNT/backup/hubzilla $USB_MOUNT/backup/hubzilla.keys $BACKUP_CERTIFICATE" >> /usr/bin/$BACKUP_SCRIPT_NAME
2684
+      echo 'if [ ! "$?" = "0" ]; then' >> /usr/bin/$BACKUP_SCRIPT_NAME
2685
+      echo "  umount $USB_MOUNT" >> /usr/bin/$BACKUP_SCRIPT_NAME
2686
+      echo "  rm -rf $USB_MOUNT" >> /usr/bin/$BACKUP_SCRIPT_NAME
2687
+      echo '   exit 593' >> /usr/bin/$BACKUP_SCRIPT_NAME
2688
+      echo 'fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
2689
+      echo '' >> /usr/bin/$BACKUP_SCRIPT_NAME
2690
+  fi
2577
   if grep -Fxq "install_owncloud" $COMPLETION_FILE; then
2691
   if grep -Fxq "install_owncloud" $COMPLETION_FILE; then
2578
       BACKUP_INCLUDES_DATABASES="yes"
2692
       BACKUP_INCLUDES_DATABASES="yes"
2579
       echo "if [ ! -d $USB_MOUNT/backup/owncloud ]; then" >> /usr/bin/$BACKUP_SCRIPT_NAME
2693
       echo "if [ ! -d $USB_MOUNT/backup/owncloud ]; then" >> /usr/bin/$BACKUP_SCRIPT_NAME
3081
   get_mariadb_password
3195
   get_mariadb_password
3082
   get_mariadb_gnusocial_admin_password
3196
   get_mariadb_gnusocial_admin_password
3083
   get_mariadb_redmatrix_admin_password
3197
   get_mariadb_redmatrix_admin_password
3198
+  get_mariadb_hubzilla_admin_password
3084
   get_mariadb_owncloud_admin_password
3199
   get_mariadb_owncloud_admin_password
3085
   get_mariadb_git_admin_password
3200
   get_mariadb_git_admin_password
3086
 
3201
 
3496
       echo 'fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
3611
       echo 'fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
3497
       echo '' >> /usr/bin/$RESTORE_SCRIPT_NAME
3612
       echo '' >> /usr/bin/$RESTORE_SCRIPT_NAME
3498
   fi
3613
   fi
3614
+  if grep -Fxq "install_hubzilla" $COMPLETION_FILE; then
3615
+      BACKUP_INCLUDES_WEBSITES="yes"
3616
+      echo "if [ -d $USB_MOUNT/backup/hubzilla ]; then" >> /usr/bin/$RESTORE_SCRIPT_NAME
3617
+      echo '  echo "Restoring Red Matrix database"' >> /usr/bin/$RESTORE_SCRIPT_NAME
3618
+      echo '  if [ ! -d /root/temphubzilladata ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
3619
+      echo '    mkdir /root/temphubzilladata' >> /usr/bin/$RESTORE_SCRIPT_NAME
3620
+      echo '  fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
3621
+      echo "  rsyncrypto -v -d -r $USB_MOUNT/backup/hubzilladata /root/temphubzilladata $USB_MOUNT/backup/hubzilladata.keys $BACKUP_CERTIFICATE" >> /usr/bin/$RESTORE_SCRIPT_NAME
3622
+      echo '  if [ ! -f /root/temphubzilladata/usb/backup/hubzilladata/temphubzilladata/hubzilla.sql ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
3623
+      echo '    echo "Unable to restore Red Matrix database"' >> /usr/bin/$RESTORE_SCRIPT_NAME
3624
+      echo '    rm -rf /root/temphubzilladata' >> /usr/bin/$RESTORE_SCRIPT_NAME
3625
+      echo "    umount $USB_MOUNT" >> /usr/bin/$RESTORE_SCRIPT_NAME
3626
+      echo "    rm -rf $USB_MOUNT" >> /usr/bin/$RESTORE_SCRIPT_NAME
3627
+      echo '    exit 504' >> /usr/bin/$RESTORE_SCRIPT_NAME
3628
+      echo '  fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
3629
+      echo '  mysqlsuccess=$(mysql -u root --password=$DATABASE_PASSWORD hubzilla -o < /root/temphubzilladata/usb/backup/hubzilladata/temphubzilladata/hubzilla.sql)' >> /usr/bin/$RESTORE_SCRIPT_NAME
3630
+      echo '  if [ ! "$?" = "0" ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
3631
+      echo '    echo "$mysqlsuccess"' >> /usr/bin/$RESTORE_SCRIPT_NAME
3632
+      echo "    umount $USB_MOUNT" >> /usr/bin/$RESTORE_SCRIPT_NAME
3633
+      echo "    rm -rf $USB_MOUNT" >> /usr/bin/$RESTORE_SCRIPT_NAME
3634
+      echo '    exit 965' >> /usr/bin/$RESTORE_SCRIPT_NAME
3635
+      echo '  fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
3636
+      echo '  shred -zu /root/temphubzilladata/usb/backup/hubzilladata/temphubzilladata/*' >> /usr/bin/$RESTORE_SCRIPT_NAME
3637
+      echo '  rm -rf /root/temphubzilladata' >> /usr/bin/$RESTORE_SCRIPT_NAME
3638
+      echo '  echo "Restoring Red Matrix installation"' >> /usr/bin/$RESTORE_SCRIPT_NAME
3639
+      echo '  if [ ! -d /root/temphubzilla ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
3640
+      echo '    mkdir /root/temphubzilla' >> /usr/bin/$RESTORE_SCRIPT_NAME
3641
+      echo '  fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
3642
+      echo "  rsyncrypto -v -d -r $USB_MOUNT/backup/hubzilla /root/temphubzilla $USB_MOUNT/backup/hubzilla.keys $BACKUP_CERTIFICATE" >> /usr/bin/$RESTORE_SCRIPT_NAME
3643
+      echo "  rm -rf /var/www/$HUBZILLA_DOMAIN_NAME/htdocs" >> /usr/bin/$RESTORE_SCRIPT_NAME
3644
+      echo '  if [ ! "$?" = "0" ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
3645
+      echo "    cp -r /root/temphubzilla/usb/backup/hubzilla/www/$HUBZILLA_DOMAIN_NAME/htdocs/* /var/www/$HUBZILLA_DOMAIN_NAME/htdocs/" >> /usr/bin/$RESTORE_SCRIPT_NAME
3646
+      echo '  else' >> /usr/bin/$RESTORE_SCRIPT_NAME
3647
+      echo "    mv /root/temphubzilla/usb/backup/hubzilla/www/$HUBZILLA_DOMAIN_NAME/htdocs /var/www/$HUBZILLA_DOMAIN_NAME/" >> /usr/bin/$RESTORE_SCRIPT_NAME
3648
+      echo '  fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
3649
+      echo '  if [ ! "$?" = "0" ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
3650
+      echo "    umount $USB_MOUNT" >> /usr/bin/$RESTORE_SCRIPT_NAME
3651
+      echo "    rm -rf $USB_MOUNT" >> /usr/bin/$RESTORE_SCRIPT_NAME
3652
+      echo '    exit 759' >> /usr/bin/$RESTORE_SCRIPT_NAME
3653
+      echo '  fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
3654
+      echo '  rm -rf /root/temphubzilla' >> /usr/bin/$RESTORE_SCRIPT_NAME
3655
+      echo '  # Ensure that the bundled SSL cert is being used' >> /usr/bin/$RESTORE_SCRIPT_NAME
3656
+      echo "  if [ -f /etc/ssl/certs/$HUBZILLA_DOMAIN_NAME.bundle.crt ]; then" >> /usr/bin/$RESTORE_SCRIPT_NAME
3657
+      echo "    sed -i 's|$HUBZILLA_DOMAIN_NAME.crt|$HUBZILLA_DOMAIN_NAME.bundle.crt|g' /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME" >> /usr/bin/$RESTORE_SCRIPT_NAME
3658
+      echo '  fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
3659
+      echo "  chmod 777 /var/www/$HUBZILLA_DOMAIN_NAME/htdocs/store/[data]/smarty3" >> /usr/bin/$RESTORE_SCRIPT_NAME
3660
+      echo "  chown -R www-data:www-data /var/www/$HUBZILLA_DOMAIN_NAME/htdocs/*" >> /usr/bin/$RESTORE_SCRIPT_NAME
3661
+      echo 'fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
3662
+      echo '' >> /usr/bin/$RESTORE_SCRIPT_NAME
3663
+  fi
3499
 
3664
 
3500
   if grep -Fxq "install_owncloud" $COMPLETION_FILE; then
3665
   if grep -Fxq "install_owncloud" $COMPLETION_FILE; then
3501
       BACKUP_INCLUDES_WEBSITES="yes"
3666
       BACKUP_INCLUDES_WEBSITES="yes"
3842
           echo "$FREEDNS_WGET$REDMATRIX_CODE=" >> /usr/bin/dynamicdns
4007
           echo "$FREEDNS_WGET$REDMATRIX_CODE=" >> /usr/bin/dynamicdns
3843
       fi
4008
       fi
3844
   fi
4009
   fi
4010
+  if [ $HUBZILLA_CODE ]; then
4011
+      if [[ $HUBZILLA_CODE != "$DEFAULT_DOMAIN_CODE" ]]; then
4012
+          echo "# $HUBZILLA_DOMAIN_NAME" >> /usr/bin/dynamicdns
4013
+          echo "$FREEDNS_WGET$HUBZILLA_CODE=" >> /usr/bin/dynamicdns
4014
+      fi
4015
+  fi
3845
   if [ $OWNCLOUD_CODE ]; then
4016
   if [ $OWNCLOUD_CODE ]; then
3846
       if [[ $OWNCLOUD_CODE != "$DEFAULT_DOMAIN_CODE" ]]; then
4017
       if [[ $OWNCLOUD_CODE != "$DEFAULT_DOMAIN_CODE" ]]; then
3847
           echo "# $OWNCLOUD_DOMAIN_NAME" >> /usr/bin/dynamicdns
4018
           echo "# $OWNCLOUD_DOMAIN_NAME" >> /usr/bin/dynamicdns
3891
   get_mariadb_password
4062
   get_mariadb_password
3892
   get_mariadb_gnusocial_admin_password
4063
   get_mariadb_gnusocial_admin_password
3893
   get_mariadb_redmatrix_admin_password
4064
   get_mariadb_redmatrix_admin_password
4065
+  get_mariadb_hubzilla_admin_password
3894
   get_mariadb_owncloud_admin_password
4066
   get_mariadb_owncloud_admin_password
3895
   get_mariadb_git_admin_password
4067
   get_mariadb_git_admin_password
3896
 
4068
 
4044
       echo 'fi' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4216
       echo 'fi' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4045
       echo '' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4217
       echo '' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4046
   fi
4218
   fi
4219
+  if grep -Fxq "install_hubzilla" $COMPLETION_FILE; then
4220
+      BACKUP_INCLUDES_DATABASES="yes"
4221
+      echo 'if [ ! -d $SERVER_DIRECTORY/backup/hubzilla ]; then' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4222
+      echo '  mkdir -p $SERVER_DIRECTORY/backup/hubzilla' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4223
+      echo 'fi' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4224
+      echo 'if [ ! -d $SERVER_DIRECTORY/backup/hubzilladata ]; then' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4225
+      echo '  mkdir -p $SERVER_DIRECTORY/backup/hubzilladata' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4226
+      echo 'fi' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4227
+      echo "if [ ! -d /root/temphubzilladata ]; then" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4228
+      echo "  mkdir -p /root/temphubzilladata" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4229
+      echo 'fi' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4230
+      echo 'echo "Obtaining Red Matrix database backup"' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4231
+      echo 'mysqldump --password=$DATABASE_PASSWORD hubzilla > /root/temphubzilladata/hubzilla.sql' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4232
+      echo "if [ ! -s /root/temphubzilladata/hubzilla.sql ]; then" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4233
+      echo '  echo "Red Matrix database could not be saved"' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4234
+      echo '  if [ ! $DATABASE_PASSWORD ]; then' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4235
+      echo "    echo 'No MariaDB password was given'" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4236
+      echo "  fi" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4237
+      echo '  # Send a warning email' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4238
+      echo -n '  echo "Unable to export hubzilla database" | mail -s "Freedombone backup to friends" ' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4239
+      echo "$MY_EMAIL_ADDRESS" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4240
+      echo '  exit 378' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4241
+      echo "fi" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4242
+      echo -n 'rsyncrypto -v -r /root/temphubzilladata $SERVER_DIRECTORY/backup/hubzilladata $SERVER_DIRECTORY/backup/hubzilladata.keys ' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4243
+      echo "$BACKUP_CERTIFICATE" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4244
+      echo 'if [ ! "$?" = "0" ]; then' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4245
+      echo '  shred -zu /root/temphubzilladata/*' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4246
+      echo '  rm -rf /root/temphubzilladata' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4247
+      echo '  # Send a warning email' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4248
+      echo -n '  echo "Unable to encrypt hubzilla database" | mail -s "Freedombone backup to friends" ' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4249
+      echo "$MY_EMAIL_ADDRESS" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4250
+      echo '  exit 285' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4251
+      echo 'fi' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4252
+      echo 'shred -zu /root/temphubzilladata/*' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4253
+      echo 'rm -rf /root/temphubzilladata' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4254
+      echo 'echo "Backing up Red Matrix installation"' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4255
+      echo -n "rsyncrypto -v -r /var/www/$HUBZILLA_DOMAIN_NAME/htdocs " >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4256
+      echo -n '$SERVER_DIRECTORY/backup/hubzilla $SERVER_DIRECTORY/backup/hubzilla.keys ' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4257
+      echo "$BACKUP_CERTIFICATE" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4258
+      echo 'if [ ! "$?" = "0" ]; then' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4259
+      echo '  # Send a warning email' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4260
+      echo -n '  echo "Unable to encrypt hubzilla installation" | mail -s "Freedombone backup to friends" ' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4261
+      echo "$MY_EMAIL_ADDRESS" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4262
+      echo '  exit 593' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4263
+      echo 'fi' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4264
+      echo '' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4265
+  fi
4047
   if grep -Fxq "install_owncloud" $COMPLETION_FILE; then
4266
   if grep -Fxq "install_owncloud" $COMPLETION_FILE; then
4048
       BACKUP_INCLUDES_DATABASES="yes"
4267
       BACKUP_INCLUDES_DATABASES="yes"
4049
       echo 'if [ ! -d $SERVER_DIRECTORY/backup/owncloud ]; then' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4268
       echo 'if [ ! -d $SERVER_DIRECTORY/backup/owncloud ]; then' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4703
   get_mariadb_password
4922
   get_mariadb_password
4704
   get_mariadb_gnusocial_admin_password
4923
   get_mariadb_gnusocial_admin_password
4705
   get_mariadb_redmatrix_admin_password
4924
   get_mariadb_redmatrix_admin_password
4925
+  get_mariadb_hubzilla_admin_password
4706
   get_mariadb_owncloud_admin_password
4926
   get_mariadb_owncloud_admin_password
4707
   get_mariadb_git_admin_password
4927
   get_mariadb_git_admin_password
4708
 
4928
 
5087
       echo 'fi' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
5307
       echo 'fi' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
5088
       echo '' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
5308
       echo '' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
5089
   fi
5309
   fi
5310
+  if grep -Fxq "install_hubzilla" $COMPLETION_FILE; then
5311
+      BACKUP_INCLUDES_WEBSITES="yes"
5312
+      echo 'if [ -d $SERVER_DIRECTORY/backup/hubzilla ]; then' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
5313
+      echo '  echo "Restoring Red Matrix database"' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
5314
+      echo '  if [ ! -d /root/temphubzilladata ]; then' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
5315
+      echo '    mkdir /root/temphubzilladata' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
5316
+      echo '  fi' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
5317
+      echo -n '  rsyncrypto -v -d -r $SERVER_DIRECTORY/backup/hubzilladata /root/temphubzilladata $SERVER_DIRECTORY/backup/hubzilladata.keys ' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
5318
+      echo "$BACKUP_CERTIFICATE" >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
5319
+      echo '  if [ ! -f /root/temphubzilladata/remoterestore/backup/hubzilladata/temphubzilladata/hubzilla.sql ]; then' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
5320
+      echo '    echo "Unable to restore Red Matrix database"' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
5321
+      echo '    rm -rf /root/temphubzilladata' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
5322
+      echo '    exit 504' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
5323
+      echo '  fi' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
5324
+      echo '  mysqlsuccess=$(mysql -u root --password=$DATABASE_PASSWORD hubzilla -o < /root/temphubzilladata/remoterestore/backup/hubzilladata/temphubzilladata/hubzilla.sql)' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
5325
+      echo '  if [ ! "$?" = "0" ]; then' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
5326
+      echo '    echo "$mysqlsuccess"' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
5327
+      echo '    exit 965' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
5328
+      echo '  fi' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
5329
+      echo '  shred -zu /root/temphubzilladata/remoterestore/backup/hubzilladata/temphubzilladata/*' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
5330
+      echo '  rm -rf /root/temphubzilladata' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
5331
+      echo '  echo "Restoring Red Matrix installation"' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
5332
+      echo '  if [ ! -d /root/temphubzilla ]; then' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
5333
+      echo '    mkdir /root/temphubzilla' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
5334
+      echo '  fi' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
5335
+      echo -n '  rsyncrypto -v -d -r $SERVER_DIRECTORY/backup/hubzilla /root/temphubzilla $SERVER_DIRECTORY/backup/hubzilla.keys ' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
5336
+      echo "$BACKUP_CERTIFICATE" >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
5337
+      echo "  rm -rf /var/www/$HUBZILLA_DOMAIN_NAME/htdocs" >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
5338
+      echo '  if [ ! "$?" = "0" ]; then' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
5339
+      echo "    cp -r /root/temphubzilla/remoterestore/backup/hubzilla/www/$HUBZILLA_DOMAIN_NAME/htdocs/* /var/www/$HUBZILLA_DOMAIN_NAME/htdocs/" >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
5340
+      echo '  else' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
5341
+      echo "    mv /root/temphubzilla/remoterestore/backup/hubzilla/www/$HUBZILLA_DOMAIN_NAME/htdocs /var/www/$HUBZILLA_DOMAIN_NAME/" >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
5342
+      echo '  fi' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
5343
+      echo '  if [ ! "$?" = "0" ]; then' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
5344
+      echo '    exit 759' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
5345
+      echo '  fi' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
5346
+      echo '  rm -rf /root/temphubzilla' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
5347
+      echo '  # Ensure that the bundled SSL cert is being used' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
5348
+      echo "  if [ -f /etc/ssl/certs/$HUBZILLA_DOMAIN_NAME.bundle.crt ]; then" >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
5349
+      echo "    sed -i 's|$HUBZILLA_DOMAIN_NAME.crt|$HUBZILLA_DOMAIN_NAME.bundle.crt|g' /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME" >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
5350
+      echo '  fi' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
5351
+      echo "  chmod 777 /var/www/$HUBZILLA_DOMAIN_NAME/htdocs/store/[data]/smarty3" >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
5352
+      echo "  chown -R www-data:www-data /var/www/$HUBZILLA_DOMAIN_NAME/htdocs/*" >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
5353
+      echo 'fi' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
5354
+      echo '' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
5355
+  fi
5090
 
5356
 
5091
   if grep -Fxq "install_owncloud" $COMPLETION_FILE; then
5357
   if grep -Fxq "install_owncloud" $COMPLETION_FILE; then
5092
       BACKUP_INCLUDES_WEBSITES="yes"
5358
       BACKUP_INCLUDES_WEBSITES="yes"
9859
   echo 'install_redmatrix' >> $COMPLETION_FILE
10125
   echo 'install_redmatrix' >> $COMPLETION_FILE
9860
 }
10126
 }
9861
 
10127
 
10128
+function install_hubzilla {
10129
+  if grep -Fxq "install_hubzilla" $COMPLETION_FILE; then
10130
+      return
10131
+  fi
10132
+  if [[ $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_MAILBOX" || $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_MEDIA" || $SYSTEM_TYPE == "$VARIANT_DEVELOPER" || $SYSTEM_TYPE == "$VARIANT_MESH" ]]; then
10133
+      return
10134
+  fi
10135
+  if [ ! $HUBZILLA_DOMAIN_NAME ]; then
10136
+      return
10137
+  fi
10138
+
10139
+  install_mariadb
10140
+  get_mariadb_password
10141
+  repair_databases_script
10142
+
10143
+  apt-get -y install php5-common php5-cli php5-curl php5-gd php5-mysql php5-mcrypt git
10144
+
10145
+  if [ ! -d /var/www/$HUBZILLA_DOMAIN_NAME ]; then
10146
+      mkdir /var/www/$HUBZILLA_DOMAIN_NAME
10147
+  fi
10148
+  if [ ! -d /var/www/$HUBZILLA_DOMAIN_NAME/htdocs ]; then
10149
+      mkdir /var/www/$HUBZILLA_DOMAIN_NAME/htdocs
10150
+  fi
10151
+
10152
+  if [ ! -f /var/www/$HUBZILLA_DOMAIN_NAME/htdocs/index.php ]; then
10153
+      cd $INSTALL_DIR
10154
+      git clone $HUBZILLA_REPO hubzilla
10155
+
10156
+      rm -rf /var/www/$HUBZILLA_DOMAIN_NAME/htdocs
10157
+      mv hubzilla /var/www/$HUBZILLA_DOMAIN_NAME/htdocs
10158
+      chown -R www-data:www-data /var/www/$HUBZILLA_DOMAIN_NAME/htdocs
10159
+      git clone $HUBZILLA_ADDONS_REPO /var/www/$HUBZILLA_DOMAIN_NAME/htdocs/addon
10160
+      # some extra themes
10161
+      git clone https://github.com/DeadSuperHero/hubzilla-themes /var/www/$HUBZILLA_DOMAIN_NAME/htdocs/hubzilla-themes1
10162
+      cp -r /var/www/$HUBZILLA_DOMAIN_NAME/htdocs/hubzilla-themes1/* view/theme/
10163
+  fi
10164
+
10165
+  get_mariadb_hubzilla_admin_password
10166
+  if [ ! $HUBZILLA_ADMIN_PASSWORD ]; then
10167
+      HUBZILLA_ADMIN_PASSWORD="$(openssl rand -base64 32)"
10168
+      echo '' >> /home/$MY_USERNAME/README
10169
+      echo '' >> /home/$MY_USERNAME/README
10170
+      echo 'Hubzilla' >> /home/$MY_USERNAME/README
10171
+      echo '==========' >> /home/$MY_USERNAME/README
10172
+      echo "Your MariaDB Hubzilla admin password is: $HUBZILLA_ADMIN_PASSWORD" >> /home/$MY_USERNAME/README
10173
+      echo '' >> /home/$MY_USERNAME/README
10174
+      chown $MY_USERNAME:$MY_USERNAME /home/$MY_USERNAME/README
10175
+      chmod 600 /home/$MY_USERNAME/README
10176
+  fi
10177
+
10178
+  echo "create database hubzilla;
10179
+CREATE USER 'hubzillaadmin'@'localhost' IDENTIFIED BY '$HUBZILLA_ADMIN_PASSWORD';
10180
+GRANT ALL PRIVILEGES ON hubzilla.* TO 'hubzillaadmin'@'localhost';
10181
+quit" > $INSTALL_DIR/batch.sql
10182
+  chmod 600 $INSTALL_DIR/batch.sql
10183
+  mysql -u root --password="$MARIADB_PASSWORD" < $INSTALL_DIR/batch.sql
10184
+  shred -zu $INSTALL_DIR/batch.sql
10185
+
10186
+  if ! grep -q "/var/www/$HUBZILLA_DOMAIN_NAME/htdocs" /etc/crontab; then
10187
+      echo "12,22,32,42,52 * *   *   *   root cd /var/www/$HUBZILLA_DOMAIN_NAME/htdocs; /usr/bin/timeout 240 /usr/bin/php include/poller.php" >> /etc/crontab
10188
+  fi
10189
+
10190
+  # update the dynamic DNS
10191
+  CURRENT_DDNS_DOMAIN=$HUBZILLA_DOMAIN_NAME
10192
+  add_ddns_domain
10193
+
10194
+  echo 'server {' > /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
10195
+  echo '    listen 80;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
10196
+  echo "    server_name $HUBZILLA_DOMAIN_NAME;" >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
10197
+  echo "    root /var/www/$HUBZILLA_DOMAIN_NAME/htdocs;" >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
10198
+  echo '    access_log off;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
10199
+  echo "    error_log /var/log/nginx/$HUBZILLA_DOMAIN_NAME_error.log $WEBSERVER_LOG_LEVEL;" >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
10200
+  echo '    limit_conn conn_limit_per_ip 10;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
10201
+  echo '    limit_req zone=req_limit_per_ip burst=10 nodelay;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
10202
+  echo '    index index.php;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
10203
+  echo '' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
10204
+  echo '    rewrite ^ https://$server_name$request_uri? permanent;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
10205
+  echo '}' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
10206
+  echo '' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
10207
+  echo 'server {' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
10208
+  echo '    listen 443 ssl;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
10209
+  echo "    root /var/www/$HUBZILLA_DOMAIN_NAME/htdocs;" >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
10210
+  echo "    server_name $HUBZILLA_DOMAIN_NAME;" >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
10211
+  echo "    error_log /var/log/nginx/$HUBZILLA_DOMAIN_NAME_error_ssl.log $WEBSERVER_LOG_LEVEL;" >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
10212
+  echo '    index index.php;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
10213
+  echo '    charset utf-8;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
10214
+  echo '    client_max_body_size 20m;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
10215
+  echo '    client_body_buffer_size 128k;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
10216
+  echo '    access_log off;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
10217
+  echo '' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
10218
+  echo '    limit_conn conn_limit_per_ip 10;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
10219
+  echo '    limit_req zone=req_limit_per_ip burst=10 nodelay;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
10220
+  echo '' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
10221
+  echo '    ssl on;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
10222
+  echo "    ssl_certificate /etc/ssl/certs/$HUBZILLA_DOMAIN_NAME.crt;" >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
10223
+  echo "    ssl_certificate_key /etc/ssl/private/$HUBZILLA_DOMAIN_NAME.key;" >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
10224
+  echo "    ssl_dhparam /etc/ssl/certs/$HUBZILLA_DOMAIN_NAME.dhparam;" >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
10225
+  echo '' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
10226
+  echo '    ssl_session_timeout 5m;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
10227
+  echo '    ssl_prefer_server_ciphers on;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
10228
+  echo '    ssl_session_cache  builtin:1000  shared:SSL:10m;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
10229
+  echo "    ssl_protocols $SSL_PROTOCOLS; # not possible to do exclusive" >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
10230
+  echo "    ssl_ciphers '$SSL_CIPHERS';" >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
10231
+  echo '    add_header X-Frame-Options DENY;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
10232
+  echo '    add_header X-Content-Type-Options nosniff;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
10233
+  echo '    add_header Strict-Transport-Security max-age=15768000;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
10234
+  echo '' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
10235
+  echo '    # rewrite to front controller as default rule' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
10236
+  echo '    location / {' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
10237
+  echo '        rewrite ^/(.*) /index.php?q=$uri&$args last;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
10238
+  echo '    }' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
10239
+  echo '' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
10240
+  echo "    # make sure webfinger and other well known services aren't blocked" >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
10241
+  echo '    # by denying dot files and rewrite request to the front controller' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
10242
+  echo '    location ^~ /.well-known/ {' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
10243
+  echo '        allow all;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
10244
+  echo '    }' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
10245
+  echo '' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
10246
+  echo '    # statically serve these file types when possible' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
10247
+  echo '    # otherwise fall back to front controller' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
10248
+  echo '    # allow browser to cache them' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
10249
+  echo '    # added .htm for advanced source code editor library' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
10250
+  echo '    location ~* \.(jpg|jpeg|gif|png|ico|css|js|htm|html|ttf|woff|svg)$ {' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
10251
+  echo '        expires 30d;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
10252
+  echo '        try_files $uri /index.php?q=$uri&$args;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
10253
+  echo '    }' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
10254
+  echo '' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
10255
+  echo '    # block these file types' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
10256
+  echo '    location ~* \.(tpl|md|tgz|log|out)$ {' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
10257
+  echo '        deny all;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
10258
+  echo '    }' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
10259
+  echo '' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
10260
+  echo '    # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
10261
+  echo '    # or a unix socket' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
10262
+  echo '    location ~* \.php$ {' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
10263
+  echo '        # Zero-day exploit defense.' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
10264
+  echo '        # http://forum.nginx.org/read.php?2,88845,page=3' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
10265
+  echo "        # Won't work properly (404 error) if the file is not stored on this" >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
10266
+  echo "        # server, which is entirely possible with php-fpm/php-fcgi." >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
10267
+  echo "        # Comment the 'try_files' line out if you set up php-fpm/php-fcgi on" >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
10268
+  echo "        # another machine. And then cross your fingers that you won't get hacked." >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
10269
+  echo '        try_files $uri $uri/ /index.php;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
10270
+  echo '        # NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
10271
+  echo '        fastcgi_split_path_info ^(.+\.php)(/.+)$;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
10272
+  echo '        # With php5-cgi alone:' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
10273
+  echo '        # fastcgi_pass 127.0.0.1:9000;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
10274
+  echo '        # With php5-fpm:' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
10275
+  echo '        fastcgi_pass unix:/var/run/php5-fpm.sock;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
10276
+  echo '        include fastcgi_params;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
10277
+  echo '        fastcgi_index index.php;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
10278
+  echo '        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
10279
+  echo '        fastcgi_read_timeout 300;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
10280
+  echo '    }' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
10281
+  echo '' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
10282
+  echo '    # deny access to all dot files' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
10283
+  echo '    location ~ /\. {' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
10284
+  echo '        deny all;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
10285
+  echo '    }' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
10286
+  echo '' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
10287
+  echo '    location ~ /\.ht {' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
10288
+  echo '      deny  all;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
10289
+  echo '    }' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
10290
+  echo '}' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
10291
+
10292
+  configure_php
10293
+
10294
+  if [ ! -f /etc/ssl/certs/$HUBZILLA_DOMAIN_NAME.dhparam ]; then
10295
+      freedombone-addcert -h $HUBZILLA_DOMAIN_NAME --dhkey $DH_KEYLENGTH
10296
+      check_certificates $HUBZILLA_DOMAIN_NAME
10297
+  fi
10298
+
10299
+  if [ ! -d /var/www/$HUBZILLA_DOMAIN_NAME/htdocs/view/tpl/smarty3 ]; then
10300
+      mkdir /var/www/$HUBZILLA_DOMAIN_NAME/htdocs/view/tpl/smarty3
10301
+  fi
10302
+  if [ ! -d "/var/www/$HUBZILLA_DOMAIN_NAME/htdocs/store" ]; then
10303
+      mkdir "/var/www/$HUBZILLA_DOMAIN_NAME/htdocs/store"
10304
+  fi
10305
+  if [ ! -d "/var/www/$HUBZILLA_DOMAIN_NAME/htdocs/store/[data]" ]; then
10306
+      mkdir "/var/www/$HUBZILLA_DOMAIN_NAME/htdocs/store/[data]"
10307
+  fi
10308
+  if [ ! -d "/var/www/$HUBZILLA_DOMAIN_NAME/htdocs/store/[data]/smarty3" ]; then
10309
+      mkdir "/var/www/$HUBZILLA_DOMAIN_NAME/htdocs/store/[data]/smarty3"
10310
+      chmod 777 "/var/www/$HUBZILLA_DOMAIN_NAME/htdocs/store/[data]/smarty3"
10311
+  fi
10312
+  chmod 777 /var/www/$HUBZILLA_DOMAIN_NAME/htdocs/view/tpl
10313
+  chown -R www-data:www-data "/var/www/$HUBZILLA_DOMAIN_NAME/htdocs/store"
10314
+  chmod 777 /var/www/$HUBZILLA_DOMAIN_NAME/htdocs/view/tpl/smarty3
10315
+
10316
+  # Ensure that the database gets backed up locally, if remote
10317
+  # backups are not being used
10318
+  backup_databases_script_header
10319
+  echo '' >> /usr/bin/backupdatabases
10320
+  echo '# Backup the Hubzilla database' >> /usr/bin/backupdatabases
10321
+  echo 'TEMPFILE=/root/hubzilla.sql' >> /usr/bin/backupdatabases
10322
+  echo 'DAILYFILE=/var/backups/hubzilla_daily.sql' >> /usr/bin/backupdatabases
10323
+  echo 'mysqldump --password="$MYSQL_PASSWORD" hubzilla > $TEMPFILE' >> /usr/bin/backupdatabases
10324
+  echo 'FILESIZE=$(stat -c%s $TEMPFILE)' >> /usr/bin/backupdatabases
10325
+  echo 'if [ "$FILESIZE" -lt "1024" ]; then' >> /usr/bin/backupdatabases
10326
+  echo '    if [ -f $DAILYFILE ]; then' >> /usr/bin/backupdatabases
10327
+  echo '        cp $DAILYFILE $TEMPFILE' >> /usr/bin/backupdatabases
10328
+  echo '' >> /usr/bin/backupdatabases
10329
+  echo '        # try to restore yesterdays database' >> /usr/bin/backupdatabases
10330
+  echo '        mysql -u root --password="$MYSQL_PASSWORD" hubzilla -o < $DAILYFILE' >> /usr/bin/backupdatabases
10331
+  echo '' >> /usr/bin/backupdatabases
10332
+  echo '        # Send a warning email' >> /usr/bin/backupdatabases
10333
+  echo '        echo "Unable to create a backup of the Hubzilla database. Attempted to restore from yesterdays backup" | mail -s "Hubzilla backup" $EMAIL' >> /usr/bin/backupdatabases
10334
+  echo '    else' >> /usr/bin/backupdatabases
10335
+  echo '        # Send a warning email' >> /usr/bin/backupdatabases
10336
+  echo '        echo "Unable to create a backup of the Hubzilla database." | mail -s "Hubzilla backup" $EMAIL' >> /usr/bin/backupdatabases
10337
+  echo '    fi' >> /usr/bin/backupdatabases
10338
+  echo 'else' >> /usr/bin/backupdatabases
10339
+  echo '    chmod 600 $TEMPFILE' >> /usr/bin/backupdatabases
10340
+  echo '    mv $TEMPFILE $DAILYFILE' >> /usr/bin/backupdatabases
10341
+  echo '' >> /usr/bin/backupdatabases
10342
+  echo '    # Make the backup readable only by root' >> /usr/bin/backupdatabases
10343
+  echo '    chmod 600 $DAILYFILE' >> /usr/bin/backupdatabases
10344
+  echo 'fi' >> /usr/bin/backupdatabases
10345
+
10346
+  echo '' >> /etc/cron.weekly/backupdatabasesweekly
10347
+  echo '# Hubzilla' >> /etc/cron.weekly/backupdatabasesweekly
10348
+  echo 'if [ -f /var/backups/hubzilla_weekly.sql ]; then' >> /etc/cron.weekly/backupdatabasesweekly
10349
+  echo '  cp -f /var/backups/hubzilla_weekly.sql /var/backups/hubzilla_2weekly.sql' >> /etc/cron.weekly/backupdatabasesweekly
10350
+  echo 'fi' >> /etc/cron.weekly/backupdatabasesweekly
10351
+  echo 'if [ -f /var/backups/hubzilla_daily.sql ]; then' >> /etc/cron.weekly/backupdatabasesweekly
10352
+  echo '  cp -f /var/backups/hubzilla_daily.sql /var/backups/hubzilla_weekly.sql' >> /etc/cron.weekly/backupdatabasesweekly
10353
+  echo 'fi' >> /etc/cron.weekly/backupdatabasesweekly
10354
+
10355
+  echo '' >> /etc/cron.monthly/backupdatabasesmonthly
10356
+  echo '# Hubzilla' >> /etc/cron.monthly/backupdatabasesmonthly
10357
+  echo 'if [ -f /var/backups/hubzilla_monthly.sql ]; then' >> /etc/cron.monthly/backupdatabasesmonthly
10358
+  echo '  cp -f /var/backups/hubzilla_monthly.sql /var/backups/hubzilla_2monthly.sql' >> /etc/cron.monthly/backupdatabasesmonthly
10359
+  echo 'fi' >> /etc/cron.monthly/backupdatabasesmonthly
10360
+  echo 'if [ -f /var/backups/hubzilla_weekly.sql ]; then' >> /etc/cron.monthly/backupdatabasesmonthly
10361
+  echo '  cp -f /var/backups/hubzilla_weekly.sql /var/backups/hubzilla_monthly.sql' >> /etc/cron.monthly/backupdatabasesmonthly
10362
+  echo 'fi' >> /etc/cron.monthly/backupdatabasesmonthly
10363
+
10364
+  echo '/usr/bin/repairdatabase hubzilla' >> /etc/cron.hourly/repair
10365
+
10366
+  nginx_ensite $HUBZILLA_DOMAIN_NAME
10367
+  service php5-fpm restart
10368
+  service nginx restart
10369
+  service cron restart
10370
+
10371
+  # some post-install instructions for the user
10372
+  if ! grep -q "To set up your Hubzilla" /home/$MY_USERNAME/README; then
10373
+      echo '' >> /home/$MY_USERNAME/README
10374
+      echo "To set up your Hubzilla site go to" >> /home/$MY_USERNAME/README
10375
+      echo "https://$HUBZILLA_DOMAIN_NAME" >> /home/$MY_USERNAME/README
10376
+      echo 'You will need to have a non self-signed SSL certificate in order' >> /home/$MY_USERNAME/README
10377
+      echo "to use Hubzilla. Put the public certificate in /etc/ssl/certs/$HUBZILLA_DOMAIN_NAME.crt" >> /home/$MY_USERNAME/README
10378
+      echo "and the private certificate in /etc/ssl/private/$HUBZILLA_DOMAIN_NAME.key." >> /home/$MY_USERNAME/README
10379
+      echo 'If there is an intermediate certificate needed (such as with StartSSL) then' >> /home/$MY_USERNAME/README
10380
+      echo 'this will need to be concatenated onto the end of the crt file, like this:' >> /home/$MY_USERNAME/README
10381
+      echo '' >> /home/$MY_USERNAME/README
10382
+      echo "  cat /etc/ssl/certs/$HUBZILLA_DOMAIN_NAME.crt /etc/ssl/chains/startssl-sub.class1.server.ca.pem > /etc/ssl/certs/$HUBZILLA_DOMAIN_NAME.bundle.crt" >> /home/$MY_USERNAME/README
10383
+      echo '' >> /home/$MY_USERNAME/README
10384
+      echo "Then change ssl_certificate to /etc/ssl/certs/$HUBZILLA_DOMAIN_NAME.bundle.crt" >> /home/$MY_USERNAME/README
10385
+      echo "within /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME" >> /home/$MY_USERNAME/README
10386
+      echo '' >> /home/$MY_USERNAME/README
10387
+      chown $MY_USERNAME:$MY_USERNAME /home/$MY_USERNAME/README
10388
+      chmod 600 /home/$MY_USERNAME/README
10389
+  fi
10390
+
10391
+  echo 'install_hubzilla' >> $COMPLETION_FILE
10392
+}
10393
+
9862
 function script_for_attaching_usb_drive {
10394
 function script_for_attaching_usb_drive {
9863
   if grep -Fxq "script_for_attaching_usb_drive" $COMPLETION_FILE; then
10395
   if grep -Fxq "script_for_attaching_usb_drive" $COMPLETION_FILE; then
9864
       return
10396
       return
10140
       echo 'git pull' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
10672
       echo 'git pull' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
10141
       echo "chown -R www-data:www-data /var/www/$REDMATRIX_DOMAIN_NAME/htdocs" >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
10673
       echo "chown -R www-data:www-data /var/www/$REDMATRIX_DOMAIN_NAME/htdocs" >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
10142
   fi
10674
   fi
10675
+  if grep -Fxq "install_hubzilla" $COMPLETION_FILE; then
10676
+      echo '' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
10677
+      echo '# Hubzilla' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
10678
+      echo "cd /var/www/$HUBZILLA_DOMAIN_NAME/htdocs" >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
10679
+      echo 'git stash' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
10680
+      echo 'git stash drop' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
10681
+      echo 'git pull' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
10682
+      echo "cd /var/www/$HUBZILLA_DOMAIN_NAME/htdocs/addon" >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
10683
+      echo 'git stash' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
10684
+      echo 'git stash drop' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
10685
+      echo 'git pull' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
10686
+      echo "chown -R www-data:www-data /var/www/$HUBZILLA_DOMAIN_NAME/htdocs" >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
10687
+  fi
10143
   if grep -Fxq "install_gnu_social" $COMPLETION_FILE; then
10688
   if grep -Fxq "install_gnu_social" $COMPLETION_FILE; then
10144
       echo '' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
10689
       echo '' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
10145
       echo '# GNU Social' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
10690
       echo '# GNU Social' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
10714
 install_blog
11259
 install_blog
10715
 install_gnu_social
11260
 install_gnu_social
10716
 install_redmatrix
11261
 install_redmatrix
11262
+#install_hubzilla
10717
 install_dlna_server
11263
 install_dlna_server
10718
 configure_firewall_for_dlna
11264
 configure_firewall_for_dlna
10719
 install_mediagoblin
11265
 install_mediagoblin