Joomla auf neue Synology übersiedeln.

Status
Für weitere Antworten geschlossen.

Jens H

Benutzer
Mitglied seit
06. Jun 2010
Beiträge
271
Punkte für Reaktionen
7
Punkte
18
Hallo,
ich arbeite an der Übersiedelung meiner Joomla-Homepage von einer DS214 auf meine neue DS918+.
Datenbank Export und Import hat so weit geklappt.

Die neue Homepage ist nun im internen Netz über "192.168...../joomla" erreichbar und alles funktioniert.

Nun hänge ich aber an folgendem Problem schon seit vielen Stunden:

Sobald ich im Router den 80er-Port von meiner alten auf meine neue Homepage umstelle, ist die Homepage nicht über www.meinedomain.at sondern nur über www.meinedomain.at/joomla erreichbar.

Bei meiner DS214 habe ich das total umständlich über die Einrichtung eines virtuellen hosts behoben, ich hatte dann im Joomla Verzeichnis noch ein Joomla Unterverzeichnis in dem nur eine index.html Datei lag mit einer Umleitung auf meine Domain


Unabhängig davon, dass dies vermutlich sehr unsauber ist, klappt das mit der 918+ nicht mehr. Denn wenn ich dann meinedomain.at besuche, bekomme ich die index.php datei als Datei "download" ohne Dateiendung angeboten.
In der Konfiguration habe ich bereits eingestellt:

Use URL Rewriting ON
Search Engine Friendly URL YES

Ich bin echt am Verzweifeln, was mache ich falsch?

Wäre für jede Hilfe sehr dankbar.
Jens
 
Zuletzt bearbeitet:

Jens H

Benutzer
Mitglied seit
06. Jun 2010
Beiträge
271
Punkte für Reaktionen
7
Punkte
18
So, habe einen weiteren Tag investiert und bin weiterhin völlig ahnungslos, wo das Problem liegt. In DSM 6 ist wohl einiges anders als im 5er. Ich wage zu behaupten, dass unter anderem die Virtual Host Funktion nicht ordnungsgemäß implementiert ist!
Weiters die Einbindung von .htaccess Dateien. Auf meinem alten, funktionierenden System, liegt nur im /web Ordner eine .htaccess Datei, im Ordner /web/joomla liegt keine. Wenn ich auf dem neuen System keine .htaccess ins Verzeichnis /web/joomla lege, geht gar nichts. Komme dann nicht mal mehr in den Admin Bereich. Alle anderen Einstellungen (configuration.php, Einstellungen in der Joomla GUI) sind identisch. Eine komplette Neuinstallation habe ich schon durchgeführt. Alles wie vorher - geht nicht.


Habe zum Virtual Host Problem folgendes gefunden:

https://community.synology.com/enu/forum/17/post/93258

Joomla-Gurus, meldet Euch. Was kann ich tun, am das /joomla aus meiner URL wegzubekommen?
Jens
 

mrsandman

Benutzer
Mitglied seit
08. Sep 2013
Beiträge
85
Punkte für Reaktionen
2
Punkte
8
Wenn ich das richtig verstehe, dann soll über www.meinedomain.at nur die Joomla Seite erreichbar sein und nicht noch andere Seiten/Dokumente?

Was hast du im virtuellen Host als Dokument-Root für ein Verzeichnis angegeben? Das sollte meiner Meinung nach direkt das /joomla Verzeichnis sein, indem die index.php liegt.
 

Jens H

Benutzer
Mitglied seit
06. Jun 2010
Beiträge
271
Punkte für Reaktionen
7
Punkte
18
In weiterer Folge soll noch die eine oder andere Subdomain dazukommen. Derzeit läuft auf der alten Synology noch mail.meinedomain.at, um auch per Webmail (Zarafa) mails abfragen zu können. Zarafa funktioniert mit DSM 6 zwar ohnehin nicht mehr, aber eine webmail-Lösung wird wohl kommen.

Im virtuellen host habe ich für meinedomain.at den folder web/joomla angegeben. Klappt nicht. Je nach Einstellungen bzw. Vorhandensein einer .htaccess kommt Fehlermeldung oder eine weisse Seite mit "Error" links oben. Habe auch zu Testzwecken einen Ordner angelegt, der auf der gleichen Ebene wie Joomla liegt, eine einfache index.html Datei hineingelegt und auf diesen Ordner mit einer Subdomain (virtual host) verwiesen. Geht auch nicht. Habe in den Einstellungen zum Virtuellen Host php 7.3 statt 5.6 ausgewählt. Geht auch nicht. Und von nginx auf Apache 2.2 umgestellt. Auch erfolglos. Ich glaube, ich habe schon alle Permutationen von Einstellungen mehrfach durch.
Bei DSM 5 war das alles ein Kinderspiel.
 

mrsandman

Benutzer
Mitglied seit
08. Sep 2013
Beiträge
85
Punkte für Reaktionen
2
Punkte
8
Was du beschreibst klingt für mich stark nach entweder a) falsche Verbindungsdaten zum MySQL Server (nehme an du hast das MariaDB Paket dazu installiert?), oder b) fehlender Module in der PHP Konfiguration. Lass uns das mal versuchen gemeinsam anzuschauen. Welche joomla Version verwendest du?

Schau auf deinem bisherigen NAS zuerst unter dem virtual Host, was für ein PHP Profil aktiv war. Dann gehst du in der Web Station auf PHP Einstellungen, wählst dieses Profil aus und gehst auf Bearbeiten. Alle Einstellungen auf dem ersten Reiter dieses Dialogs (insbesondere die aktivierten Erweiterungen in der Tabelle ganz unten!), solltest du auf deinem neuen NAS genauso einstellen. Am besten legst du dazu auf deinem neuen NAS ein eigenes PHP Profil für Joomla an, übernimmst diese Einstellungen und setzt dieses neue Profil als das aktive PHP Profil für deinen virtuellen Host.
 

Jens H

Benutzer
Mitglied seit
06. Jun 2010
Beiträge
271
Punkte für Reaktionen
7
Punkte
18
Ich habe alles direkt über das Paketzentrum installiert. Bei der Installation von Joomla wurde automatisch zusätzlich php 5.6, Maria DB 10, Apache 2.2 und Webstation installiert.
Unter System information im Admin-Bereich von Joomla finde ich:

Joomla! Version: Joomla! 3.8.8 Stable
PHP Version: 5.6.40

Im alten System gibt es keine php Profile, da läuft noch DSM 5.2. Standardmäßig waren hier einige php Erweiterungen angehakt, daran habe ich nie was geändert. Ich wusste bis vor kurzen gar nicht, dass es die gibt :).
Auf dem neuen System waren gar keine angehakt. Habe derzeit aber alle angehakt, das hat leider auch nichts geändert.
 

Jens H

Benutzer
Mitglied seit
06. Jun 2010
Beiträge
271
Punkte für Reaktionen
7
Punkte
18
Habe gesehen, dass die configuration.php Datei auf dem neuen System "unwritable", auf dem alten System "writable" ist.

anders als ich oben geschrieben habe sind einige EInträge in der configuration.php sehr wohl anders, zB
neu: public $host = 'localhost:/run/mysqld/mysqld10.sock';
alt: public $host = 'localhost';

alt:
public $log_path = '/volume1/web/joomla/logs';
public $tmp_path = '/volume1/web/joomla/tmp';

neu:
public $log_path = '/volume1/web/joomla/administrator/logs';
public $tmp_path = '/volume1/web/joomla/tmp';

Einige andere Einträge, von denen ich aber nicht glaube, dass sie relevant sind, unterscheiden sich auch noch (ftp_port "21" vs "leer"etc.)
 

mrsandman

Benutzer
Mitglied seit
08. Sep 2013
Beiträge
85
Punkte für Reaktionen
2
Punkte
8
Ach so, du hast das Joomla Paket installiert, alles klar! Bin davon ausgegangen, dass du joomla manuell installiert hast, sorry! Ausserdem sagst du ja, dass die Seite via "192.168...../joomla" funktioniert, das heisst falsche Verbindungsdaten zu MySQL können wir auch schon ausschliessen!

Dann müssen wir jetzt mit der Web Station die Einstellungen nachbauen, welche das Joomla Paket intern macht um die Seite via "192.168...../joomla" zur Verfügung zu stellen. Falls nicht schon vorher gemacht, erstelle ein neues PHP Profil in den PHP Einstellungen mit PHP 5.6 und aktiviere alle Erweiterungen. Aktiviere auf derselben Einstellungsseite die Option wo etwas mit "display_errors" steht. Ohne diese Option wird dir im Falle eines Fehlers einfach eine leere Seite präsentiert. Mit dieser Option wird dir stattdessen eine Fehlermeldung zurückgeschickt, das sollte uns helfen herauszufinden, was schief läuft. Diese Option sollte später unbedingt wieder deaktiviert werden, sobald die Seite läuft!

Konfiguriere danach im virtuellen Host als Dokumente-root das Verzeichnis "web/joomla", wähle als Server den Apache HTTP Server 2.2 und als PHP Profil das von dir neu erstellte Profil von oben. Versuche danach via www.meinedomain.at auf die Seite zuzugreifen. Da sollte jetzt hoffentlich etwas mehr als nur "Error" kommen.
 
Zuletzt bearbeitet:

Jens H

Benutzer
Mitglied seit
06. Jun 2010
Beiträge
271
Punkte für Reaktionen
7
Punkte
18
Wir sind einen großen Schritt weiter!

Mit URL Rewriting (um das hässliche info.php etc aus der URL z bekommen) geht allerdings nur die Startseite. Egal, was ich im Navigationsmenü anklicke, es kommt folgende Meldung auf einer leeren weissen Seite:

________________________________

Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator, admin and inform them of the time the error occurred, and anything you might have done that may have caused the error.

More information about this error may be available in the server error log.

Additionally, a 500 Internal Server Error error was encountered while trying to use an ErrorDocument to handle the request.

_________________________

Weiters höchst eigenartig: mit Firefox bekomme ich keine Seite angezeigt, sondern es wird mit eine Datei zum Download angeboten.
versuche mal: www.jens-hartmann.at
 

mrsandman

Benutzer
Mitglied seit
08. Sep 2013
Beiträge
85
Punkte für Reaktionen
2
Punkte
8
Das sieht ja schon mal gut aus. Funktioniert bei mir auch mit Firefox (könnte bei dir lokal ein Caching-Problem sein, versuch mal mit CTRL+F5 die Seite neu zu laden im FF). Ohne die Rewriting Rule funktionieren auch die Unterseiten? Wie sieht diese Rule aus?
 

Jens H

Benutzer
Mitglied seit
06. Jun 2010
Beiträge
271
Punkte für Reaktionen
7
Punkte
18
Geht nun auch mit Firefox, hatte nur den Verlauf geleert statt den cache 8-]

Nachdem ich "RewriteBase /joomla" in "RewriteBase /" in der .htaccess geändert habe, funktionieren nun auch die Navigations"buttons". Bis auf jenen, der auf die subdomain www.stillewelten.jens-hartmann.at verlinkt. Wenn ich manuell http://www.jens-hartmann.at/stillewelten im Browser eingebe, klappt es. In diesem Ordner liegt eine .htaccess datei mit folgendem Eintrag:

RewriteEngine On
RewriteRule /* http://www.jens-hartmann.at/stillewelten%{REQUEST_URI} [L,P]

Das hat auf dem alten System so funktioniert:
Der Menüeintrag verweist nach "stillewelten.jens-hartmann.at" und ist in Joomla so konfiguriert, dass er im gleichen Fenster öffnet, mit entsprechend angepasster Menüstruktur und anderem Layout. Durch die virtual-host Weiterleitung und den Eintrag in der .htaccess im /stillewelten Unterordner hat das irgendwie funktioniert. Aber logisch nachvollziehen kann ich das heute nicht mehr, habe ich vor Jahren so gebastelt und nach vielen Versuchn und Trial & Error hat es dann so funktioniert. Fällt Dir eine Lösung ein, wie ich das nun noch gerade biegen kann?
 

Jens H

Benutzer
Mitglied seit
06. Jun 2010
Beiträge
271
Punkte für Reaktionen
7
Punkte
18
Ja, weil die Subdomain-Adresse schon an einigen anderen Stellen verwendet wird und wieder funktionieren sollte. Er reicht eine einfache Umleitung zur ".../stillewelten" Adresse.
 

mrsandman

Benutzer
Mitglied seit
08. Sep 2013
Beiträge
85
Punkte für Reaktionen
2
Punkte
8
Ok, dazu brauchst du sicher einen weiteren virtuellen Host für www.stillewelten.jens-hartmann.at. Aus deiner Beschreibung vermute ich, dass du dort den Dokumente-Root auf web/joomla/stillewelten setzen müsstest.
 

Jens H

Benutzer
Mitglied seit
06. Jun 2010
Beiträge
271
Punkte für Reaktionen
7
Punkte
18
der stillewelten Ordner liegt auf der gleichen Ebene wie der joomla Ordner. Den zweiten Virtual Host Eintrag habe ich daher so wie in meinem alten System auch auf /web/stillewelten gesetzt. Die Umleitung der darin liegenden .htacess Datei klappt aber nicht. Wenn ich eine index.html Datei in den stillewelten Ordner lege, wird sie angezeigt.
Im Ordner stillewelten liegt allerdings einzig und alleine die .htacess Batei mit besagtem Eintrag (post nummer 11). Früher hat das funktioniert, jetzt nicht mehr. Wenn ich das richtig verstehe, dient bei meiner Lösung der /stillewelten ordner lediglich als "virtueller ordner", denn er ist ja eigentlich leer.
 

mrsandman

Benutzer
Mitglied seit
08. Sep 2013
Beiträge
85
Punkte für Reaktionen
2
Punkte
8
Ja genau, so habe ich das auch interpretiert. Ich weiss jetzt auch gerade nicht an was das liegen könnte. Einzig, du schreibst von einer .htacess Datei, sie sollte allerdings .htaccess (mit zwei „c“ heissen).
 

mrsandman

Benutzer
Mitglied seit
08. Sep 2013
Beiträge
85
Punkte für Reaktionen
2
Punkte
8
Für den virtuellen Host hast du auch Apache 2.2 eingestellt?
 

Jens H

Benutzer
Mitglied seit
06. Jun 2010
Beiträge
271
Punkte für Reaktionen
7
Punkte
18
Ja. Kann es sein, dass der Eintrag in der .htaccess mit der neueren Apache/php Version nicht mehr stimmt bzw. so nicht mehr funktioniert?
Er lautet

RewriteEngine On
RewriteRule /* http://www.jens-hartmann.at/stillewelten%{REQUEST_URI} [L,P]

Mit sowas kenne ich mich überhaupt nicht aus, habe die Zeile seinerzeit irgendwo im Netz gefunden.
 

Jens H

Benutzer
Mitglied seit
06. Jun 2010
Beiträge
271
Punkte für Reaktionen
7
Punkte
18
Im /web/joomla Ordner liegt übrigens auch eine .htaccess Datei, und zwar mit folgendem Inhalt:

# Synology PHP
AddHandler default-handler .htm .html .shtml
AddHandler php-fastcgi .php
AddType text/html .php
Action php-fastcgi /php56-fpm-handler.fcgi
# Synology PHP
 
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