Sub navigation:

Apache(WebDAV機能付き),Subversionのインストール

さて,ようやくサーバーソフトのインストールだ.本節では,FreeBSD  Expert編集部,FreeBSD Expert 2005(技術評論社)および宮本久仁男 ,山田泰資,渡邊剛,WebDAVシステム構築ガイド(技術評論社)2003を参考にしている.アフリエイト貼っときますので買ってくださいね.

下準備

autoconfのインストール

ひょっとしたら既にインストールされているかもしれない.

> cd /usr/ports/devel/autoconf259
> sudo make install clean

BerkeleyDB 4.2のインストール

ヴァージョンにはいろいろなものがあるが,結局後ほど 4.2 を使うことになるので,ここでは素直に 4.2 をインストールしておく.

> cd /usr/ports/databases/db42
> sudo make install clean

expat2のインストール

> cd /usr/ports/textproc/expat2
> sudo make install clean

とすると,

 ===> expat-2.0.0_1 is already installed
You may wish to ``make deinstall'' and install this port again
by ``make reinstall'' to upgrade it properly.
If you really wish to overwrite the old port of textproc/expat2
without deleting it first, set the variable "FORCE_PKG_REGISTER"
in your environment or the "make install" command line.
*** Error code 1

Stop in /usr/ports/textproc/expat2.

なるメッセージが出て止まる.そこで,以下のようにしてアンインストールして再インストールする.

> sudo make deinstall
> sudo make reinstall

Apacheのインストールwith LDAP

Apacheは最新の 2.2 をインストールしてみよう

> cd /usr/ports/www/apache22
> sudo make WITH_BERKELEYDB=db42 -DWITH_LDAP install clean

ちなみに,筆者のApacheのconfig画面は以下のようになっている.

Options for apache 2.2.9
[ ] APR_FROM_PORTS		Use devel/apr as APR (beware!)
[ ] THREADS Enable		threads support in APR
[X] MYSQL Enable		MySQL support for apr-dbd
[ ] PGSQL Enable		PostgreSQL support for apr-dbd
[ ] SQLITE Enable		SQLite support for apr-dbd
[X] IPV6 Enable			IPv6 support
[ ] PCRE_FROM_PORTS		Use devel/pcre instead of bundled one
[X] BDB				Enable BerkeleyDB dbm
[X] AUTH_BASIC			Enable mod_auth_basic
[X] AUTH_DIGEST			Enable mod_auth_digest
[X] AUTHN_FILE			Enable mod_authn_file
[ ] AUTHN_DBD			Enable mod_authn_dbd
[X] AUTHN_DBM			Enable mod_authn_dbm
[X] AUTHN_ANON			Enable mod_authn_anon
[X] AUTHN_DEFAULT		Enable mod_authn_default
[X] AUTHN_ALIAS			Enable mod_authn_alias
[X] AUTHZ_HOST			Enable mod_authz_host
[X] AUTHZ_GROUPFILE		Enable mod_authz_groupfile
[X] AUTHZ_USER			Enable mod_authz_user
[X] AUTHZ_DBM			Enable mod_authz_dbm
[X] AUTHZ_OWNER			Enable mod_authz_owner
[X] AUTHZ_DEFAULT		Enable mod_authz_default
[X] CACHE			Enable mod_cache
[X] DISK_CACHE			Enable mod_disk_cache
[X] FILE_CACHE			Enable mod_file_cache
[ ] MEM_CACHE			Enable mod_mem_cache
[X] DAV				Enable mod_dav
[X] DAV_FS			Enable mod_dav_fs
[ ] BUCKETEER			Enable mod_bucketeer
[ ] CASE_FILTER			Enable mod_case_filter
[ ] CASE_FILTER_IN		Enable mod_case_filter_in
[ ] EXT_FILTER			Enable mod_ext_filter
[ ] LOG_FORENSIC		Enable mod_log_forensic
[ ] OPTIONAL_HOOK_EXPORT	Enable mod_optional_hook_export
[ ] OPTIONAL_HOOK_IMPORT	Enable mod_optional_hook_import
[ ] OPTIONAL_FN_IMPORT		Enable mod_optional_fn_import
[ ] OPTIONAL_FN_EXPORT		Enable mod_optional_fn_export
[ ] LDAP			Enable mod_ldap
[ ] AUTHNZ_LDAP			Enable mod_authnz_ldap
[X] ACTIONS			Enable mod_actions
[X] ALIAS			Enable mod_alias
[X] ASIS			Enable mod_asis
[X] AUTOINDEX			Enable mod_autoindex
[X] CERN_META			Enable mod_cern_meta
[X] CGI				Enable mod_cgi
[X] CHARSET_LITE		Enable mod_charset_lite
[ ] DBD				Enable mod_dbd
[X] DEFLATE			Enable mod_deflate
[X] DIR				Enable mod_dir
[X] DUMPIO			Enable mod_dumpio
[X] ENV				Enable mod_env
[X] EXPIRES			Enable mod_expires
[X] HEADERS			Enable mod_headers
[X] IMAGEMAP			Enable mod_imagemap
[X] INCLUDE			Enable mod_include
[X] INFO			Enable mod_info
[X] LOG_CONFIG			Enable mod_log_config
[X] LOGIO			Enable mod_logio
[X] MIME			Enable mod_mime
[X] MIME_MAGIC			Enable mod_mime_magic
[X] NEGOTIATION			Enable mod_negotiation
[X] REWRITE			Enable mod_rewrite
[X] SETENVIF			Enable mod_setenvif
[X] SPELING			Enable mod_speling
[X] STATUS			Enable mod_status
[X] UNIQUE_ID			Enable mod_unique_id
[X] USERDIR			Enable mod_userdir
[X] USERTRACK			Enable mod_usertrack
[X] VHOST_ALIAS			Enable mod_vhost_alias
[X] FILTER			Enable mod_filter
[X] VERSION			Enable mod_version
[ ] PROXY			Enable mod_proxy
[ ] PROXY_CONNECT		Enable mod_proxy_connect
[ ] PROXY_FTP			Enable mod_proxy_ftp
[ ] PROXY_HTTP			Enable mod_proxy_http
[ ] PROXY_AJP			Enable mod_proxy_ajp
[ ] PROXY_BALANCER		Enable mod_proxy_balancer
[X] SSL Enable			mod_ssl
[ ] SUEXEC Enable		mod_suexec
[ ] CGID			Enable mod_cgid

Apacheの設定

インストールが済んだら,Apacheの設定ファイル httpd.conf を vi で設定しよう.

> sudo vi /usr/local/etc/apache22/httpd.conf

そして, LoadModule の前にあるコメントアウトを全て外そう.何でも実装するのだ.特に, dav_module と dav_fs_module はコメントアウトされていると WebDAV 機能がなくなるので要注意だ.

次は,同ファイルの中の

#ServerName www.example.com:80

とあるのを,コメントをはずし, IP アドレスを入力するか,あるいは

ServerName localhost:80

とする.

次は, /etc/rc.conf の設定だ.最後の一行に以下を追加しよう.

apache22_enable="YES"

これで設定は完了だ.FreeBSD マシンを再起動して,LAN 内の他のマシンから http://(IP address)/とやってみよう.ブラウ ザーに "It Works" と出れば成功だ(非常に素っ気ないが成功は成功だ).

Subversionのインストール

WebDAV サーバーを,バージョン管理システムとして使うなら,subversion をインストールしておく必要がある.以下のようにしてインストールしよう.

> cd /usr/ports/devel/subversion
> sudo make -DWITH_MOD_DAV_SVN install clean

WebDAV の設定

/usr/local/etc/apache22/Includedav.confを作る.同ディレクトリの .conf ファイルは,Apacheの設定ファイルの一部として扱われる.

> sudo vi /usr/local/etc/apache22/Includes/dav.conf

内容は以下のとおり,

Alias /dav /home/dav
DAVLockDB /tmp/DAVLock

<Location /dav>
DAV on
Order deny,allow
Allow from All
</Location>

dav ディレクトリの設置

上記で設定した dav ディレクトリを実際に設置し,オーナーなどを適切に設定する.

> cd /home
> sudo mkdir dav
> sudo chown www:www dav

これで Apache,WebDAV サーバーは完成だ.マシンをリブートしてから.別のホストから,http://(アドレス)/dav/としてアクセスしてみよう.

なお,重ねていうが,本稿では LAN 内での使用を想定している.WebDAV サーバーをファイアーウォール外などで使用する場合は,設定ファイルやセキュリティ対策を別途施そう.

また,WebDAVサーバーに認証をかけて Windows XP からアクセスする場合は,IEの詳細オプションで“統合Windows承認を使用する”のチェックをはずし,URLのおしりに "?" をつけるとうまくいくようだ.