nextcloud/DOC/update_owncloud_to_nextcloud.txt
2017-06-16 02:00:42 +02:00

271 lines
6.9 KiB
Plaintext

## --- ownCloud TEST O.OPEN --
## -
VERSION=12.0.0
THIRD_PARTY_APPS="calendar contacts documents notes delete_confirmation richdocuments"
HTTP_USER=www-data
HTTP_GROUP=www-data
SRC_BASE_DIR=/usr/local/src/nextcloud
WEB_BASE_DIR=/var/www/owncloud-test.oopen.de
DATABASE=ownCloud_test
#DB_USER=backup
#DB_PASSWORD=backup
MYSQL_CREDENTIALS="--login-path=local"
## -
## --- Ende ownCloud TEST O.OPEN --
## --- ownCloud RLS --
## -
VERSION=10.0.5
THIRD_PARTY_APPS="calendar contacts documents notes delete_confirmation richdocuments"
HTTP_USER=www-data
HTTP_GROUP=www-data
SRC_BASE_DIR=/usr/local/src/nextcloud
WEB_BASE_DIR=/var/www/cloud-rls.oopen.de
DATABASE=cloud_rls
#DB_USER=backup
#DB_PASSWORD=backup
MYSQL_CREDENTIALS="--login-path=local"
## -
## --- Ende ownCloud RLS --
## --- ownCloud O.OPEN --
## -
VERSION=10.0.5
THIRD_PARTY_APPS="calendar contacts documents notes delete_confirmation richdocuments"
HTTP_USER=www-data
HTTP_GROUP=www-data
SRC_BASE_DIR=/usr/local/src/nextcloud
WEB_BASE_DIR=/var/www/owncloud.oopen.de
DATABASE=ownCloud
#DB_USER=backup
#DB_PASSWORD=backup
MYSQL_CREDENTIALS="--login-path=local"
## -
## --- Ende ownCloud O.OPEN --
## --- ownCloud cloud-giz-test.warenform.de --
## -
VERSION=10.0.5
THIRD_PARTY_APPS="calendar contacts documents delete_confirmation gallery activity notes"
HTTP_USER=www-data
HTTP_GROUP=www-data
SRC_BASE_DIR=/usr/local/src/nextcloud
WEB_BASE_DIR=/var/www/cloud-giz-test.warenform.de
DATABASE=cloud_giz_test
#DB_USER=backup
#DB_PASSWORD=backup
MYSQL_CREDENTIALS="--login-path=local"
## -
## --- Ende ownCloud cloud-giz-test.warenform.de --
## --- ownCloud cloud.skills-green-economy.org --
## -
VERSION=9.1.5
THIRD_PARTY_APPS="calendar contacts documents delete_confirmation gallery activity notes"
HTTP_USER=www-data
HTTP_GROUP=www-data
SRC_BASE_DIR=/usr/local/src/owncloud
WEB_BASE_DIR=/var/www/cloud.skills-green-economy.org
DATABASE=cloud_giz
#DB_USER=backup
#DB_PASSWORD=backup
MYSQL_CREDENTIALS="--login-path=local"
## -
## --- Ende cloud.skills-green-economy.org --
## -----------------------------
CURRENT_INSTALL_DIR=`realpath ${WEB_BASE_DIR}/owncloud`
CURRENT_DATA_DIR=`realpath ${WEB_BASE_DIR}/data`
PRIOR_VERSION=`basename $CURRENT_INSTALL_DIR | cut -d"-" -f2`
DATA_DIR=${WEB_BASE_DIR}/data-${VERSION}
INSTALL_DIR=${WEB_BASE_DIR}/nextcloud-${VERSION}
mkdir -p ${SRC_BASE_DIR}
## - downloud owncloud source
## -
## - owncloud-5.0.12.tar.bz2
## -
cd $SRC_BASE_DIR
if [ -f "${SRC_BASE_DIR}/nextcloud-${VERSION}.tar.bz2" ]; then
rm ${SRC_BASE_DIR}/nextcloud-${VERSION}.tar.bz2
fi
wget https://download.nextcloud.com/server/releases/nextcloud-${VERSION}.tar.bz2
## - Entpacken
## -
if [ -d "${SRC_BASE_DIR}/nextcloud" ]; then
rm -rf ${SRC_BASE_DIR}/nextcloud
fi
bunzip2 < nextcloud-${VERSION}.tar.bz2 | tar -xf -
cd $WEB_BASE_DIR
## - Stop Cronjob:
## - */5 * * * * /root/bin/check_webservice_load.sh
## - Stop apache webservice
## -
/etc/init.d/apache2 stop
## - Alternativly enable maintenance mode
## -
#su -c "/usr/local/php/bin/php ${WEB_BASE_DIR}/htdocs/occ maintenance:mode --on" -s /bin/bash $HTTP_USER
## - Backup Database
## -
mysqldump $MYSQL_CREDENTIALS --opt $DATABASE > \
${WEB_BASE_DIR}/${DATABASE}-v${PRIOR_VERSION}.`date +"%Y-%m-%d-%H%M"`.sql
## - ## - Deactivate third party apps
## - ## -
## - for _app in $THIRD_PARTY_APPS ; do
## - #su -c"/usr/local/php/bin/php ${WEB_BASE_DIR}/htdocs/occ app:disable $_app" -s /bin/bash $HTTP_USER
## - su -c"/usr/local/php/bin/php ${WEB_BASE_DIR}/owncloud/occ app:disable $_app" -s /bin/bash $HTTP_USER
## - done
for _app in $THIRD_PARTY_APPS ; do
su -c"/usr/local/php/bin/php ${WEB_BASE_DIR}/htdocs/occ app:disable $_app" -s /bin/bash $HTTP_USER
#su -c"/usr/local/php/bin/php ${WEB_BASE_DIR}/owncloud/occ app:disable $_app" -s /bin/bash $HTTP_USER
done
## - Erstelle Web-Verzeichnis für die neue OwnCloud Version
## -
mkdir ${WEB_BASE_DIR}/nextcloud-${VERSION}
## - Kopiere Verzeichnis "config" in das neue Installationsverzeichnis
## -
cp -a ${CURRENT_INSTALL_DIR}/config $INSTALL_DIR/
## - Synchronisiere neues Installationsverzeichnis mit
## - den extrahierten Dateien
## -
rsync -a ${SRC_BASE_DIR}/nextcloud/ ${INSTALL_DIR}/
touch -t `date +%Y%m%d%H%M.%S` ${INSTALL_DIR}
## - Kopiere Daten Verzeichnis (hardlinks - harte Dateiverweise)
## -
cp -al ${CURRENT_DATA_DIR} $DATA_DIR
## - Set Permissions
## -
chown -R ${HTTP_USER}:${HTTP_GROUP} ${INSTALL_DIR}
chown -R ${HTTP_USER}:${HTTP_GROUP} ${DATA_DIR}
## - Setze Symlink data verzeichnis
## -
rm ${WEB_BASE_DIR}/data
ln -s data-${VERSION} ${WEB_BASE_DIR}/data
## - Setze symlink (documentroot) auf das neue Installationsverzeichnis
## -
rm ${WEB_BASE_DIR}/nextcloud
ln -s nextcloud-${VERSION} ${WEB_BASE_DIR}/nextcloud
## - Upgrade
## -
## - Note!!
## - this command probably disables 3rd-party aps
## -
su -c"/usr/local/php/bin/php ${WEB_BASE_DIR}/htdocs/occ upgrade" -s /bin/bash $HTTP_USER
#su -c "/usr/local/php/bin/php ${WEB_BASE_DIR}/htdocs/occ maintenance:mode --off" -s /bin/bash $HTTP_USER
## - Start Apache Webserver
## -
/etc/init.d/apache2 start
## - Start Cronjob:
## - */5 * * * * /root/bin/check_webservice_load.sh
## - ## - Enable third party apps
## - ## -
## - for _app in $THIRD_PARTY_APPS ; do
## - su -c"/usr/local/php/bin/php ${WEB_BASE_DIR}/htdocs/occ app:enable $_app" -s /bin/bash $HTTP_USER
## - done
for _app in $THIRD_PARTY_APPS ; do
su -c"/usr/local/php/bin/php ${WEB_BASE_DIR}/htdocs/occ app:enable $_app" -s /bin/bash $HTTP_USER
done
## - Check Application "Notes"
## -
## - If not working as exspected, install app from git repositors
## -
## - cd ${WEB_BASE_DIR}/htdocs/apps
## - su $HTTP_USER -c "/usr/local/php/bin/php ${WEB_BASE_DIR}/htdocs/occ maintenance:mode --on"
## - mv notes notes.ORIG
## - git clone https://github.com/owncloud/notes.git
## - su $HTTP_USER -c "/usr/local/php/bin/php ${WEB_BASE_DIR}/htdocs/occ maintenance:mode --off"
## -
## - Upgrade from git-repository:
## - cd ${WEB_BASE_DIR}/htdocs/apps
## - cd notes
## - git pull --rebase origin master
## -
cd ${WEB_BASE_DIR}/htdocs/apps
su -c "/usr/local/php/bin/php ${WEB_BASE_DIR}/htdocs/occ maintenance:mode --on" -s /bin/bash $HTTP_USER
mv notes notes.ORIG
git clone https://github.com/owncloud/notes.git
su -c "/usr/local/php/bin/php ${WEB_BASE_DIR}/htdocs/occ maintenance:mode --off" -s /bin/bash $HTTP_USER
------------------------------------------------------------------------
https://doc.owncloud.org/server/8.0/admin_manual/maintenance/upgrade.html
while IFS= read -r -d '' n; do
#if [[ "$n" == "mb" ]]; then
# continue
#fi
su -c "/usr/local/php/bin/php ${WEB_BASE_DIR}/htdocs/console.php files:scan --path `basename $n`" -s /bin/bash $HTTP_USER
done < <(find $WEB_BASE_DIR/data/ -mindepth 1 -maxdepth 1 -type d -print0)
su -c "/usr/local/php/bin/php ${WEB_BASE_DIR}/htdocs/console.php files:scan --all" -s /bin/bash $HTTP_USER
su -c "/usr/local/php/bin/php ${WEB_BASE_DIR}/htdocs/occ maintenance:repair" -s /bin/bash $HTTP_USER