OS X Server-Website wird nicht geladen

Ich versuche, eine lokale Website mit OS X Server (4.0.3) zu erstellen, und folge dem Tutorial, das mit Server geliefert wird. Wenn ich Safari auf einem anderen Mac verwende und versuche, auf die Website (myserver.local) zuzugreifen, wird die Website nicht geladen/hängt bei 1/3 des Ladevorgangs fest.

Das Server-Tutorial befindet sich im Hilfemenü (Hilfe > Server-Tutorials > Eine Website hosten > Lektion 1):

Ich habe die Schritte zusammengefasst, die ich unternommen habe, und es schien nach jedem Schritt nichts falsch zu sein:

https://help.apple.com/serverapp/mac/getstarted/4.0/#/apd9a7f7c98f

Lektion 1: Erstellen Sie eine private, lokale, dynamische Website

In dieser Lektion lernen Sie:

  • So erstellen Sie eine private Website in Ihrem lokalen Netzwerk, die eine Web-App zum Erstellen von Webseiten verwendet
  • So aktivieren und wählen Sie Python-Web-Apps aus
  • So verwenden Sie eine integrierte Python-Webanwendung als Standardwebseite

Schritt 1. Wählen Sie Websites aus

  • Öffnen Sie die Server-App, um die Liste der in OS X Server verfügbaren Dienste anzuzeigen. Wählen Sie Websites aus.

Schritt 2. Aktivieren Sie Python-Web-Apps

  • Wählen Sie „Python-Webanwendungen aktivieren“.

    Pfeil, der die Python-Einstellung anzeigt

Schritt 3. Fügen Sie eine Website hinzu

  • Klicken Sie auf die Schaltfläche Hinzufügen hinzufügen.

    Geben Sie im Bereich Website-Erstellung die folgenden Informationen ein:

    • Geben Sie den lokalen Hostnamen des Servers ein, beispielsweise „myserver.local“.

      Dies ist der Name, den Safari-Benutzer in Ihrem lokalen Netzwerk verwenden, um die Website anzuzeigen.

    • Wählen Sie die lokale Netzwerk-IP-Adresse des Servers aus dem Popup-Menü aus.

    • Belassen Sie das SSL-Zertifikat auf „None“.

Klicken Sie noch nicht auf Erstellen.

Schritt 4. Aktivieren Sie die Beispiel-Python-Web-App, um die Webseiten zu generieren

  • Klicken Sie auf „Erweiterte Einstellungen bearbeiten“ und wählen Sie dann „Python „Hello World“-App unter /wsgi“ aus. Klicken Sie dann auf OK.

    Pfeil, der auf die aktivierte Web-App hinweist

Hinweis: Sobald dies funktioniert, können Sie Ihre eigenen in Python geschriebenen Web-Apps hinzufügen.

Schritt 5. Machen Sie die Python-Seite zur Standard-Indexseite

  • Kehren Sie zum Bereich Website-Erstellung zurück und klicken Sie neben Indexdateien auf Bearbeiten. Fügen Sie einen Index namens „/wsgi“ hinzu und ziehen Sie ihn an den Anfang der Liste. Klicken Sie dann auf OK.

    Pfeil, der auf die Schaltfläche "Hinzufügen" hinweist

Schritt 6. Erstellen Sie die Site

  • Nachdem die Konfiguration abgeschlossen ist, klicken Sie auf Erstellen, um die neue Site zu erstellen.

Schritt 7. Testen Sie Ihre Konfiguration

  • Öffnen Sie Safari und gehen Sie zur Website-URL (myserver.local in dieser Lektion), um die generierte Seite anzuzeigen.

Der Test schlägt jedoch fehl, wenn Safari bei 1/3 des Ladevorgangs hängen bleibt, wenn der Fortschritt im Adress-/Suchfeld angezeigt wird. Wie kann ich herausfinden, was mit meinem Server und/oder Setup nicht stimmt?

Könnten Sie auf das Tutorial verlinken, indem Sie die Frage bearbeiten (oder detaillierter beschreiben, wie Sie die Dinge eingerichtet haben?)
Ich habe das integrierte OSX Server-Tutorial verwendet (unter Hilfe > Tutorials > Websites > Lokale Website), alles, was darin stand, war, eine Website in „Websites“ hinzuzufügen, ihr den Domänennamen „myserver.local“ zu geben und „Hallo Welt“ zu aktivieren ' Python-App. Das ist alles, was ich getan habe @bmike
Sehr schöne Bearbeitung. Ich bekomme eine Antwort, die mit dem Terminal beginnt, um Dinge zu debuggen. Hoffentlich lässt es sich schnell isolieren. Springen Sie in den Ask Different Chat, wenn Sie nicht sicher sind, was Sie von meinen ersten Gedanken zum Debuggen dieses Setups halten sollen.

Antworten (1)

So würde ich Probleme mit dem Terminal beheben. Sie können auch die Konsolen-App verwenden, um Protokolle anzuzeigen, aber die serveradminBefehle sind detaillierter, als die Server-App derzeit und in der Vergangenheit zulässt.

  1. curl localhost- Dies testet, ob Port 80 lauscht und ein Webserver läuft.
  2. sudo serveradmin status web- dies testet den Dienst namens web - nb Sie könnten den Curl-Befehl funktionieren lassen und Apache auf Port 80 laufen lassen, aber Ihren Webstatus STOPPED haben, da mehrere andere "Dienste" Apache wie Xcode, Profile Manager usw. starten ...
  3. Je nachdem, ob der Status angehalten wurde, geben Sie einen Start aus sudo serveradmin start weboder geben Sie ein ordnungsgemäßes Herunterfahren und Neustarten aussudo serveradmin stop web && sleep 15 && sudo serveradmin start web

Wenn Sie nichts Sinnvolles erhalten curl- schauen Sie vielleicht in die Webprotokolle:

tail /var/log/apache2/access_log
tail -20 /var/log/apache2/error_log

Sobald Sie eingegrenzt haben, ob das Problem darin besteht, dass Apache und grundlegendes Netzwerk/DNS ausgeführt werden, damit localhost funktioniert, oder ob es Probleme mit dem Code/Inhalt gibt, können Sie die nächsten Schritte unternehmen.

Wenn Sie sich das Tutorial/die Lektion ansehen, sieht es so aus, als ob die Auswahl auf HTTPS und nicht auf HTTP stand. Gehen Sie also zurück und stellen Sie sicher, dass Sie durchgehend https://myserver.local und https://localhost oder http:// verwenden Server-App konfiguriert den Port (80 für http und 443 für https). Der Einfachheit halber habe ich nur Port 80 für diese Antwort und mein Server-Setup verwendet.

Als ich localhost gelockt habe, habe ich Folgendes erhalten: "curl: (7) Fehler beim Herstellen einer Verbindung zu localhost port 80: Verbindung abgelehnt" BEARBEITEN: Jetzt erhalte ich ein HTML-Dokument, ich denke, es ist Xcode/Server selbst
Ich weiß, es scheint offensichtlich, aber vielleicht nicht für alle: myserver.local ist ein Beispiel. Wenn Ihr Server nicht "myserver" heißt oder der Eintrag in /etc/hosts gesetzt ist, funktioniert die Verbindung nicht. Wenn Ihr Computer also „Colorado“ heißt, müssen Sie die Testseite unter Colorado.local erstellen. Sie können dies unter Server – (Ihr Servername) – Übersicht – Hostname überprüfen.
@ MahmudAssamaray Wie hast du es zum Laufen gebracht? Meine Website lädt immer noch nicht
@coderhacker sollten Sie mit Ihrer Konfiguration eine andere Frage stellen. Ich finde es wirklich schwierig, einen Dienst, der lokal ausgeführt wird, über das Internet zum Laufen zu bringen, selbst wenn der Port geöffnet ist.