• 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.
  • Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Sprichwörter und Redewendungen sind das Thema unseres Monatswettbewerbes. Nähere Informationen dazu gibt es natürlich auch, und zwar auf dieser Seite ---> Klick

Apache, PHP und MySQL unter Leopard

stonie10

Welscher Taubenapfel
Registriert
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:
bild7kopiept1xw0.png


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...“)
gehezu1ms4.png


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.
authlo4.png


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):
gehezu2cj5.png


Dann einen rechten Mausklick auf den Ordner data machen und den Punkt Informationen auswählen und dann das folgende machen:
data1sn4.png

data2ki1kopiebq2.png


Dann einmal in der Spalte Rechte bei admin auf Nur Lesen klicken und die Einstellung auf Lesen & Schreiben umändern (siehe Screenshot):
data3du6.png


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":
unterobjektewa7.png

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

  • httpd.conf.zip
    6,3 KB · Aufrufe: 843
Zuletzt bearbeitet:

KoenigKarsten

Cox Orange
Registriert
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.
 

thrillseeker

Weißer Winterkalvill
Registriert
06.10.04
Beiträge
3.556
Oder einfach MAMP nutzen. Ein Klick, und der Laden läuft :)
 

Salzstreuer

Adams Apfel
Registriert
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.
 

KoenigKarsten

Cox Orange
Registriert
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.
 

stonie10

Welscher Taubenapfel
Registriert
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
 

styleschitz

Jonagold
Registriert
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
 
Zuletzt bearbeitet:

webbi

Rheinischer Krummstiel
Registriert
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
 

robertmk

Normande
Registriert
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 :(
 

stonie10

Welscher Taubenapfel
Registriert
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
 

webbi

Rheinischer Krummstiel
Registriert
18.05.07
Beiträge
379
@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 :)

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
 

robertmk

Normande
Registriert
04.09.07
Beiträge
583
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?

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
 

KoenigKarsten

Cox Orange
Registriert
18.08.07
Beiträge
101
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

die einzelnen Dinge wie GD etc. sollten doch vorhanden sein und müssen eigentlich nur in der php.ini aktiviert werden..?

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

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

webbi

Rheinischer Krummstiel
Registriert
18.05.07
Beiträge
379
was steht denn unter zugriffsrechten von deinem Benutzerverzeichnis wenn du mit Apfel +i guckst?

"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?
 

robertmk

Normande
Registriert
04.09.07
Beiträge
583
die einzelnen Dinge wie GD etc. sollten doch vorhanden sein und müssen eigentlich nur in der php.ini aktiviert werden..?

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!
 

KoenigKarsten

Cox Orange
Registriert
18.08.07
Beiträge
101
welche PHP-Version hast du installiert?
und was sagt phpinfo(); zum installationsstatus der GDLib?
 

webbi

Rheinischer Krummstiel
Registriert
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
 

dahui

Carmeliter-Renette
Registriert
22.10.06
Beiträge
3.303

KoenigKarsten

Cox Orange
Registriert
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);
?>