Hallo zusammen,
ich möchte die App “OCR” für Nextcloud 13 im UCS 4.3 installieren:
https://apps.nextcloud.com/apps/ocr
Diese App setzt redis-server, php-redis, tesseract-ocr and OCRmyPDF voraus. Nähere Installationshinweise habe ich von hier:
Zunächst habe ich redis-server direkt am UCS 4.3 installiert und bin dabei der Anleitung hier gefolgt: https://redis.io/topics/quickstart
Dabei traten keine Probleme auf, der redis-server läuft.
In der Anleitung von Janis91 wird zunächst die Installation von Docker an sich beschrieben, welche ich bei UCS 4.3 nicht durchgeführt habe, da Docker bereits vorhanden ist.
Ich bin mir aber nicht sicher, welche Einstellungen für Univention-kompatible Docker Images vorzunehmen sind und frage mich daher, ob die Docker-Installation laut Janis91 genau so ausgeführt werden kann:
In order to build the redis image that supports authentication, you have to run the following command within the redis/ directory:
docker build --build-arg PASSWORD="" -t /redis .
Options :
-
build-arg : PASSWORD="" - here you can specify a safe password for Redis authentication, you want to have available in your docker container later (Consider: since Redis is pretty fast an outside user can try up to 150k passwords per second against a good box. This means that you should use a very strong password otherwise it will be very easy to break). If this argument is omitted
OCR
is the password by default. If the argument is set to an empty string, no password will be set and authentication will be inactive (maybe insecure). - t : tag your image with a proper name (fill in your preferred name inside of the <> brackets)
Frage 1: Hier frage ich mich bereits, welcher festzulegen ist.
Des weiteren muss noch für PHP 7.0 php-redis installiert werden, allerdings im Docker Container von Nextcloud. An dieser Stelle kämpfe ich gleich mit zwei Schwierigkeiten:
Frage 2: Auf welche Art und Weise kann ich fehlende Pakete im Container nachinstallieren? Ich habe mich mit “univention-app shell nextcloud” in die Shell des Containers begeben. Ist das überhaupt korrekt?
Frage 3: Ich weiß nicht, wie ich PECL-Extensions für PHP 7.0 installieren soll.
Innerhalb des Nextcloud Containers fand ich zwar /usr/bin/pecl und habe folgenden Befehl ausgeführt:
pecl install redis
Das funktionierte jedoch nicht auf Anhieb. Damit pecl überhaupt redis erzeugen konnte, musste ich zunächst phpize erzeugen und habe mich dabei von folgender Anleitung inspirieren lassen, die jedoch für PHP 5.X ausgelegt ist:
Dementsprechend habe ich mir zunächst das aktuelle shtool geholt:
wget http://ftp.de.debian.org/debian/pool/main/s/shtool/shtool_2.0.8-9_all.deb
dpkg -i shtool_2.0.8-9_all.deb
Danach habe ich mir die php7.0-dev geholt, um mittels shtool zu phpize zu gelangen:
apt-get install php7.0-dev
Dabei erhielt ich im Container die Datei /usr/lib/php/20151012/redis.so. Nachdem es auch ein Verzeichnis /usr/lib/php/7.0 gibt, habe ich Zweifel, ob das vorhandene /usr/bin/pecl und die hier angeführte Prozedur überhaupt richtige ist.
Frage 4: Selbst wenn die bisherigen Hürden gemeistert sind, stelle ich mir die Frage, auf welche Art und Weise die zugehörige php.ini abzuändern ist, damit Nextcloud im Docker Container auf php-redis zurückgreifen kann.
Ich habe mich mittels “univention-app shell nextcloud” in den Container begeben und php.ini in folgenden Verzeichnissen identifiziert:
/etc/php/7.0/apache2/php.ini
/etc/php/7.0/cli/php.ini
Wie ist der korrekte Weg, um nachträgliche Anpassungen an Konfigurationsdateien vorzunehmen und in einem Docker Container einzufügen? Ich müsste die Zeile “extension=redis.so” einfügen.
Frage 5: Die Anleitung von Janis91 lässt sich nicht weiter über die Installation von tesseract-ocr und OCRmyPDF aus. Hat jemand konkrete Erfahrungen damit gemacht und kann mir Hinweise geben, welche Ressourcen ich mir zwecks Installation ansehen kann?
Ich danke Euch für Hinweise!
Viele Grüße
Peter