Support » Installation » WP Sites auf XAMPP im Netzwerk erreichen

  • Gelöst kurapika

    (@kurapika)


    Ich bastle an einer Site, welche noch eine Weile am XAMPP entsteht. Leider gibt es ein Problem mit einem Plugin, welches scheinbar (laut den Browser Simulationstools) nur? bei mobilen Geräten nicht arbeitet.

    Um dies auf einem echten Smartphone oä. prüfen zu können, versuchte ich die am XAMPP gespeicherte Site per Smartphone zu erreichen.
    Das Gerät ist wie alle anderen im Netzwerk, alles oke.

    Doch ich musste feststellen, dass nur WP Sites von keinen der anderen Geräte aus erreichbar sind. (anders aufgebaute Webanwendungen schon)
    Also muss man bei WP etwas ändern – nur was?

    Ich habe vieles versucht, wie etwa die wp-config.php mit der IP oder dem Namen des Rechners auf dem der XAMPP läuft zu versehen. Geht auch nicht, jedes andere Gerät schaltet schließlich auf „localhost“ (den es darauf aber nicht gibt.)
    Also weder:

    define('WP_SITEURL', 'http://xamppc/webs/wpsite');
    define('WP_HOME', 'http://xamppc/webs/wpsite');

    noch

    define('WP_SITEURL', 'http://123.456.789/webs/wpsite');
    define('WP_HOME', 'http://123.456.789/webs/wpsite');

    geht extern.

    Muss man das doch (auch) in der DB ändern? Oder eh bloß im Admin / permalinks? Da aber viele die Site damit ausknocken, frage ich vorher.

    Und womöglich ist das alles falsch gedacht, vllt. gibt es andere Wege, um lokal gehostete WP Sites im Netzwerk verfügbar zu machen?

Ansicht von 15 Antworten - 1 bis 15 (von insgesamt 21)
  • bscu

    (@bscu)

    Was hast du denn in der Datenbank-Tabelle <Präfix>_options unter siteurl und home stehen?

    Thread-Starter kurapika

    (@kurapika)

    Inzwischen das Gleiche wie ich in der wp-config eingetragen habe, aber es ändert sich extern nix. Weiterhin Site nicht erreichbar.
    Einzig: Der andere Rechner schaltet bei http://xamppc/webs/wpsite nicht mehr auf localhost, die Adresse „http://xamppc/webs/wpsite&#8220; bleibt nun stehen.

    Anders wenn ich die IP des Hostrechners einsetze (http://123…/webs/wpsite), sucht der andere Client wieder einen localhost bei sich selber …

    Übrigens habe ich auch DB_HOST mal mit IP, mal mit Name statt localhost versehen. Am XAMPP-PC gehts weiterhin, bei allen anderen … nix

    bscu

    (@bscu)

    Schön, dass du nicht auf meine Frage eingehst und statt dessen lieber erst mal Änderungen durchführst. 🙁 Es wäre gut gewesen, wenn wir gewusst hätten, was du bei den Werten stehen hattest.

    Wenn du in der Datenbank siteurl und home geändert hast, bist du noch nicht fertig mit den Änderungen. In der Datenbank stehen weitere Links, die angepasst werden müssen. Dazu solltest du das Plugin „Better Search Replace“ verwenden.
    In der wp-config musst du eigentlich nichts ändern.

    Ich hoffe mal, du hast vor deinen Änderungen ein Backup der Datenbank angelegt.

    Kann man denn von einem Rechner im Netz mit http://rechnername auf XAMPP kommen?

    • Diese Antwort wurde geändert vor 1 Monat von bscu.
    Moderator Bego Mario Garde

    (@pixolin)

    Nochmal zurück zum Thema … 😉

    Wenn du wissen möchtest, wie deine Webseite auf dem Smartphone aussieht, kannst du mit F12 die Entwickler-Tools im Browser aktivieren und dann per Klick aufs Icon (siehe Pfeil) die Mobil-Ansicht aufrufen. In Firefox sieht das z.B. so aus:

    Screenshot Einstellungen
    (zum Vergrößern anklicken)

    Ansonsten arbeiten lokal auf deinem Computer installierte Webseiten zunächst einmal über die Adresse http://localhost bzw. 127.0.0.1, wobei sich „Lokaler Host“ immer auf den Host des eigenen PC bezieht – mein localhost zeigt was völlig anderes als deiner und selbst wenn du im selben W-LAN auf unterschiedlichen Geräte Localhost aufrufst, wird immer etwas individuell verschiedenes gezeigt.

    Du kannst trotzdem einen eigenen Domain-Namen verwenden, wenn du deinem Computer beibringst, dass wie die IP-Adresse dazu lautet. Unter Windows trägst du dazu in einer Datei C:\Windows\System32\drivers\etc die IP-Adresse und zugehörigen Domain-Namen ein, z.B. 127.0.0.1 example.test um bei Aufruf von example.test den lokal installierten Webserver anzusprechen. Problem dabei: der Eintrag gilt wieder nur für den Computer, an dem du gerade arbeitest.

    Um übergreifend von mehreren Geräten im W-LAN den Webserver auf einem Gerät anzusprechen, musst du einen zentralen DNS-Server einrichten, der solche Domains auflöst (also deinem Browser mitteilt, unter welcher IP-Adresse er den Webserver findet). Die Firewall des Computers mit dem Webserver muss Zugriffe erlauben und der Webserver muss natürlich so konfiguriert sein, dass er für die Domain die passenden Dateien herausrückt. Ich nutze zuhause gerne meinen Raspbery Pi mit Pihole, mit dem du einen lokalen DNS-Server aufsetzen kannst.

    Alles zu kompliziert? Ich empfehle gerne für lokale WordPress-Installationen die kostenlos erhältliche Software Local-WP, die auch über eine Freigabefunktion verfügt, mit der du die lokal gehostete Website dann temporär auf jedem Computer weltweit betrachten kannst. Der Zugriff ist gegen Missbrauch gesichert und WordPress-Websites zu installieren ist mit Local-WP eine Sache von wenigen Mausklicks. Probier’s mal aus.

    Achso, ja, die Zeilen

    define('WP_SITEURL', … );
    define('WP_HOME', … );

    werden immer wieder falsch verwendet. Ersteinmal: wofür sind sie übverhautp da? Bei großen Website-Projekten, bei denen ein Ausfall direkt ins Geld geht, ist es sinnvoll, Dinge erst einmal „im stillen Kämmerlein“ auszuprobieren. Dazu wird die Website auf einem Server gespiegelt, auf den nur der/die Entwickler/-in/nen zugreifen können. Um nun nicht bei jeder noch so kleinen Änderung bei der Übertragung der Datenbank die URLs neu anpassen zu müssen, lassen sich die Werte in der Datenbank mit den beiden Kostanten für eine lokale Umgebung überschreiben.
    Wieso sollte man nun diese Konstanten nicht einfach für z.B. einen Umzug auf einen anderen Server nutzen, wo sie doch schon mal da sind? Ganz einfach weil sie das Eingabefeld in Einstellungen > Allgemein deaktivieren, eine nachträgliche Umstellung auf https unmöglich machen und auch sonst die Wartung nur unnötig verkomplizieren. Möchtest du tatsächlich die Website umziehen, ist es sinnvoller, die URL direkt in der Datenbank-Tabelle wp_options in den Feldern siteurl und home zu korrigieren und für die Ersetzung der übrigen URLs ein Plugin wie Better Search Replace zu verwenden. Das ist allemal sauberer, als Tricksereien mit Konstanten.
    Für deinen konkreten Fall („ich möchte meine Website unter … erreichbar machen“) wäre es also besser, im Server eine lokale Domain einzurichten und dann die Änderung in der Datenbank vorzunehmen. Oder Local-WP nutzen, weil viel einfacher und noch mit anderen, nützlichen Funktionen versehen.

    Thread-Starter kurapika

    (@kurapika)

    Wieso gehe ich nicht drauf ein?

    Wie gesagt, ich habe es mal mit IP (*), mal mit Rechnernamen (http://xamppc/webs/wpsite) versucht. Da das alleine nicht klappte, dies nach deiner Frage auch mal in der DB gemacht. Wobei ich glaubte, die Angaben in der wp-config hätten Vorrang? und wäre der Eingriff mit geringsten Aufwand.
    Dort stand natürlich noch „localhost„. Das habe ich geändert, nutzt aber auch nix.

    Und natürlich suchte ich, ob der Wert noch ein andermal vorkommt. Das war einmal bei der user_url der Fall. Doch auch dessen Änderungen brachte nix.

    Backup ist unwichtig, es ist eine Experiment-Site ohne Inhalte.

    Ja, wie gesagt, zum XAMPP kommt man mit der IP und mit dem Rechnernamen. Alles lässt sich aufrufen, außer WP Sites.

    Zusammengefasst
    steht da nun in der wp-config:

    define( 'DB_HOST', 'xamppc' ); 
    ... 
    define('WP_SITEURL', 'http://xamppc/webs/wpsite');

    define(‚WP_HOME‘, ‚http://pezipc3/xamppc/webs/wpsite&#8216;);

    NEU: Richtig ist:
    define('WP_HOME', 'http://xamppc/webs/wpsite');

    Ebenso versuchte ich das alles mit der IP statt Rechnernamen.

    Und das Gleiche bei siteurl und home in der DB, wo ich auch noch den Wert user_url der Tabelle WP_users von „localhost“ mal zum Rechnernamen und mal zu der IP änderte.

    *) IP habe ich hier nicht genannt, mein Netzwerk läuft seit 2010 in einem eher ungewöhnlichen IP Bereich. Da dies in anderen Foren, bei völlig anderen Fragen zu endlosen Diskussionen führte „warum hast du so komische IP?“, daher nenne ich sie nicht. Tatsache: Das System geht perfekt, das wurde von meinem Zugangsprovider so eingerichtet.
    Und das hat auch keinen Einfluss auf das aktuelle Problem, welche nur mit WP Sites auftritt. Mit letzteren will ich nicht sagen, dass WP da fehlerhaft ist oder so! Nur das man WP basierte Sites wahrscheinlich anders konfigurieren muss, damit die von externen Geräten im Netzwerk aufrufbar sind.

    • Diese Antwort wurde geändert vor 1 Monat von kurapika. Grund: Konstante WP_HOME korrigiert
    • Diese Antwort wurde geändert vor 1 Monat von kurapika.
    Moderator Bego Mario Garde

    (@pixolin)

    define('WP_SITEURL', 'http://xamppc/webs/wpsite');
    define('WP_HOME', 'http://pezipc3/xamppc/webs/wpsite');

    … auch für viele so ein Mysterium: der Unterschied zwischen Website- und WordPress-URL. Wieso gibt’s überhaupt den Unterschied? Weil es nicht gut ist, verschiedene Webanwendungen gleichzeitig im Web-Stammverzeichnis abzulegen. Mit der Website-URL gibst du an, über welche URL die Website erreichbar ist (z.B. https://example.com) und mit der WordPress-URL gibst du an, wo du die Dateien von WordPress hingetan hast. Das ist üblicherweise auf dem gleichen Server, nur in einem Unterverzeichnis. Damit das funktioniert, sind noch ein paar andere Schritte notwendig, die in der Dokumentation beschrieben werden: Giving WordPress Its Own Directory

    Deine Anpassung klingt … nun ja, etwas falsch. 🙂

    Thread-Starter kurapika

    (@kurapika)

    Wenn du wissen möchtest, wie deine Webseite auf dem Smartphone aussieh

    die meinte ich mit „laut den Browser Simulationstools“
    Aber ich glaube, dass diese simulierte Ansicht nicht immer Recht hat. in diesem einen besonderen Fall (dem ich ggf. extra zur Diskussion stellen könnte) hoffe ich, dass es mit einem echten Gerät anders ist als in den Simulationen.

    Datei C:\Windows\System32\drivers\etc

    meinst wahrscheinlich diese hosts Datei? Die Tricks kenne ich. Darin kann man auch öffentliche Websites eintragen, deren Domain noch nicht überall registriert ist und diese (mit dem einen Rechner) dennoch erreichen. Aber ich weiß nicht, ob das bei aktuellen Problem hilft, behalte es aber im Hinterkopf.

    Alles zu kompliziert?

    In der Tat, zu viel Aufwand. ich brauche vorerst nur ein paar Sekunden lang einen Blick mit dem Smartphone auf diese eine Site.

    Local-WP ist sowas wie XAMPP? Kann man sich ja mal ansehen.
    Kann man damit auch Non-WP Sites, (andere alte CMS oder gar bloß uralte HTML Sites) laufen lassen?

    lassen sich die Werte in der Datenbank mit den beiden Kostanten für eine lokale Umgebung überschreiben.

    Oh, dann hatte ich doch Recht, dies ist die einfachste und risikoärmste Variante für.

    ist es sinnvoller, die URL direkt in der Datenbank-Tabelle wp_options in den Feldern siteurl und home zu korrigieren

    logisch!

    Statt dem Plugin habe ich das Suchen – Ersetzen per phpmyadmin gemacht.

    Für deinen konkreten Fall („ich möchte meine Website unter … erreichbar machen“) wäre es also besser, im Server eine lokale Domain einzurichten und dann die Änderung in der Datenbank vorzunehmen.

    Also das mit der hosts Datei?

    Thread-Starter kurapika

    (@kurapika)

    Deine Anpassung klingt … nun ja, etwas falsch.

    Das ist sie auch! ich hab keine Ahnung wie dies da reinkommt. Natürlich sind beide gleich!
    Das „pezipc3“ ist von Bruders PC, ich kann mir nicht erklären warum das da reinkommt?!?!?

    Da steht natürlich:

    define('WP_SITEURL', 'http://xamppc/webs/wpsite');
    define('WP_HOME', 'http://xamppc/webs/wpsite');

    Das kommt daher, wenn man von mehrern verschiednen Rechnern aus in ein Forum schreibt und Notizen hin und her kopiert …

    Moderator Bego Mario Garde

    (@pixolin)

    meinst wahrscheinlich diese hosts Datei?

    Das kommt davon, wenn man nicht mit Windows arbeitet … Sorry. hosts-Datei hört sich gut an.

    Kann man damit auch Non-WP Sites, (andere alte CMS oder gar bloß uralte HTML Sites) laufen lassen?

    Warum das wohl Local-WP heißt? 😉

    Thread-Starter kurapika

    (@kurapika)

    Das kommt davon, wenn man nicht mit Windows arbeitet

    Also ich hätte nicht so ein Wissen über andere Systeme.

    Ich weiß ja nichtmal, wie mir die hosts in dem Fall nun echt konkret helfen kann. Noch versuche ich es mit nochmaligen ändern aller Pfade usw. Vllt. übersah ich beim Suchen – Ersetzen was?
    Installiere dann mal das Better … Plugin, vllt. findet es mehr als ich?

    Ich probier LokalWP dennoch mal aus. Oder grad deswegen.

    bscu

    (@bscu)

    Backup ist unwichtig, es ist eine Experiment-Site ohne Inhalte.

    Unter diesen Vorraussetzungen würde ich folgendes machen:

    1. Die bisherige WordPress-Installation löschen
    2. Die bisherige Datenbank leeren
    3. Downgeloadetes WordPress unter <Drive>:\xampp\htdocs\wordpress entpacken
    4. Im Browser auf deinem Rechner http://rechnername/wordpress WordPress einrichten

    Das ist in 5 Minuten erledigt und sollte alle Probleme beseitigen. Wenn es immer noch Probleme geben sollte, stimmt etwas nicht mit XAMPP oder mit der Firewall des Rechners oder mit dem Netzwerk

    Thread-Starter kurapika

    (@kurapika)

    Sorry, @bscu aber ich habs ein wenig anders gemacht, nämlich mit einer ganz neuen Installation daneben.

    Leider änderte das auch nichts. Ebenso brachte es nichts, alles mit dem Better Plugin zu ersetzen. Weder per IP noch per Name lassen sich die beiden WP Sites aufrufen.

    Im Netzwerk Tab des Browsers steht übrigens immer „X-Redirect-By: WordPress“ im Antwortheader. Was heißt denn das?

    HTTP/1.1 301 Moved Permanently
    Date: Sat, 29 Oct 2022 09:02:58 GMT
    Server: Apache/2.4.53 (Win64) OpenSSL/1.1.1n PHP/7.4.29
    X-Powered-By: PHP/7.4.29
    X-Redirect-By: WordPress
    Location: http://localhost/webs/wpsite2/
    Content-Length: 3
    Content-Type: text/html; charset=UTF-8
    bscu

    (@bscu)

    Ich gehe mal davon aus, dass irgend eine Einstellung von Xampp, bzw. Apache zu diesem Redirect führt. Woran das genau liegt, kann ich dir nicht sagen, da ich XAMPP nicht nutze, sondern Apache, PHP und MariaDB selber einzeln installiert habe. Ich bin kein Freund von diesen Komplett-Paketen.

    Thread-Starter kurapika

    (@kurapika)

    Diese Paket sind zwar bequem, aber deren Konfigs kommen zigmal vor. Da gibts so viele httpd confs und inis das einem schwindlig wird.

    Andererseits wüsste ich nicht, wie man das selber zusammenbauen kann. Und nur für den einen Test alles umkrempeln, mag ich nun auch nicht.

    Was ich aber inzwischen schaffte ist diese Local-WP zum laufen zu bringen, dazu frage ich aber Bego extra

    Thread-Starter kurapika

    (@kurapika)

    @pixolin
    im dem Beitrag nanntest mir „Local-WP“, welches angeblich per Freigabe die Ansicht auf allen Geräten ermöglicht.

    Ich habe das Paket zum laufen gebracht, ja sogar die störrische „wpsite“ erfolgreich dort importiert! Und mit ein paar kleinen Style Anpassungen 1:1 in Local-WP gestartet.
    Interessantes und schnelles Tool, schade das es nicht in Deutsch ist.

    Daher weiß ich auch nicht, wie nun weiter, wo findet man diese Freigabe? Ich suche gleich weiter, frage aber dennoch mal

Ansicht von 15 Antworten - 1 bis 15 (von insgesamt 21)