差分
この文書の現在のバージョンと選択したバージョンの差分を表示します。
両方とも前のリビジョン 前のリビジョン 次のリビジョン | 前のリビジョン | ||
web:usermin:start [2011/09/19 03:12] yuki |
— (現在) | ||
---|---|---|---|
ライン 1: | ライン 1: | ||
- | ====== apache proxy + usermin ====== | ||
- | Apache Proxyを使用してuserminとURL的に共存する。 | ||
- | <note> | ||
- | * Ubuntu 10.04 Server | ||
- | * Usermin経由で各ユーザのLDAPパスワード変更だけを出来るようにする。 | ||
- | </note> | ||
- | |||
- | * 基本参考 | ||
- | * http://www.webmin.com/apache.html | ||
- | |||
- | - userminのインストール | ||
- | * <code>wget http://downloads.sourceforge.net/project/webadmin/usermin/1.470/usermin_1.470_all.deb | ||
- | dpkg -i usermin_1.470_all.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 | ||
- | passwd_cmd= | passwd_cmd=file | ||
- | </code> | ||
- | * /etc/pam.d/common-passwordから、use_authtokを削除 | ||
- | * <code>#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</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=ja_JP.euc < | ||
- | webprefix=/pop/usermin < | ||
- | webprefixnoredir=1 < | ||
- | referer=127.0.0.1 < | ||
- | </code> | ||
- | - Aapche側の設定 | ||
- | * Proxyモジュールの有効化 | ||
- | * <code>a2enmod proxy | ||
- | echo "LoadModule proxy_http_module /usr/lib/apache2/modules/mod_proxy_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> | ||
- | |||
- | * その他はまりどころ | ||
- | * client denied by server configuration: proxy:https://127.0.0.1:10001/ | ||
- | * デフォルトだと、/etc/apache2/mods-available/proxy.confにAllow文がない。以下追加。 | ||
- | * <code>Allow from all</code> | ||
- | * [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アクセスが発生して無理ぽ。 | ||
- | * <code>ProxyPass /pop/usermin/ https://localhost:10001/</code> | ||
- | * [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とかを使えばいいんじゃないかな。 |