[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
Windows版Apacheは、通常のインストーラの設定に従うと、デフォルトでサービスとして起動されるよう登録される。
今回は、異なる設定ファイルを読み込むApacheを別々にWindowsのサービスとして起動するよう登録することに挑戦し、目的を達した。
当初の目的はPHP4をLoadするApacheとPHP5をLoadするApacheを別々に立ち上げることであった。
今回は以下のように、"httpd4"と"httpd5"というサービス名でそれぞれ登録してみる。後述のように、最終的には両方とも80番ポートとし、排他的に動作するよう設定した。
サービス名 | 設定ファイル |
httpd4 | conf/httpd_php4.conf |
httpd5 | conf/httpd_php5.conf |
なお、当初目的がPHP4とPHP5の共存である為、上掲のconfはPHP4/5の差分、LoadModule周辺部分のみが含まれている。大半の共通部分は conf/httpd_common.conf として以下のように両confよりとりこませている。
Include conf/httpd_common.conf
まず、インストール時に入ったデフォルトのApacheサービスをWindowsのサービスより削除する。
> cd "C:\Program Files\Apache Group\Apache2\bin"
> apache -k uninstall
Removing the Apache service
The Apache service has been removed successfully.
次に、各設定ファイルが問題ないかチェックする。
> apache -f conf/httpd_php4.conf -t
Syntax OK
> apache -f conf/httpd_php5.conf -t
Syntax OK
サービスとして登録する。"-k install" と "-n サービス名" と "-f サーバー設定ファイル" を指定する。
> apache -k install -n "httpd4" -f conf/httpd_php4.conf
> apache -k install -n "httpd5" -f conf/httpd_php5.conf
ちなみに、サービスを削除するには以下のようになる。
> apache -k uninstall -n "httpd4"
> apache -k uninstall -n "httpd5"
サービスの起動・停止は、"-n"オプションと共に実行する。
> apache -k {start|stop|restart} -n "httpd{4|5}"
Apache Service Monitor を立ち上げると、二つのサービスが表示され、それぞれ起動・停止できるようになっている。
今回は最終的に両方とも80番で動かすようにしたため、排他的に起動・停止する。但し、デフォルトはhttpd4としたかったため、Windowsのサービス設定画面より、httpd4を「自動」とし、httpd5を「手動」とした。これによりマシン起動時はデフォルトでPHP4のApacheが起動し、PHP5で動かしたければ手動でhttpd5へ切り替えるようにした。
pear install <PACKAGE> | <PACKAGE>をインストールする.カレントディレクトリに存在しない場合,ネットワーク上に取得しに行く.--forceで強制インストール,--alldepsで依存関係があるパッケージもインストールし,--nodepsで依存関係を無視したインストールをする |
pear upgrade <PACKAGE> | <PACKAGE>を更新する.install同様カレントのパッケージ,もしくはネットワークのパッケージを用いる.--forceや--alldepsなど併記することができる |
pear upgrade-all | 更新可能なパッケージをすべて更新する.--nodepsなどを指定できる |
pear uninstall | インストール済パッケージの削除をする.--nodepsなどを指定できる |
pear list | インストール済パッケージの一覧を出力する.--channelや--allchannelsでチャンネル(後述)を意識した一覧表示ができる |
pear list-channels | 現在使用できるチャンネルサーバーの一覧を出力する |
pear list-files <PACKAGE> | <PACKAGE>に含まれるファイルの一覧を出力する |
pear list-upgrades | 更新可能なパッケージの一覧を出力する |
pear channel-discover <CHANNEL> | <CHANNEL>*1がチャンネルサーバーかどうか調べ,チャンネルサーバーなら内部データベースに追加する |
pear channel-delete <CHANNEL> | <CHANNEL>がチャンネルサーバーかどうか調べ,チャンネルサーバーなら内部データベースから削除する |
pear info <URL><FILE><PACKAGE> | URL,ファイル名,パッケージ名のいずれかで指定されたパッケージの情報を出力する |
HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOMEID
環境変数へ設定することにより設定を上書きできる。
【設定値】
Japanese_Japan.JA16SJIS
Japanese_Japan.JA16EUC
Japanese_Japan.UTF8