pdoc 0.1 documentation

apache proxy + usermin

«  mod_wsgi   ::   Contents   ::   piwik  »

apache proxy + usermin

Apache Proxyを使用してuserminとURL的に共存する。

Note

Ubuntu 10.04 Server Usermin経由で各ユーザのLDAPパスワード変更だけを出来るようにする。

基本参考
http://www.webmin.com/apache.html

userminのインストール

wget http://downloads.sourceforge.net/project/webadmin/usermin/1.470/usermin_1.470_all.deb
dpkg -i usermin_1.470_all.deb

userminの設定

WebUIから設定してもいいが、とりあえずコンソールで

cd /etc/usermin

ポート番号とUsermin無効ユーザの設定

sdiff -s miniserv.conf miniserv.conf.old
port=10001                            | port=10000
denyusers=root guest                  <

パスワード変更以外の操作は無効に。

sdiff -s webmin.acl webmin.acl.old
user: changepass                      | user: at changepass chfn commands cron cshrc fetchmail file f

パスワード参照をfileではなくLDAP(このへんは/etc/nsswitch.confとpamで対応)

sdiff -s changepass/config changepass/config.old
passwd_cmd=                           | passwd_cmd=file

Note

md5 = 0でStandard Unix crypt、1でUnix MD5 encryption、3でLDAP MD5 encryption、4でLDAP SSHA encryptionという噂。

/etc/pam.d/common-passwordから、use_authtokを削除

#password       [success=1 user_unknown=ignore default=die]     pam_ldap.so use_authtok try_first_pass
password        [success=1 user_unknown=ignore default=die]     pam_ldap.so try_first_pass
cat /etc/pam.d/usermin
#%PAM-1.0
@include common-auth
@include common-account
@include common-password
@include common-session

ApacheのProxy経由でアクセスしても問題ないように。

sdiff -s config config.old
lang=ja_JP.euc                        <
webprefix=/pop/usermin                <
webprefixnoredir=1                    <
referer=127.0.0.1                     <

Aapcheの設定

Proxyモジュールの有効化

a2enmod proxy
echo "LoadModule proxy_http_module /usr/lib/apache2/modules/mod_proxy_http.so" >> /etc/apache2/mods-available/proxy.load

Proxyモジュールの設定

/etc/apache2/mods-available/proxy.conf

<Proxy *>
    AddDefaultCharset off
    Order deny,allow
    Deny from all
    Allow from all
</Proxy>

sites-avaliableの設定

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/

再起動

service apache2 restart
service usermin restart

エラー対応

client denied by server configuration: proxy:https://127.0.0.1:10001/

デフォルトだと、/etc/apache2/mods-available/proxy.confにAllow文がないとエラーになるので書く。
::

    Allow from all
[warn] proxy: No protocol handler was valid for the URL /pop/usermin/.
If you are using a DSO version of mod_proxy, make sure the proxy submodules are included in the configuration using LoadModule.

proxy.loadがデフォルトだと足りないらしいので書く。
::

    LoadModule proxy_http_module /usr/lib/apache2/modules/mod_proxy_http.so" >> /etc/apache2/mods-available/proxy.load
::

[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]

http://d.hatena.ne.jp/bushimichi/20090417/1239970196
$home/.userminに対する書き込み権限がないとパスワード変更に失敗する。
LDAPユーザのホームディレクトリが実質的に存在しない場合は/tmpとかを使えばいいんじゃないかな。

Table Of Contents

Previous topic

mod_wsgi

Next topic

piwik

This Page

«  mod_wsgi   ::   Contents   ::   piwik  »