Home > Mac > システム起動時に xampp のサービスを開始させる

システム起動時に xampp のサービスを開始させる

以前は、開発者たるもの全てのソフトはソースから作るべし!なんて思っていましたが、さすがに何年もやってると、継続してメンテされるソフトウェアパッケージのありがたみもよくわかるようになってきました。

しばらく前から xampp をローカル開発用によく使っています。最近アップデートされていないのが少し心配ですが、インストールは簡単だし、よく出来ていると思います。ただ実際に使ってみると少し手を加えた方が使いやすいので、自分が銜える変更などを備忘録としてまとめておきます。

今回は起動時に xampp パッケージのソフトをシステム起動時に全部稼働させる、ということを扱います。

ダブルクリックできるようなアプリケーションは、Classic OS でやっていたのと、まぁ何となく似ているように、GUI (システム環境設定) から設定できますね?

ここでは、そうではなくて、いわゆるコマンドラインから立ち上げるアプリケーションを扱います。なおこの方法を使えばは他のサービス系のソフトウェアでも同じように応用できます。

Mac OS X では、10.4 (Tiger) から launchd というサービス管理機構が組み込まれ、10.5 (Leopard) では従来型の rc を廃止しました。

launchd は、起動スクリプトと、設定ファイル (.xml) で制御します。英語が出来る方は developer.apple.com: System Startup Programming Topics: Creating a Startup Item をどうぞ。僕のこのエントリは基本的に Creating a Startup Item 以上の情報はありませんので。

  1. /Library/StartupItems に起動項目となる directory を作成
    起動項目に任意の名前を付けます。今回は /Library/StartupItems/XamppBoot という directory を作りました。
  2. (1) の中に起動スクリプトを書く
    親ディレクトリと同じ名前のシェルスクリプト (/Library/StartupItems/XamppBoot/XamppBoot) です。もう写経で。start|stop|restart の各項目は、xampp の起動スクリプトへのパス(と引数)が含まれています。

    #! /bin/sh
    
    . /etc/rc.common
    StartService() { /Applications/xampp/xamppfiles/mampp start }
    StopService() { /Applications/xampp/xamppfiles/mampp stop }
    RestartService() { /Applications/xampp/xamppfiles/mampp restart }
    RunService "$1"
  3. (1) の中に設定ファイルを書く
    Mac OS X ではおなじみ .plist 形式の設定ファイル (/Library/StartupItems/XamppBoot/StartupParameters.plist) 。description と message はあんまり大事じゃないと思う。Provides で指定される文字列が、システム全体でユニーク(一意)な値でないと行けないはず。requires などは先に上げた資料を参考のこと。

    <?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>Description</key>
        <string>xampp startup items</string>
        <key>Messages</key>
        <dict>
          <key>restart</key>
          <string>restarting xampp service</string>
          <key>start</key>
          <string>Starting xampp service</string>
          <key>stop</key>
          <string>Stopping xampp service</string>
        </dict>
        <key>OrderPreference</key>
        <string>Late</string>
        <key>Provides</key>
        <array>
          <string>XamppDeamon</string>
        </array>
        <key>Requires</key>
        <array>
          <string>Network</string>
        </array>
        <key>Uses</key>
        <array>
          <string>Network</string>
        </array>
      </dict>
    </plist>
    
  4. permission を確認する
    全てディレクトリ/ファイルは root:wheel の所有で 755 パーミッションで。

全て設定がうまく行っていたら、コマンドラインの起動項目管理アプリである SystemStarter を使って起動、停止、再起動が

sudo /sbin/SystemStarter start XamppDeamon
sudo /sbin/SystemStarter restart XamppDeamon
sudo /sbin/SystemStarter stop XamppDeamon

という風にできるようになります。お試しあれ。

Comments:0

Comment Form
Remember personal info

Trackbacks:0

Trackback URL for this entry
http://blog.nydd.org/2009/01/register-xampp-as-startup-item-ja/trackback/
Listed below are links to weblogs that reference
システム起動時に xampp のサービスを開始させる from Vantage Point of Queens

Home > Mac > システム起動時に xampp のサービスを開始させる

Search
Feeds
Meta
Links
Ads!

Return to page top