**以前のリビジョンの文書です**
apache proxy + usermin
Apache Proxyを使用してuserminとURL的に共存する。
- Ubuntu 10.04 Server
- Usermin経由で各ユーザのLDAPパスワード変更だけを出来るようにする。
- 基本参考
- userminのインストール
- <code>wget http://downloads.sourceforge.net/project/webadmin/usermin/1.470/usermin_1.470_all.deb dpkg -i usermin1.470all.deb</code>
- 簡単セッティング(もちろん、ログインしてWebUIから設定してもいい)
- <code>cd /etc/usermin </code>
- ポート番号とUsermin無効ユーザの設定
- <code>sdiff -s miniserv.conf miniserv.conf.old port=10001 | port=10000 denyusers=root guest < </code>
- パスワード変更以外の操作は無効に。
- <code>sdiff -s webmin.acl webmin.acl.old user: changepass | user: at changepass chfn commands cron cshrc fetchmail file f </code>
- パスワード参照をfileではなくLDAP(このへんは/etc/nsswitch.confとpamで対応)
- <code>sdiff -s changepass/config changepass/config.old passwdcmd= | passwdcmd=file </code>
- /etc/pam.d/common-passwordから、useauthtokを削除 * <code>#password [success=1 userunknown=ignore default=die] pamldap.so useauthtok tryfirstpass password [success=1 userunknown=ignore default=die] pamldap.so tryfirstpass</code>
- <code>cat /etc/pam.d/usermin #%PAM-1.0 @include common-auth @include common-account @include common-password @include common-session</code>
- ApacheのProxy経由でアクセスしても問題ないように。
- <code>sdiff -s config config.old lang=jaJP.euc < webprefix=/pop/usermin < webprefixnoredir=1 < referer=127.0.0.1 < </code> - Aapche側の設定 * Proxyモジュールの有効化 * <code>a2enmod proxy echo “LoadModule proxyhttpmodule /usr/lib/apache2/modules/modproxy_http.so”
>> /etc/apache2/mods-available/proxy.load
<
/code>
Proxyモジュールの設定
vi /etc/apache2/mods-available/proxy.conf
<code><Proxy *>
AddDefaultCharset off
Order deny,allow
Deny from all
Allow from all
</Proxy></code>
sites-avaliableの設定
<code>cat default-ssl | grep Proxy
SSLProxyEngine On
ProxyPass /pop/usermin/ https://127.0.0.1:10001/
ProxyPassReverse /pop/usermin/ https://127.0.0.1:10001/
</code>
再起動
- <code>service apache2 restart service usermin restart </code>
その他はまりどころ
- こんなエラー。
- <code>client denied by server configuration: proxy:https://127.0.0.1:10001/</code>
- デフォルトだと、/etc/apache2/mods-available/proxy.confにAllow文がないとエラーになるので書く。
- <code>Allow from all</code>
- こんなエラー。
- <code>[warn] proxy: No protocol handler was valid for the URL /pop/usermin/. If you are using a DSO version of modproxy, make sure the proxy submodules are included in the configuration using LoadModule. </code> * proxy.loadがデフォルトだと足りないらしいので書く。 * <code>LoadModule proxyhttpmodule /usr/lib/apache2/modules/modproxy_http.so“
>> /etc/apache2/mods-available/proxy.load</code>
- [error] proxy: HTTPS: failed to enable ssl support for [::1]:10001 (localhost)
- 以下のように書いていると、IPv6アクセスが発生して無理ぽ。localhostを127.0.0.1で記載する。(IPv6を無効にする人はご自由に)
ProxyPass /pop/usermin/ https://localhost:10001/
- [error] [client 127.0.0.1] SSL Proxy requested for localhost:443 but not enabled [Hint: SSLProxyEngine]
- $home/.userminに対する書き込み権限がないとパスワード変更に失敗する。
- LDAPユーザのホームディレクトリが実質的に存在しない場合は/tmpとかを使えばいいんじゃないかな。