FreeBSDでは システムのブート時に
ディレクトリ「 /usr/local/etc/rc.d 」 に置いてある
実行可能スクリプトを自動的に実行する仕組となっている。
この仕組をつかって Apache HTTP Server を自動的に起動させる
設定をしてみる。
以下のスクリプトが 私が今までに使ってきているモノ。
具体的には、ルート権限になって、
ディレクトリ /usr/local/etc/rc.d に
以下のスクリプトを「apache2.sh」という名前で
保存する。
#! /bin/sh
#
# apache start script
#
#
case "$1" in
start)
if [ -x /usr/local/apache2/bin/apachectl ];then
/usr/local/apache2/bin/apachectl start
fi
;;
stop)
/usr/local/apache2/bin/apachectl stop
;;
*)
echo "Usage: `basename $0` {start|stop}" >&2
exit 64
;;
esac
exit 0
それから、実行可能とするために
# chmod 755 /usr/local/etc/rc.d/apache2.sh
としておく。
あとは、システムを再起動してみて
実際に 自動的に起動するかどうかを確認する。
【参考リンク】
カテゴリー:
Apache
,
FreeBSD
22:38
| コメント (0)
| トラックバック (0)
Apache HTTP Server 2.2 をインストールした
前回のブログからの続き。
まず、起動する前に、-M オプションで
静的にリンクされたモジュールを確認してみる。
% /usr/local/apache2/bin/httpd -M
Loaded Modules:
core_module (static)
authn_file_module (static)
authn_default_module (static)
authz_host_module (static)
authz_groupfile_module (static)
authz_user_module (static)
authz_default_module (static)
auth_basic_module (static)
include_module (static)
filter_module (static)
log_config_module (static)
env_module (static)
setenvif_module (static)
mpm_prefork_module (static)
http_module (static)
mime_module (static)
status_module (static)
autoindex_module (static)
asis_module (static)
cgi_module (static)
negotiation_module (static)
dir_module (static)
actions_module (static)
userdir_module (static)
alias_module (static)
so_module (static)
Syntax OK
問題なく動作していることが確認できた。
これを見る限り、2.2 からは mod_so.c が
デフォルトでリンクされているようだ。
2.0の時は、--enable-so を
指定しなければならなかったような気がする。
次に 手動で起動してみよう。
Apache HTTP サーバ バージョン 2.2「コンパイルとインストール」
を参考にすると
# /usr/local/apache2/bin/apachectl -k start
[Tue May 30 13:12:52 2007] [warn] (2)No such file or directory: Failed to enable the 'httpready' Accept Filter
何やらワーニングのメッセージが表示されるが、
とりあえず起動したようだ。
ブラウザからアクセスしてみると
「It works!」と表示される。
以前はもっと気の効いたデザインだったような気がするが。
ではApacheの終了方法。
# /usr/local/apache2/bin/apachectl -k stop
正常に終了されると何も表示されないようだ。
試しに、起動していな時に終了コマンドを実行してみると
httpd (no pid file) not running
と表示される。
ちなみにApacheの起動時の apachectl に付けられている「 -k 」オプションは
無くても構わない。
上記のコマンドは「apachectl」の代わりに 「httpd」でも同様に動作する。
但しこの場合は「 -k 」オプションが必要となるようだ。
# /usr/local/apache2/bin/httpd -k start
httpd (pid 1195) already running
先ほど出ていたワーニングのメッセージは表示されなくなった。
【参考リンク】
カテゴリー:
Apache
22:13
| コメント (0)
| トラックバック (0)
Apache HTTP Server 2.2 の最新バージョンを
FreeBSDにインストールしてみる。
FreeBSDにソフトウェアをインストールする際には
Portからインストールすることが一般的であるが、
個人的にはApacheで 今後いろいろなオプションをつけて
コンパイルし直そうと考えているので、
ここでは あえて オリジナルのソースからmakeしてみることにする。
今回はまず、全くオプションを設定しない状況でインストールしてみる。
まず、ソース用のディレクトリへ移動してから、
apache.org から最新のソースをダウンロード。
# cd /usr/local/src
# wget http://www.apache.org/dist/httpd/httpd-2.2.8.tar.gz
ついでに md5 ファイルもダウンロードして、ファイルが壊れていないかを確認。
# wget http://www.apache.org/dist/httpd/httpd-2.2.8.tar.gz.md5
# cat httpd-2.2.8.tar.gz.md5
39a755eb0f584c279336387b321e3dfc httpd-2.2.8.tar.gz
# md5 -r httpd-2.2.8.tar.gz
39a755eb0f584c279336387b321e3dfc httpd-2.2.8.tar.gz
MD5ハッシュ値(いわゆるMD5チェックサム)を比較してみて
同じ値であることがわかる。
ちなみに md5 コマンドで -r オプションをつけているのは
単に出力フォーマットを逆にして
ハッシュ文字列を比べやすくするためだ。
続いて tar で解凍
# tar xvzf httpd-2.2.8.tar.gz
ディレクトリを移動してから configure, make install
# cd httpd-2.2.8
# ./configure
# make
# make install
これで最低限のインストールが済んだハズ。
さて、実際に動くかどうか。
【参考リンク】
カテゴリー:
Apache
22:51
| コメント (0)
| トラックバック (0)
ウェブのサーバーソフトとしては
Apache の HTTPサーバー が有名である。
私も長い間Apacheを利用しているのだが、
今まで利用してきたのは 2.0系であった。
もう2.2系がリリースされてからしばらく経ったので
そろそろアップグレードの時期かもしれないと思い、
2.2系では 2.0系から何が変わったのか、
既に使えるレベルの安定性なのかを調査してみようと思う。
まず、Apache の HTTPサーバーを構築しようとする際、
現在のところ、3つのバージョンが存在していることを
知らないといけない。
ウィキペディアによると、
- 1.3系 (安定志向を好むユーザーに利用されている。ノウハウも蓄積されていて十分に“枯れた”バージョンである。)
- 2.0系 (新しい機能を使いつつ安定志向も好むユーザーに利用されている。)
- 2.2系 (最新の機能を好むユーザーに利用されている。)
と分類されている。
Apache2.2系の新機能については、
「
Overview of new features in Apache 2.2」
にまとめられている。
また、日本語の解説としては @ITの
「
Apache 2.2でWebサイトをパフォーマンスアップ!」
がある。
沢山ある変更点のうち、個人的に気になったモノを挙げてみると、
ロード済みモジュール一覧表示がDSOモジュールに対応した「-M」オプション
これは個人的に以前から欲しかった機能。
DSOを使って動的に組み込んだモジュールが
キチンと組み込まれたかがどうかが表示できる、
という新機能。
Perl互換正規表現ライブラリ5.0の同梱
PCRE(Perl Compatible Regular Expression Library) version 5.0が
採用されたことで、
「.htaccess」や「httpd.conf」のようなコンフィグレーションファイルで、
より複雑な文字列パターンを、Perl 5.0互換の正規表現を用いて
記述可能になったようだが、はたして具体的には
どのような記述ができるのか要調査。
プロキシ機能によるロードバランシングの実現
今は自分には直接関係ないが、将来
アクセスが増えたりした場合にはご厄介になるかもしれない機能。
このロードバランシング機能に ご厄介になれるように
頑張りましょう。
mod_sslモジュールのRFC 2817対応
サービスポート80番に平文で接続してから
TLS暗号化通信に移行するRFC 2817スタイルをサポート、
とある。
これにより、HTTPはサービスポート80番、
HTTPSはサービスポート443番という区別が不要になり、
名前ベースで設定されたバーチャルホストのHTTPSも可能になるそうだ。
確かに、今まで
複数のドメイン名をもつバーチャルホストにおいては、
そのうち 一つのドメインでしかSSLが掛けられなかった。
これは便利ではあるが、まだ対応しているWebブラウザが
ないようだ。今後に期待。
【参考リンク】
カテゴリー:
Apache
22:30
| コメント (0)
| トラックバック (0)
サーバー Apache の コマンドラインの引数について
自分なりの覚書。
Apache のコマンドラインについては
「
Apache HTTP Server Version 1.3 httpd マニュアル(日本語)」
にある。これは、バージョンが 1.3 なのだが
「
Version 2.0 」
については日本語はないようだ。
コマンドラインからの Apacheサーバー の実行方法は、
例えば Apache の インストールされている場所が
「/usr/local/apache2/bin/httpd」だったとすると 具体的には、
/usr/local/apache2/bin/httpd -t
といった感じ。
「-t」オプション
このオプションをつけると、httpd.conf の
文法チェックを行ってくれる。
既に httpdデーモンが走っている状態でも問題ない。
実際は、
# /usr/local/apache2/bin/httpd -t
Syntax OK
こうなる。またhttpd.confに文法上のエラーがあった場合には、
# /usr/local/apache2/bin/httpd -t
Syntax error on line 1394 of /usr/local/apache/conf/httpd.conf:
Invalid command 'ServerNane', perhaps mis-spelled or defined by a module not included in the server configuration
のようなメッセージが表示される。
「-S」オプション
もし httpd.conf の設定で
バーチャルホスト を使用しているなら この「-S」オプションで
その内容の確認できる。
例えば、
# /usr/local/apache2/bin/httpd -S
VirtualHost configuration:
192.168.100.50:80 is a NameVirtualHost
default server www.abc.com (/usr/local/apache/conf/httpd.conf:1064)
port 80 namevhost www.abc.com (/usr/local/apache/conf/httpd.conf:1064)
port 80 namevhost www.def.com (/usr/local/apache/conf/httpd.conf:1116)
Syntax OK
といった感じ。(上記のアドレスやドメインは架空のものです)
これで、バーチャルホストの記述が正しいかどうか確認できる。
各行の最後に表示されているのは
httpd.conf 内で そのバーチャルホストが定義されている行番号。
ということで、Apacheサーバーの設定変更する場合は
httpd.conf を変更した後、
「-S」オプション付きで httpd を実行して、
問題がなければ、デーモンのリスタートを行う、
という手順を踏んだ方がよさそうだ。
ちなみに、
「-S」オプションは 「-t」オプションを含んでいるので、
「-S」オプションだけでもよいと思う。
【参考リンク】
カテゴリー:
Apache
22:35
| コメント (0)
| トラックバック (0)
先日の Pioneer カーナビシステム「AVIC-D2」 の
音が出ない問題について
今までの調査と実際に実験したみた結果から、
以下のような結論に達した。
-
Nissan/Infiniti の一部の車種には
純正オプションとしてボーズ・サウンドシステム(BOSE Sound System)が
搭載されている車種がある。
今回の問題はこれに該当したと推定される。
-
車に内蔵されている BOSE のパワーアンプを動作させるためには、
Pioneer カーナビシステム「AVIC-D2」 から出ている
System Remote Control 端子
(Blue/white, To system control terminal of the power amp (max. 300 mA 12 V DC). )
を 車側の対応する端子に接続する必要がある。
-
Pioneer カーナビシステム「AVIC-D2」からのサウンド信号出力は
スピーカー端子ではなく、ライン出力端子から車側へ接続する必要がある。
そうしなければ、パワーアンプを2段に接続してしまうことになる。
実際の問題として、事前の接続がスピーカー端子からの接続だったので、
そのままテストしてみた。
その結果、ほんの少しボリュームつまみを回しただけで
とても大きな音になってしまった。
このままだと不用意に ボリュームつまみを回しすぎてしまうと、
スピーカーやアンプを壊してしまう可能性があったので、
ライン出力端子からの接続に変更した。
ということで、とりあえずパスファインダー(Pathfinder)の
内蔵スピーカーから音が出てくるようになった。
現在のところ上記のとおり、
Pioneer カーナビシステム「AVIC-D2」に内蔵されているパワーアンプは使用せず、
音声信号をライン出力から出力し、それを
車に内蔵されている BOSEのパワーアンプで増幅して使う設定とした。
さすがに BOSEのアンプとスピーカーだけあって、
音質は申し分なかった。
カテゴリー:
カーオーディオ
22:30
| コメント (0)
| トラックバック (0)
ソフトウェアをダウンロードする際に、
「 .md5 」 という拡張子が付いたファイルが
同一ディレクトリに置いてあったりすることがある。
これはファイルをダウンロードする際に
そのファイルが破損していないことを
確認する為に用いられるものである。
通常この「 .md5 」 という拡張子が付いたファイル(値)は
ダウンロード用のファイルから算出された
MD5ハッシュ値(いわゆるMD5チェックサム)である。
ファイル配布元が提示しているMD5ハッシュ値と
ダウンロード後に こちらで算出した値が同じであれば
ダウンロードしたファイルが破損していないことの証明になる。
具体的に FreeBSD に関して言うと、
FreeBSDには md5 というコマンドがあり
これで 任意のファイルの MD5ハッシュ値 を算出できる。
例えば、
% md5 /etc/rc.conf
MD5 (/etc/rc.conf) = 155ee1e19f478808925cbbf8873608e1
のような感じ。
md5 以外として
PGP や gpg、 最近では sha256 とかも
同様につかわれているようだ。
【参考リンク】
カテゴリー:
FreeBSD
,
Security
,
Software
22:50
| コメント (0)
| トラックバック (0)