Mac OS X Maverick (10.9): Webserver, MySql und PHP einrichten

Ich dachte, ich mache es mir mal bequem und habe für die Entwicklungs-Installation einer neuen Seite Mamp auf dem Mac installiert. Nach einer guten Stunde war meine Geduld am Ende: Letztendlich muss ich mit Mamp genauso viele Einstellungen treffen, als würde ich einen Webserver »zufuß« einrichten.
Spezialisierte Entwicklungsumgebungen sind sicher etwas schönes – sie machen es vor allem dem Einsteiger bequemer. Aber ob es nun eine Entwicklungsumgebung ist, spezielle Librarys für eine Programmiersprache, Dreamweaver für Webseiten oder SASS als Übersprache für CSS oder die Programmiersprache für ein Content Management System: Heute müssen wir so oft zwischen verschiedenen Systemen umschalten und neue Projekte in Angriff nehmen. Dann haben wir etwas Spezielles gelernt, aber gehen ohne jegliche Grundlage über und arbeiten uns in die nächste spezialisierte Entwicklungsumgebung ein.

Also: Webserver unter Mac OS X 10.9 manuell im Terminal installieren und konfigurieren

1. Apache

OS X bringt Apache 2 als Webserver bereits mit. Zuerst die Konfiguration der Virtuellen Hosts in der httpd.conf freischalten.

sudo nano /etc/apache2/httpd.conf

Suchen nach vhosts

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

Einen virtuellen Host im Verzeichnis extra einrichten

sudo nano /etc/apache2/extra/httpd-vhosts.conf
<VirtualHost *:80>
    ServerName lisotop.de
    ServerAlias www.lisotop.de
    ServerAdmin meineEmailAdresse
    DocumentRoot "/Users/MyUser/Sites/lisotop"
    ErrorLog "/private/var/log/apache2/lisotop.com-error_log"
    CustomLog "/private/var/log/apache2/lisotop.com-access_log" common
    <Directory "/Users/MyUser/Sites/lisotop">
        Options Indexes FollowSymLinks
        AllowOverride All
        Allow from all
    </Directory>
</VirtualHost>

Das legt einen Virtuellen Host lisotop.de im Verzeichnis Sites an. Um den Host direkt in Navigationsfeld des Browser anzusprechen:

sudo nano /etc/hosts

und eintragen

127.0.0.1 lisotop.de
127.0.0.1 www.lisotop.de

Apache neu starten

sudo apachectl restart

Wenn etwas nicht klappt, die Konfiguration testen mit

sudo apachectl configtest

Per Vorgabe liegt das Home-Verzeichnis (localhost) auf einem Mac unter /Library/WebServer/Documents. Damit mir der localhost erhalten bleibt:

sudo nano /etc/apache2/extra/httpd-vhosts.conf

und den localhost als ersten Eintrag

<VirtualHost *:80>
ServerName localhost
DocumentRoot /Library/WebServer/Documents
</VirtualHost>

2. MySQL installieren

MySQL als Mac OS X 10.7 (x86, 64-bit), DMG Archive vom Community-Server herunterladen. Neuer gibts nicht, reicht aber. Registrieren muss man sich nicht, nach unten scrollen und No thank you. Installation mit CTRL Mausklick und öffnen, sonst kommt man nicht am Gatekeeper vorbei.

MySQL in den Systemeinstellungen starten oder im Terminal

sudo /usr/local/mysql/support-files/mysql.server start

Um nicht immer den Verzeichnisnamen im Terminal einzugeben

nano .bash_profile

und dann

export PATH="/usr/local/mysql/bin:$PATH"

shell neu laden

source ~/.bash_profile

Passwort für MySQL anlegen

mysqladmin -u root -p password
Enter password:
New password:
Confirm new password:

MySQL Socket error

sudo mkdir /var/mysql
sudo ln -s /tmp/mysql.sock /var/mysql/mysql.sock

Unter Mac OS 10.10 startet MySQL nicht mehr über die Systemeinstellungen und auch nicht über die Kommandozeile. Nach einer Stunde habe ich aufgegeben und alle alten MySQL-Versionen auf dem Mac gelöscht. Neu installiert und alles läuft wieder wie am Schnürchen:

  • Terminal-Fenster öffnen
  • Backup der Datenbanken mit mysqldump
  • Datenbankserver stoppen
  • sudo rm /usr/local/mysql
  • sudo rm -rf /usr/local/mysql*
  • sudo rm -rf /Library/StartupItems/MySQLCOM
  • sudo rm -rf /Library/PreferencePanes/My*
  • sudo nano /etc/hostconfig und die Zeile MYSQLCOM=-YES- löschen
  • rm -rf ~/Library/PreferencePanes/My*
  • sudo rm -rf /Library/Receipts/mysql*
  • sudo rm -rf /Library/Receipts/MySQL*
  • sudo rm -rf /private/var/db/receipts/*mysql*

3. phpMyAdmin

phpMyAdmin als phpMyAdmin-4.1.7-all-languages.zip von phpMyAdmin laden. Ordner in das Root-Verzeichnis des Virtual Hosts oder in den localhost-Ordner /Library/WebServer/Documents übertragen und umbenennen in phpmyadmin.

Ein Verzeichnis config mit write-Berechtigung (chmod o+w) unter phpmyadmin anlegen.

http://localhost/~meinusername/phpmyadmin/setup/

New Server wählen, Authentification mit cookie, Benutzername und Passwort, Save

FTP-Server unter Mac OS X 10.9

sudo -s launchctl load -w /System/Library/LaunchDaemons/ftp.plist

Mit meinem Benutzernamen und Passwort und ab geht die Post …

PHP und Server Side Includes

Schon vor einiger Zeit eingerichtet

Die PHP-Installation unter Mac OS kommt mit einem maximalen Upload von 8 MB. An drei Stellen muss die php.ini geändert werden, damit größere Uploads erlaubt werden:

OS X 10.10 Yosemite Apache Setup: Multiple PHP Versions

IP-Adresse im lokalen Netz herausfinden

ifconfig |grep inet |grep -v inet6

Links