nextCloud 11 | DSM 5.2 | php 5.6

Status
Für weitere Antworten geschlossen.

Fusion

Benutzer
Sehr erfahren
Mitglied seit
06. Apr 2013
Beiträge
14.135
Punkte für Reaktionen
898
Punkte
424
Welches hast du genommen, ipkg oder opkg/entware?

Welche Paketquelle steht in den Einstellungen für IPKGui?
Hast du mal Aktualisieren oben links gedrückt?

Mir wird php 5.6.23 als Paket angezeigt
 

Andy+

Benutzer
Sehr erfahren
Mitglied seit
25. Jan 2016
Beiträge
5.021
Punkte für Reaktionen
320
Punkte
189
Ich habe ipkg gewählt und nicht aktualisieren. Muss ich das wohl jeweils anders machen ....
 

Andy+

Benutzer
Sehr erfahren
Mitglied seit
25. Jan 2016
Beiträge
5.021
Punkte für Reaktionen
320
Punkte
189
Ich habe es nun mit opkg/entware installiert und kann nun auch die php 5.6.26 installieren. Die bisherige php läuft offensichtlich fehlerfrei weiter. Die Frage ist nun, wie teile ich das dem System so mit, daß auch nextCloud das erfährt? Denn dort bekomme ich nach wie vor die Meldung, daß php 5.6 nicht installiert sei und von daher weitere Updates auf v11 nicht möglich sind.
 

Fusion

Benutzer
Sehr erfahren
Mitglied seit
06. Apr 2013
Beiträge
14.135
Punkte für Reaktionen
898
Punkte
424
Weiß ich jetzt leider nicht auswendig. Aber prinzipiell würde ich schauen, was an php und sym-links aktuell existiert.
Also z.B. mal mit "which php" oder find etc schauen was vorhanden ist.
 

Andy+

Benutzer
Sehr erfahren
Mitglied seit
25. Jan 2016
Beiträge
5.021
Punkte für Reaktionen
320
Punkte
189
Naja, da kommt die Standard-PHP von DSM 5.2

/$ which php
/usr/bin/php

Aber die php 5.6 im Verzeichnis opt/etc, die erscheint nirgends, daher ist die zwar installiert, aber nicht integriert.
 

Fusion

Benutzer
Sehr erfahren
Mitglied seit
06. Apr 2013
Beiträge
14.135
Punkte für Reaktionen
898
Punkte
424
Ich hab da glaube zu einfach gedacht, dass man vielleicht mit ein paar Symlinks auskommen könnte, aber die ganzen Module und Apache/nginx Integration....

Da ist es vermutlich sogar einfacher per ipkg einen extra Apache samt php zu installieren.

Aber ich bin jetzt hier mal ruhig, bevor ich mir da nicht mehr zu angeschaut habe. Vielleicht findet sich ja jemand der in die Richtung schon was umgesetzt hat.
 

Andy+

Benutzer
Sehr erfahren
Mitglied seit
25. Jan 2016
Beiträge
5.021
Punkte für Reaktionen
320
Punkte
189
Naja, was auch immer mit ipkg installiert wird, mit ist die systemische Integration noch nicht klar. Da ist in Grunde gleich, was installiert wird. Hier nun, weiß nextCloud, welche php vorhanden ist und sieht die php 5.6 des ipkg nicht.
 

Fusion

Benutzer
Sehr erfahren
Mitglied seit
06. Apr 2013
Beiträge
14.135
Punkte für Reaktionen
898
Punkte
424
Das ist ja erstmal ein software-repository, welches Software parallel bzw. separat installiert. Systemische Integration ist in das Linux-System.
Der DSM etc ist ja selbst nur eine web-Anwendung die sich dann via Schnittstellen diverser Tools unter Linux bedient.

Nextcloud (ist in diesem Sinne "dumm" und) greift auf die php-module auf dem webserver mit dem es aufgerufen wird. Bei DSM 5.2 ist das der user-apache.

Installiert man per ipkg jetzt einen weiteren Apachen mit php laufen am Ende 3 webserver. Die 2 von syno und einer von ipkg.
Nextcloud müsste man dann auf diesem Apache irgendwo in ein doc-root/vHost Verzeichnis packen.
Damit man noch via 80/443 etc aufrufen kann müsste man vermutlich mit reverse proxy oder ähnlich auf dem syno-sys-webserver hantieren.

Der andere Weg, zu versuchen dem sys/user-webserver von Synology eine andere php-version unterzujubeln, ohne irgendwas (syno stations etc) sonst "zu zerstören" könnte eventuell schwierig werden.
 

Andy+

Benutzer
Sehr erfahren
Mitglied seit
25. Jan 2016
Beiträge
5.021
Punkte für Reaktionen
320
Punkte
189
Jetzt wird das verständlich. Somit würde irgendwo im Verzeichnis "opt" sowas entstehen, wie ein Verzeichnis "web" und darin müßte dann nextCloud installiert werden.... Hmmm, gibts da ein Wiki darüber, wo das alles ist und wie das dann angesprochen wird? Also, auch mit welchen Adressen?
 

Andy+

Benutzer
Sehr erfahren
Mitglied seit
25. Jan 2016
Beiträge
5.021
Punkte für Reaktionen
320
Punkte
189
Ich habe nun auch apache 2.2.31 über ipkg installiert. In die /opt/etc/apache/httpd.conf habe ich Listen 82 statt 80 hinterlegt, da der Standard-Webserver der DS normal weiterläuft. Kannst Du sagen, wie ich den Webserver der ipkg-Installation zum laufen bekomme, parallel dazu?
 

Fusion

Benutzer
Sehr erfahren
Mitglied seit
06. Apr 2013
Beiträge
14.135
Punkte für Reaktionen
898
Punkte
424
Dein Doppelpost habe ich übersehen.
Die webserver laufen ja nachher parallel, wo man die Daten ablegt, ob man sie auch ins /volume1/web irgendwo mit reinpackt oder separat irgendwo ist zweitrangig.
Von außen kommt man weiterhin mit Namen, IP, Ports an der Maschine an.
z.B. definiert dann ja schon Port 80 oder 82, an welchen Webserver die Anfrage geht bzw. wer dort lauscht.
Welcher Dienst dann auf eine Anfrage antwortet hängt wie beim syno-webserver auch davon ab, welche vHosts/reverse Proxies und anderes auf deinem php-Apachen definiert sind.
Entweder ist die Nextcloud dort ins doc-root oder darunter gepackt, dann würde ein http://IP:82 oder http://IP:82/nextcloud zum Ziel führen, oder man definiert ein vHost und nimmt dann http://nc.domain.de:82 (muss eben dafür gesorgt sein, dass dies auf der IP der DS ankommt, genauso wie beim syno-webserver wo das vielleicht http://nc.domain.de wäre auch.
 

Andy+

Benutzer
Sehr erfahren
Mitglied seit
25. Jan 2016
Beiträge
5.021
Punkte für Reaktionen
320
Punkte
189
Mit Port 82 habe ich auch mal in der httpd.conf hinterlegt. Nun aber, wie sehe ich, ob das alles funktioniert? Denn mit http://IP:82 geht noch nichts. Ich vermute, in der httpd.conf müssen Module eingetragen werden, die geladen werden müssen. Ich habe da zu wenig Erfahrung für das Finishing.

Der "web"-Ordner der IPKG-Installation wäre wohl das Verzeichnis /opt/share/htdocs. Wenn ich nun den Port 82 anspreche, muss ich dann etwas Umleiten?

Ansonsten kann ich mit der http://www.synology-wiki.de/index.php/Apache_IPKG nicht allzuviel anfangen, da die angegebenen Module usw.

etc/apache2/conf.d/php.conf
libexec/libphp5.so
..........

sich alle nicht finden.
 

Fusion

Benutzer
Sehr erfahren
Mitglied seit
06. Apr 2013
Beiträge
14.135
Punkte für Reaktionen
898
Punkte
424
Ich habe per ipkg nur php-apache und php-mysql installiert. Er holt dann selbst noch diverse hinterher.

Dann ist er bei mir auch nicht gestartet. Was ich bis jetzt gefunden habe:
- /opt/var/apache2/log/error_log
- apache starten via "/opt/sbin/httpd -e warn" oder mit debug zum testen und im error log nachschauen.

Wenn du den Port auf 80 setzt sollte er dabei auf jeden Fall einen Fehler werfen und stoppen, weil der ja schon anderweitig verwendet wird.
Dann weißt du, dass er aber überhaupt was macht. Mit "/opt/sbin/httpd -t" kannst du Syntax Fehler prüfen.
Mein doc-root saß auf /opt/share/www, user und group habe ich auf "nobody" gesetzt. Bei der vorgegebenen Gruppe #-1 oder ähnlich meckert er auch noch.

Bei mir hat er sich dann jedenfalls beschwert, dass "Couldn't set permissions on the proxy mutex" und "failed to create proxy mutex"
Also habe ich in der httpd.conf erstmal alle module mit load_proxy auskommentiert.

Dann startet wenigstens der server mal und unter IP:82 sollte eine Seite mit "It works" kommen.

Ist jetzt halt noch nicht zielführend, weil ich nicht weiß, ob ohne Proxy Module z.B: Nextcloud läuft und zudem meckert er weiter über andere Dinge wie "Init: Session Cache is not configured [hint: SSLSessionCache]"
und ein paar php-module und extensions.
Aber zumindest eine info.php Datei in /opt/share/www/info.php kann ich via IP:81/info.php schon mal aufrufen und die richtige php version angezeigt.
 

Andy+

Benutzer
Sehr erfahren
Mitglied seit
25. Jan 2016
Beiträge
5.021
Punkte für Reaktionen
320
Punkte
189
Egal, was ich da mache, ich bekomme

/$ /opt/sbin/httpd -e warn
httpd: bad group name nogroup

/$ /opt/sbin/httpd -t
httpd: bad group name nogroup

Ich habe versucht nobody oder http für Besitzer und Gruppe zu setzen, mit dem obigen Ergebnis.

Ich wundere mich aber, daß Du "www" und nicht "htdocs" hast.
 

Fusion

Benutzer
Sehr erfahren
Mitglied seit
06. Apr 2013
Beiträge
14.135
Punkte für Reaktionen
898
Punkte
424
Die Gruppe heißt ebenfalls "nobody" und nicht nogroup.
doc-root war bei mir so eingetragen nach der Installation der zwei Pakete (php-apache und php-mysql, php oder mysql etc habe ich nicht nochmal installiert, weil man da auch auf die schon vorhandenen von Syno zugreifen können sollte)

Sieht das so aus?
<IfModule unixd_module>
#
# If you wish httpd to run as a different user or group, you must run
# httpd as root initially and it will switch.
#
# User/Group: The name (or #number) of the user/group to run httpd as.
# It is usually good practice to create a dedicated user and group for
# running httpd, as with most system services.
#
User nobody
Group nobody
 

Andy+

Benutzer
Sehr erfahren
Mitglied seit
25. Jan 2016
Beiträge
5.021
Punkte für Reaktionen
320
Punkte
189
Wenn Du einen solchen Eintrag in der httpd.conf meinst, den gibt es bei mir nicht. Nun, php habe ich über IPKG zusätzlich installiert, weil ich für nextCloud 11 die php Version 5.6 brauche, das war ja der Auslöser. Und MySQL habe ich über IPKG zusätzlich installiert, weil ich mir nicht sicher war, wegen den Bezügen. Und bei Besitzer und Gruppen, habe ich für beides einmal nobody und einmal http gesetzt, ohne Ergebnis.

Ich habe dann noch gelesen, daß in der /root/.profile der path angepasst werden muss, das ist aber durch die Installation erfolgt und dort steht ganz am Ende ". /opt/etc/profile", wobei mich der Punkt etwas irritiert. Und in dieser profile in /opt/etc werden weitere Festlegungen nachgezogen.
 

Fusion

Benutzer
Sehr erfahren
Mitglied seit
06. Apr 2013
Beiträge
14.135
Punkte für Reaktionen
898
Punkte
424
Ich hab ja oben geschrieben welche zwei Pakete erst mal ausreichen. php-apache ist schon php 5.6 fertig als apache modul und php-sql für den Datenbankzugriff.
Das separate Paket "php" ist allgemein die Script-Sprache PHP, das brauchst du meines Wissens gar nicht.
In diesem Zustand habe ich unter /opt/etc/apache2/httpd.conf eben die Einträge von oben.

In /root/.profile habe ich nur eine zusätzliche Pfad-Variable am Ende, damit die binaries von IPKG auch gefunden werden können, allgemein auf dem Linux System, ohne den kompletten Pfad anzugeben.
PATH=/opt/bin:/opt/sbin:$PATH
export PATH
Unter /opt/etc habe ich gar keine profile liegen.

Weiß grad nicht ob es vielleicht daran liegt, dass meine optware-ng Installation via Easy Bootstrap Installer schon älter ist und immer nur weiter upgedated wurde.
 

Andy+

Benutzer
Sehr erfahren
Mitglied seit
25. Jan 2016
Beiträge
5.021
Punkte für Reaktionen
320
Punkte
189
Ist schon etwas seltsam, weil die Pakete php-apache und php-mysql gibts bei mir nicht.
 

Andy+

Benutzer
Sehr erfahren
Mitglied seit
25. Jan 2016
Beiträge
5.021
Punkte für Reaktionen
320
Punkte
189
Meine Paketquelle ist

http://pkg.entware.net/binaries/x86-64

mit den Optionen

dest root /
dest ram /opt/tmp
lists_dir ext /opt/var/opkg-lists
option tmp_dir /opt/tmp

Was hast Du für eine Paketquelle?
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat