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

Apache, PHP und MySQL unter Leopard

Dieses Thema im Forum "Software-Tutorials" wurde erstellt von stonie10, 26.12.07.

  1. stonie10

    stonie10 Welscher Taubenapfel

    Dabei seit:
    31.10.05
    Beiträge:
    760
    Hallo zusammen :)

    Ja, ich weiß, es gibt hier bereits ein How-To dazu. Dieses bezieht sich jedoch auf Tiger und ist nicht so ohne weiteres auf Leopard übertragbar.

    Nunja, hier also nun das Tutorial. Ich hoffe, dass alles soweit verständlich erklärt ist, falls nicht -> Bescheid sagen ;)

    Schritt 1: Apache
    Der Apache-Webserver ist praktischerweise bereits in Leopard (und auch in Tiger) integriert. Ihr könnt ihn über Systemeinstellungen -> Sharing aktivieren:
    [​IMG]

    Soweit so gut, allerdings ist standardmäßig PHP deaktiviert. Nicht mehr lange... ;)


    Schritt 2: PHP aktivieren
    Öffnet ein Finder-Fenster und drückt dann die Tastenkombination Shift+Apfel+G (oder in der Menüleiste „Gehe zu“ -> „Gehe zum Ordner...“)
    [​IMG]

    Ladet nun die angehängte ZIP-Datei runter, in der sich die modifizierte httpd.conf befindet. Diese kopiert ihr nun in den genannten Ordner. Jetzt werdet ihr aufgefordert, euch zu authentifizieren. Tut dies durch die Eingabe eures Passworts.
    [​IMG]

    Achtung: Diese Datei funktioniert nur unter Leopard! Versucht nicht, diese Datei auf euer Tiger-System zu kopieren, dies würde euren Apache vorerst unbrauchbar machen!

    Für diejenigen, die es gerne "manuell" machen wollen: Die httpd.conf in dem genannten Ordner öffnen und dann die Zeile

    Code:
    #LoadModule php5_module    libexec/apache2/libphp5.so
    
    auskommentieren, indem ihr die Raute am Beginn der Zeile entfernt.

    Zum Schluss müsst ihr jetzt noch einmal den Apache-Webserver neustarten, damit die Änderungen wirksam werden.

    Schritt 3: MySQL installieren
    Das wird jetzt etwas mehr Aufwand ;)
    Sucht euch hier einen Mirror aus und ladet euch die DMG-Datei runter. Installiert dann alle Dateien, die sich in der DMG-Datei befinden (2x .pkg und 1x .prefPane).

    Den Ordner /usr/local/mysql/ öffnen (Shift+Apfel+G):
    [​IMG]

    Dann einen rechten Mausklick auf den Ordner data machen und den Punkt Informationen auswählen und dann das folgende machen:
    [​IMG]
    [​IMG]

    Dann einmal in der Spalte Rechte bei admin auf Nur Lesen klicken und die Einstellung auf Lesen & Schreiben umändern (siehe Screenshot):
    [​IMG]

    Dies ist zwingend notwendig, denn in dem Ordner data werden später eure eigentlichen Datenbanken bzw. Tabellen gespeichert. Und da ihr in der Standard-Einstellungen keine Schreibrechte darauf habt (und somit auch keine Datenbanken erstellen könntet), müssen wir das wie oben beschrieben in Lese-/Schreibrechte umändern.
    Damit diese Rechte auch auf alle in dem Ordner enthaltenen Daten angewendet werden, müsst ihr diese noch "Auf alle Unterobjekte anwenden":
    [​IMG]
    Das Informations-Fenster kann nun geschlossen werden. :)
    Ihr könnt nun über den neuen Punkt „MySQL“ in euren Systemeinstellungen den MySQL-Server bequem per Mausklick starten und beenden.

    Das wars aber noch nicht ganz ;)

    Stellt zuallererst einmal sicher, dass der MySQL-Server momentan nicht läuft (könnt ihr über den neuen Punkt in den Systemeinstellungen machen).
    Öffnet nun ein Terminal-Fenster und führt die folgenden Befehle nacheinander aus (jeden Befehl mit Enter bestätigen; ihr werdet nach dem ersten Befehl nach eurem Passwort gefragt, tippt dies blind ein (es erscheinen während dem Tippen keine Zeichen)):

    Code:
    sudo /usr/local/mysql/bin/safe_mysqld
    sudo mkdir /var/mysql/
    sudo ln -s /tmp/mysql.sock /var/mysql/mysql.sock
    Jetzt könnt ihr das Terminal-Fenster schließen und den MySQL-Server wieder starten.

    Glückwunsch, ihr habt nun einen voll funktionsfähigen Apache-Webserver mit PHP-Unterstützung und MySQL.

    Um eure Datenbanken zu verwalten, könnt ihr bspw. PhpMyAdmin benutzen. Einfach runterladen, und dann in den Ordner ~/Sites bzw. ~/Websites extrahieren.

    Nachtrag: psc stellte mir die Frage, wie man den Zugriff auf Apache auf den lokalen Rechner beschränken kann (sodass kein außenstehender, der die IP weiß, auch drauf zugreifen kann). Dies lässt sich folgendermaßen realisieren:
    Öffnet, wie in Schritt 2 erklärt, die httpd.conf. Dort findet ihr in Zeile 29 den Eintrag
    Code:
    Listen 80
    Ändert diesen um in
    Code:
    Listen 127.0.0.1:80
    Nun kann man ihn nur noch von eurem eigenen Rechner aus erreichen :)

    Wenn noch Fragen sind -> fragen :D

    Grüße,
    stonie10

    P.S.: Da dies mein erstes Tutorial ist, würde ich mir sehr über konstruktive Kritik von euch freuen :)
     

    Anhänge:

    #1 stonie10, 26.12.07
    Zuletzt bearbeitet: 21.06.08
    atomfried, C64, mod86 und 5 anderen gefällt das.
  2. KoenigKarsten

    KoenigKarsten Cox Orange

    Dabei seit:
    18.08.07
    Beiträge:
    101
    also sagt mal antwortet hier denn keiner?

    Hatte zwar schon vor dem Tutorial ungefähr nach deiner Vorgehensweise eingerichtet, mit dem Unterschied, dass ich die config etwas mehr editiert habe.

    Aber trotzdem vielen Dank für deine Mühe. Sollte wirklich jeder einrichten können nach den kurzen Schritten.
     
  3. thrillseeker

    thrillseeker Lord Grosvenor

    Dabei seit:
    06.10.04
    Beiträge:
    3.497
    Oder einfach MAMP nutzen. Ein Klick, und der Laden läuft :)
     
  4. Salzstreuer

    Salzstreuer Adams Apfel

    Dabei seit:
    23.08.07
    Beiträge:
    517
    MAMP scheiterte bei mir irgendwie an MySQL, wollte das dann manuell machen. Anleitung funktiniert auf jeden Fall, habe ich aber schon gestern nach einem anderen Tutorial gemacht, bis ich mir die root-Rechte in MySQL zerschossen habe, was aber nicht an der Datenbank liegt. :)
    Wozu muss der Ordner Data an den Zugriffsrechten geändert werden? Eine Erklärung wäre nicht schlecht.
     
  5. KoenigKarsten

    KoenigKarsten Cox Orange

    Dabei seit:
    18.08.07
    Beiträge:
    101
    damit du die rechte hast in die Datenbank zu schreiben.
    Im Ordner data liegen ja die eigentlichen MySQL Files und wenn dein Benutzer unter dem du im MacOS arbeitest kein Zugriff hat, kannst du weder schreiben noch lesen.
     
  6. stonie10

    stonie10 Welscher Taubenapfel

    Dabei seit:
    31.10.05
    Beiträge:
    760
    @thrillseeker:
    Jepp, da hast du natürlich recht, aber ich persönlich finde es besser, wenn man das mit so wenig Zusatzsoftware wie nur möglich macht. Apache und PHP sind bereits in Leopard integriert, und MySQL kann man sich schnell und einfach von der offiziellen Entwicklerseite downloaden.
    Für diejenigen, die schnell und ohne viel Aufwand einen solchen Server aufstellen möchten, ist dies möglicherweise die bessere Idee. Aber wie gesagt, ich würde diese hier vorziehen ;)

    @Robert_S:
    Stimmt, eine Erklärung wäre wirklich nicht schlecht ;) Ich werde dies so schnell wie möglich editieren.

    @KoenigKarsten:
    Ich hätte es kaum besser sagen können :D ;)

    Grüße,
    stonie10
     
  7. styleschitz

    styleschitz Jonagold

    Dabei seit:
    16.11.07
    Beiträge:
    20
    aloha, ich habe xampp installiert gehabt (leider funktionierte myql nicht), und eigentlich in der hoffnung dass der fehler dann behoben ist habe ich dieses tut gemacht, leider habe ich jetzt 2 apache server, einen von xampp und den hier den ich mit dem tut erstellt habe ... leider kommt bei "localhost" der "neue" apache in den vordergrund und xampp funktioniert leider nicht mehr, nun die frage:

    wie mach ich das jetzt wieder rückgängig, ich denke der fehler war dass ich dieses tut in dem xampp ordner hätte machen sollen ^^

    bzw. das myql prefpane funktioniert nicht, ich kann mysql über xampp starten aber nicht über das pref pane.

    bitte hilfe :)

    edit: ich habe jetzt php bei meinem apache2 ordner von leopard deaktiviert und php bei xampp wieder aktiviert, mysql startet jetzt endlich, dafür gibts ein problem mit phpmyadmin.

    wenn ich websharing aktiviere dann gibts nen fehler und er sagt ich soll meine installation von phpmyadmin checken, wenn ich websharing deaktiviere dann gibt er mir einen "session_write_close" fehler

    lg
     
    #7 styleschitz, 08.01.08
    Zuletzt bearbeitet: 08.01.08
  8. webbi

    webbi Rheinischer Krummstiel

    Dabei seit:
    18.05.07
    Beiträge:
    379
    Danke für das Tutorial! :) Hab gerade mal Web-Sharing aktiviert - http://computername/ meldet sich auch erfolgreich. Allerdings bekomme ich via Web-Sharing keinen Zugriff auf meinen Benutzerordner mit der Webseite, die Meldung lautete dann:
    "You don't have permission to access /~benutzer/index.html on this server."

    Woran liegt das?

    Gruß, webbi
     
  9. robertmk

    robertmk Normande

    Dabei seit:
    04.09.07
    Beiträge:
    583
    Schöne Anleitung.

    Aber sag mal stonie10, weißt du auch wie man PHP neuinstalliert. Also ich will PHP mit neu kompilieren, da mir u.a. GD, exif, jpeg, freetype in PHP fehlen und nicht von Apple vorinstalliert sind.

    Habe mir im Moment so beholfen: Apache2 und PHP komplett neu kompiliert und neben der Leo-Installierten Apache2+PHP laufen :(
     
  10. stonie10

    stonie10 Welscher Taubenapfel

    Dabei seit:
    31.10.05
    Beiträge:
    760
    @styleschitz:
    Puh, das ist immer ein bisschen ungünstig, 2x Mal einen Apache und MySQL Service installiert zu haben ;)
    Das gleiche hatte ich damals unter Tiger mit MAMP auch gehabt, das Ende vom Spiel war dann, dass ich auf meiner gesamten Festplatte alles was "MAMP" hieß gelöscht habe ;)
    Aber jetzt mal konkret auf deinen Fall bezogen: Wenn beides mal ne Fehlermeldung kommt - sowohl wenn Websharing an und aus ist - dann musst du phpmyadmin ja sowohl im XAMPP Ordner als auch in deinem ~/Sites Ordner drinhaben?
    Poste hier mal die genaue Fehlermeldung, vielleicht kann ich dir dann ein wenig weiterhelfen.

    P.S.: Wenn du XAMPP löschen willst, einfach folgenden Befehl im Terminal eingeben:
    Code:
    rm -rf /Applications/xampp
    Dann ist aber auch dein htdocs Ordner futsch, als vorher Backup machen!

    @webbi:
    Öffne mal das Terminal und führe dann folgenden Befehl aus:
    Code:
    chmod 755 ~/Sites
    Die Tilde kannst du mit Option+N machen
    Dann sollte es (hoffentlich) gehen :)

    @robertmk:
    Puuh, ne, sry, weiß ich leider nicht :( Da müsste vielleicht mal einer von den Linux-Experten herhalten... die müssten das wissen.
    Aber du könntest ja mal versuchen, die Dateien von deinem selbst kompilierten PHP in die entsprechenden "vorinstallierten PHP Ordner" von OS X zu kopieren. Vielleicht geht das ja?

    Grüße,
    stonie10
     
  11. webbi

    webbi Rheinischer Krummstiel

    Dabei seit:
    18.05.07
    Beiträge:
    379
    Leider nicht :(

    Über http://localhost/~benutzer/ bekomme ich trotz chmod-Befehl noch

    "Forbidden

    You don't have permission to access /~benutzer/ on this server."

    Woran kann es denn noch liegen?

    Gruß, webbi
     
  12. robertmk

    robertmk Normande

    Dabei seit:
    04.09.07
    Beiträge:
    583
    Nette Idee, aber eigentlich will ich sowas erst gar nicht probieren. Wird mich stunden kosten und dann klappts wahrscheinlich nicht. Dann bleib ich erst mal bei meiner Lösung. Danke trotzdem
     
  13. KoenigKarsten

    KoenigKarsten Cox Orange

    Dabei seit:
    18.08.07
    Beiträge:
    101
    die einzelnen Dinge wie GD etc. sollten doch vorhanden sein und müssen eigentlich nur in der php.ini aktiviert werden..?

    was steht denn unter zugriffsrechten von deinem Benutzerverzeichnis wenn du mit Apfel +i guckst?
     
  14. webbi

    webbi Rheinischer Krummstiel

    Dabei seit:
    18.05.07
    Beiträge:
    379
    "Sie haben angepasste Zugriffsrechte:
    Ich: Lesen und Schreiben
    (unbekannt): Nur Lesen
    everyone: Nur Lesen"
    o_O

    Lesen muss doch eigentlich auch reichen, um ne simple HTML- oder PHP über den Apachen / Websharing aufrufen zu können, oder?
     
  15. robertmk

    robertmk Normande

    Dabei seit:
    04.09.07
    Beiträge:
    583
    hast du das schon mal ausprobiert? Ich habe die extension schon in der php.ini eingetragen, aber nischt. phpinfo zeigt immer noch an, dass GDlib nicht installiert ist!
     
  16. KoenigKarsten

    KoenigKarsten Cox Orange

    Dabei seit:
    18.08.07
    Beiträge:
    101
    welche PHP-Version hast du installiert?
    und was sagt phpinfo(); zum installationsstatus der GDLib?
     
  17. webbi

    webbi Rheinischer Krummstiel

    Dabei seit:
    18.05.07
    Beiträge:
    379
    Irgendwo komme ich dem Grund meines Problems ("Forbidden"-Meldung obwohl der Apache rennt) nicht auf die Spur. Ich hab jetzt einfach XAMPP für MacOS X installiert - das läuft. :)

    Gruß, webbi
     
  18. dahui

    dahui Carmeliter-Renette

    Dabei seit:
    22.10.06
    Beiträge:
    3.303

    schaut mal hier hinein und dann zur lösung gen ende post#22

    dahui
     
  19. robertmk

    robertmk Normande

    Dabei seit:
    04.09.07
    Beiträge:
    583
    In der neuen Installation wird mir 2.0.34 angezeigt. Ich glaube aktuell ist 2.0.36. Aber spielt das eine Rolle?
     
  20. KoenigKarsten

    KoenigKarsten Cox Orange

    Dabei seit:
    18.08.07
    Beiträge:
    101
    die versionsfrage bezog sich ja auch php :D
    aber wenn angezigt wird, dass GDLib 2.034 installiert ist, sollte das auch funktionieren.

    In welchem zusammenhang benutzt du gdlib..
    Teste die Funktionsweise doch mit einem kleinen Script.

    Code:
    <?php
    header('Content-type: image/png');
    $image = @imagecreate(150, 100);
    imagecolorallocate($image, 250, 250, 200);
    $text_color = imagecolorallocate($image, 0, 51, 102);
    imagestring($image, 2, 5, 5, 'GDLib funktioniert', $text_color);
    imagepng($image);
    ?>
    
     

Diese Seite empfehlen