|
@@ -228,12 +228,14 @@ GVM_REPO="https://github.com/moovweb/gvm"
|
228
|
228
|
GVM_COMMIT='25ea8ae158e2861c92e2b22c458e60840157832f'
|
229
|
229
|
|
230
|
230
|
# Domain name for Owncloud installation
|
|
231
|
+OWNCLOUD_REPO="https://github.com/owncloud/core"
|
|
232
|
+OWNCLOUD_COMMIT='stable9'
|
231
|
233
|
OWNCLOUD_DOMAIN_NAME=
|
232
|
234
|
OWNCLOUD_CODE=
|
233
|
235
|
OWNCLOUD_ONION_PORT=8088
|
234
|
236
|
OWNCLOUD_ADMIN_PASSWORD=
|
235
|
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
|
240
|
# Domain name for your wiki
|
239
|
241
|
WIKI_DOMAIN_NAME=
|
|
@@ -6227,177 +6229,177 @@ function install_web_server {
|
6227
|
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
|
6230
|
echo '' >> /etc/nginx/nginx.conf
|
6229
|
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
|
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
|
6385
|
return
|
6384
|
6386
|
fi
|
6385
|
6387
|
|
6386
|
|
- if ! grep -Fxq "install_owncloud" $COMPLETION_FILE; then
|
|
6388
|
+ if ! grep -Fxq "install_owncloud_repo" $COMPLETION_FILE; then
|
6387
|
6389
|
echo $'Tried to install the Owncloud music app, but Owncloud installation was not found'
|
6388
|
6390
|
exit 9823
|
6389
|
6391
|
fi
|
6390
|
6392
|
|
6391
|
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
|
6397
|
return
|
6396
|
6398
|
fi
|
6397
|
6399
|
|
6398
|
|
- cd /usr/share/owncloud/apps
|
|
6400
|
+ cd /var/www/${OWNCLOUD_DOMAIN_NAME}/htdocs/apps
|
6399
|
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
|
6403
|
git checkout $OWNCLOUD_MUSIC_APP_COMMIT -b $OWNCLOUD_MUSIC_APP_COMMIT
|
6402
|
6404
|
if ! grep -q "Owncloud music app commit" $COMPLETION_FILE; then
|
6403
|
6405
|
echo "Owncloud music app commit:$OWNCLOUD_MUSIC_APP_COMMIT" >> $COMPLETION_FILE
|
|
@@ -6419,7 +6421,7 @@ function install_owncloud_music_app {
|
6419
|
6421
|
chmod 600 /home/$MY_USERNAME/README
|
6420
|
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
|
6427
|
function add_ddns_domain {
|
|
@@ -6462,49 +6464,76 @@ function configure_owncloud_onion_site {
|
6462
|
6464
|
if [ ! $OWNCLOUD_DOMAIN_NAME ]; then
|
6463
|
6465
|
return
|
6464
|
6466
|
fi
|
6465
|
|
- if [ ! -f /etc/owncloud/config.php ]; then
|
|
6467
|
+ if [ ! -f /var/www/${OWNCLOUD_DOMAIN_NAME}/htdocs/config/config.php ]; then
|
6466
|
6468
|
return
|
6467
|
6469
|
fi
|
6468
|
6470
|
if [ ! -f /var/lib/tor/hidden_service_owncloud/hostname ]; then
|
6469
|
6471
|
return
|
6470
|
6472
|
fi
|
6471
|
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
|
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
|
6477
|
sed -i "s|'writable' => false,|'writable' => false,
|
6476
|
6478
|
),
|
6477
|
6479
|
1 =>
|
6478
|
6480
|
array (
|
6479
|
|
- 'path' => '/usr/share/owncloud/apps',
|
|
6481
|
+ 'path' => '/var/www/${OWNCLOUD_DOMAIN_NAME}/htdocs/apps',
|
6480
|
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
|
6484
|
echo $'Owncloud configured for onion site'
|
6483
|
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
|
6492
|
return
|
6489
|
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
|
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
|
6537
|
return
|
6509
|
6538
|
fi
|
6510
|
6539
|
# if this is exclusively a cloud setup
|
|
@@ -6524,14 +6553,77 @@ function install_owncloud {
|
6524
|
6553
|
exit 6746
|
6525
|
6554
|
fi
|
6526
|
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
|
6589
|
apt-get -y install fonts-linuxlibertine fonts-sil-gentium-basic fonts-way-microhei
|
6528
|
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
|
6593
|
apt-get -y remove --purge apache*
|
6531
|
6594
|
if [ -d /etc/apache2 ]; then
|
6532
|
6595
|
rm -rf /etc/apache2
|
6533
|
6596
|
echo $'Removed Apache installation after Owncloud install'
|
6534
|
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
|
6627
|
install_mariadb
|
6536
|
6628
|
get_mariadb_password
|
6537
|
6629
|
|
|
@@ -6566,22 +6658,15 @@ function install_owncloud {
|
6566
|
6658
|
chmod 600 /home/$MY_USERNAME/README
|
6567
|
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
|
6663
|
fi
|
6577
|
6664
|
|
6578
|
|
- ln -s /usr/share/owncloud /var/www/$OWNCLOUD_DOMAIN_NAME/htdocs
|
6579
|
|
-
|
6580
|
6665
|
if [[ $ONION_ONLY == "no" ]]; then
|
6581
|
6666
|
nginx_http_redirect $OWNCLOUD_DOMAIN_NAME
|
6582
|
6667
|
echo 'server {' >> /etc/nginx/sites-available/$OWNCLOUD_DOMAIN_NAME
|
6583
|
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
|
6670
|
echo " server_name $OWNCLOUD_DOMAIN_NAME;" >> /etc/nginx/sites-available/$OWNCLOUD_DOMAIN_NAME
|
6586
|
6671
|
echo ' access_log off;' >> /etc/nginx/sites-available/$OWNCLOUD_DOMAIN_NAME
|
6587
|
6672
|
echo " error_log /var/log/nginx/${OWNCLOUD_DOMAIN_NAME}_error.log $WEBSERVER_LOG_LEVEL;" >> /etc/nginx/sites-available/$OWNCLOUD_DOMAIN_NAME
|
|
@@ -6654,7 +6739,7 @@ function install_owncloud {
|
6654
|
6739
|
fi
|
6655
|
6740
|
echo 'server {' >> /etc/nginx/sites-available/$OWNCLOUD_DOMAIN_NAME
|
6656
|
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
|
6743
|
echo " server_name $OWNCLOUD_DOMAIN_NAME;" >> /etc/nginx/sites-available/$OWNCLOUD_DOMAIN_NAME
|
6659
|
6744
|
echo ' access_log off;' >> /etc/nginx/sites-available/$OWNCLOUD_DOMAIN_NAME
|
6660
|
6745
|
echo " error_log /var/log/nginx/${OWNCLOUD_DOMAIN_NAME}_error.log $WEBSERVER_LOG_LEVEL;" >> /etc/nginx/sites-available/$OWNCLOUD_DOMAIN_NAME
|
|
@@ -6752,17 +6837,22 @@ function install_owncloud {
|
6752
|
6837
|
chown $MY_USERNAME:$MY_USERNAME /home/$MY_USERNAME/README
|
6753
|
6838
|
chmod 600 /home/$MY_USERNAME/README
|
6754
|
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
|
6844
|
# update the dynamic DNS
|
6758
|
6845
|
CURRENT_DDNS_DOMAIN=$OWNCLOUD_DOMAIN_NAME
|
6759
|
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
|
6854
|
if [[ $SYSTEM_TYPE == "$VARIANT_CLOUD" ]]; then
|
6765
|
|
- install_owncloud_music_app
|
|
6855
|
+ install_owncloud_repo_music_app
|
6766
|
6856
|
backup_to_friends_servers
|
6767
|
6857
|
intrusion_detection
|
6768
|
6858
|
split_gpg_key_into_fragments
|
|
@@ -10737,8 +10827,9 @@ script_for_attaching_usb_drive
|
10737
|
10827
|
install_web_server
|
10738
|
10828
|
install_web_server_access_control
|
10739
|
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
|
10833
|
configure_owncloud_onion_site
|
10743
|
10834
|
upgrade_golang
|
10744
|
10835
|
install_gogs
|