1. Herzlich willkommen bei WPDE.org, dem grössten und ältesten deutschsprachigen Community-Forum rund um das Thema WordPress. Du musst angemeldet oder registriert sein, um Beiträge verfassen zu können.
    Information ausblenden

WordPress nur von außerhalb ODER von intern erreichbar?!

Dieses Thema im Forum "Installation" wurde erstellt von Gast 75076, 7. Januar 2015.

Schlagworte:
  1. Gast 75076

    Gast 75076 Gast

    Hallo Zusammen!

    Mein Wordpress läuft auf einem Windows Server 2012 mit WAMP. Ich habe WAMP und Wordpress auch schon richtig konfiguriert, die Firewall von Windows angepasst.

    Auf dem Apache Server läuft Wordpress als Virtual Host. Ebenso läuft eine andere statische HTML Webseite als Virtueller Host. Meine Virtual Hosts unterscheiden sich nicht durch den Namen, sondern durch den Port. Somit kann ich mehrere Seiten mit einer IP Adresse (und eben jeweils einem anderen Port) hosten.
    Auf dem Windows Server läuft ein Updater für eine dynamische DNS Adresse (bei noip.com). Dieser ist richtig konfiguriert und funktioniert auch (mein OpenVPN-Dienst hört, außerhalb meines internen Netzwerks, auf diese Adresse).

    Soweit funktioniert auch alles. Ich hab schon einige aufgetretene Probleme aus dem Weg geschafft und die WordPress Seite nach meinen Vorstellungen angepasst.

    ABER:
    Intern in meinem Netzwerk konnte ich vorerst (außer lokal auf dem Server selbst) nicht auf meine WordPress Seite zugreifen. Nach Befragung des allmächtigen Oracels "Google" hab ich dann den Tipp gefunden, dass ich in den Allgemeinen Einstellungen im WordPress Administratorbereich die "Blogadress" von anfangs "http://localhost:83" auf "http://*Interne IP Adresse des Server*:83" ändern soll.
    Gesagt, getan und tada, es funktioniert nun sowohl auf dem Server selbst, als auch von jedem anderen Computer im internen Netzwerk.
    Am Server selbst gebe ich im Browser "localhost:83" ein und auf den Computern im internen Netzwerk einfach die "*IP des Servers*:83".

    Jetzt wollte ich die Seite auch von außerhalb erreichbar machen und hab die entsprechenden Ports (wie ich es auch bei OpenVPN getan habe) (sowohl für die statische Webseite, als auch für WordPress) am Router freigegeben und zum Server weitergeleitet.
    Meine statische Webseite ist von außen ohne Probleme durch die Angabe des DynDNS Namens + Port erreichbar. Lädt auch recht flott.

    Meine WordPress Seite jedoch lädt Ewigkeiten und ich bekomme dann eine "Zeitüberschreitung".
    Also hab ich ein wenig rumexperimentiert und bei einem Fehlversuch natürlich jedesmal alle geänderten Einstellungen wieder zurückgesetzt.
    Letztendlich bin ich dann darauf gekommen, dass ich ja mal unter Allgemeine Einstellungen die Blogadresse ändern könnte und zwar auf "*DynDN Adresse*:83". Beim Klick auf "Speichern" hat nun Wordpress Ewigkeiten geladen. Irgendwann habe ich es einfach nochmal von außerhalb meines Netzwerks probiert und tada, jetzt öffnet sich die WordPress Seite über die DynDNS Adresse!
    Problem JETZT ist, dass ich über meine Computer hier im lokalen Netzwerk nicht mehr auf Wordpress zugreifen kann, da ich hier jetzt den gleichen Fehler hatte, wie vorher von außerhalb des Netzwerks.

    Zusammenfassend:
    Trage ich bei Wordpress http://*DynDNS Adresse*:port ein, kann ich von außerhalb zugreifen, aber von intern nicht.
    Trage ich bei WordPress http://*Interne IP des Server*:port ein, kann ich von intern zugreifen, aber von außerhalb nicht.

    Wie löse ich diesen Konflikt :?:

    Notfalls wäre zwar noch die Möglichkeit alle Konfigurationen nur noch von Außerhalb vorzunehmen (hab einen Computer außerhalb meines internen Netzwerks, auf den ich über Teamviewer zugreifen kann), aber ich hätte natürlich gerne eine "saubere" Lösung...
     
  2. mensmaximus

    mensmaximus Well-Known Member

    Registriert seit:
    24. Juli 2014
    Beiträge:
    8.857
    Zustimmungen:
    437
    Lösen kannst Du das nur in dem Du auf localhost stellst und am Router ein NAT durchführst, also keine DMZ mit der dynmaischen IP sondern klassisches NAT (DNAT/SNAT) mit der internen IP.
     
  3. himitsu

    himitsu Well-Known Member

    Registriert seit:
    10. März 2011
    Beiträge:
    612
    Zustimmungen:
    0
    Wie bereits erwähnt, kannst du, wenn du offline arbeiten willst, die "externe" URL auf localhost umleiten.



    Du kannst auch Folgendes probieren:

    In die wp-config.php kommen diese beiden Zeilen (so in etwa)
    PHP:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    und dann mußt du dort als URL nur die jeweilige interne oder externe URL angeben ... kannst du z.B. entscheiden über die Infos aus $SERVER (entweder dir URL dort entnehmen oder anhand dieser Infos auswählen was genommen werden muß)
     
  4. Putzlowitsch

    Putzlowitsch Well-Known Member

    Registriert seit:
    21. Oktober 2006
    Beiträge:
    5.955
    Zustimmungen:
    47
    Du kannst auch den internen DNS-Server so konfigurieren, daß er die Anfragen auf den DynDNS-Namen im lokalen Netz mit der IP-Adresse des lokalen Servers beantwortet. In der Wordpress-Konfiguration bleibt dann die DynDNS-Adresse stehen.

    Gruß
    Ingo
     
  5. Putzlowitsch

    Putzlowitsch Well-Known Member

    Registriert seit:
    21. Oktober 2006
    Beiträge:
    5.955
    Zustimmungen:
    47
    Das nützt nichts, denn Wordpress versucht dann auch bei Zugriffen von außen auf "localhost" zuzugreifen, was natürlich schief geht.

    Gruß
    Ingo
     
  6. Gast 75076

    Gast 75076 Gast

    Ok, jetzt bin ich überfordert :-o

    Also vielleicht sollte ich dazusagen, dass ich einen Telekom Speedport W921V Router habe...
    So recht viel mehr als Portforwarding kann man da glaub ich nicht einstellen :?

    Klingt doch schon mal ganz gut...
    Auf dem Windows Server selbst läuft nur der Dateifreigabeserver, Druckserver, WAMP, OpenVPN. Also nen extra DNS Server hab ich nicht eingerichtet.
    Da ich nur einen internen Desktop-PC habe, müsste sich das doch dann über den Eintrag in der Hosts Datei dieses PCs erledigen können, oder?

    Eintrag müsste dann glaub ich folgender sein:
    *DynDNSAdresse*:port *interne IP Adresse des Servers*

    Richtig so?

    Ich hab zwar noch einen Laptop, der mal intern im Netzwerk ist, mal extern im Uninetzwerk, aber extern kann ich ja vom Laptop aus konfigurieren, ohne weitere Einstellungen und intern bin ich meist sowieso am Desktop-PC, somit müsste das mit dem hosts Datei Eintrag doch ne gute Lösung sein, oder bring ich da jetzt was durcheinander?
     
  7. mensmaximus

    mensmaximus Well-Known Member

    Registriert seit:
    24. Juli 2014
    Beiträge:
    8.857
    Zustimmungen:
    437
    Danke für die Korrektur, Ingo. Habe gerade auf einem Kundensystem nachgesehen. Dort hatte ich das gleiche Thema. Gelöst habe ich es mit NAT am Router und $_SERVER['HTTP_HOST']. Sorry für meine Fehlinformation, ist zu lange her.
     
  8. Putzlowitsch

    Putzlowitsch Well-Known Member

    Registriert seit:
    21. Oktober 2006
    Beiträge:
    5.955
    Zustimmungen:
    47
    Ja, aber vielleicht geht es auch einfacher mit den passenden defines in der wp-config. Das könnte etwa so aussehen:
    PHP:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    Damit wird immer das in WP konfiguriert, womit der Zugriff erfolgt. Ich habe es nicht getestet, sollte aber funktionieren.

    Gruß
    Ingo
     
  9. Gast 75076

    Gast 75076 Gast

    Funktioniert der Code so, wie er dasteht, oder muss ich da noch was anpassen?
    Sry, hab noch nicht so viel Erfahrung mit PHP :oops:

    Muss der Code an eine bestimmte Stelle in der wp-config oder egal wohin?

    Was muss ich dann bei "Blogadresse" in den Wordpresseinstellungen reinschreiben? Nichts, oder eine der beiden Adressen?
     
  10. mensmaximus

    mensmaximus Well-Known Member

    Registriert seit:
    24. Juli 2014
    Beiträge:
    8.857
    Zustimmungen:
    437
    Du ersetzt die beiden Zeilen define('WP_HOME', ....) und define('WP_SITEURL', ...) durch den Code von Putzlowitsch. Der Code sollte laufen.
     
  11. himitsu

    himitsu Well-Known Member

    Registriert seit:
    10. März 2011
    Beiträge:
    612
    Zustimmungen:
    0
    Durch diese beiden Zeilen deaktiviert man die bloginterne Speicherung/Verwaltung dieser Option und definiert statisch.
    In den WordPress-Einstellungen sollten diese Edits nun auch deaktiviert sein.
     
  12. Putzlowitsch

    Putzlowitsch Well-Known Member

    Registriert seit:
    21. Oktober 2006
    Beiträge:
    5.955
    Zustimmungen:
    47
    Da ist noch ein Fehler in meinem Code. Der HTTP_HOST enthält ggf. bereits die Portnummer. Die beiden Zeilen, die auf SERVER_PORT Bezug nehmen, müssen gelöscht werden. Mit Erweiterung für HTTPS sieht das nun so aus:

    PHP:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    Ansonsten funktioniert es so wie erwartet, ich habe es gerade mal getestet.

    Ein Problem sind aber in den Artikeln eingefügte Bilder und andere Ressourcen, die sich auf den WP-Installtion beziehen, weil WP die mit den absoluten URLs einfügt. Die muß man alle relativieren, also sie müssen so aussehen '/pathe/name.jpg', und nicht so 'http://example.com/pathe/name.jpg'.

    Gruß
    Ingo
     
  13. Gast 75076

    Gast 75076 Gast

    Tschuldigung für die späte Antwort, bin einfach nicht dazugekommen...

    Also ich hab den Code von dir (natürlich die neue Version) gerade eben in die wp-config.php eingefügt. Hab dann den Server restartet und probiert. Geht nicht.
    Anscheinend hab ichs falsch eingefügt....

    mensmaximus schrieb ja:
    Allerdings finde ich in der wp-config.php keine Zeilen "define('WP_HOME',....) und define('WP_SITEURL', ...)"
    Somit kann ich diese ja auch nicht ersetzten, daraus folgt, ich hab den Code einfach zusätzlich oben eingefügt.

    Soll ich euch mal meine config hier posten? Hilft das?
    Oder muss ich den Code einfach nur wo anders einfügen? :?:

    Und wegen dem Relativieren der Pfade.... wo finde ich denn die Pfade, bzw. muss ich das im Code ändern? Wie oft kommen denn diese Pfade vor?

    Tut mir leid, dass ihr es hier mit so einem Laien wie mir aushalten müsst :-o
     
  14. Putzlowitsch

    Putzlowitsch Well-Known Member

    Registriert seit:
    21. Oktober 2006
    Beiträge:
    5.955
    Zustimmungen:
    47
    In der wp-config.php steht eine Zeile wie:
    PHP:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    Am besten ist der Code unmittelbar davor aufgehoben.

    Ein Server-Neustart ist eigentlich nicht erforderlich.

    Was genau heißt "Geht nicht"? Passiert gar nichts, kommt eine Fehlermeldung?

    Gruß
    Ingo
     
  15. Gast 75076

    Gast 75076 Gast

    Ich hab in deinem Code jetzt den Port von 80 auf 83 gelegt, denn darüber ist meine Webseite ereichbar. Hoffe das ist so richtig!

    Da ich grade in er Uni sitze, kann ich es nicht direkt vor Ort testen. Ich bin aber mit OpenVPN mit zuhause verbunden.

    Also von außen geht es ja sowieso.
    Wenn ich in die Adressleiste die OpenVPN-IP meines Servers eingebe (10.8.0.1) und den Port auf den meine Webseite hört (83), dann komme ich drauf.
    Zuhause würde ich halt jetzt einfach statt 10.8.0.1 die interne IP meines Servers eingeben (192.168.2.112) (und den Port dahinter).
    Bei der dyndns Adresse geht es intern nicht. Da wäre aber egal, hauptsache ich kann intern überhaupt zugreifen!

    Wenns übers OpenVPN funktioniert, wirds zuhause ja auch funktionieren, richtig? :)
     
  16. Putzlowitsch

    Putzlowitsch Well-Known Member

    Registriert seit:
    21. Oktober 2006
    Beiträge:
    5.955
    Zustimmungen:
    47
    Nein, ist es nicht. :)

    Die 80 bzw. 443 müssen so stehen bleiben. Das sind meine Vergleichswerte um zu überprüft, ob der Zugriff über den Standardport (http:80, https:443) erfolgt. Falls der Port 80 bzw. 443 ist, wird er nicht an die URL anghängt, in allen anderen abweichenden Fällen ja.

    Mit deiner Änderung wird der Port nicht mehr anghängt, weil Du ihn als Standard definiert hast und somit funktionieren dier Zugriffe nicht, weil die von Wordpress rezeugten URLs nicht den Port 83 enthalten.

    Gruß
    Ingo
     
  17. Gast 75076

    Gast 75076 Gast

    geändert Chefe ;) !
    Danke für die Erklärung! Man ich muss echt mal PHP lernen ^^.

    Also bevor ich hier ewig Spekulationen rumwerfe, ob es bei mir nun geht oder nicht, probier ich das einfach Abends Zuhause aus und teile dir dann das endgültige Ergebnis mit!
     
  18. Gast 75076

    Gast 75076 Gast

    So, bin jetzt extra heimgefahren, weil mich das jetzt interessiert hat :D

    Also:

    Zuhause (ohne deinen Code):
    Interne IP Adresse + Port --> Kein Zugriff
    DynDNS Adresse + Port --> Kein Zugriff

    Zuhause (mit deinem Code):
    Interne IP Adresse + Port --> Zugriff erfolgreich
    DynDNS Adresse + Port --> Kein Zugriff

    Das war so geplant, richtig? :)
    Falls das so geplant war, sag ich VIELEN LIEBEN DANK!!!!! :lol: Ob ich die DynDNS Adresse oder die Interne IP eingebe ist mir persönlich Schnuppe. Wichtig war mir nur, dass ich von meinem internen Netzwerk irgendwie auf die Wordpress-Seite zugreifen kann.

    Jetzt ist nur noch die frage wegen den relativen Pfaden:
    Wo liegen denn die Codezeilen, die ich ändern muss? Oder muss ich jede Datei in Wordpress bearbeiten?

    Und dann hätte ich noch eine winzige Frage:
    Bei der Installtion von Wordpress wurde ja gefragt, dass wenn man mehrere Wordpress-Seiten betreiben will, dass man in der wp-config.php das Präfix für die Datenbankeinträge ändern soll/muss.
    Jetzt ist die Frage, wenn ich eine zweite WordPress Seite aufmachen will, kann ich diese Option dann nachträglich ändern, oder hätte ich das bei der Installation machen müssen?

    Beziehungsweise, ich kann ja in MySQL einfach ein neues Schema für Wordpress anlegen (also eine neue Datenbank). Dann dürften da doch keine Konflikte auftreten, oder?
     
  19. Putzlowitsch

    Putzlowitsch Well-Known Member

    Registriert seit:
    21. Oktober 2006
    Beiträge:
    5.955
    Zustimmungen:
    47
    Von außen geht es aber über die DynDNS-Adresse?
    Das es von innen nicht geht, hat weniger etwas mit Wordpress zu tun, als vielmehr mit dem Router, der die Zugriffe von innen über die externe Adresse anders behandelt. Das ist bei mir auch so.

    Das ist nicht ganz so einfach. Man muß die Änderungen da vornehmen, wo Wordpress URLs im Editor einfügt, also bei Bildern oder bei internen Links. Ich habe da aber ein Plugin in Arbeit, was genau das leisten wird.


    Genau, eine neue Datenank tut es auch und ist zudem übersichtlicher.

    Gruß
    Ingo
     
  20. Gast 75076

    Gast 75076 Gast

    Ja von außen läufts über die DynDNS Adresse. Wenn ich logisch nachdenke, ist's ja klar, dass das intern nicht gehen kann. :)

    Also wenn ich ein Bild einfüge, dann geh ich in die "Text"-Ansicht beim Editor und hau bei dem Link das "http://192.168.2.1:83/" weg und lass den Rest "/wp-content/..." stehen? So einfach?

    Cool! Kann man die Plugin-Entwicklung irgendwie verfolgen, dass ich mir das installieren kann, sobald es verfügbar ist?
     
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden