• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Die Bildungsoffensive hier im Forum geht weiter! Jetzt sollen Kreativität und technische Möglichkeiten einen neue Dimension erreichen. Das Thema in diesem Monat lautet - Verkehrte Welt - Hier geht es lang --> Klick

[10.7 Lion] xampp bei Systemstart automatisch starten

Torsten-Hi

Idared
Registriert
23.07.12
Beiträge
29
Ich möchte gerne, dass der Apache Dienst und MySQL Dienst bei Systemstart automatisch startet und ich kein Kennwort eingeben muss.
Ich habe schon eine ganze Weile im Netzt recherchiert, aber nix brauchbares für LION gefunden.

Wenn ich folgende Befehle im Terminal aufrufe, startet xampp & mysql

echo "Pwd" | sudo -S /Applications/XAMPP/xamppfiles/xampp startapache
echo "Pwd" | sudo -S /Applications/XAMPP/xamppfiles/xampp startapache

Pwd ist dabei mein Adminkennwort.

Wie kann ich beide Zeilen in ein Skript verpacken, dass zum Systemstart aufgerufen wird?

Bin echt ratlos.
confused3.gif


Gruß
Torsten
 
Ich würde sie in LaunchDaemons verpacken, d.h. in einer .plist-Datei in /Library/LaunchDaemons ablegen (siehe auch man launchd.plist im Terminal).
Da diese automatisch unter root laufen, sparst Du Dir damit das sudo und Passwort im Klartext.

Gerade entdeckt: Mac OS X Hints hat auch einen Artikel darüber.
 
HI, Danke für die schnelle Reaktion. Leider kenne ich mich überhaupt nicht mit Skripting aus, da ich erst vor kurzem (3 Wochen) auf MacOS umgestiegen bin. Unter Windows war das definitiv einfacher. Ich habe mal nach einer pList gesucht und folgendes Beispiel gefunden:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC -//Apple Computer//DTD PLIST 1.0//EN
http://www.apple.com/DTDs/PropertyList-1.0.dtd >
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.example.exampled</string>
<key>ProgramArguments</key>
<array>
<string>exampled</string>
</array>
<key>KeepAlive</key>
<true/>
</dict>
</plist>

Daraus würde ich mit Hilfe der "Mac Developer Library" für den Start von Apache folgendes basteln:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC -//Apple Computer//DTD PLIST 1.0//EN
http://www.apple.com/DTDs/PropertyList-1.0.dtd >
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.blaus.startApache</string>
<key>UserName</key>
<string>root</string>
<key>Program</key>
<string>/Applications/XAMPP/xamppfiles/xampp</string>
<key>ProgramArguments</key>
<array>
<string>startapache</string>
</array>
<key>RunAtLoad</key>
<true/>
</dict>
</plist>

Bin ich schon auf den richtigen Weg, oder habe ich alles komplett falsch verstanden?
 
Das sieht m.E. gut aus. Leg diese Datei unter /Library/LaunchDaemons/com.blaus.startApache.plist ab, dann sollte Apache beim Booten losrennen.
Mit
sudo launchctl load -w
/Library/LaunchDaemons/com.blaus.startApache.plist
kannst Du sie starten, ohne gleich rebooten zu müssen. Dabei sollte man die Konsole (unter Programme > Dienstprogramme, "Alle Meldungen" anwählen) wegen möglicher Fehlerzustände im Auge haben.
 
Das werde ich heute abend mal testen und schreibe dann ob es noch Probleme gab, oder ob alles funxt.
 
Hmm, der sudo Befehl funxt leider nicht. Diese Meldung bekomme ich:
torstens-imac:~ Torsten$ sudo launchctl load -w /Library/LaunchDaemons/com.blaus.startApache.plist
Password:
launchctl: Dubious ownership on file (skipping): /Library/LaunchDaemons/com.blaus.startApache.plist
nothing found to load
torstens-imac:~ Torsten$


Da ich nicht weiß, wie man diese Datei per bash Befehl erstellt, habe ich TextWrangler geöffnet diese Datei angelegt und auf den Schreibtisch gespeichert. Anschließend in den Ordner kopiert. Dort musste ich noch einmal das Admin Kennwort zur Bestätigung eingeben. Was mache ich fasch?
 
'Tschuldigung, hab ich vergessen:
Code:
sudo chown root:wheel [COLOR=#333333]/Library/LaunchDaemons/com.blaus.startApache.plist
sudo chmod 644 [/COLOR][COLOR=#333333]/Library/LaunchDaemons/com.blaus.startApache.plist
Die Dateien müssen root gehören.[/COLOR]
 
Hi Marvin,

danke für den Zusatz. Ich habe gestern beide Befehle ausgeführt und konnte feststellen dass Apache startet :-) Werde heute noch einmal schauen, ob es auch automatisch beim Hochfahren startet, dann wäre es genau so wie ich es wollte.

Eine Frage noch zu der ersten sudo Zeile: wofür steht ":wheel" ? Die Zuweisung des root zur Gruppe wheel? Ist wheel eine Systemgruppe?
 
Manchmal bin ich so deprimiert... :-*

danke für den Zusatz. Ich habe gestern beide Befehle ausgeführt und konnte feststellen dass Apache startet :-) Werde heute noch einmal schauen, ob es auch automatisch beim Hochfahren startet, dann wäre es genau so wie ich es wollte.

Super!

Eine Frage noch zu der ersten sudo Zeile: wofür steht ":wheel" ? Die Zuweisung des root zur Gruppe wheel? Ist wheel eine Systemgruppe?

Genau, wheel ist die primäre Gruppe des root-Users (ist vermutlich ein BSD-Überbleibsel). "root:wheel" weist der Datei den Besitzer root und die Gruppe wheel zu. Dabei hat die Gruppe wegen der ersten "4" im chmod-Befehls nur Leserechte.
 
Hi Martin,

sorry für den falschen Namen. Also nach dem Neustart funxt auch alles reibungslos. Vielen Dank für deine Hilfe. Da wäre ich nie drauf gekommen!!

Dickes Lob.

MfG
Torsten
 
Hallo Martin,

nach dem es nun die letzten Wochen wirklich super funktioniert hat, bekommeezeigt, dass der MySQL Server nicht läuft. Wenn ich dann manuell den Dienst starten will, bekomme ich die Fehlermeldung "Ein anderer MySQL Server läuft bereits" angezeigt. In der Aktivitätsanzeige kann ich aber nicht wirklich etwas finden, was auf einen anderen MySQL Server hinweist. Hast du eine Idee?

Bildschirmfoto 2012-08-15 um 11.43.34.png