連載
» 2005年12月13日 00時00分 公開

実用 Apache 2.0運用・管理術(6):Apacheで作るファイルサーバ(WebDAV over SSL編) (3/3)

[鶴長鎮一,@IT]
前のページへ 1|2|3       

Appendix:ソースからのインストール

 ソースからインストールする場合は、DSOを利用したモジュールインストールとApacheへ直接組み込む方法の2種類があります。ここではApacheへ組み込む方法を紹介します。

 なお、httpd.confの設定の詳細については、本文を参照してください。

WebDAV、SSL、LDAPの組み込み

 各種の機能をApacheに組み込む場合は、Apacheのインストール時に適宜オプションを追加してconfigureを実行します。「Apacheに組み込む」つまりApache本体のコンパイルを行うという方法の性格上、ここでは本文に先行してLDAPのインストールまで行います。ただし、今回はインストールを行うだけであり、設定については次回に解説します。

 SSL、LDAP、WebDAVをApacheに組み込むためのオプションは以下のとおりです。なお、Apacheのconfigureを実行する前に、OpenLDAPやOpenSSLをインストールしておく必要があります。

#./configure --enable-so --enable-ssl --enable-dav --with-ldap --enable-ldap --enable-auth-ldap
--enable-so:DSOモジュールを有効にする
--enable-ssl:SSLを有効にする
--enable-dav:WebDAVを有効にする
--with-ldap --enable-ldap --enable-auth-ldap:LDAPを有効にする

 必要に応じて、そのほかのオプションも適宜で指定します。

 configureが終わったら、コンパイルとインストールを行います。

# make
# make install

 Apacheに組み込まれているモジュールの一覧を表示させ、SSL、LDAP、WebDAVが組み込まれていることを確認します。

# /usr/local/apache2/bin/httpd -l
....
  mod_auth_ldap.c
....
  mod_ssl.c
....
  mod_dav.c
....
  mod_dav_fs.c

mod_encodingの組み込み

 mod_encoding(本文参照)は、DSOモジュールとしてインストールします。「Apache 2.0でWebDAV」でもmod_encodingのインストール方法が紹介されていますが、最新のApacheでは「make install」で失敗するため、修正が必要です。

 まず、WebDAV Resources JP(http://webdav.todo.gr.jp/)のdownloadメニューから、mod_encoding 20021209.tar.gzとmod_encoding.cのApache 2.0用差し替えファイルmod_encoding.c.apache2.20040616をダウンロードします。ダウンロード後tarボールを展開し、mod_encoding.cを別途ダウンロードしたものに置き換えます。

# tar xvfz mod_encoding-20021209.tar.gz
# cp mod_encoding.c.apache2.20040616 mod_encoding-20021209/mod_encoding.c

 次に、iconv_hookライブラリをインストールします。

# cd mod_encoding-20021209/lib/
# ./configure
# make
# make install

 mod_encodingのコンパイルとインストールは以下のように実行します。

# cd ..
# ./configure --with-apxs=/usr/local/apache2/bin/apxs --with-iconv-hook

 makeを実行する前に、Makefileを2カ所修正します。

LIBS = -L/usr/local/lib -liconv_hook
 
(省略)
 
install-exec-local:
        $(APXS) -i -a -n encoding mod_encoding.la
Makefile

 Makefileを修正したら、コンパイルとインストールを実施します。

# make
# make install

 最後に、httpd.confにmod_encoding用の設定を追加します。

EncodingEngine        on
 
SetServerEncoding     UTF-8
 
DefaultClientEncoding UTF-8 CP932 EUCJP-MS
 
AddClientEncoding "Microsoft .* DAV 1.1" ASCII CP932 UTF-8
AddClientEncoding "Microsoft .* DAV" UTF-8 CP932
AddClientEncoding "(Microsoft .* DAV $)" UTF-8 CP932
AddClientEncoding "(Microsoft .* DAV 1.1)" CP932 UTF-8
AddClientEncoding "Microsoft-WebDAV*" UTF-8 CP932
AddClientEncoding "RMA/*" CP932
AddClientEncoding "xdwin9x/" CP932
AddClientEncoding "cadaver/" UTF-8 EUCJP-MS
AddClientEncoding "Mozilla/" EUCJP-MS
/usr/local/apache2/conf/httpd.conf

SSLの設定(サーバ証明書と秘密鍵の用意)

 Linux Tips「ApacheでSSLを使うには」を参考に、SSL用のサーバ証明書と秘密鍵を用意します。ここでは、以下の2つのファイルが作成されているものとします。

サーバ証明書  :/usr/local/apache2/conf/ssl.crt/server.crt
サーバ用の秘密鍵:/usr/local/apache2/conf/ssl.key/server.key

 次に設定ファイルにSSLの設定を追加します。SSL自体の設定はssl.confで行い、httpd.confにはssl.confを読み込む指定を行うだけです。

<IfModule mod_ssl.c>
    Include conf/ssl.conf
</IfModule>
/usr/local/apache2/conf/httpd.conf

 以下が、ssl.confの設定です。

(省略)
##
## SSL Virtual Host Context
##
 
<VirtualHost _default_:443>
 
(省略)
ServerName www.example.jp:443 ←サーバ名の指定
ServerAdmin admin@example.jp ←管理者のアドレス
(省略)
SSLCertificateFile /usr/local/apache2/conf/ssl.crt/server.crt ←サーバ証明書の指定
(省略)
SSLCertificateKeyFile /usr/local/apache2/conf/ssl.key/server.key ←サーバ用の秘密鍵の指定
/usr/local/apache2/conf/ssl.conf

前のページへ 1|2|3       

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。