以下は apache 2.2 系を使った設定例です。
フィルタシステムで 80/tcp の通信を横取りし、この apache に誘導します。 本来の宛先(destination、URL)は、いろいろです。 よって、宛先にかかわらず、特定の CGI URL へ変換する必要があります。
必要な作業は次のとおりです。
Apache をインストールする。 認証方法によっては、 インストールの際に適切な設定 が必要です。
/usr/pkg/etc/httpd/httpd.conf の設定。
CGI ディレクトリにおける .htaccess の設定。
これは認証方法によります。 設定見本が /usr/pkg/share/nfsw/examples/ 以下にあるので、 参考にしてください。
/usr/pkg/share/nfsw/examples/dot_htaccess.file /usr/pkg/share/nfsw/examples/dot_htaccess.ldap
/usr/pkg/etc/httpd/httpd.conf への変更部分だけを説明します。 一番手っ取り早い方法は Listen をコメントアウトし、 nfsw の見本を Include することでしょう。
... 略 ... #Listen 0.0.0.0:80 ... 略 ... Include etc/httpd/httpd-nfsw.conf最重要の設定項目は、このファイル(httpd-nfsw.conf)にすべて書いてあります。 このファイルは /usr/pkg/share/nfsw/examples/httpd-nfsw.conf から /usr/pkg/etc/httpd へコピーし編集して使ってください。
[解説]
では /usr/pkg/etc/httpd/httpd-nfsw.conf の中を説明しましょう。
サーバ名と listen インターフェイスの設定。 なお、サーバ名の設定は必須ではありません。
ServerName nfsw00.example.org Listen 127.0.0.1:30080
拡張子が .cgi ファイルは CGI スクリプトとみなし、 URL にかかわらず、すべて /usr/pkg/libexec/nfsw/cgi-bin/nfsw-auth.cgi を呼び出すようにする。
AddHandler cgi-script .cgi AliasMatch ^/.*$ "/usr/pkg/libexec/nfsw/cgi-bin/nfsw-auth.cgi"
/usr/pkg/libexec/nfsw/cgi-bin ディレクトリにあるスクリプトが CGI として動作できるように Options ExecCGI を設定。
<Directory "/usr/pkg/libexec/nfsw/cgi-bin"> AllowOverride FileInfo AuthConfig Limit Indexes Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec ExecCGI <Limit GET POST OPTIONS> Order allow,deny Allow from all </Limit> <LimitExcept GET POST OPTIONS> Order deny,allow Deny from all </LimitExcept> </Directory>
利用する認証システムによってはモジュールのロードと、 .htaccess の設定が必要です。
たとえば LDAP を使う場合、 このように LDAP 認証モジュールをロードします。
LoadModule authnz_ldap_module lib/httpd/mod_authnz_ldap.so LoadModule ldap_module lib/httpd/mod_ldap.so
.htaccess の例は次のようになります。
AuthType Basic AuthName "LDAP Auth" AuthBasicProvider ldap AuthLDAPURL "ldap://10.0.0.1:389/ou=people,dc=example,dc=org?uid??" Require ldap-attribute objectClass=posixAccount
なお、apache のインストール方法の詳細は NetBSD サーバ構築ガイドの apache 節を参照 してください。
Copyright (C) 1993-2025 Ken'ichi Fukamachi mail:< fukachan at fml.org >