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

Jetzt erstmal nur noch auf die Schnelle runtergeschrieben. (Grundsätzlich läuft alles wieder aber es sind weit über 30 Stunden vergangen. Holy sh…!)


In Anlehnung an das vorangegangen Prozedere wurde zu 8.1.0 und dann zu 8.2.1 verfahren. Jeweils wurde die Aktualisierung der Instanz ownCloud vorgenommen.

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

Dabei musste dann acuh wieder php5-posix "herangezogen werden."

Dann wurde die Datenbank owncloud.db auf den alten Stand gebracht. ZFS! (Also Einhängen vom Snaphot und kopieren wäre möglich gewesen. Ein Rollback wurde bevorzugt, denn es erschien nicht ersichtlich wozu noch der kaputte Zustand er Datenbank gebraucht werden könnte.) Hierbei war der Snapshot, der gleich unverzüglich erstellt wurde die Rettung. Zwischenzeitlich wurde die Datenbank aus unerfindlichen Gründen häufiger "zerkloppt".

Vor dem harten Anfahren wurde selbstverständlich die Jail gestoppt und ein Snapshot gemacht. Geht steil!

Der nächste Schock! Obwohl ownCloud auf dem aktuellen Stand zu sein scheint, kommt beim ersten Versuch der Anmeldung die Aufforderung zum Aktualisieren auf der Startseite. Hierbei geht es jetzt um "die Apss". Anstatt sich von der Qualität der Startseite abhängig zu machen, geht es ja jetzt auch auf der Kommandozeile, oder?

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

Richtig! Und das Ganze geht symbolisiert mit grüner Schrift einfach sauber durch.

Der große Augenblick, dass nun über die Startseite eine tatsächliche Anmeldung funktionieren müsste, ist da.

LÄUFT!!! (wieder)

Bei Wünschen zur näheren Erklärung oder fürs Ausschweifen zu den vielfältigen Dingen, die ich lernte (pbi 9 und pkg bei FreeNAS, Erstellen von perioden Aufträgen für das Erstellen von Snapshots, …) , kann ich das gern ausführen.

Auch wer Interesse an PBI erstellen und ausbauen, möge sich melden.

--Paul 05:15, 20. Dez. 2015 (CET)

/usr/pbi/owncloud-amd64/www/owncloud/config/config.php

<?php
$CONFIG = array (
  'instanceid' => '',
  'passwordsalt' => '',
  'trusted_domains' =>
  array (
    0 => '141.56.50.16',
    1 => 'cloud.stura.htw-dresden.de',
  ),
  'datadirectory' => '/media',
  'overwrite.cli.url' => 'http://141.56.50.16',
  'dbtype' => 'sqlite3',
  'version' => '8.0.3.4',
  'installed' => true,
  'loglevel' => 0,
  'theme' => '',
  'maintenance' => false,
  'forcessl' => false,
  'forceSSLforSubdomains' => true,
  'mail_from_address' => 'owncloud',
  'mail_smtpmode' => 'php',
  'mail_domain' => 'stura.htw-dresden.de',
  'secret' => '',
);

You don’t have permission to upload or create files here trotz Zuordnung einer entsprechenden Gruppe beim Überordner

Done!

Aktualisierung zu 9.0.0

Aktualisierung 2016-04-06 per Server/srs1337 geklickt.

Ausgabe auf der Website
Updating ownCloud to version 9.0.0, this may take a while.

Preparing update
Set log level to debug
Turned on maintenance mode
Checking whether the database schema can be updated (this can take a long time depending on the database size)
Checked database schema update
Checking updates of apps
Checking whether the database schema for activity can be updated (this can take a long time depending on the database size)
Checking whether the database schema for files_sharing can be updated (this can take a long time depending on the database size)
Checking whether the database schema for files_trashbin can be updated (this can take a long time depending on the database size)
Checked database schema update for apps
Updating database schema
Updated database
Updated "files_pdfviewer" to 0.8
Updated "files_texteditor" to 2.1
Updated "gallery" to 14.5.0
Updated "files" to 1.4.4
Updated "activity" to 2.2.1
Updated "files_sharing" to 0.9.1
Updated "files_trashbin" to 0.8.0
Updated "files_versions" to 1.2.0
Starting code integrity check
Finished code integrity check
Turned off maintenance mode
Reset log level
Following apps have been disabled: bookmarks (3rdparty), calendar (3rdparty), contacts (3rdparty), documents (3rdparty), files_locking (3rdparty), files_videoviewer (3rdparty), imprint (3rdparty)

The update was successful. There were warnings.
Please reload the page.

--Paul 23:48, 7. Apr. 2016 (CEST)

Aktualisierung zu 9.1.2

von 9.0.1

Aktualisierung 2017-06-05 per Server/srs1337 geklickt.

WUI (/index.php) sagt:

Update needed
Please use the command line updater because you have a big instance.

For help, see the documentation.

Die Dokumentation verweist auf https://doc.owncloud.org/server/9.1/admin_manual/configuration_server/occ_command.html#command-line-upgrade .

Demnach (passend fürs FreeNAS 9.3):

Wechseln ins Verzeichnis von ownCloud (wo die Datei occ liegt)
cd /usr/local/www/owncloud/
Durchführen der Aktualisierung auf der Kommandozeile
su -m www -c "/usr/pbi/owncloud-amd64/bin/php occ upgrade -h"
The process control (PCNTL) extensions are required in case you want to interrupt long running commands - see http://php.net/manual/en/book.pcntl.php
ownCloud or one of the apps require upgrade - only a limited number of commands are available
You may use your browser or the occ upgrade command to do the upgrade
Set log level to debug
Turned on maintenance mode
Checking whether the database schema can be updated (this can take a long time depending on the database size)
 Done                                                        
 6/6 [============================] 100%                     
Checked database schema update
Checking updates of apps
Checking whether the database schema for <activity> can be updated (this can take a long time depending on the database size)
 Done                                                        
 14/14 [============================] 100%                   
Checking whether the database schema for <dav> can be updated (this can take a long time depending on the database size)
 Done                                                        
 14/14 [============================] 100%                   
Checking whether the database schema for <federatedfilesharing> can be updated (this can take a long time depending on the database size)
 Done                                                        
 2/2 [============================] 100%                     
Checking whether the database schema for <federation> can be updated (this can take a long time depending on the database size)
 Done                                                        
 7/7 [============================] 100%                     
Checking whether the database schema for <files_sharing> can be updated (this can take a long time depending on the database size)
 Done                                                        
 9/9 [============================] 100%                     
Checking whether the database schema for <files_trashbin> can be updated (this can take a long time depending on the database size)
Checking whether the database schema for <notifications> can be updated (this can take a long time depending on the database size)
Checked database schema update for apps
Updating database schema
Updated database
Disabled 3rd-party app: bookmarks
Disabled 3rd-party app: calendar
Disabled 3rd-party app: contacts
Disabled 3rd-party app: documents
Disabled 3rd-party app: mail
Updating <federatedfilesharing> ...
Updated <federatedfilesharing> to 0.3.0
Updating <files_pdfviewer> ...
Updated <files_pdfviewer> to 0.8.1
Updating <gallery> ...
Updated <gallery> to 15.0.0
Updating <provisioning_api> ...
Updated <provisioning_api> to 0.5.0
Updating <updatenotification> ...
Updated <updatenotification> to 0.2.1
Updating <federation> ...
Updated <federation> to 0.1.0
Updating <files> ...
Updated <files> to 1.5.1
Updating <activity> ...
Updated <activity> to 2.3.2
Updating <dav> ...
Fix classification for calendar objects
 Done                                                        
 50/50 [============================] 100%                   
Updated <dav> to 0.2.7
Updating <files_sharing> ...
Updated <files_sharing> to 0.10.0
Updating <files_trashbin> ...
Updated <files_trashbin> to 0.9.0
Updating <files_versions> ...
Updated <files_versions> to 1.3.0
Updating <comments> ...
Updated <comments> to 0.3.0
Updating <notifications> ...
Updated <notifications> to 0.3.0
Updating <systemtags> ...
Updated <systemtags> to 0.3.0
Update 3rd-party app: bookmarks
Update 3rd-party app: calendar
Update 3rd-party app: contacts
Update 3rd-party app: documents
Update 3rd-party app: mail
Drop old database tables
 Done                                                        
 28/28 [============================] 100%                   
Remove old (< 9.0) calendar/contact shares
 Done                                                        
 4/4 [============================] 100%                     
Fix permissions so avatars can be stored again
 Done                                                        
 2/2 [============================] 100%                     
Repair unmerged shares
 Done                                                        
 64/64 [============================] 100%                   
Starting code integrity check...
Finished code integrity check
Update successful
Turned off maintenance mode
Reset log level


mögliche Probleme und mögliche Behebungen nach der Aktualisierung zu 9.1.2

cd /usr/pbi/owncloud-amd64/www/owncloud && su -m www -c "/usr/pbi/owncloud-amd64/bin/php occ files:scan --all"
The process control (PCNTL) extensions are required in case you want to interrupt long running commands - see http://php.net/manual/en/book.pcntl.php

Scanning files for 66 users
Starting scan for user 1 out of 66 (Alice)
Exception while scanning: "files/hashy" is locked

Starting scan for user 2 out of 66 (Bob)
Exception while scanning: "files/hashyy" is locked


Ansatz ownCloud File is locked - how to unlock vermuten, aber erst einmal doof durchlaufen lassen.

Erstmal doof die bestehende Datenbank kopieren.
cp /media/owncloud.db /media/owncloud.db_`date "+%Y-%m-%d"`

in die Kommandozeile für SQLite gehen

/usr/pbi/owncloud-amd64/bin/sqlite3 /media/owncloud.db
SQLite version 3.8.8 2015-01-16 12:08:06
Enter ".help" for usage hints.
sqlite> 

löschen (leeren) der Tabelle table oc_file_locks

sqlite> DELETE FROM oc_file_locks WHERE 1;

die Kommandozeile für SQLite verlassen

sqlite> .exit

Zum Test erneutes anstoßen vom Scan

cd /usr/pbi/owncloud-amd64/www/owncloud && su -m www -c "/usr/pbi/owncloud-amd64/bin/php occ files:scan --all"
The process control (PCNTL) extensions are required in case you want to interrupt long running commands - see http://php.net/manual/en/book.pcntl.php

Scanning files for 66 users
Starting scan for user 1 out of 66 (Alice)
Starting scan for user 2 out of 66 (Bob)

damn!

Exception while scanning: Jail rootPath is null

Zertifikat erneuern

/usr/local/bin/dehydrated --cron
service apache24 restart

Problematik fehlender automatischer Erneuerung vom Zertifikat

Anscheinend sind letsencrypt.sh und dehydrated installiert. Schwierig! dehydrated scheintz fürs #Zertifikat erneuern aktuell konfiguriert zu sein, da es - im Unterschied zu letsencrypt.sh funktioniert.

less /etc/crontab

1       1       *       *       6       root    /usr/local/bin/dehydrated --cron
15      1       *       *       6       root    service apache24 restart

less /etc/periodic.conf
weekly_letsencrypt_enable="YES"
weekly_letsencrypt_user="_letsencrypt"
weekly_letsencrypt_deployscript="/usr/local/etc/letsencrypt.sh/deploy.sh"

w00t?

q&d!

touch /usr/local/etc/dehydrated/renew.sh
edit /usr/local/etc/dehydrated/renew.sh
#!/bin/sh
/usr/local/bin/dehydrated --cron && service apache24 restart
chmod +x /usr/local/etc/dehydrated/renew.sh
/usr/local/etc/dehydrated/renew.sh
edit /etc/periodic.conf

weekly_dehydrated_enable="YES"
weekly_dehydrated_deployscript="/usr/local/etc/dehydrated/renew.sh"

service cron status
cron is running as pid 12345.

Müll rausbringen

su -m www -c "/usr/pbi/owncloud-amd64/bin/php /usr/local/www/owncloud/occ trashbin:cleanup"

Folglich sind die "Schnappschüsse" vom Zustand der Vermüllung beim Dateisystem (ZFS) auch zu entfernen.

Installation von ownCloud 9.1 oder Nextcloud 10

Wir wollen es mit Debian probieren. Es braucht - wegen dem alten PHP - Debian Version 8 (jessie).

Debian 8 als LXC bei PVE 7

PVE Version 7 basierend auf Debian Version 11.

Es gibt noch einfach eine Vorlage für Debian Version 10. Für vorherige Versionen scheint es keine Vorlage zu geben. Oder?

Das Vorhaben einfach LXC zu nehmen und die Quellen anzupassen (als eine Art downgrade) funktionierte irgendwie nicht richtig.

Debian 8 als KVM bei PVE 7

ownCloud 9.1 als Paket für Debian von ownCloud
ownCloud 9.1 als gesammelte Dateien von ownCloud
Nextcloud 10 als gesammelte Dateien von Nextcloud