Mac OS X zur Webentwicklung nutzen: Schnell und einfach Apache, PHP, MySql und SVN einrichten.

Unter Mac OS X entwickeln macht Spaß. Und das eigenen System einzurichten geht erstaunlich schnell, da Mac OS X bereits mit einem Apache 2.2 Webserver, PHP 5 und auch mit einem SVN Server ausgeliefert wird. Wie diese unkompliziert eingerichtet werden können soll hier gezeigt werden.

Apache Webserver unter Mac OS X starten

Den Apache Webserver zu starten geht erstaunlich einfach. Dazu kann entweder unter Systemeinstellungen > Freigaben die so genannte Webfreigabe aktiviert werden. Ich empfehle, den Apache Server auf diesem Wege zu starten. Natürlich kann man im Terminal kann auch folgenden Befehl eingegeben, doch fehlt dann der entsprechende visuelle Status unter Systemeinstellungen.

sudo httpd -k start

Das so genannte htdocs Verzeichnis (das Verzeichnis, dass von außen über den Apache 2 Server angesprochen wird) findet sich standardmäßig unter /Library/Webserver/Documents.

PHP 5 unter Mac OS X einrichten

Wer mit PHP 5 entwickeln möchte, der muss das entsprechende Apache Modul zunächst aktivieren. Dazu muss die httpd.conf Datei editiert werden. Sie findet sich unter /etc/apache2. Um auf die Systemverzeichnisse wie beispielsweise etc oder usr über den Finder zuzugreifen wählt man im Menu des Finders Gehe zu > Gehe zu Ordner. Alternativ kann natürlich auch über das Terminal und cd Befehlen zu den entsprechenden Verzeichnissen navigiert werden.

In der httpd.conf Datei muss die Zeile 116

LoadModule php5_module        libexec/apache2/libphp5.so

entkommentiert werden. Wer möchte kann in Zeile 215 einstellen, dass .htaccess Dateien Parameter ändern können. Das ist für die reibungslose Funktion von mod_rewrite notwendig.

<Directory /Library/WebServer/Documents>
  AllowOverride All
</Directory>

In Zeile 230 muss hinzugefügt werden, dass auch index.php Dateien als Directory Indexes erkannt werden:

<IfModule dir_module>
  DirectoryIndex index.html index.php
</IfModule>

Zu guter letzt muss der Webserver neu gestartet werden. Dies kann über die Systemeinstellungen (siehe oben) oder mit folgendem Befehl geschehen:

sudo httpd -k restart

Um zu testen, ob PHP läuft kann eine index.php und folgendem Inhalt im htdocs Verzeichnis abgelegt werden. Mit http://localhost/index.php im Browser sollte eine Übersicht über das installierte PHP Modul erscheinen.

<?php phpinfo(); ?>

Um Default-Eigenschaften zu überschreiben (error reporting, max upload etc.) muss eine php.ini Datei unter /etc/ angelegt werden. Meine php.ini enthält das Folgende:

max_execution_time = 60
memory_limit = 256M
display_errors = On
post_max_size = 32M
upload_max_filesize = 32M
date.timezone = Europe/Berlin

MySQL unter Mac OS X einrichten

Einen MySQL-Server unter Mac OS X einzurichten geht denkbar einfach. Hierfür gibt es fertige Installer, die über http://dev.mysql.com/downloads/mysql/ bezogen werden können. Zusätzlich kommt das MySQL Package mit einem Startup-Item. Wird es installiert, so startet MySQL bei jeden Systemstart automatisch. Installiert wird mysql unter /usr/local/mysql. Um MySQL manuell zu starten genügt folgender Befehl:

sudo mysqld_safe

Um einen unkomplizierten Umgang mit MySQL zu gewährleisten empfehle ich, das /usr/local/mysql/bin Verzeichnis zur $PATH hinzuzufügen. Tut man dies nicht, wird der mysql Befehl im Terminal nicht gefunden. Diese drei Schritte helfen:

1. Eine neue Datei /etc/paths.d/mysql erzeugen:

sudo touch /etc/paths.d/mysql

2. Die Datei bearbeiten und das MySQL bin Verzeichnis erstellen:

sudo vim /etc/paths.d/mysql

3. Den  MySQL-bin Pfad einfügen und speichern.

/usr/local/mysql/bin

Wer mit vim noch nicht gearbeitet hat: i drücken um in die Datei zu schreiben, den Pfad eingeben, ESC drücken und dann :wq eingeben und mit Enter bestätigen. Nach einem Neustart sind alle im /usr/local/mysql/bin Verzeichnis befindenden Programme auffindbar.

Achtung: Anfangs besitzt der MySQL root Account kein Passwort! Zur einfachen Verwaltung empfehle ich phpmyadmin – ein WebGUI.

Einen SVN Server unter Mac OS X einrichten

SVN wird bereits mit Mac OS X ausgeliefert. Damit der SVN Server auch von außen ansprechbar ist muss in erster Linie der Apache Webserver konfiguriert werden. Ich verwalte meine SVN Repositories im Ordner /usr/local/svn/. Um die Repositories von außen ansprechbar zu machen muss eine Datei namens svn.conf im Ordner /etc/apache2/other angelegt werden. Sie besitzt folgenden Inhalt:

LoadModule dav_svn_module /usr/libexec/apache2/mod_dav_svn.so
<Location /svn>
  DAV svn
  SVNParentPath /usr/local/svn
</Location>

Nachdem Apache neu gestartet wurde sind die Repositories in /usr/local/svn/ unter http://localhost/svn ansprechbar. Beim Anlegen eines neuen Repositories namens foo mit

sudo svnadmin create /usr/local/svn/foo

Muss darauf geachtet werden, dass Apache und das SVN Modul auch darauf zugreifen können. Dazu ändern wir zuvor den Besitzer der Dateien in www um:

sudo chown -R www:www /usr/local/svn

Damit ist SVN bereits fertig eingerichtet. Ich empfehle die Absicherung des SVN Verzeichnisses. Dazu muss zunächst eine htpasswd Datei erzeugt werden:

htpasswd -cm /etc/apache2/svn.auth benutzername

Die svn.conf Datei muss um folgendes erweitert werden:

LoadModule dav_svn_module /usr/libexec/apache2/mod_dav_svn.so
<Location /svn>
  DAV svn
  SVNParentPath /usr/local/svn
  AuthType Basic
  AuthName "Subversion Login"
  AuthUserFile /etc/apache2/svn.auth
  Require valid-user
</Location>

Die Repositories sind jetzt unter http://localhost/svn erreichbar. Zur einfachen Verwaltung empfehle ich WebSVN – ein WebGUI.

Update: Sollte der Apache Server mit der obigen svn Konfiguration nicht mehr starten, muss darauf geachtet werden, dass die Apache Module mod_dav.so und mod_dav_fs.so auch geladen werden. Danke an Alexander für diesen Tip.

Share
  1. Suuuper Anleitung! Bis auf die Zeilenangaben immer noch problemlos anwendbar. Und endlich mal ne Anleitung die mir nicht sagt “Laden sie MAMP runter…

Leave a Comment