3回に渡ってお送りしてきた「unixuser.jpサーバー構築記」。今回は、Webサーバー用の領域確保とApache2の設定などについて紹介していこう。
HP Apache-based Web Server |
HP-UXのWebサーバー「HP Apache-based Web Server」(以下HP Apache)は、Apache Software Foundationのオリジナルをベースに、ほかのオープンソースプロジェクトのモジュールやHP独自の拡張を組み合わせたものとなっている。HP Apacheは、HP-UX Web Server Suiteの1コンポーネントと位置付けられ、インストールされているディレクトリも、製品構成と同じようになっている(表1)。
なお、以前との互換性から、/opt/hpapache2→/opt/hpws/apacheというシンボリックも残されている。
|
拡張されているHP Apacheだが、/opt/hpws/apache以下の構成はオリジナルとほぼ同じである。主要なディレクトリのデフォルト設定を整理すると、表2のようになる。
|
HP Apacheでは、設定ファイルのhttpd.confに「Chroot」ディレクティブ*を記述することによって、Webサーバーをchroot環境的に動作させることが可能だ。前回紹介したBastilleで設定していると、httpd.confにChrootディレクティブが自動的に書き込まれている。
Chroot /var/jail/apache2 |
この記述によって/var/jail/apache2が仮想的なルートディレクトリになる。このディレクトリ下には、Bastilleで設定した際に、最低限の稼働環境が/opt/hpws/apache/util/chroot_os_cp.shによってコピーされている。たとえば、/var/jail/apache2以下のbinディレクトリはusr/binへのリンクとなっていて、その中には10コマンドだけしか用意されていない。
bin -> ./usr/bin awk date grep printenv sh cat echo ls sed whoami |
chroot環境とはいっても/var/jail/apache2ディレクトリ下にはHP Apache本体の起動環境はなく、起動順序もリスト1のような手順となっている。一般的な利用形態の、まずchroot環境に移り、その環境でサービスを起動させるものとは異なる。デフォルト設定だとchroot環境外の/opt/hpws/apache/logs以下にログファイルが出力され、設定ファイルも/opt/hpws/apache/conf/httpd.confを参照している。
リスト1 HP Apacheの起動順序 |
/sbin/init.d/hpws_apache start ↓ /opt/hpws/apache/bin/apachectl start ↓ root:/opt/hpws/apache/bin/httpd ↓ httpd.confを読み、chrootへ移行 www:/opt/hpws/apache/bin/httpd |
ボリュームの作成 |
以上から、デフォルト設定だと、/opt下にログ、/var下にHTMLドキュメント群が書き込まれていくことになる。Webサーバーのログはけっこう膨大なものになるし、HTMLドキュメントも増え続ける。そこで管理を楽にするために、新しいボリューム/var/chrootを作り、Webサーバー関連で変化する部分は1つのボリュームにまとめて管理*していく。
ボリュームの追加は、万能設定ツールのSAMから行える。SAMを起動したら「Disks and File System」−「Logical Volumes」とクリックしていくと、現在のボリューム(パーティション)状況が表示される(図1)。ここでメニューの[Actions]−[Create]で表示されるウィンドウで[Select Volume Group]ボタンから作成対象となるボリュームグループを選択する。現在利用しているディスクの空き領域から割り当てるだけなので、インストール時に用意されたvg00を選択する。ボリュームグループを選択すると、その下にある[Define Now Logical Volume(s)]ボタンがアクティブになるので、これをクリックして、新しいボリュームの設定を行う(図2)。ここでは次のように、LV Nameは既存のボリュームからの昇順の名前に、容量は10GB確保した。
LV Name: lvol9 LV Size: 10240 Mount Directory: /var/chroot |
中ほどに並ぶ2つのボタンは詳細設定を行うもので、[Modify LV Defaults]ボタンがミラー/ストライピングの設定、[Modify LV Defaults]ボタンがファイルシステムの設定である。利用中のマシンにはディスクが2台あるので既存のボリューム同様ミラー設定にし、ファイルシステム関連はデフォルトのままにした。
以上で[add]ボタンを押すと設定内容がトップのペインに表示される。内容を確認し、問題があれば、[Modify]や[Remove]ボタンを押してやり直せば良い。問題なければ、[OK]ボタンを押し、前のウィンドウに戻って再度[OK]ボタンを押すと、実際に作成される。
続いて確保したボリュームをマウントする。役割的には/varなどと同じなので、/etc/fstabの/varの項目をコピーして、ボリューム名とマウントポイントを書き換える。
/dev/vg00/lvol8 /var vxfs delaylog 0 2 ↓コピーして修正すると楽 /dev/vg00/lvol9 /var/chroot vxfs delaylog 0 2 |
設定できたらマウントし、chroot環境をコピーする。また、ログ用のディレクトリとファイルも作っておく(実行例1)。
以上でファイル領域の準備は完了である。
実行例1 chroot環境のコピーとログの準備 |
# mount /var/chroot # cd /var/jail # tar cf - apache2 |(cd /var/chroot; tar xf -) # mkdir /var/chroot/logs # cd /var/chroot/logs # touch access_log error_log |
このページで出てきた専門用語 |
ディレクティブ プログラム中に埋め込むコンパイラへの命令。Apache設定ファイルhttpd.confにおいては設定項目のようなもの。 1つのボリュームにまとめて管理 ディスク2台、ミラー構成で実質1台の1Uマシンなのでこうしたが、ディスクが多数あり負荷が高い環境であれば、ログとドキュメントを分けてパフォーマンス向上をねらったほうが良いだろう。 |
Copyright(c)2010 SOFTBANK Creative Inc. All rights reserved.