ownCloud – „from source“ in Docker Container [owncloud] [docker]

Genesis Mining

Die eigene Cloud-Lösung dank ownCloud ist eine tolle Sache. Ich habe ja so einige Server. Sowohl im „Managed Service“, also bei denen sich professionelle Serveradmins um das System kümmern als auch einige andere, bei denen ich mich selbst drum kümmere (eigene Systeme wie bspw. ownCloud, bei denen es sich aus kostengründen so ergibt).

Ich betreibe unter anderem eine ownCloud Instanz auf einem der Server die ich halt selbst verwalte. Und noch andere Systeme. Was immer wieder schwierig für mich ist: Zugriffsrechte. Ich habe mich damit anscheinend noch nicht ausgiebig genug bei Linux beschäftigt. Daher hat es eine ganze Weile gedauert, bis die ownCloud wie gewünscht lief.

Nun habe ich etwas Sorge gehabt, als ein anderes System auf dem Server PHP 5.6 brauchte. Da ich nicht weiß, wie ich mehrere PHP Versionen parallel betreibe, habe ich einfach von PHP 5.4 auf PHP 5.6 umgestellt. Eben mit der Sorge, dass dadurch andere Systeme ggf. Schwierigkeiten bekommen.

Um solche Sorgen nicht mehr zu haben, möchte ich schon seit langem alle Anwendungen dieses Servers in eigene Docker Container umziehen. Mit Docker habe ich mich hier auf dem Blog schon beschäftigt. Ich finde die Idee von Docker genial und habe ja auch seid kurzem meine eigene private Docker Registry.

Docker Container einrichten

Bevor ich groß mit Dateien hantieren wollte, habe ich die Docker Container aufgesetzt. Dazu schreibe ich mit immer ein anwendung.sh-Bash-Script, also in dem Fall owncloud.sh

Nun vergesse ich nie wieder wie ich diese container konfiguriert habe. Kommt eine neue Version von ownCloud, kann ich einfach oben den Image-Namen ändern und das Script erneut ausführen. Praktisch!

Ich habe das Script ausgeführt und auf meine neue Cloud per http://host:81 zugegriffen. Ich wollte sehen, ob alles funktioniert. Der Installations-Wizard war zu sehen, demnach: Läuft.

Datenbank einspielen

Ein spannender Punkt. Denn ich habe ja, wie oben im Script zu erkennen, einen Docker Container für MySQL eingerichtet. Wie bekomme ich da jetzt also die Datenbank rein?

Ich habe mich dazu entschieden, ein SQL-File zu exportieren und dieses in das Docker Volume zu schieben sowie die Berechtigungen richtig zu setzen.

Nun konnte der Datenbankimport stattfinden, vorher muss natürlich erst eine neue DB angelegt werden. Beides geht in jeweils einem einzigen Aufruf:

Konfiguration übernehmen

Nachdem nun die Datenbank steht, muss natürlich die neue ownCloud-Installation mit der Datenbank verbunden werden bzw. generell die ganze Konfiguration übertragen werden.

Damit allerdings nicht getan, die Konfiguration muss geprüft werden. Denn es hat sich zumindest der Datenbank-Host geändert. Die Datenbank findet man nun nicht mehr auf „localhost“, sondern über den Host „mysql“ (siehe Docker Link im Installationsscript).

Daten übernehmen

Tja und als letzter Schritt fehlt nur noch, die Daten zu übernehmen.

Nun ist meine neue ownCloud-Installation Testbereit.

ownCloud umschalten

Nach den Tests kann ich den vHost im Apache des Server einfach als Redirect auf den Port 81 (siehe Port-Mapping im Docker-Script) konfigurieren. Dann ist automatisch meine schöne URL nutzbar, der Apache fungiert in dem Moment einfach als Proxy.

In meinem Fall ist wie gesagt ein Apache im Einsatz, das ganze lässt sich natürlich mit nginx auch realisieren. Diesen habe ich allerdings noch nicht oft eingesetzt und habe hier also zu einem vertrauten Mittel gegriffen.

Und schon kann ich meine Cloud über den Browser aufrufen und bedienen.

Dieser Beitrag wurde am von in Allgemein veröffentlicht. Schlagworte: , , .

Über Oliver Lippert

Oli ist gelernter Systementwickler (FFA - ausgeschrieben sprengt es den Rahmen) , 1990 Geboren und inzwischen glücklich verheiratet. Seid mehr als 10 Jahren WebEntwickler, seit 2011 auf professioneller Ebene. 2012 begann Oli ein Nebengewerbe im Bereich WEB (Wartung, Entwicklung, Bereitstellung) und hat inzwischen eine vielzahl an Projekten zuverlässig und kundenorientiert abgewickelt, betreibt eigene WebServer und Hostet eine vielzahl an Webseiten.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.