Diskussion:Server/srs16

Aus Wiki StuRa HTW Dresden
Zur Navigation springen Zur Suche springen

Aktualisierung 8.0.3 zu 8.2.1

Wegen dem automatischen Aktualisieren geriet in Vergessenheit, dass es da ja noch eine Art Instanzen, nämlich die Jails als plugin, gibt. Dies fiel auch deswegen nicht auf, da es nur ownCloud betrifft.

Da es ein kleines Arbeitstreffen zum Server/Cloud gab, wurde das auffällig.

Also ran ans Gerät. Und gleich mal zeigen wie einfach das doch ist. Also einfach mal auf "Update" (bei Plugins -> Installed -> ownCloud) klicken,also mal kurz warten und daran erinnern, dass eigentlich immer er mindestens ein Snapshot mit ZFS zu machen ist und auf die Startseite gehen und einfach das anklicken, dass die Aktualisierung abschließend mit den neuen Paketen durch ownCloud vollziehen lassen. Läuft! Stop! Doch nicht? Fehlermeldung bei der Startseite! Och nö! Und kein Snapshot gemacht. Das ist wohl die Klatsche zum Thema praktisch mehr erreichen.

Die Startseite fällt gleich von selbst auf maintenance:mode --on um.

This ownCloud instance is currently in maintenance mode, which may take a while.

This page will refresh itself when the ownCloud instance is available again.

Contact your system administrator if this message persists or appeared unexpectedly.

Thank you for your patience.

Also jetzt erstmal einen Snapshot machen.

Was geht denn ab? Um zu verstehen was läuft: Erstmal Dokumentation lesen. Beim Verknüpfen von ownCloud und FreeNAS wird der Prozess erstmal zum Ausspucken von Fehlern auf die Kommandozeile geholt.

cd /usr/pbi/owncloud-amd64/www/owncloud ; su -m www -c "/usr/pbi/owncloud-amd64/bin/php occ upgrade"
ownCloud or one of the apps require upgrade - only a limited number of commands are available
Set log level to debug - current level: 'Debug'
Exception: Updates between multiple major versions and downgrades are unsupported.
Update failed
Maintenance mode is kept active
Reset log level to 'Debug'

Was? Es stellt sich heraus, dass 8.0, 8.1 und 8.2 major versions (Hauptversionen) sind. Demnach ist der Sprung von 8.0.X auf 8.2.X nicht möglich, da es dem Zwischenschritt 8.1.X bedarf. Sch… önes Konzept! Wie intuitiv! Egal! Frickeln!

Mit den direkten Quellen von ownCloud machen? Das ist ja nicht wirklich "FreeNAS"-Style! Also FreeNAS und die dortige Welt der Verwaltung von Paketen, insbesonder ezu Plugins anschauen. Die Dokumentation ist toll. Jedoch gilt das nicht fürs Fricken, sonder für die normale Bedienung. Ansätze für das Lösen solchjeer Probleme ist nicht im Handbuch zu finden.


Also einfach mal pauschal den Dienst ausschalten. (Die Jail sollte einfach erstmal laufen bleiben, denn in ihr soll ja was gemacht werden.)

cd /tmp/
fetch http://download.freenas.org/plugins/9/x64/owncloud-8.0.3-amd64.pbi
pbi_add -f --no-checksig owncloud-8.0.3-amd64.pbi

Dann fangen wir mal an im Nebel der Wolke zu stochern.

su -m www -c "/usr/pbi/owncloud-amd64/bin/php occ"
The posix extensions are required - see http://php.net/manual/en/book.posix.php

Fail! Was soll das denn? Ein Hoch der Modularität!

Wir ziehen langsam das Tempo an. (Sich in Ruhe mit PHP auseinandersetzen mögen andere Menschen machen.)

find /usr/pbi/owncloud-amd64/ -name *.ini
/usr/pbi/owncloud-amd64/www/owncloud/.user.ini
/usr/pbi/owncloud-amd64/etc/php.ini
/usr/pbi/owncloud-amd64/etc/php/extensions.ini
less /usr/pbi/owncloud-amd64/etc/php.ini
less /usr/pbi/owncloud-amd64/etc/php/extensions.ini
$EDITOR /usr/pbi/owncloud-amd64/etc/php/extensions.ini

extension=posix.so

Na jetzt aber!

su -m www -c "/usr/pbi/owncloud-amd64/bin/php occ"
PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/pbi/owncloud-amd64/lib/php/20100525/posix.so' - Cannot open "/usr/pbi/owncloud-amd64/lib/php/20100525/posix.so" in Unknown on line 0
The posix extensions are required - see http://php.net/manual/en/book.posix.php

Nein!

find /usr/ -name posix.so

Das ist ja gemein!

pkg search posix | grep php
php5-posix-5.4.31_1
php53-posix-5.3.29_1
php55-posix-5.5.15_1

Also was jetzt?

Den Teil, dass ich sich als hilflose DAU erstmal eine Seite für phpinfo() zum Ermitteln der aktuell verwendeten Version von PHP erstellt werden muss, überspringe ich. Gleichermaßen ist das mit dem Geradeziehen für die Paketverwaltung im Sinne von pkg add -f http://pkg.freebsd.org/freebsd:9:x86:64/latest/All/pkg-1.6.2.txz.

Letztlich:

pkg install -y php5-posix

Und dann schauen wir mal …

find /usr/ -name posix.so
/usr/local/lib/php/20100525/posix.so

… und siehe an.

$EDITOR /usr/pbi/owncloud-amd64/etc/php/extensions.ini

extension=/usr/local/lib/php/20100525/posix.so

su -m www -c "/usr/pbi/owncloud-amd64/bin/php occ"

Works!


Zum Testen einfach mal maintenance:mode --off einstellen.

su -m www -c "/usr/pbi/owncloud-amd64/bin/php occ maintenance:mode --off"
Maintenance mode disabled