1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen
  2. In diesem Bereich findet ihr Tutorials und Reviews. Die Forenrechte zur Erstellung neuer Themen sind hier eingeschränkt, da Problemdiskussionen bitte in den übrigen Forenbereichen auf Apfeltalk zu führen sind. Wer ein Tutorial oder Review einstellen möchte, kann im Unterforum "Einreichung neuer Tutorials" ein neues Thema erstellen. Die Moderatoren verschieben den Beitrag dann in den passenden Bereich.
    Information ausblenden
  3. Unsere jährliche Weihnachts-Banner-Aktion hat begonnen! Wir freuen uns auf viele, viele kreative Vorschläge.
    Mehr dazu könnt Ihr hier nachlesen: Weihnachtsbanner 2016

    Information ausblenden

MAMP und VirtualHost (Leopard, Basisinfo)

Dieses Thema im Forum "Software-Tutorials" wurde erstellt von MrNase, 12.11.07.

  1. MrNase

    MrNase Champagner Reinette

    Dabei seit:
    11.01.05
    Beiträge:
    2.643
    Einige von euch setzen sicherlich MAMP ein um komplexere Seiten auf dem eigenen Rechner zu entwickeln.

    Mich hat schon immer gestört, dass man die Seiten nur mit einem Aufruf der IP erreichen konnte. In meinem Fall hieß das: http://192.168.1.2:8888

    Das sieht nicht nur unschön aus, es ist auch recht unpraktisch. :(

    Ich habe mich auf die Suche begeben und eine Lösung gefunden und den Weg mag ich nun hier schildern. :)


    Folgendes braucht ihr:
    • Mac OS X Leopard
    • MAMP 1.7
    • Terminal
    • TextMate (oder nen anderen Editor)
    • Safari (oder nen anderen Browser)


    Als erstes einmal müssen die Ports, die standardmäßig von MAMP genutzt werden, geändert werden.
    Dazu öffnet ihr die MAMP.app (im Ordner Programme/MAMP/)

    Dort findet ihr in den Einstellungen den Reiter 'Ports'. Dort klickt ihr auf die oberste Schaltfläche und die Ports ändern sich von 8888 und 8889 auf 80 und 3306.
    Nach einem Klick auf OK schliesst sich das Fenster, der Server startet neu und ihr werdet ggf. nach eurem Kennwort befragt.

    Als nächstes muss eine Datei per Terminal.app bearbeitet werden. Startet dazu 'Terminal' (am einfachsten über Spotlight, ansonsten /Programme/Dienstprogramme/Terminal).

    Tippt folgendes ein:

    sudo vi /etc/hosts

    Ihr werdet nach eurem root-Kennwort gefragt, gebt es ein denn sonst ist die Datei nicht beschreibbar.
    Der Befehl öffnet die Datei 'hosts' im Editor 'Vi' (vi - Wikipedia, the free encyclopedia).

    Nun seht ihr eine Auflistung von IP-Adressen:
    Bild 1.png
    Die ersten Zeilen bleiben unangetastet!


    Um eine Änderung an der Datei zu machen müsst ihr 'i' drücken. Danach könnt ihr euch mit den Cursortasten im Dokument umher bewegen und Änderungen vornehmen.
    Auf meinem Screenshot erkennt ihr, dass ich 2 Einträge hinzugefügt habe.

    127.0.0.1 ist ganz offensichtlich die IP-Adresse. Diese solltet ihr für euch übernehmen.
    Mit dev und kalender wird festlegt wie die neue Url später lauten wird (z.B. http://kalender/ oder http://dev/ ). Merkt euch den oder die vergebenen Namen für die spätere Änderung in der httpd.conf!


    Nachdem ihr eure Änderungen gemacht habt, drückt ihr die ESC-Taste. Nun müsst ihr Vi nur wieder beenden und ich hab einige Zeit gebraucht bis ich das herausgefunden hatte. :D
    Es funktioniert in dem ihr 2x hintereinander Shift+1 drückt, dann erscheint irgendwann ganz unten :.!
    Dann müsst ihr '.!' weglöschen (mit der Backspace-Taste), dann tippt ihr ein 'x' ein und drückt Enter. Nun beendet sich Vi (verzeiht wenn es auch anders geht! :D).

    Da Leopard die Einträge dieser Datei zwischenspeichert müsst ihr diesen Speicher aktualisieren. Dafür tippt ihr ein:

    dscacheutil -flushcache

    Nachdem das geschehen ist könnt ihr Terminal beenden.


    Nun sucht ihr euch die httpd.conf - diese liegt im Ordner /Programme/MAMP/conf/apache/.

    Öffnet sie mit einem Texteditor (ich nutze TextMate). Ganz am Ende der Datei fügt ihr folgendes ein:


    Dann ersetzt ihr, sofern vorhanden, die Zeile

    mit

    (damit wird sie auskommentiert)


    Aber kommen wir zu den Änderungen in der httpd.conf:
    DocumentRoot - gibt an auf welchen Ordner verwiesen werden soll. Der Pfad aus dem Beispiel stellt die Standardkonfiguration von MAMP dar.
    Servername - erinnert euch an die ersten Änderungen in der /etc/hosts die wir gemacht haben, dort stand eine IP mit einem Namen dahinter. Dieser Name wird nun hier erneut verwendet.


    Wenn ihr in der /etc/hosts beispielsweise den Namen 'entwicklung' gewählt habt, dann lautet die Veränderung in der httpd.conf:




    Mein Beispiel von weiter oben wo ich dev und kalender verwendete benötigt folgende Änderung:

    Dort habe ich den Pfad geändert auf dem bei einem Aufruf von http://kalender/ verwiesen wird. In diesem Fall ist es ein spezieller Unterordner. :)

    Startet nun den Apachen neu (über das MAMP Widget oder über die MAMP.app) und dann müsste eigentlich alles durch die Eingabe von http://dev/ oder http://kalender/ funktionieren.


    Auch wenn die Anleitung alles andere als komplett ist gibt sie euch doch einen kleinen Einblick in die Sache. Ich hoffe es hat euch geholfen. :)
     
  2. stk

    stk Grünapfel

    Dabei seit:
    05.01.04
    Beiträge:
    7.141
    Moin,

    die Portnummern von MAMP haben ein klares Ziel: auf keinen Fall mit Standardinstallationen ins Gehege zu kommen. Darum: wer sich wie oben beschrieben die Portnummer von MAMP verbiegt sollte tunlichst darauf achten, das weder der interne Apache (Sharing -> Websharing) jemals startet, noch sich eine MySQL auf den Rechner verirrt. Alles gegenteilige dürfte ein paar fatale Folgen haben!

    Und noch eines: wer so tief in die MAMP-Installation eingreift, braucht sie eigentlich schon gar nicht mehr :oops:.

    Gruß Stefan
     
  3. MrNase

    MrNase Champagner Reinette

    Dabei seit:
    11.01.05
    Beiträge:
    2.643
    Hallo Stefan,

    Der interne Apache arbeitet auf dem Port 80, das ist korrekt. Allerdings war ich davon ausgegangen, dass jemand der MAMP aktiviert hat nicht gleichzeitig das Web-Sharing aktiviert hat. :)

    Ich habe es allerdings vor dem veröffentlichen probiert: Wenn man MAMP aktiviert und dann das Web-Sharing aktiviert dann bekommt dieses den Vorzug und MAMP funktioniert nicht mehr. Andere Dinge konnte ich nicht feststellen. :)
    Wenn das Web-Sharing wieder deaktiviert wird, dann läuft MAMP einfach weiter wie bisher.


    Magst du mir erklären was du mit der Warnung vor einer MySQL-Verirrung meinst? :)
     
  4. pepi

    pepi Cellini

    Dabei seit:
    03.09.05
    Beiträge:
    8.741
    Die mySQL Verwirrung bezieht sich wohl auf Probleme mit mehreren mySQL Installationen und einander gegenseitig überschreibenden Sockets oder anderen Grausamkeiten.

    Meiner Meinung nach ist MAMP ein "lustiges" Spielzeug aber in seiner Implementation und Konfiguration eine riesige Sicherheitslücke die sogar zur Entwicklung als gemeingefährlich einzustufen ist. hinzu kommt, daß die MAMP Entwickler inzwischen mehrfach gegen die entsprechenden OpenSource Lizenzen verstoßen und kommerziell verkaufen was sie entgegen der Bedingungen der Lizenzen nicht im Quellcode veröffentlichen. Jegliche Anfragen im MAMP Forum werden entweder gelöscht oder ad infinituum ignoriert. Meiner Meinung nach keine Verhaltensweise die man unterstützen sollte.

    Die vorgeschlagene Methode hat übrigens einen kleinen gefährlichen Nachteil. Wer einen kleinen Fehler dabei macht, sorgt dafür, daß localhost bzw. die IPv4 127.0.0.1 nicht mehr korrekt aufgelöst werden können und somit im schlimmsten Fall das komplette System im Eimer ist.

    Die bereits genannten Schönheitsfehler, wie Erreichbarkeit nur per IP und mit Port haben den einzig positiven Aspekt von MAMP zugrunde um sich eben nicht mit dem System zu beissen. Dabei sollte man es auch belassen und am besten die Finger ganz davon lassen. Wer so weit in einer Apache Konfig rumbastelt hat MAMP nicht mehr nötig, sollte aber doch noch ein wenig über saubere httpd.conf Implementation lernen. Der angegebene Weg ist mehr als Quick-and-Dirty-Hack anzusehen. Auf Sicherheit wird überhaupt nicht eingegangen...
    Gruß Pepi
     
  5. JOKER

    JOKER Damasonrenette

    Dabei seit:
    04.12.04
    Beiträge:
    494
    o.k. dann hab ich wohl die Lösung / Ursache für mein Problem gefunden :mad:
    Wenn ich WebSharing aktiviere kann ich localhost nicht mehr erreichen, MAMP hingegen funktioniert :oops:
    Kann man das irgendwie wieder gerade biegen (ausser Neuinstallation) ?

    JOKER
     

Diese Seite empfehlen