Wie ich bereits in anderen Artikeln beschrieben habe, müssen bei der Installation der ownCloud (5.0.x und 6.0.x) bei all-inkl.com einige Anpassungen vorgenommen werden, damit die Software per SSL im fastcgi Modus fehlerfrei eingesetzt werden kann.
Nach einem Update (siehe auch ownCloud-Anleitung) gehen diese Änderungen normalerweise verloren und der Aufruf der ownCloud-Installation führt bei mir nur zu folgendem PHP-Fehler:
Warning: Unexpected character in input: '\' (ASCII=92) state=1 in /path/to/owncloud/lib/base.php on line 584 Warning: Unexpected character in input: '\' (ASCII=92) state=1 in /path/to/owncloud/lib/base.php on line 619 Parse error: syntax error, unexpected T_STRING, expecting T_VARIABLE in /path/to/owncloud/lib/base.php on line 619
Um dies zu vermeiden gehe ich beim Update (KEIN Upgrade) folgendermaßen vor:
- Per SSH auf dem Server einloggen
- Backup der bisherigen Installation anlegen:
rsync -a owncloud/ owncloud_bkp`date +"%Y%m%d"`/
- Die aktuelle ownCloud-Version herunterladen
wget http://download.owncloud.org/community/owncloud-5.0.x.tar.bz2
- Die aktuelle ownCloud-Version entpacken
mkdir owncloud_latest; tar -C owncloud_latest -xjf owncloud-5.0.x.tar.bz2
- Neuere Dateien überschreiben
rsync --inplace -rtv owncloud_latest/owncloud/ owncloud/
- Die .htaccess Datei anpassen
- PHP 5.3 aktivieren und PHP-Config anpassen
AddHandler php53-cgi .php php_flag magic_quotes_gpc off
- SSL-Zugang erzwingen
<IfModule mod_rewrite.c> RewriteEngine on # Falls kein HTTPS aufegrufen wurde und die Anfrage # nicht vom SSL-Proxy kommt -> auf SSL weiterleiten RewriteCond %{HTTPS} off RewriteCond %{HTTP:X-FORWARDED-SERVER} !^ssl-account\.com$ [NC] RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L] </IfModule>
Die Änderungen in der Datei config/config.php (siehe Artikel ownCloud mit SSL-Proxy) werden normalerweise nicht überschrieben.
- Vorbereitung für korrekte WebDAV-Unterstützung: Dazu muss die Zeile
RewriteRule .* - [env=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
durch
RewriteRule .* - [env=REMOTE_USER:%{HTTP:Authorization},last]
ersetzt werden.
- PHP 5.3 aktivieren und PHP-Config anpassen
- Die WebDAV-Authentisierung anpassen: Ab Version 5.0.7 muss in der Datei 3rdparty/Sabre/HTTP/BasicAuth.php nach dem Abschnitt
// Apache could prefix environment variables with REDIRECT_ when urls // are passed through mod_rewrite if (!$auth) { $auth = $this->httpRequest->getRawServerValue('REDIRECT_HTTP_AUTHORIZATION'); }
folgender Source-Code ergänzt werden:
if (!$auth) { $auth = $this->httpRequest->getRawServerValue('REDIRECT_REMOTE_USER'); }
- ownCloud aufrufen und Update abschließenIn diesem Schritt wird die ownCloud-Installation aktualisiert. Dazu wird zunächst der Wartungsmodus aktiviert und anschließend die Konvertierung angestoßen. Sollte dabei etwas schief laufen, so hat es bei mir geholfen den Wartungsmodus in der Datei ./config/config.php zu deaktivieren ( ‘maintenance’ => false ) und anschließend die Konvertierung nochmal zu starten.
- Aufräumen
rm -rf owncloud-5.0.x.tar.bz2 owncloud_latest/
Läuft alles wie gewohnt, lösche ich einige Tage oder Wochen später abschließend auch das in Punkt 2 angelegte Backup um Speicherplatz auf dem Server zu sparen.