Home > アーカイブ > 2005-12-04

2005-12-04

Apache 2.2化

というわけで、ここもApache 2.2化。

Server: Apache/2.2.0 (Unix) mod_ssl/2.2.0 OpenSSL/0.9.7a DAV/2 PHP/5.1.1 SVN/1.2.3

あれ、SSLが古いのとリンクしとる。。。_| ̄|○

Apache 2.2 mod_authz_ldap

グループに所属するユーザ認証する場合のApache 2.0までのmod_auth_ldapとの違いは次の通り。

...
require group cn=group1,ou=Groups,dc=example,dc=org

AuthBasicProvider ldap
...
require ldap-group cn=group1,ou=Groups,dc=example,dc=org

これで全部検証完了かな。

Apache 2.2 mod_proxy_ajp

mod_proxy_ajpは超簡単。ロードバランサー使わない場合は1行でOK。

<IfModule proxy_ajp_module>
    ProxyPass /example ajp://localhost:8009/example

    # Load Balancer
    ProxyPass /balancer-example balancer://ajp-balancer
    <Proxy balancer://ajp-example>
        BalancerMember ajp://192.168.1.2:8009/example/
        BalancerMember ajp://192.168.1.3:8009/example/
    </Proxy>
</IfModule>

Apache 2.2 dav_svnがエラー (解決)

2.0で動いていたリポジトリが2.2にすると次のエラーで動かなくなりました。

[error] [client ***.***.***.***] Could not fetch resource information.  [500, #0]
[error] [client ***.***.***.***] Could not open the root of the repository  [500, #22]
[error] [client ***.***.***.***] Can't set position pointer in file '/home/groups/example/svn/db/revs/1': Invalid argument  [500, #22]

解決方法を見つけられませんでした。このエラーはパーミッションが無い場合に出るみたいだけど、2.0だと動くのでそれとは別のとこが原因のようです。バージョンはSubversion 1.2.3。

PHP 5.1.1とmod_proxy_ajpは問題なさそう。

追記: 解決

原因は、SubversionのAPRのバージョンの問題でした。

"./configure" \
"--with-ssl" \
"--with-apxs=/usr/local/httpd/bin/apxs" \
"$@"

今まではこれでコンパイルしていたけど、これだとSubversionに付属しているaprとapr-utilを使うようで、それが0.9.x系なためにApache 2.2で標準となった1.xと互換性が無いためでした。

"./configure" \
"--with-ssl" \
"--with-apr=/usr/local/httpd" \
"--with-apr-util=/usr/local/httpd" \
"--with-apxs=/usr/local/httpd/bin/apxs" \
"$@"

でコンパイルし直して解決。/usr/local/httpdはApacheのインストール先(通常: /usr/local/apache2)。ここにApache 2.2に付属する1.xのaprとapr-utilがあるのでそれを使わせればOK。

Home > アーカイブ > 2005-12-04

検索
フィード
メタ情報

Return to page top