[HOME] [github] [twitter] [blog] [fml4] [fml8] [北海道] Powered by NetBSD and [nuinui.net] .

認証 CGI の設定

以下は apache 2.2 系を使った設定例です。

フィルタシステムで 80/tcp の通信を横取りし、この apache に誘導します。 本来の宛先(destination、URL)は、いろいろです。 よって、宛先にかかわらず、特定の CGI URL へ変換する必要があります。

必要な作業は次のとおりです。

  1. Apache をインストールする。 認証方法によっては、 インストールの際に適切な設定 が必要です。

  2. /usr/pkg/etc/httpd/httpd.conf の設定。

  3. 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>

LDAP 認証

利用する認証システムによってはモジュールのロードと、 .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 節を参照 してください。

[HOME] [github] [twitter] [blog] [fml4] [fml8] [北海道] Powered by NetBSD and [nuinui.net] .
Copyright (C) 1993-2022 Ken'ichi Fukamachi mail:< fukachan at fml.org >