phpmyadmin nur per https und von überall

Alles, was den Apache betrifft, kann hier besprochen werden.

phpmyadmin nur per https und von überall

Postby peez » 13. June 2010 09:06

Ich schaff es einfach nicht, meinen phpmyadmin in xampp (windows) von außerhalb verfügbar zu machen und zwar nur per SSL.

Was ich bisher gemacht habe:

httpd-xampp.conf:
Code: Select all
# Hier habe ich SSLRequireSSL hinzugefügt
# und die Allow from all etc.
<Directory "C:/xampp/phpmyadmin">
  SSLRequireSSL
  Order allow,deny
  Allow from all
  AllowOverride AuthConfig
</Directory>
...

#weiter unten im LocationMatch habe ich phpmyadmin rausgenommen, um ihn auch von außerhalb erreichen zu können.
<LocationMatch "^/(?i:(?:xampp|security|licenses|webalizer|server-status|server-info))">
...


Noch eine VHosts-Datei, in der bisher nur zwei einfache VHosts drin sind (über die versuche ich auch phpmyadmin zu erreichen):
Code: Select all
NameVirtualHost *:80
NameVirtualHost *:443

<VirtualHost *:80 *:443>
   ServerName home.myhost.de
   DocumentRoot "C:/htdocs/home.myhost.de"   
</VirtualHost>

<VirtualHost *:80 *:443>
   ServerName www.myhost.de
   DocumentRoot "C:/htdocs/defaulthost"
</VirtualHost>


Wenn ich das richtig sehe, werde ich von https direkt auf http umgeleitet und bekomme dann natürlich die 403 Meldung, da ich ja SSL voraussetze. Vom lokalen Netzwerk aus (also wenn ich über den lokalen Rechnernamen bzw. IP Adresse gehe) wird nicht auf http weitergeleitet.

Ich sitze da jetzt seit Stunden dran und finde einfach keinen Ausweg :-( Habt ihr vielleicht noch ne Idee?
peez
 
Posts: 16
Joined: 04. February 2006 08:45

Re: phpmyadmin nur per https und von überall

Postby Nobbie » 13. June 2010 10:02

peez wrote:Wenn ich das richtig sehe, werde ich von https direkt auf http umgeleitet


Wer leitet wo was um und wieso?

Außerdem sehe ich keinerlei Zusammenhang zwischen den beiden virtuellen Hosts und deren DocumentRoots, die nichts mit dem phpmyadmin-Directory zu tun haben. Was haben diese Dinge für einen Sinn?
Nobbie
 
Posts: 8759
Joined: 09. March 2008 13:04

Re: phpmyadmin nur per https und von überall

Postby peez » 13. June 2010 10:27

Nobbie wrote:
peez wrote:Wenn ich das richtig sehe, werde ich von https direkt auf http umgeleitet

Wer leitet wo was um und wieso?

Ja das frage ich mich auch. Deshalb schreibe ich hier ;) Weder in den confs noch in der config.inc von phpmyadmin habe ich irgendwas in der Richtung gefunden...

Außerdem sehe ich keinerlei Zusammenhang zwischen den beiden virtuellen Hosts und deren DocumentRoots, die nichts mit dem phpmyadmin-Directory zu tun haben. Was haben diese Dinge für einen Sinn?

Die habe ich nur der Vollständigkeit halber noch dazu geschrieben. Bin auch der Meinung dass sie nichts damit zu tun haben sollten. Mein Gedanke war, dass evt. die Alias Direktive für phpmyadmin, die zuvor global vorgenommen wurde, irgendwie nicht mit den vhosts zusammenspielt...
peez
 
Posts: 16
Joined: 04. February 2006 08:45

Re: phpmyadmin nur per https und von überall

Postby Nobbie » 13. June 2010 11:06

peez wrote:Ja das frage ich mich auch. Deshalb schreibe ich hier ;) Weder in den confs noch in der config.inc von phpmyadmin habe ich irgendwas in der Richtung gefunden...


Ach Du Schreck, jetzt verstehe ich erst, was Du meinst. Also eines kann man Dir schon mal lassen: gut beschreiben kannst Du nicht. Rate ich richtig, dass Du meinst, wenn Du (wie auch immer) phpmyadmin aufrufst, dass dann dort ein Redirect erfolgt?

peez wrote:Die habe ich nur der Vollständigkeit halber noch dazu geschrieben.


Was heißt "der Vollständigkeit halber"? Noch unvollständiger und verstümmelter als das, was Du uns hier zeigst, geht doch kaum noch. Mit den paar Fetzen Code kann ich nicht erkennen, wie Du überhaupt phpmyadmin aufrufen willst!?

NIE VERGESSEN: wir sehen NICHTS, wir wissen NICHTS, alles was wir wissen, sind die wenigen Worte aus Deinem Beitrag. Und mit dem Puzzle fängt niemand etwas an. Da solltest Du schon deutlich mehr zeigen.

Von vorneherein eine Anmerkung:

a) die SSL-Direktive im Directory-Block von phpmyadmin ist da sicherlich falsch platziert. Denn das zieht ja dann auch für http (Port 80), was ganz sicher nicht erwünscht ist.

b) deswegen gehört (und eigentlich ist Xampp doch entsprechend vorkonfiguriert) dieser Teil in den VirtualHost für den Port 443.

c) und deswegen gehören auch die VirtualHosts für Port 80 und Port 443 in getrennte Bereiche und NICHT unter einen Hut.

Allein schon diese wenigen Dinge, die Du uns zeigst, sind ziemlich "Kraut und Rüben". Und ohnehin viel zu wenig.
Nobbie
 
Posts: 8759
Joined: 09. March 2008 13:04

Re: phpmyadmin nur per https und von überall

Postby peez » 13. June 2010 11:21

Nobbie wrote:
peez wrote:Ja das frage ich mich auch. Deshalb schreibe ich hier ;) Weder in den confs noch in der config.inc von phpmyadmin habe ich irgendwas in der Richtung gefunden...

Ach Du Schreck, jetzt verstehe ich erst, was Du meinst. Also eines kann man Dir schon mal lassen: gut beschreiben kannst Du nicht. Rate ich richtig, dass Du meinst, wenn Du (wie auch immer) phpmyadmin aufrufst, dass dann dort ein Redirect erfolgt?

Nur, wenn ich phpmyadmin über die externe url aufrufe. Rufe ich phpmyadmin lokal auf (=https://192.168.178.226/phpmyadmin), dann gibts kein Redirect u. ich bleibe im https.
Naja das mit dem Beschreiben kann ich normalerweise ganz gut. Mache ich jeden Tag im Job ;) Kennst du die Situation, dass du weisst irgendwas geht nicht aber du hast keine Ahnung _wonach_ du fragen sollst?

peez wrote:Die habe ich nur der Vollständigkeit halber noch dazu geschrieben.


Was heißt "der Vollständigkeit halber"? Noch unvollständiger und verstümmelter als das, was Du uns hier zeigst, geht doch kaum noch. Mit den paar Fetzen Code kann ich nicht erkennen, wie Du überhaupt phpmyadmin aufrufen willst!?

NIE VERGESSEN: wir sehen NICHTS, wir wissen NICHTS, alles was wir wissen, sind die wenigen Worte aus Deinem Beitrag. Und mit dem Puzzle fängt niemand etwas an. Da solltest Du schon deutlich mehr zeigen.

Gerne zeige ich mehr. Aber was?? Der Rest ist alles unberührter XAMPP Standard.

a) die SSL-Direktive im Directory-Block von phpmyadmin ist da sicherlich falsch platziert. Denn das zieht ja dann auch für http (Port 80), was ganz sicher nicht erwünscht ist.

Doch genau das ist erwünscht. Ich möchte, dass phpmyadmin - von wo aus auch immer - ausschließlich per https angesprochen werden kann. Port 80 solls für den phpmyadmin nicht mehr geben.

b) deswegen gehört (und eigentlich ist Xampp doch entsprechend vorkonfiguriert) dieser Teil in den VirtualHost für den Port 443.
c) und deswegen gehören auch die VirtualHosts für Port 80 und Port 443 in getrennte Bereiche und NICHT unter einen Hut.

Du meinst ich sollte die ssl-Teile der VHosts in die httpd-ssl.conf reinschreiben???
peez
 
Posts: 16
Joined: 04. February 2006 08:45

Re: phpmyadmin nur per https und von überall

Postby Nobbie » 13. June 2010 11:41

peez wrote:Nur, wenn ich phpmyadmin über die externe url aufrufe.


Was heißt das genau?

peez wrote:Doch genau das ist erwünscht. Ich möchte, dass phpmyadmin - von wo aus auch immer - ausschließlich per https angesprochen werden kann. Port 80 solls für den phpmyadmin nicht mehr geben.


Nein, das ist ganz sicher NICHT erwünscht. Schreibst Du ja auch: Port 80 solls nicht geben. Den gibt es aber bei Dir - diese "Lösung" ist falsch. Du mußt im VirtuellenHost für Port 80 dafür sorgen, dass man phpmyadmin nicht erreichen kann - das ist die richtige Lösung. Beispielsweise durch einen Alias, der irgendwo hinzeigt wo dann eine Fehlermeldung kommt.

peez wrote:Du meinst ich sollte die ssl-Teile der VHosts in die httpd-ssl.conf reinschreiben???


JA!! Endlich...

Nur: da stehen sie doch eigentlich schon, wenn man Xampp installiert. Deswegen frage ich mich, was Du da treibst. Aber es stehen ja noch einige Erklärungen aus, denn leider ist es immer noch sehr oberflächlich beschrieben (s.o.).

Rate ich richtig, dass Du einen Router betreibst? Rate ich richtig, dass Du dort ein Portforwarding auf Deinen Xampp Rechner eingestellt hast? Rate ich richtig, dass Du für Port 80 und 443 jeweils ein Portforwarding eingestellt hast? Rate ich richtig, dass das also ein Rechner zu Hause ist (nicht bei einem Provider)? Rate ich richtig, dass Du ggf. dynamische DNS bemüht hast, um irgendwelche Domains zu definieren? Rate ich richtig, dass Du am Xampp Server selbst auch nur den Browser testest? Rate ich richtig, dass Du NICHT an anderen LAN Rechnern testest? Oder etwas doch? Rate ich richtig, dass Du von Rechnern außerhalb des LANs noch nicht getestet hast? Rate ich richtig, dass Du http:/blabla.deinedomain.bla/phpmyadmin im Browser eingibs? Rate ich richtig, dass phpmyadmin direkt unterhalb eines DocumentRoot liegt? Oder rate ich andersherum richtig, dass es für phpmyadmin einen Alias gibt? Was alles muss ich noch raten, bis Du vernünftig zu beschreiben lernst? Merkst Du, wie grauenhaft viele Informationen fehlen?
Nobbie
 
Posts: 8759
Joined: 09. March 2008 13:04

Re: phpmyadmin nur per https und von überall

Postby peez » 13. June 2010 12:40

Nobbie wrote:
peez wrote:Nur, wenn ich phpmyadmin über die externe url aufrufe.

Was heißt das genau?

also die URL, von der aus mein Anschluss vom Internet aus erreichbar ist u. nicht die lokale IP / Rechnername. Mehr dazu unten.

peez wrote:Doch genau das ist erwünscht. Ich möchte, dass phpmyadmin - von wo aus auch immer - ausschließlich per https angesprochen werden kann. Port 80 solls für den phpmyadmin nicht mehr geben.

Nein, das ist ganz sicher NICHT erwünscht. Schreibst Du ja auch: Port 80 solls nicht geben. Den gibt es aber bei Dir - diese "Lösung" ist falsch. Du mußt im VirtuellenHost für Port 80 dafür sorgen, dass man phpmyadmin nicht erreichen kann - das ist die richtige Lösung. Beispielsweise durch einen Alias, der irgendwo hinzeigt wo dann eine Fehlermeldung kommt.

Okay.. Dann kann ich mich ja da mal dran machen. Wobei mir noch nicht ganz klar ist, warum das genau die richtige Lösung ist. Ist wie ich das verstehe eben ein anderer Ansatz. Auf meine Art wird durch das "SSLRequireSSL" beim Zugriff auf das (auch für Port 80) existierende Alias eine Forbidden Seite gezeigt. Über deinen Weg würde der entspr. Port 80 eben direkt auf diese Seite (oder sonst eine) umleiten...

peez wrote:Du meinst ich sollte die ssl-Teile der VHosts in die httpd-ssl.conf reinschreiben???

JA!! Endlich...

Nur: da stehen sie doch eigentlich schon, wenn man Xampp installiert. Deswegen frage ich mich, was Du da treibst. Aber es stehen ja noch einige Erklärungen aus, denn leider ist es immer noch sehr oberflächlich beschrieben (s.o.).

Ok - ich habe die Vhosts jetzt wieder gelöscht, sodass jetzt nur noch die Standard-Config existiert bis eben auf die SSLREquireSSL im phpmyadmin Verzeichnis und das angepasste LocationMatch, dass ich auch von außen auf phpmyadmin zugreifen kann.

So funktioniert es. Per https komme ich lokal oder auch über die URL drauf, per http bekomme ich ne 403 Fehlerseite.

Wie würdest du jetzt vorgehen, wenn du namensbasierte VHosts einrichten möchtest?


Rate ich richtig, dass Du einen Router betreibst? Rate ich richtig, dass Du dort ein Portforwarding auf Deinen Xampp Rechner eingestellt hast? Rate ich richtig, dass Du für Port 80 und 443 jeweils ein Portforwarding eingestellt hast? Rate ich richtig, dass das also ein Rechner zu Hause ist (nicht bei einem Provider)? Rate ich richtig, dass Du ggf. dynamische DNS bemüht hast, um irgendwelche Domains zu definieren? Rate ich richtig, dass Du am Xampp Server selbst auch nur den Browser testest? Rate ich richtig, dass Du NICHT an anderen LAN Rechnern testest? Oder etwas doch? Rate ich richtig, dass Du von Rechnern außerhalb des LANs noch nicht getestet hast? Rate ich richtig, dass Du http:/blabla.deinedomain.bla/phpmyadmin im Browser eingibs? Rate ich richtig, dass phpmyadmin direkt unterhalb eines DocumentRoot liegt? Oder rate ich andersherum richtig, dass es für phpmyadmin einen Alias gibt? Was alles muss ich noch raten, bis Du vernünftig zu beschreiben lernst? Merkst Du, wie grauenhaft viele Informationen fehlen?

Sorry aber schlägst du auch im Echten Leben diesen Ton an?? Ich hoffe nicht...
Natürlich gehst du davon richtig aus, dass ich ein Portforwarding von meinem Router zum Xampp Rechner habe. Und auch gehst du richtig davon aus, dass das mein Rechner zu Hause ist, der ne dynamische IP und dadurch eine dyndns-Adresse hat. Zusätzlich zeigt ein DNS Eintrag einer offensichtlich nicht dynamischen Domain per CNAME auf meine dynamische Domain. Aber das funktioniert alles. Deshalb habe ich es nicht hingeschrieben weil ich weiß dass es funktioniert u. deshalb nicht nötig ist.
Ich weiß du kannst nicht riechen, dass das alles passt aber statt zehn mal zu sagen wie doof ich bin dass ich das alles nicht von Anfang an schreibe, würde eine Frage à la "Ports sind alle richtig weitergeleitet?" mit einem "Ja" als meine Antwort völlig ausreichen.
Genau so wie du nur raten kannst, wie meine Infrastruktur aussieht, kann ich ebenfalls nur raten, was du oder andere hier im Forum evt. wissen müssen, um das Problem zu verstehen. Ich könnte jetzt noch erzählen in welchem Verzeichnis Xampp installiert ist und welche Windows-Version ich habe, Apache nach den Conf-Änderungen neu gestartet, und und und...
Dass phpmyadmin unter c:\xampp\phpmyadmin liegt u. ein alias darauf eingerichtet ist, setze ich als bekannt voraus, da dies beim beschriebenen "XAMPP-Standard" immer so ist.
peez
 
Posts: 16
Joined: 04. February 2006 08:45

Re: phpmyadmin nur per https und von überall

Postby Nobbie » 13. June 2010 13:35

peez wrote:Wie würdest du jetzt vorgehen, wenn du namensbasierte VHosts einrichten möchtest?


Kommt drauf an, ich weiß ja nicht, was du mit den VirtualHost willst. Wieviele es werden, ob sie alle von außen erreichbar sein sollen, für welche Du ein gültiges Zertifikat besitzt, über welche Ports sie erreichbar sein sollen usw.

Sorry aber schlägst du auch im Echten Leben diesen Ton an?? Ich hoffe nicht...


Ist das hier nicht "echt"? Da darfst ruhig merken, dass es nervig ist, Dir die Würmer aus der Nase ziehen zu müssen.

Ich weiß du kannst nicht riechen, dass das alles passt aber statt zehn mal zu sagen wie doof ich bin dass ich das alles nicht von Anfang an schreibe, würde eine Frage à la "Ports sind alle richtig weitergeleitet?" mit einem "Ja" als meine Antwort völlig ausreichen.


Wo habe ich "doof" geschrieben? Und nein, es reicht MIR nicht aus, dass Du nur "ja" antworten willst. DU SUCHST HILFE, NICHT ICH.

Genau so wie du nur raten kannst, wie meine Infrastruktur aussieht, kann ich ebenfalls nur raten, was du oder andere hier im Forum evt. wissen müssen, um das Problem zu verstehen.


Wir müssen ALLES wissen, was Du auch weißt. Du findest ja die Lösung nicht, obwohl Du alles über Deine Installation weißt - wie unendlich schwer ist da, eine Lösung zu finden, wenn man Bruchstücke kennt.

Wunderst Du Dich eigentlich nicht, wieso überhaupt nur ein einziger hier antwortet!? Wetten, dass es daran liegt, dass das den meisten zu viel Quälerei ist, sich da mühselig durchzufragen?!

Ich könnte jetzt noch erzählen in welchem Verzeichnis Xampp installiert ist und welche Windows-Version ich habe, Apache nach den Conf-Änderungen neu gestartet, und und und...


Ja, haargenau! Sehr gut - das MUSST Du alles beschreiben. Weil Du einen Fehler suchst, von dem Du (und auch hier) niemand weiß (von vorneherein) woran es liegen kann. Mit jedem Detail, was Du verschweigst, könntest Du die Ursache verschweigen - dann wird es nie gelöst.

Dass phpmyadmin unter c:\xampp\phpmyadmin liegt u. ein alias darauf eingerichtet ist, setze ich als bekannt voraus, da dies beim beschriebenen "XAMPP-Standard" immer so ist.


Wieder falsch vorausgesetzt - woher soll ich wissen, dass Du ein unverändertes Xampp benutzt? Und es ist ja auch nicht unverändert (zumindest nicht, was Du oben gezeigt hast). Im Gegenteil, Du hast ja sogar noch extra geschrieben, Du hättest alles mögliche gelöscht. Da weiß hier doch niemand, was nun wirklich eingesetzt wird.

Das ist nämlich eine wichtige Info, den ALIAS würde ich so (an der jetzigen Stelle) nicht lassen. Sondern in den virtuellen Hosts integrieren. Und (nur als Beispiel) im VirtualHost der ext. Domain für Port 80 könntest Du für /phpmyadmin einen Redirect auf https://deinedomainde/phpmyadmin eintragen - das wäre auch eine gute Möglichkeit, zu erzwingen, dass phpmyadmin nur via Port 443 zu erreichen ist. Und der ALIAS kommt entweder raus (dann verlegst Du phpmyadmin auch unterhalb des DocumentRoot), oder Du definierst den ALIAS nur für den Port 443.
Nobbie
 
Posts: 8759
Joined: 09. March 2008 13:04

Re: phpmyadmin nur per https und von überall

Postby peez » 13. June 2010 15:30

Argh ich raffs nicht!
Nachdem ich mit meinen Einstellungen problemlos auf beide VHosts komme (mit http und https), habe ich jetzt das phpMyAdmin Verzeichnis aus c:\xampp\phpMyAdmin in mein DocumentRoot des ersten VHost kopiert.

Dann alles rückgängig gemacht, bis auf eben meine beiden VHosts:
Code: Select all
NameVirtualHost *:80
NameVirtualHost *:443

<VirtualHost *:80 *:443>
   ServerName home.myhost.de
   DocumentRoot "C:/htdocs/home.myhost.de"   
</VirtualHost>

<VirtualHost *:80 *:443>
   ServerName www.myhost.de
   DocumentRoot "C:/htdocs/defaulthost"
</VirtualHost>

Bitte jetzt keine Diskussion ob die 443 innerhalb der SSL Konfiguration kommen sollte oder nicht - es funktioniert so. D.h. ich komme sowohl mit http als auch mit https auf die Verzeichnisse u. die Test-Files die ich dort hingelegt habe.
Das an die richtige Stelle zu verschieben mach ich dann wenn ich weiß dass es funktioniert.

So dann habe ich das phpMyAdmin Verzeichnis genommen und nach C:/htdocs/home.myhost.de verschoben (d.h. es existiert nicht mehr am ursprünglichen Ort), damit ich ausschließen kann, die Alias-Direktive irgendwie falsch gemacht zu haben.

Außerdem habe ich das Alias sowie den <Directory> Abschnitt zu /phpmyadmin u. C:/xampp/phpMyAdmin aus der httpd-xampp.conf rausgenommen.

Jetzt folgendes Bild:

Gebe ich im Browser (NICHT auf dem Rechner wo Xampp läuft, sondern auf einem anderen Rechner im selben Netzwerk) das ein:

https://home.myhost.de/phpMyAdmin

funktioniert alles, ich komme da hin.

Da ich faul bin u. keine Groß- und Kleinschreibung machen möchte, habe ich das Verzeichnis C:/htdocs/home.myhost.de/phpMyAdmin in .../phpmyadmin (Kleinschreibung) umbenannt.

Gebe ich jetzt das ein im Browser:

https://home.myhost.de/phpmyadmin

kommt wieder das selbe wie zuvor. Ich werde weitergeleitet auf http://home.myhost.de/phpmyadmin
peez
 
Posts: 16
Joined: 04. February 2006 08:45

Re: phpmyadmin nur per https und von überall

Postby Dungeonwatcher » 14. June 2010 07:44

Moin! 8)

peez wrote:Ich schaff es einfach nicht, meinen phpmyadmin in xampp (windows) von außerhalb verfügbar zu machen und zwar nur per SSL.


Warum so kompliziert? PHPMA kann doch ganz einfach zu SSL gezwungen werden. Setze diesen Wert in der config_inc.php einfach auf true:

Code: Select all
$cfg['ForceSSL'] = true;


und hier das http durch https ersetzen:

Code: Select all
$cfg['PmaAbsoluteUri'] = 'https://www.meinedomain.de/PMA/';


Beim Apache brauchst du dafür nichts konfigurieren. So funktioniert das bei mir seit Jahren völlig Problemlos.

Bye
User avatar
Dungeonwatcher
 
Posts: 94
Joined: 15. August 2007 02:53
Operating System: XP


Return to Apache

Who is online

Users browsing this forum: No registered users and 4 guests