- 2009-01-13 (Tue) 2:15
- Mac
以前は、開発者たるもの全てのソフトはソースから作るべし!なんて思っていましたが、さすがに何年もやってると、継続してメンテされるソフトウェアパッケージのありがたみもよくわかるようになってきました。
しばらく前から 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 以上の情報はありませんので。
/Library/StartupItemsに起動項目となる directory を作成
起動項目に任意の名前を付けます。今回は/Library/StartupItems/XamppBootという directory を作りました。- (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" - (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> - permission を確認する
全てディレクトリ/ファイルは root:wheel の所有で 755 パーミッションで。
全て設定がうまく行っていたら、コマンドラインの起動項目管理アプリである SystemStarter を使って起動、停止、再起動が
sudo /sbin/SystemStarter start XamppDeamon sudo /sbin/SystemStarter restart XamppDeamon sudo /sbin/SystemStarter stop XamppDeamon
という風にできるようになります。お試しあれ。
- Newer: Google Sync v. NuevaSync
- Older: H1-B ビザに関する 2, 3 のこと
Comments:0
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