Kein externer Zugriff auf Phpmyadmin/Apache

Irgendwelche Probleme mit XAMPP für Windows? Dann ist hier genau der richtige Ort um nachzufragen.

Kein externer Zugriff auf Phpmyadmin/Apache

Postby Nightmehr » 18. October 2016 15:20

huhu Leute, ich habe ein sehr unangenehmes Problem:

Ich habe gar keinen Zugriff von einer externen IP-Adresse auf meinen Webserver, phpmyadmin o.ä.

Ich habe einen Vodafone Router, wo ich die Ports 80, 8080 und 3306 auf interne IP meines Laptops im LAN forwarded habe.
Hardware Firewall des Routers = AUS
Software Firewall des Laptops auf Win 7 64 Bit = AUS (Auch Windows)
Kein Antivirus vorhanden

Ich habe XAMPP ganz natürlich installiert mit Apache und MySQL und als Dienst gestartet.


Wenn ich von einem anderen Endgerät(Nenne wir es Laptop 2) versuche, per Localhost auf eine Testseite zuzugreifen, die im htdocs Ordner liegt, bekomme ich jedoch die Fehlermeldung: Connection Refused.

Es funktioniert nur im Localhost des Laptops, worauf XAMPP läuft.

Auch ein Versuch mit einem Dienst, wie NO-IP, habe ich gar keinen Zugriff.

Zugriff auf /phpmyadmin geht auch nicht.

Apache Konfig:
http://pastebin.com/iPbCGZQg

MySQL Konfig:
my.ini
http://pastebin.com/fKNsTJ55

Wie kann ich den externen Zugriff aktivieren, sodass man extern quasi auf phpmyadmin zugreifen kann, auf die Datenbanken, sowie auf meinen Apache Webserver?

MfG
Nightmehr
Nightmehr
 
Posts: 5
Joined: 18. October 2016 15:12
XAMPP version: 3.2.2
Operating System: Windows 7 64 Bit

Re: Kein externer Zugriff auf Phpmyadmin/Apache

Postby Nobbie » 18. October 2016 19:54

Nightmehr wrote:Es funktioniert nur im Localhost des Laptops, worauf XAMPP läuft.


Das kann auch sowieso nicht gehen, denn "localhost" bedeutet immer "ich". Wenn Du auf einem Laptop irgendwo oder auch einem Tablet oder Smartphone "localhost" anforderst, heißt das immer, dass die Seite vom Gerät selbst angefordert wird. Und da liegt Xampp ja nicht, kann also sowieso nicht gehen.

Nightmehr wrote:Auch ein Versuch mit einem Dienst, wie NO-IP, habe ich gar keinen Zugriff.


Das ist eine andere Problematik als oben, aber "habe ich gar keinen Zugiff" ist leider total unbrauchbar als Fehlermeldung. Ich glaube auch ehrlich nicht, dass "sie haben gar keinen Zugriff" die Fehlermeldung ist, oder etwa doch?!
Nobbie
 
Posts: 8775
Joined: 09. March 2008 13:04

Re: Kein externer Zugriff auf Phpmyadmin/Apache

Postby Nightmehr » 19. October 2016 08:54

Früher war die Situation bei XAMPP folgendermaßen:

Port forwarden
Firewall konfigurieren

XAMPP installieren, Apache und MYSQL Dienst starten.

Danach konnte mit der öffentlichen IP des Servers auf den Webserver (Apache) oder auf phpmyadmin (MySQL) zugreifen. (Kein Root PW verlegt, komplett zugänglich!)

No-IP sorgt lediglich dafür, dass man zumindest eine feste "Hostadresse" hat und es komfortabel wird.


Nachdem ich die neueste Version testen wollte, habe ich aktuell keinen Zugriff und das ist ja das Problem. Ich nutze die Standard-Config

Chrome sagt:
Err_Connection-Refused
Nightmehr
 
Posts: 5
Joined: 18. October 2016 15:12
XAMPP version: 3.2.2
Operating System: Windows 7 64 Bit

Re: Kein externer Zugriff auf Phpmyadmin/Apache

Postby Nobbie » 19. October 2016 10:58

Nightmehr wrote:Früher war die Situation bei XAMPP folgendermaßen:

Port forwarden
Firewall konfigurieren

XAMPP installieren, Apache und MYSQL Dienst starten.

Danach konnte mit der öffentlichen IP des Servers auf den Webserver (Apache) oder auf phpmyadmin (MySQL) zugreifen. (Kein Root PW verlegt, komplett zugänglich!)


Das ist auch heute noch so. Allerdings ist es schon sehr sehr sehr sehr lange so, dass die "empfindlichen" Verzeichnisse (die es teilweise inzwischen gar nicht mehr gibt, aber phpmyadmin gibt es noch) gezielt in der Apache Konfiguration "geschützt" waren, man bekommt eine kontrollierte Fehermeldung, dass das Verzeichnis nicht von extern, sondern nur von localhost erreichbar ist. Das kann man natürlich abschalten, aber so lief es viele Jahre.

Nightmehr wrote:No-IP sorgt lediglich dafür, dass man zumindest eine feste "Hostadresse" hat und es komfortabel wird.


Das weiß ich alles auch und ich habe das auch nicht gefragt. Ich habe nach einer vernünftigen Fehlermeldung gefragt.

Nightmehr wrote:Chrome sagt:
Err_Connection-Refused


Na immerhin, übel verstümmelt, aber der Kern reicht mir. Das ist in jedem Fall KEINE Apache Fehlermeldung, d.h. der Xampp Apache wird überhaupt gar nicht erst erreicht, also hat das mit Xampp NICHTS zu tun, entweder hast Du irgendwo einen Fehler in der Infrastruktur (Router falsch konfiguriert, Firewall übersehen etc.) oder Apache ist überhaupt nicht gestartet. Jedenfall kommt diese Meldung nicht von Apache und damit auch nicht von Xampp.
Nobbie
 
Posts: 8775
Joined: 09. March 2008 13:04

Re: Kein externer Zugriff auf Phpmyadmin/Apache

Postby Nightmehr » 20. October 2016 21:46

Vielen Dank für die Erkenntnis! Ich habe erstmal eine feste interne IP dem Server zugewiesen (die liegt außerhalb des DHCP-Ranges, wie es sich gehört)

Firewalls alle deaktiviert, sogar Programme, die um die beliebten Apache Ports konkurieren (Skype, COX, etc.) deinstalliert.

Alle Browser geben jetzt folgende Fehlermeldung:

ERR_CONNECTION_TIMED_OUT

Firewall existiert nicht, Proxies werden nicht genutzt.

Ein externer Portscan bestätigt die offenen Ports.

Habe daraufhin nach einem vollständigen Restart aller Geräte (Router, Laptop, Dienste) folgendes aus dem Log. Dabei möchte ich wissen, was die Zeile

www.example.com:443:0 server certificate does NOT include an ID which matches the server name

bedeutet?


Auszug nach dem Neustart (Hinweis: acces Log bleibt bei einem Zugriffsversuch leer, hat also bis dahin tatsächlich nix mit Xampp oder Apache zu tun)

[Thu Oct 20 22:41:31.263264 2016] [ssl:warn] [pid 4412:tid 248] AH01909: www.example.com:443:0 server certificate does NOT include an ID which matches the server name
[Thu Oct 20 22:41:31.291266 2016] [core:warn] [pid 4412:tid 248] AH00098: pid file C:/xampp/apache/logs/httpd.pid overwritten -- Unclean shutdown of previous Apache run?
[Thu Oct 20 22:41:31.409273 2016] [ssl:warn] [pid 4412:tid 248] AH01909: www.example.com:443:0 server certificate does NOT include an ID which matches the server name
[Thu Oct 20 22:41:31.517279 2016] [mpm_winnt:notice] [pid 4412:tid 248] AH00455: Apache/2.4.23 (Win32) OpenSSL/1.0.2h PHP/5.6.24 configured -- resuming normal operations
[Thu Oct 20 22:41:31.517279 2016] [mpm_winnt:notice] [pid 4412:tid 248] AH00456: Apache Lounge VC11 Server built: Jul 7 2016 11:13:22
[Thu Oct 20 22:41:31.517279 2016] [core:notice] [pid 4412:tid 248] AH00094: Command line: 'c:\\xampp\\apache\\bin\\httpd.exe -d C:/xampp/apache'
[Thu Oct 20 22:41:31.518279 2016] [mpm_winnt:notice] [pid 4412:tid 248] AH00418: Parent: Created child process 1488
[Thu Oct 20 22:41:31.915300 2016] [ssl:warn] [pid 1488:tid 260] AH01909: www.example.com:443:0 server certificate does NOT include an ID which matches the server name
[Thu Oct 20 22:41:32.053308 2016] [ssl:warn] [pid 1488:tid 260] AH01909: www.example.com:443:0 server certificate does NOT include an ID which matches the server name
[Thu Oct 20 22:41:32.083310 2016] [mpm_winnt:notice] [pid 1488:tid 260] AH00354: Child: Starting 150 worker threads.
Nightmehr
 
Posts: 5
Joined: 18. October 2016 15:12
XAMPP version: 3.2.2
Operating System: Windows 7 64 Bit

Re: Kein externer Zugriff auf Phpmyadmin/Apache

Postby Nobbie » 21. October 2016 10:56

Nightmehr wrote:Dabei möchte ich wissen, was die Zeile

http://www.example.com:443:0 server certificate does NOT include an ID which matches the server name

bedeutet?


Das ist eine harmlose Warnung (steht ja auch davor "warn" und nicht "error"), in der Konfiguration für Xampp ist ein Beispiel Zertifikat für http://www.example.com eingerichtet (für gesicherten Zugriff via https bzw. Port 443) und diese Zertifikat stimmt nicht mit dem Servername (wahrscheinlich "localhost") überein. Käme sowieso nur bei gesichertem Zugiff in Frage und spielt für dieses Scenario und auch insgesamt keine Rolle, eigene VirtualHosts und Zertifikate müssen sowieso vom Anwender angelegt werden.

Ich würde an Deiner Stelle erst einmal sehen, ob Xampp überhaupt im LAN erreichbar ist, also erst einmal von einem anderen Rechner im LAN die IP des Xampp PCs eingeben (a la http://192.168.20.21) und schauen, ob wenigstens das funktioniert.

Als nächstes würde ich testen, ob das Gesamtscenario von außerhalb (also wirklich von einem Rechner außerhalb des LANs, meinetwegen vom Nachbarn aus oder veröffentliche hier die NO-Ip-Domain, dann kann ich drauf klicken) funktioniert, kann man ggf. auch via Smartphone testen, allerdings darf das Smartphone dann NICHT via WLAN im Internet sein (über denselben Router), sondern muss sich selbst via SIM Karte versorgen (UMTS o.ä.). Es gibt nämlich Router, die können nicht von "innerhalb" des LANs einen Portforward auf innerhalb des LANs durchführen, vielleicht ist das auch hier der Fall (a propos: was für ein Router ist das?).

P.S.: Was ist das überhaupt für eine Internetverbindung (Kabel, LTE, Satellit etc.?). bei welchem Provider? Und welche externe IP hat (aktuell) Dein Router zugewiesen bekommen (Achtung: nicht via Internet und entsprechenden Seiten a la "wie ist meine IP" nachschauen, sondern direkt im Adminmenu des Routers nachschauen, was dort als IP angezeigt wird). Ich habe beispielsweise eine FritzBox und da steht im Menu der Eintrag:

verbunden seit 21.10.2016, 01:27 Uhr, 1&1 Internet,
IP-Adresse: 93.239.....

wobei ich die letzten Stellen weggelassen habe, mir reichen auch bei Dir die ersten beiden Zonen.
Nobbie
 
Posts: 8775
Joined: 09. March 2008 13:04

Re: Kein externer Zugriff auf Phpmyadmin/Apache

Postby Nightmehr » 24. October 2016 18:36

Vielen Dank für die reichhaltigen Infos.

Das Problem lag am sehr bescheidenen Vodafone Easybox Router, der die statische IP meinem Laptop nicht ordentlich vergeben hat. Reset des Routers und eine komplette Neukonfiguration des Routers haben das Problem gelöst.

Nun habe ich auch Zugriff per externer IP und kann direkt auf den Webserver, sowie auf PHPMYADMIN drauf.

Ich habe allerdings ein neues Problem festgestellt.

Ich habe in der my.ini ein Passwort gesetzt, sowie in config.inc.php dem root ein Passwort zugewiesen, allerdings kann ich ohne Passworteingabe extern auf die phpmyadmin Seite zugreifen.

Dies war so in der älteren Version problemlos möglich.
Nightmehr
 
Posts: 5
Joined: 18. October 2016 15:12
XAMPP version: 3.2.2
Operating System: Windows 7 64 Bit

Re: Kein externer Zugriff auf Phpmyadmin/Apache

Postby Nobbie » 24. October 2016 22:18

Nightmehr wrote:Ich habe in der my.ini ein Passwort gesetzt, sowie in config.inc.php dem root ein Passwort zugewiesen, allerdings kann ich ohne Passworteingabe extern auf die phpmyadmin Seite zugreifen.

Dies war so in der älteren Version problemlos möglich.


Glaube ich nicht. Das Passwort für root wird in der MySQL Datenbank verwaltet, in my.ini sagt mir das gar nichts. In config.inc.php werden keine Passwörter "zugewiesen", sondern nur für den Authtype "config" angegeben, damit phpmyadmin sich damit einloggen kann. Ich persönlich mag die Einstellung "config" nicht und bevorzuge "cookie", was zu einem normalen Login Dialog führt. So oder so wird das root Passwort (oder von jedem anderen User) aus der MySQL Datenbank gezogen.
Nobbie
 
Posts: 8775
Joined: 09. March 2008 13:04

Re: Kein externer Zugriff auf Phpmyadmin/Apache

Postby Nightmehr » 25. October 2016 04:01

Die Authentifizierung mittels Cookie hat meine Problemstellung gelöst. Vielen Dank für diese Information.

Inwieweit ist die config.inc.php vor externen Zugriffen geschützt? Ist ein direkter externer Zugriff auf das Quellcode der PHP-Datei möglich? (Direkter Zugriff vom Server aus mal ignoriert)

Das Passwort wird ja klar auf dem Server gespeichert.
Nightmehr
 
Posts: 5
Joined: 18. October 2016 15:12
XAMPP version: 3.2.2
Operating System: Windows 7 64 Bit

Re: Kein externer Zugriff auf Phpmyadmin/Apache

Postby Nobbie » 25. October 2016 11:06

Nightmehr wrote:Die Authentifizierung mittels Cookie hat meine Problemstellung gelöst. Vielen Dank für diese Information.


Nur zur Ergänzung: dann brauchen auch die Angaben "root" und das Passwort nicht mehr in der config.inc.php zu stehen, die sind nur für den Fall "config" da drin. Diese Tatsache allein dürfte für die zweite Frage eine Lösung darstellen.

Nightmehr wrote:Inwieweit ist die config.inc.php vor externen Zugriffen geschützt? Ist ein direkter externer Zugriff auf das Quellcode der PHP-Datei möglich? (Direkter Zugriff vom Server aus mal ignoriert)


Auf Grund der Konfiguration von PHP als CGI Code liefert Apache NIE Quellcode von PHP aus, sondern schickt den Code durch den PHP Interpreter. Dadurch ist er indirekt natürlich auch vor Zugriff geschützt, die Eingabe der entsprechenden URL im Browser führt nicht zum gewünschten Ergebnis. Aber wenn man sowieso keine UserIDs und Passwörter da reinschreibt (s.o.), spielt das kaum noch eine Rolle.

Das ist übrigens der Grund, warum die Datei config.inc.php genannt wird und nicht (wie es in Anfangsjahren des Internets auf vielen Umgebungen eingerichtet war) einfach nur config.inc - denn die config.inc Datei wird NICHT automatisch durch PHP Interpreter geschickt und das führte auf vielen Hostern zu dem Ergebnis, dass die zentrale Konfigurationsdatei einfach von außen lesbar war (das war vielen Neulingen nicht bewusst). Der Provider 1&1 hat damals (sicherlich 15 Jahre her) einen eigenen Schutz in die Apache Konfiguration eingebaut, dass *.inc Dateien nicht von außen abrufbar sind, weil so viele Kunden damals ihre Software falsch eingerichtet hatten.
Nobbie
 
Posts: 8775
Joined: 09. March 2008 13:04


Return to XAMPP für Windows

Who is online

Users browsing this forum: No registered users and 6 guests