From efac602e1fd4e55d6798653a4acbd79d82b2d04e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joel=20K=C3=A5berg?= Date: Sun, 22 May 2016 02:17:18 +0200 Subject: [PATCH] remove owncloud --- conf/nginx-primaryonly.conf | 47 ------- setup/owncloud.sh | 229 ---------------------------------- tools/owncloud-unlockadmin.sh | 23 ---- 3 files changed, 299 deletions(-) delete mode 100755 setup/owncloud.sh delete mode 100755 tools/owncloud-unlockadmin.sh diff --git a/conf/nginx-primaryonly.conf b/conf/nginx-primaryonly.conf index 55c80eba..4a3c04c5 100644 --- a/conf/nginx-primaryonly.conf +++ b/conf/nginx-primaryonly.conf @@ -11,53 +11,6 @@ add_header Content-Security-Policy "frame-ancestors 'none';"; } - # ownCloud configuration. - rewrite ^/cloud$ /cloud/ redirect; - rewrite ^/cloud/$ /cloud/index.php; - rewrite ^/cloud/(contacts|calendar|files)$ /cloud/index.php/apps/$1/ redirect; - rewrite ^(/cloud/core/doc/[^\/]+/)$ $1/index.html; - location /cloud/ { - alias /usr/local/lib/owncloud/; - location ~ ^/cloud/(build|tests|config|lib|3rdparty|templates|data|README)/ { - deny all; - } - location ~ ^/cloud/(?:\.|autotest|occ|issue|indie|db_|console) { - deny all; - } - } - location ~ ^(/cloud)((?:/ocs)?/[^/]+\.php)(/.*)?$ { - # note: ~ has precendence over a regular location block - # Accept URLs like: - # /cloud/index.php/apps/files/ - # /cloud/index.php/apps/files/ajax/scan.php (it's really index.php; see 6fdef379adfdeac86cc2220209bdf4eb9562268d) - # /cloud/ocs/v1.php/apps/files_sharing/api/v1 (see #240) - # /cloud/remote.php/webdav/yourfilehere... - include fastcgi_params; - fastcgi_param SCRIPT_FILENAME /usr/local/lib/owncloud/$2; - fastcgi_param SCRIPT_NAME $1$2; - fastcgi_param PATH_INFO $3; - fastcgi_param MOD_X_ACCEL_REDIRECT_ENABLED on; - fastcgi_param MOD_X_ACCEL_REDIRECT_PREFIX /owncloud-xaccel; - fastcgi_read_timeout 630; - fastcgi_pass php-fpm; - error_page 403 /cloud/core/templates/403.php; - error_page 404 /cloud/core/templates/404.php; - client_max_body_size 1G; - fastcgi_buffers 64 4K; - } - location ^~ /owncloud-xaccel/ { - # This directory is for MOD_X_ACCEL_REDIRECT_ENABLED. ownCloud sends the full file - # path on disk as a subdirectory under this virtual path. - # We must only allow 'internal' redirects within nginx so that the filesystem - # is not exposed to the world. - internal; - alias /; - } - location ~ ^/((caldav|carddav|webdav).*)$ { - # Z-Push doesn't like getting a redirect, and a plain rewrite didn't work either. - # Properly proxying like this seems to work fine. - proxy_pass https://127.0.0.1/cloud/remote.php/$1; - } rewrite ^/.well-known/host-meta /cloud/public.php?service=host-meta last; rewrite ^/.well-known/host-meta.json /cloud/public.php?service=host-meta-json last; rewrite ^/.well-known/carddav /cloud/remote.php/carddav/ redirect; diff --git a/setup/owncloud.sh b/setup/owncloud.sh deleted file mode 100755 index cc58a5ca..00000000 --- a/setup/owncloud.sh +++ /dev/null @@ -1,229 +0,0 @@ -#!/bin/bash -# Owncloud -########################## - -source setup/functions.sh # load our functions -source /etc/mailinabox.conf # load global vars - -# ### Installing ownCloud - -echo "Installing ownCloud (contacts/calendar)..." - -apt_install \ - dbconfig-common \ - php5-cli php5-sqlite php5-gd php5-imap php5-curl php-pear php-apc curl libapr1 libtool libcurl4-openssl-dev php-xml-parser \ - php5 php5-dev php5-gd php5-fpm memcached php5-memcached unzip - -apt-get purge -qq -y owncloud* - -# Install ownCloud from source of this version: -owncloud_ver=8.2.3 -owncloud_hash=bfdf6166fbf6fc5438dc358600e7239d1c970613 - -# Migrate <= v0.10 setups that stored the ownCloud config.php in /usr/local rather than -# in STORAGE_ROOT. Move the file to STORAGE_ROOT. -if [ ! -f $STORAGE_ROOT/owncloud/config.php ] \ - && [ -f /usr/local/lib/owncloud/config/config.php ]; then - - # Move config.php and symlink back into previous location. - echo "Migrating owncloud/config.php to new location." - mv /usr/local/lib/owncloud/config/config.php $STORAGE_ROOT/owncloud/config.php \ - && \ - ln -sf $STORAGE_ROOT/owncloud/config.php /usr/local/lib/owncloud/config/config.php -fi - -# Check if ownCloud dir exist, and check if version matches owncloud_ver (if either doesn't - install/upgrade) -if [ ! -d /usr/local/lib/owncloud/ ] \ - || ! grep -q $owncloud_ver /usr/local/lib/owncloud/version.php; then - - # Download and verify - wget_verify https://download.owncloud.org/community/owncloud-$owncloud_ver.zip $owncloud_hash /tmp/owncloud.zip - - # Clear out the existing ownCloud. - if [ -d /usr/local/lib/owncloud/ ]; then - echo "upgrading ownCloud to $owncloud_ver (backing up existing ownCloud directory to /tmp/owncloud-backup-$$)..." - mv /usr/local/lib/owncloud /tmp/owncloud-backup-$$ - fi - - # Extract ownCloud - unzip -u -o -q /tmp/owncloud.zip -d /usr/local/lib #either extracts new or replaces current files - rm -f /tmp/owncloud.zip - - # The two apps we actually want are not in ownCloud core. Clone them from - # their github repositories. - mkdir -p /usr/local/lib/owncloud/apps - git_clone https://github.com/owncloudarchive/contacts 9ba2e667ae8c7ea36d8c4a4c3413c374beb24b1b '' /usr/local/lib/owncloud/apps/contacts - git_clone https://github.com/owncloudarchive/calendar 2086e738a3b7b868ec59cd61f0f88b49c3f21dd1 '' /usr/local/lib/owncloud/apps/calendar - - # Fix weird permissions. - chmod 750 /usr/local/lib/owncloud/{apps,config} - - # Create a symlink to the config.php in STORAGE_ROOT (for upgrades we're restoring the symlink we previously - # put in, and in new installs we're creating a symlink and will create the actual config later). - ln -sf $STORAGE_ROOT/owncloud/config.php /usr/local/lib/owncloud/config/config.php - - # Make sure permissions are correct or the upgrade step won't run. - # $STORAGE_ROOT/owncloud may not yet exist, so use -f to suppress - # that error. - chown -f -R www-data.www-data $STORAGE_ROOT/owncloud /usr/local/lib/owncloud - - # If this isn't a new installation, immediately run the upgrade script. - # Then check for success (0=ok and 3=no upgrade needed, both are success). - if [ -f $STORAGE_ROOT/owncloud/owncloud.db ]; then - # ownCloud 8.1.1 broke upgrades. It may fail on the first attempt, but - # that can be OK. - sudo -u www-data php /usr/local/lib/owncloud/occ upgrade - if [ \( $? -ne 0 \) -a \( $? -ne 3 \) ]; then - echo "Trying ownCloud upgrade again to work around ownCloud upgrade bug..." - sudo -u www-data php /usr/local/lib/owncloud/occ upgrade - if [ \( $? -ne 0 \) -a \( $? -ne 3 \) ]; then exit 1; fi - sudo -u www-data php /usr/local/lib/owncloud/occ maintenance:mode --off - echo "...which seemed to work." - fi - fi -fi - -# ### Configuring ownCloud - -# Setup ownCloud if the ownCloud database does not yet exist. Running setup when -# the database does exist wipes the database and user data. -if [ ! -f $STORAGE_ROOT/owncloud/owncloud.db ]; then - # Create user data directory - mkdir -p $STORAGE_ROOT/owncloud - - # Create an initial configuration file. - TIMEZONE=$(cat /etc/timezone) - instanceid=oc$(echo $PRIMARY_HOSTNAME | sha1sum | fold -w 10 | head -n 1) - cat > $STORAGE_ROOT/owncloud/config.php < '$STORAGE_ROOT/owncloud', - - 'instanceid' => '$instanceid', - - 'forcessl' => true, # if unset/false, ownCloud sends a HSTS=0 header, which conflicts with nginx config - - 'overwritewebroot' => '/cloud', - 'overwrite.cli.url' => '/cloud', - 'user_backends' => array( - array( - 'class'=>'OC_User_IMAP', - 'arguments'=>array('{127.0.0.1:993/imap/ssl/novalidate-cert}') - ) - ), - 'memcache.local' => '\\OC\\Memcache\\Memcached', - "memcached_servers" => array ( - array('127.0.0.1', 11211), - ), - 'mail_smtpmode' => 'sendmail', - 'mail_smtpsecure' => '', - 'mail_smtpauthtype' => 'LOGIN', - 'mail_smtpauth' => false, - 'mail_smtphost' => '', - 'mail_smtpport' => '', - 'mail_smtpname' => '', - 'mail_smtppassword' => '', - 'mail_from_address' => 'owncloud', - 'mail_domain' => '$PRIMARY_HOSTNAME', - 'logtimezone' => '$TIMEZONE', -); -?> -EOF - - # Create an auto-configuration file to fill in database settings - # when the install script is run. Make an administrator account - # here or else the install can't finish. - adminpassword=$(dd if=/dev/urandom bs=1 count=40 2>/dev/null | sha1sum | fold -w 30 | head -n 1) - cat > /usr/local/lib/owncloud/config/autoconfig.php < '$STORAGE_ROOT/owncloud', - 'dbtype' => 'sqlite3', - - # create an administrator account with a random password so that - # the user does not have to enter anything on first load of ownCloud - 'adminlogin' => 'root', - 'adminpass' => '$adminpassword', -); -?> -EOF - - # Set permissions - chown -R www-data.www-data $STORAGE_ROOT/owncloud /usr/local/lib/owncloud - - # Execute ownCloud's setup step, which creates the ownCloud sqlite database. - # It also wipes it if it exists. And it updates config.php with database - # settings and deletes the autoconfig.php file. - (cd /usr/local/lib/owncloud; sudo -u www-data php /usr/local/lib/owncloud/index.php;) -fi - -# Update config.php. -# * trusted_domains is reset to localhost by autoconfig starting with ownCloud 8.1.1, -# so set it here. It also can change if the box's PRIMARY_HOSTNAME changes, so -# this will make sure it has the right value. -# * Some settings weren't included in previous versions of Mail-in-a-Box. -# Use PHP to read the settings file, modify it, and write out the new settings array. -CONFIG_TEMP=$(/bin/mktemp) -php < $CONFIG_TEMP && mv $CONFIG_TEMP $STORAGE_ROOT/owncloud/config.php; - -EOF -chown www-data.www-data $STORAGE_ROOT/owncloud/config.php - -# Enable/disable apps. Note that this must be done after the ownCloud setup. -# The firstrunwizard gave Josh all sorts of problems, so disabling that. -# user_external is what allows ownCloud to use IMAP for login. The contacts -# and calendar apps are the extensions we really care about here. -hide_output sudo -u www-data php /usr/local/lib/owncloud/console.php app:disable firstrunwizard -hide_output sudo -u www-data php /usr/local/lib/owncloud/console.php app:enable user_external -hide_output sudo -u www-data php /usr/local/lib/owncloud/console.php app:enable contacts -hide_output sudo -u www-data php /usr/local/lib/owncloud/console.php app:enable calendar - -# When upgrading, run the upgrade script again now that apps are enabled. It seems like -# the first upgrade at the top won't work because apps may be disabled during upgrade? -# Check for success (0=ok, 3=no upgrade needed). -sudo -u www-data php /usr/local/lib/owncloud/occ upgrade -if [ \( $? -ne 0 \) -a \( $? -ne 3 \) ]; then exit 1; fi - -# Set PHP FPM values to support large file uploads -# (semicolon is the comment character in this file, hashes produce deprecation warnings) -tools/editconf.py /etc/php5/fpm/php.ini -c ';' \ - upload_max_filesize=16G \ - post_max_size=16G \ - output_buffering=16384 \ - memory_limit=512M \ - max_execution_time=600 \ - short_open_tag=On - -# Set up a cron job for owncloud. -cat > /etc/cron.hourly/mailinabox-owncloud << EOF; -#!/bin/bash -# Mail-in-a-Box -sudo -u www-data php -f /usr/local/lib/owncloud/cron.php -EOF -chmod +x /etc/cron.hourly/mailinabox-owncloud - -# There's nothing much of interest that a user could do as an admin for ownCloud, -# and there's a lot they could mess up, so we don't make any users admins of ownCloud. -# But if we wanted to, we would do this: -# ``` -# for user in $(tools/mail.py user admins); do -# sqlite3 $STORAGE_ROOT/owncloud/owncloud.db "INSERT OR IGNORE INTO oc_group_user VALUES ('admin', '$user')" -# done -# ``` - -# Enable PHP modules and restart PHP. -php5enmod imap -restart_service php5-fpm diff --git a/tools/owncloud-unlockadmin.sh b/tools/owncloud-unlockadmin.sh deleted file mode 100755 index f003f5d6..00000000 --- a/tools/owncloud-unlockadmin.sh +++ /dev/null @@ -1,23 +0,0 @@ -#!/bin/bash -# -# This script will give you administrative access to the ownCloud -# instance running here. -# -# Run this at your own risk. This is for testing & experimentation -# purpopses only. After this point you are on your own. - -source /etc/mailinabox.conf # load global vars - -ADMIN=$(./mail.py user admins | head -n 1) -test -z "$1" || ADMIN=$1 - -echo I am going to unlock admin features for $ADMIN. -echo You can provide another user to unlock as the first argument of this script. -echo -echo WARNING: you could break mail-in-a-box when fiddling around with owncloud\'s admin interface -echo If in doubt, press CTRL-C to cancel. -echo -echo Press enter to continue. -read - -sqlite3 $STORAGE_ROOT/owncloud/owncloud.db "INSERT OR IGNORE INTO oc_group_user VALUES ('admin', '$ADMIN')" && echo Done.