xampp bei Systemstart automatisch starten

Dieses Thema im Forum "OS X Lion" wurde erstellt von Torsten-Hi, 31. Juli 2012.

  1. Torsten-Hi

    Torsten-Hi New Member

    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.:confused:

    Gruß
    Torsten
     
  2. Ghostuser

    Ghostuser Active Member

    Du kannst mit einem Startup-Script beim Ein- bzw. Ausschalten verschiedene Befehle in einem Shellscript ablaufen lassen. Dazu musst du im Directory "/NAME_DES_START-VOLUME/Library/StartupItems" einen Ordner erstellen mit dem Namen deines Scripts. In meinem Beispiel "ScriptTest". Darin ist das Script und das plist-File.

    Den Anhang $Inhalt - StartupParameters.plist.jpg betrachten
    Den Anhang $Inhalt - ScriptTest.jpg betrachten

    (Leider kann ich die originalen Files nicht direkt hochladen. Du musst also selber editieren.)

    Achtung:

    Du musst die Files mit den Developer Programmen editieren! (Mit vi hatte ich Probleme!):
    - StartupScript mit "Xcode"
    - plist-File mit "Property List Editor"

    Am einfachsten gehst du in das Directory "StartupItems" deines Startlaufwerks und kopierst einen bereits vorhandenen Ordner. Dem Ordner und den enthaltenen Files kannst du dann den gewünschten Namen geben und diese Editieren. Falls du dort noch kein StartupItem hast, dann installire das Programm BatChmod, dann sollte eines da sein.

    In meinem Beispiel werden nur Files im Home-Directory des Users mit dem Namen "Admin" erzeugt, die das jeweilige Datum/Zeit zu runtime enthalten. Du kannst natürlich die von dir gewünschten Befehle unter der Funktion StartService () bzw. StopService () verwenden.

    (Aber erste Tests würde ich wie in meinem Beispiel mit einfachen Befehlen durchführen. Du kannst diese später immer noch auskommentieren.)


    Gruss GU
     
  3. Torsten-Hi

    Torsten-Hi New Member

    Hi,

    danke für deine Antwort. Ist sicher auch eine Möglichkeit zum Ziel zu kommen. Ich habe aber nun schon einen anderen Weg gefunden, wie es funxt:

    Einfach die Datei unter /Library/LaunchDaemons/com.blaus.startApache.plist erzeugen!

    <?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>

    Folgende Befehle durchführen:
    sudo chown root:wheel /Library/LaunchDaemons/com.blaus.startApache.plist
    sudo chmod 644 /Library/LaunchDaemons/com.blaus.startApache.plist

    Das wars!
    Funktioniert genauso wie ich es mir erhofft habe.

    MfG
     
  4. Grizzly

    Grizzly New Member

    Ich kann Eure Verzweiflung verstehen ... ist mir genau so ergangen !
    Nun meine Lösung, die bei Mac OS X Lion Server 10.7.5 ENDLICH funktioniert:

    1. Nur beim OS X Server zuerst unbedingt das Start-File vom eigenen WEB-Server entfernen:
    - Die Datei "/Library/LaunchDaemons/org.apache.httpd.plist" in ein eigenes Verzeichnis verschieben.
    - Diese Datei wird gebraucht, um den Server-eigenen WEB-Dienst zu starten, aber blockiert leider XAMPP !

    Lösungs-Vorschlag: Eigenes Verzeichnis erstellen ... und Datei dort hin verschieben (Bitte als "root" anmelden per Kommando "su")
    per Terminal-Programm...

    Legende der Farben: Ihre Eingabe, Antwort von Terminal
    Code:
    [COLOR="#008000"]su[/COLOR]
    [COLOR="#FF8C00"]Password: [/COLOR][COLOR="#008000"]<hier Ihr "[COLOR="#FF0000"]root[/COLOR]"-Passwort eingeben>[/COLOR]
    [COLOR="#FF8C00"]sh-3.2# [/COLOR][COLOR="#008000"]mkdir /Library/LaunchDaemonsInaktiv/[/COLOR]
    [COLOR="#FF8C00"]sh-3.2# [/COLOR][COLOR="#008000"]mv /Library/LaunchDaemons/org.apache.httpd.plist /Library/LaunchDaemonsInaktiv/org.apache.http.plist[/COLOR]
    [COLOR="#FF8C00"]sh-3.2# [/COLOR]
    ... lassen Sie bitte das Terminal noch offen ... wir brauchen es beim 3. Schritt wieder ...

    2. Erstellen Sie bitte mittels dem TextEdit-Programm die Datei "org.apachefriends.xampp.plist":
    Code:
    [COLOR="#008000"]<?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>org.apachefriends.xampp</string>
    		<key>ProgramArguments</key>
    		<array>
    			<string>/Applications/xampp/xamppfiles/xampp</string>
    			<string>start</string>
    		</array>
    		<key>RunAtLoad</key>
    		<true/>
    		<key>SHAuthorizationRight</key>
    		<string>system.preferences</string>
    	</dict>
    </plist>
    [/COLOR]
    ... und kopieren Sie diese Datei org.apachefriends.xampp.plist ins Verzeichnis "/Library/LaunchDaemons/"

    3. Unbedingt die Rechte anpassen !!! (Das ist oft der Haupt-Grund, wieso es nicht klappt)

    Erklärung:
    Programm-Skripte im Verzeichnis "/Library/LaunchDaemons/" verlangen den Eigentümer "root" und die Gruppen-Rechte von "wheel"
    Die Modus-Attribute sollen "-rwxr-xr-x" sein !

    ... also weiter per (noch offenem) Terminal (per "root"-Login) ...
    Code:
    [COLOR="#FF8C00"]sh-3.2# [/COLOR][COLOR="#008000"]chown -fv [COLOR="#FF0000"][B]root[/B][/COLOR]:[COLOR="#FF0000"][B]wheel[/B][/COLOR] /Library/LaunchDaemons/[COLOR="#0000FF"][I][B]org.apachefriends.xampp.plist[/B][/I][/COLOR][/COLOR]
    [COLOR="#FF8C00"]org.apachefriends.xampp.plist
    sh-3.2# [/COLOR][COLOR="#008000"]chmod -fv [COLOR="#FF0000"][B]755[/B][/COLOR]        /Library/LaunchDaemons/[COLOR="#0000FF"][I][B]org.apachefriends.xampp.plist[/B][/I][/COLOR][/COLOR]
    [COLOR="#FF8C00"]sh-3.2# [/COLOR]
    4. Testen sie das Ergebnis per Anzeige (als uralter DOS-Benutzer bastle ich mir ein "DIR"-Kommando)
    Code:
    [COLOR="#FF8C00"]sh-3.2# [/COLOR][COLOR="#008000"]alias [I][B]DIR[/B][/I]='ls -al'[/COLOR]
    [COLOR="#FF8C00"]sh-3.2# [/COLOR][COLOR="#008000"][I][B]DIR[/B][/I]                  /Library/LaunchDaemons/[COLOR="#0000FF"][I][B]org.apachefriends.xampp.plist[/B][/I][/COLOR][/COLOR]
    [COLOR="#FF8C00"]-rwxr-xr-x@ 1 root  wheel  497 10 Okt 22:47 /Library/LaunchDaemons/org.apachefriends.xampp.plist
    sh-3.2# [/COLOR]
    ... so, Sie haben es geschafft ... nur noch System neu starten ... und hoffentlich ERFOLG

    Viel Spass mit XAMPP und MySQL, das ab jetzt vollautomatisch startet

    Freundliche Grüsse
    Walter Müller v/o "Grizzly"
     
  5. Vauteer

    Vauteer New Member

    Einfach (Am besten als su im Terminal) die Zeile
    /Applications/XAMPP/xamppfiles/xampp start
    in die Datei
    /etc/rc.local
    eintragen und schon wird xampp bei jedem
    Start mit gestartet.
    Die Datei rc.local einfach erstellen, falls sie
    noch nicht vorhanden ist.

    Grüße
    Vauteer
     

Diese Seite empfehlen