Mamp auf OS X beim Systemstart automatisch mitstarten

Wer seinen MAMP-Apachen samt Datenbank auf den Standardports 80 bzw. 3306 beim Systemstart mit hochfahren möchte kann dies wie folgt bewerkstelligen. Vorraussetzung ist eine Standardinstallation von MAMP und OS X ab 10.4 sowie die Freeware Lingon. Lingon ist eine grafische Oberfläche zur Generierung von Startereignissen. Unter http://tuppis.com/lingon/ können Sie das Tool kostenfrei herunterladen.

Die folgenden Screenshot zeigen Lingon für OS X 10.5. Starten sie Lingon und erzeugen Sie über den +-Button einen neuen Users Agent und füttern diesen mit folgenden Inhalten um das Startscript für den Apachen zu generieren. Die Kommandozeilen können Sie aus den Dateien /Programme/MAMP/bin/startApache.sh und /Programme/MAMP/bin/startMysql.sh kopieren, wobei das letzte Zeichen des Mysql-Kommandos – das & –  nicht mitkopiert werden soll.

Start Apache

Lingon OS X 10.5 - Apache Start
Lingon OS X 10.5 - Apache Start

Im Expert Mode sieht dies so aus:

<?xml version=“1.0″ encoding=“UTF-8″?>
<!DOCTYPE plist PUBLIC „-//Apple//DTD PLIST 1.0//EN“ „http://www.apple.com/DTDs/PropertyList-1.0.dtd„>
<plist version=“1.0″>
<dict>
 <key>Label</key>
 <string>com.mcd.mamp.apache</string>
 <key>ProgramArguments</key>
 <array>
  <string>/Applications/MAMP/Library/bin/apachectl</string>
  <string>start</string>
 </array>
 <key>QueueDirectories</key>
 <array/>
 <key>RunAtLoad</key>
 <true/>
 <key>WatchPaths</key>
 <array/>
</dict>
</plist>

Start MySQL

Lingon OS X 10.5 - Start Mysql
Lingon OS X 10.5 - Start Mysql

Und wieder die erweiterte Ansicht:

<?xml version=“1.0″ encoding=“UTF-8″?>
<!DOCTYPE plist PUBLIC „-//Apple//DTD PLIST 1.0//EN“ „http://www.apple.com/DTDs/PropertyList-1.0.dtd„>
<plist version=“1.0″>
<dict>
 <key>Label</key>
 <string>com.cmd.mamp.mysql</string>
 <key>ProgramArguments</key>
 <array>
  <string>/Applications/MAMP/Library/bin/mysqld_safe</string>
  <string>–port=3306</string>
  <string>–socket=/Applications/MAMP/tmp/mysql/mysql.sock</string>
  <string>–lower_case_table_names=0</string>
  <string>–pid-file=/Applications/MAMP/tmp/mysql/mysql.pid</string>
  <string>–log-error=/Applications/MAMP/logs/mysql_error_log</string>
 </array>
 <key>QueueDirectories</key>
 <array/>
 <key>RunAtLoad</key>
 <true/>
 <key>WatchPaths</key>
 <array/>
</dict>
</plist>

Soweit alles OK. Nach einem Neustart könnte jedoch noch passieren, das der mySQL-Server nicht automatisch startet. Dann müssen Sie wahrscheinlich die Zugriffsrechte der Datenbank ändern. Öffnen Sie das Terminal und geben folgende Zeilen ein:

sudo chown -R mysql:admin /Applications/MAMP/db/mysql
sudo chown -R mysql:admin /Applications/MAMP/tmp/mysql

Danach sollte alles wie gewünscht funktionieren. Die neu erstellten Startscripte liegen übrigen im Verzeichnis /Library/LaunchDaemons/.

6 Gedanken zu „Mamp auf OS X beim Systemstart automatisch mitstarten

  1. Pingback: Der OS X Startvorgang « Silvio’s Blog

  2. pischti

    Guter Tipp. Danke! Ich habe bis jetzt immer über Systemsteuerung > Startobjekte gestartet. Hat den Nachteil gehabt, dass ich nach jedem Start nach dem Passwort gefragt wurde.
    Kleine Ergänzung noch: bei mir befanden sich die Startscripte in /Library/LaunchAgents einfach nach /Library/LaunchDaemons verschieben.

  3. MAMP-Team

    Beim MAMP PRO kann man auch über das Interface einstellen, dass die Server beim Systemstart gestartet werden sollen … einfach nur eine Checkbox aktivieren.

  4. Ralf

    Danke, super Tip!
    Jedoch startet mein mySQL-Server überhaupt nicht mehr. Die oben beschriebenen DB-Zugriffsrechte verändern auch nichts.
    Selbst nachdem ich die Skripte wieder aus /Library/LaunchDaemons entfernt und MAMP selbst gestartet habe.
    Mein mySQL-Server läuft nun gar nicht mehr 🙁
    Was kann ich tun?

  5. danyel Autor des Beitrages

    Hallo Ralf,

    im Ordner MAMP liegt das Verzeichnis tmp, in diesem wiederum mysql. Hier werden beim Start von mySQL folgende Dateien erstellt: msql.pid & mysql.sock. Sind die Zugriffsrechte nicht korrekt, können die Dateien nicht geschrieben und mySQL nicht gestartet werden.

    sudo chown -R mysql:admin /Applications/MAMP/tmp/mysql
    sudo chown -R mysql:admin /Applications/MAMP/db/mysql

    Ein weiteres könnte sein, das die Startscripte im Verzeichnis /Library/LaunchDaemons/ dem root zugeordnet werden sollten.

    sudo chown root:admin com.mamp.apache.plist
    sudo chown root:admin com.mamp.mysql.plist

    Nach einem Neustart sollte es eigentlich funktionieren.

    Gruß, Danyel

  6. Ralf

    Hi Danyel,

    bitte entschuldige, daß ich erst jetzt antworte – war unterwegs.

    Vielen Dank für Deine Mühe! Nach Eingabe der ersten beiden Befehle und einem Neustart lief es weiterhin nicht.

    Bei den letzten beiden mußte ich bei mir folgendes eingeben:
    sudo chown root:admin /Library/LaunchDaemons/com.mcd.mamp.apache.plist
    sudo chown root:admin /Library/LaunchDaemons/com.cmd.mamp.mysql.plist
    Also nicht nur den Pfad zusätzlich. Sondern in meinen Dateien ist auch noch das mcd bzw. cmd enthalten.

    Als ich danach neu gestartet habe, lief alles.
    Herzlichen Dank!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

zwei × 1 =