Webserver unter Mac OS installieren

veröffentlicht am 19. Februar 2011

Wie manche bereits aus meiner Anleitung zur Installation eines Webservers unter Windows wissen, verabscheue ich vorkonfigurierte Webserver wie zum Beispiel XAMPP. Unter Mac OS scheint es wohl üblich zu sein, das fertige MAMP-Paket zu installieren, dabei hat Mac OS von Haus aus schon fast alle Komponenten für einen lokalen Webserver mit dabei!

root-Rechte verschaffen

Also setzen wir uns nun einen eigenen lokalen Webserver mit Mac OS Bordmitteln auf. Verschaffe dir zunächst einmal root-Rechte im Terminal:

sudo -i

Webserver konfigurieren

Danach wechselst du in den Konfigurationsordner des Apache-Webservers…

cd /etc/apache2

… und öffnest die Haupkonfigurationsdatei des Webservers:

nano httpd.conf

Entferne erst einmal das Rautezeichen vor der folgenden Zeile, damit das PHP-Modul mitgeladen wird:

#LoadModule php5_module        libexec/apache2/libphp5.so

Für die Entwicklung empfiehlt sich die Vergabe voller Zugriffsrechte. Ändere dazu den <Directory>-Block wie folgt ab:

<Directory />
   Options FollowSymLinks
   AllowOverride All
   Order allow,deny
   Allow from all
</Directory>

Der DirectoryIndex-Eintrag muss noch um die Datei index.php erweitert werden:

DirectoryIndex index.html index.php

Damit du virtuelle Hosts (vhosts) anlegen kannst,  entfernst du das Rautezeichen vor der Zeile

#Include /private/etc/apache2/extra/httpd-vhosts.conf

und erstellst auch gleich deinen ersten vhost-Eintrag. Öffne dazu die Konfigurationsdatei für vhosts

nano extra/httpd-vhosts.conf

und kommentiere beide voreingestellten vhosts mit Rautezeichen aus. Füge dann folgenden Eintrag an das Ende hinzu:

<VirtualHost *:80>
   ServerName <Projekt>
   DocumentRoot "/Users/<Benutzer>/Sites/<Projekt>"
</VirtualHost>

Ersetze hierbei <Projekt> durch den Namen deines Webprojektes und <Benutzer> durch deinen Benutzernamen. Jetzt fügst du noch einen Eintrag zum Ende der Datei /etc/hosts hinzu:

echo "127.0.0.1 <Projekt>" >> /etc/hosts

<Projekt> muss hierbei wieder durch den Namen deines Projektes ersetzt werden. Dieser Eintrag muss unbedingt mit dem ServerName-Eintrag in der letzten editierten Datei übereinstimmen. Für jedes weitere Projekt musst du die letzten beiden Schritte wiederholen und den Webserver neustarten:

apachectl restart

Bei mir kommt immer eine Warnung, der Webserver startet trotzdem neu.

PHP einrichten

Jetzt richtest du erst einmal PHP ein. Kopiere dazu die Vorlage für die PHP-Konfigurationsvorlage und öffne diese in einem Editor:

cp /etc/php.ini.default /etc/php.ini
nano /etc/php.ini

Zum Entwickeln lohnt es sich, alle Fehler auszugeben. Passe also die Einstellung für error_reporting wie folgt an:

error_reporting = E_ALL

Schalte dann die Fehlerausgabe an:

display_errors = On

Danach aktivierst du noch ein paar gängige PHP-Module (entferne das Semikolon am Anfang der Zeile):

extension=php_curl.dll
extension=php_gd2.dll
extension=php_mbstring.dll
extension=php_mysql.dll
extension=php_mysqli.dll
extension=php_pdo_mysql.dll
extension=php_xmlrpc.dll

Gleich unter dem Extension-Block stellst du die richtige Zeitzone ein:

date.timezone = Europe/Berlin

Jetzt müssen noch die Angaben für den MySQL-Socket angepasst werden, da diese auf einen falschen Pfad verweisen:

pdo_mysql.default_socket = /tmp/mysql.sock
mysql.default_socket = /tmp/mysql.sock
mysqli.default_socket = /tmp/mysql.sock

Jetzt ist ein Neustart des Webservers fällig:

apachectl restart

MySQL-Server installieren

Lade dir nun den MySQL-Server als 32-Bit dmg-Datei herunter und installiere alle drei Dateien aus dem Paket. Starte den Server dann über den Eintrag in den Systemeinstellungen. Der Server wird ohne root-Passwort installiert, sodass du nun erst einmal ein Passwort vergeben solltest:

/usr/local/mysql/bin/mysql -uroot
UPDATE mysql.user SET Password=PASSWORD('<Passwort>') WHERE User='root';
FLUSH PRIVILEGES;
quit;

Statt <Passwort> setzt du natürlich dein Passwort ein. Noch einmal den MySQL-Server über die Systemeinstellungen neustarten und dein lokaler Webserver ist fertig gestellt.

Kommentare

Danke und ab zu Evernote für das neue MB.

Kommentar #1 von Tim am 19. Februar 2011


Hi Tim,

lange nichts mehr von dir gehört. Wie geht’s? Arbeitest du schon länger mit Mac, oder holst du dir erst ein MB? Kannst ja mal ein paar Mac-Artikel schreiben, ich kann gerade nicht genug von Mac-Stuff bekommen :p

Gruß
Patrick

Kommentar #2 von Patrick am 19. Februar 2011


„verabscheue ich vorkonfigurierte Webserver wie zum Beispiel XAMPP.“
Ich finde xampp dagegen ein tolles Tool zum entwickeln. Grundsätzlich geht erst mal alles. ;) Man kann sofort loslegen. Und Einstellungen in den Configs ändern ist ja möglich.

Kommentar #3 von Tom am 21. Februar 2011


@Tom: da habe ich schon mehrfach ganz andere Erfahrungen gemacht, zuletzt vorgestern bei einer Kommilitonin. Datenbank-Zugriff funktionierte nicht, PHP-Session-Cache wurde nicht richtig eingerichtet.

Und bisher klappte XAMPP NIE so wie ich es wollte. Zudem aktiviert XAMPP so viele PHP-Module, die im Zweifelsfall garnicht auf einem Webhosting-Paket verfügbar sind. Da habe ich lieber selber unter Kontrolle, was aktiviert wird und was nicht (auch wenn ich das natürlich nachträglich anpassen könnte).

Und XAMPP hat gleich noch nen FileZilla-Server und Tomcat mit an Bord. Wozu?!

Kurz gesagt, ich verabscheue XAMPP :D

Kommentar #4 von Patrick am 21. Februar 2011


@Patrick:
Ne, „verabscheuen“ ist böse, sowas machen wir nicht!
Und wenn es bei dir nie richtig läuft, liegt es bestimmt an dir. :D
Zu den Modulen, xampp ist ja zum einfachen Programmieren gedacht. Also ist dort erst mal alles eingebunden was es gibt, damit du keine Beschränkungen hast. Abschalten und weniger benutzen ist ja einfacher also hinzuzufügen.
Filezilla und Tomcat lasse ich einfach aus. Könnte es praktisch auch löschen, aber man weiß ja nie. ;)
Aber wir müssen uns ja nicht gegenseitig überzeugen. Wir wissen ja was wir wollen und haben. :)

Kommentar #5 von Tom am 21. Februar 2011


Ein dickes Danke für Deinen Artikel.
Da ich vor kurzen auf Mac umgestiegen bin, war ich echt am verzweifeln was den lokalen Websever anging. Bei mir hatte XAMPP das System leicht zerschossen gehabt, so dass ich die TimeMachine bemühen musste.
Beste Grüße aus Berlin.

Kommentar #6 von ferge am 17. Januar 2012


wie kann ich dann auf mein webserver zugreifen und zeugs testen ?
(sorry hab keinerlei ahnung)
speziell php dateien testen ist interessant für mich.

danke schonmals für das how to

Kommentar #7 von Mikael Rumswig am 17. September 2012


Hinterlasse einen Kommentar