apache proxy + usermin

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

  • Ubuntu 10.04 Server
  • Usermin経由で各ユーザのLDAPパスワード変更だけを出来るようにする。
  • 基本参考
  • userminのインストール
  • 簡単セッティング(もちろん、ログインして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>
      • md5 = 0でStandard Unix crypt、1でUnix MD5 encryption、3でLDAP MD5 encryption、4でLDAP SSHA encryptionという噂。
    • /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とかを使えばいいんじゃないかな。
  • ソースの表示以前のリビジョン
    メディアマネージャー文書の先頭へ
    CC Attribution-Noncommercial-Share Alike 4.0 International
    Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0