Die eigene Web-App – und nun?

So, Sie haben also eine erste Web-App erstellt, haben Sie im Debugger getestet und möchten Sie nun auch anderen zur Verfügung stellen? Außerdem besitzen Sie einen Mac und wollen – zunächst zu Testzwecken oder auch grundsätzlich – den eingebauten Apache-Server verwenden?

Wenn Sie schon länger einen Mac besitzen, wissen Sie, wie einfach das ist: Systemeinstellungen, Freigaben, Web-Sharing …

Wenn Sie einen Mac mit aktuellem Betriebssystem verwenden, wissen Sie nun, dass das mal einfach war! Das Web-Sharing ist aus den Systemeinstellungen verschwunden, Sie können den Apache-Server hier nicht mehr aktivieren.

Die gute Nachricht: Das ist alles noch genauso möglich! Die schlechte: Nur eben nicht mehr via Systemeinstellungen, sondern Terminal. Aber Sie sind ja Programmierer, also Ärmel hochgekrempelt und in die Tiefen der Kommandozeile eingestiegen. Falls Sie des Englischen gut mächtig sind, hören Sie gerne hier zu lesen auf und schauen Sie sich diesen Tipp im Original an. Der ist ausführlicher als meine folgende Zusammenfassung:

  • Schauen Sie zunächst einmal, ob in Ihrem Benutzerverzeichnis ein Ordner „Websites“ existiert. Wenn Sie Ihren Mac schon seit der Zeit vor Lion verwenden und das System upgedatet haben, dürfte das der Fall sein. Falls nicht, öffnen Sie das Terminal und legen Sie ihn an. Geben Sie im Terminal also

    mkdir ~/Sites/

    ein.

  • Um auch gleich kontrollieren zu können, ob alles funktioniert, erstellen wir noch eine kleine HTML-Datei:

    echo "<html><body><h1>Apache funktioniert</h1></body></html>" > ~/Sites/index.html.de

    (Geben Sie dies als eine Zeile ein bzw. kopieren Sie den Text einfach ins Terminal)

  • Bei dieser Gelegenheit schalten wir gleich noch PHP ein. Wiederum eine Zeile zum Einfügen in das Terminal:

    sudo vi /etc/apache2/httpd.conf

    Sie werden aufgefordert, Ihr Admin-Passwort einzugeben, und befinden sich dann im vi-Editor.

  • Scrollen Sie mit der Cursortaste die lange Liste von „LoadModule“-Zeilen herunter, bis Sie den Eintrag

    #LoadModule php5_module libexec/apache2/libphp5.so

    finden.

  • Platzieren Sie den Cursor über der Raute (#) und drücken Sie x auf der Tastatur, um diese zu löschen. (Die Rauten sind Kommentarzeichen, diese Zeile war also deaktiviert.)
  • Geben Sie nun

    :w!

    ein, um die Datei zu speichern, und

    ZZ

    , um vi zu verlassen. (Oder wiederholen Sie das gleich mit der Zeile

    #LoadModule perl_module libexec/apache2/mod_perl.so

    , um auch Perl zu aktivieren (also auch hier die Raute weg).

    (Mal unter uns: Ich finde es ja bemerkenswert, wie virtuos einige Zeitgenossen mit diesem Editor umgehen können. Für mich ist das aber Beleg, dass dem Retro-Trend nicht bedingungslos gefolgt werden sollte und früher nicht alles besser war …)

  • Nun überprüfen wir noch, ob eine Konfigurationsdatei für den Server vorhanden ist. Wiederum ein Terminal-Befehl:

    sudo vi /etc/apache2/users/Ihr Benutzerkurzname.conf

    und Sie befinden sich wieder in vi. Wenn Sie hier keinen weiteren Text sehen, geben Sie bitte den folgenden ein:

    <Directory "/Users/Ihr Benutzerkurzname/Sites/">
    Options Indexes MultiViews
    AllowOverride None
    Order allow,deny
    Allow from all
    </Directory>

    und sichern Sie wieder mit :w! und ZZ.

    Bei beiden Zeilen bitte darauf achten, IhrBenutzerkurzname durch Ihren Benutzerkurznamen zu ersetzen!

  • Und jetzt ist es endlich so weit! Wir schalten Apache ein – natürlich nach wie vor im Terminal:

    sudo launchctl load -w /System/Library/LaunchDaemons/org.apache.httpd.plist

  • Jetzt wollen wir endlich sehen, ob alles funktioniert. Wechseln Sie in den Webbrowser Ihrer Wahl und geben Sie als URL

    localhost/~Benutzerkurzname

    ein.
    Wenn alles gut gelaufen ist, sollten Sie jetzt „Apache funktioniert“ lesen können.

    Falls nicht: Kontrollieren Sie, ob Sie die Tilde eingefügt haben (ALT-n) und ob statt „Benutzerkurzname“ wirklich Ihr Benutzerkurzname dort steht.

  • Wenn das auch keinen Erfolg brachte: Kontrollieren Sie alle obigen Schritte – Sie sollten in Ihrem Benutzerverzeichnis einen Order „Websites“ finden können, und darin eine Datei „index.html.de“ –, und wenn es trotzdem nicht so will wie es soll, versuchen Sie mal einen Neustart von Apache. Nämlich im Terminal

    sudo apachectl restart

  • Wenn alles gut aussieht, sollten wir jetzt die App testen. Erstellen wir erst mal ein Standalone, um CGI-Verlinkungsprobleme auszuschließen. Kontrollieren Sie daher, dass Ihre Xojo-Build-Settings unter „Shared“ auf „Stand-Alone“ gesetzt sind, und notieren Sie den Port.Build-Settings Standalone
  • Setzen Sie in den Build-Settings des Navigators ein Häkchen vor „OS X“ und klicken Sie auf „Build“
  • Kopieren Sie den gesamten Inhalt des jetzt erzeugten Build-Ordners in Ihr „Websites“-Verzeichnis
  • Ziehen Sie die ausführbare Datei (das ist die, die den von Ihnen vergebenen Projektnamen trägt) einfach in das Terminal und geben Sie ein Return ein. Damit wird sie gestartet.
  • Nun gehen Sie wieder in den Browser und steuern Sie (unter Berücksichtigung Ihrer oben eingegebenen Werte) folgende URL an:

    http://localhost:9000

  • Das war‘s auch „schon“!
    Wenn das keine Idee von den Vorzügen der Xojo Cloud vermittelt (ein Klick – fertig installiert, laufend und verwendbar) …WebApp einfach

Und so Sie keine Web-Build-Lizenz für Xojo besitzen, finden Sie hier das obige kompilierte Programm zum Ausprobieren.

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s