2007年02月05日

samba+OpenLDAP環境でのUserminによるパスワード変更 リターンズ!

以前に基本設定日本語化については記事にしたのですが、改めて最新版のUsermin(1.250)で入れ直してみると、だいぶ見た目が変わっています。(公式ページの作りは以前の見た目のままなので私の環境だけでしょうか?) そんなわけで、まとめの記事もちょっと手直し。例によって前提は、

・samba+OpenLDAPの環境は整っている
・Userminではパスワード変更しか行わない


ということでお願いします。
(sambaをドメインコントローラにしていても大丈夫かは未確認です…)

まずはインストールと初期設定。
これは以前に書きましたので、そちらを参照してください。

Samba+OpenLDAP環境でUserminによるパスワード変更
http://bird-memo.seesaa.net/article/18740422.html

そして日本語化。
こちらも以前の記事をどうぞ。

Userminのもっと日本語化
http://bird-memo.seesaa.net/article/18981740.html

これでだいぶ満足なのですが、このままだとUserminにログインした直後の画面がシステム情報のようなページになってしまいます。(以前の1.200では全然違う画面構成だったのですがいつの間に変わってしまったのでしょうか?) パスワード変更にしか使用しない&あまり詳しくない人も使用することを考えると、何とかしたいところです。

ログイン直後の画面はどこで生成されているんだろう…と調べたところ、/usr/local/bin/usermin/blue-themeの配下にあるファイル達がそれのようです。

まずはログイン直後にパスワード変更画面を表示するよう、index.cgiを変更します。(ここから下は分かりやすくdiffの結果で書きます。1行が長いためFirefoxだとちょっと見にくいです…ゴメンナサイ)

/usr/local/bin/usermin/blue-theme/index.cgi
# diff index.cgi index.cgi.org
37c37
< <frame name="right" src="../changepass/index.cgi" noresize>
---
> <frame name="right" src="$goto" noresize>

左側のメニュー部分ももう少しすっきり表示するようにleft.cgiを変更します。『パスワード変更』のリンク部分にアイコンがなくて寂しいので、ついでにそれっぽいアイコンを表示するようにします。(パスワード変更以外にも機能を使う場合は全部同じアイコンが表示されてしまうのでご注意下さい)

/usr/local/bin/usermin/blue-theme/left.cgi
# diff left.cgi left.cgi.org
35c35
< print &text('left_login', $remote_user),"<br><br>\n";
---
> print &text('left_login', $remote_user),"<br>\n";
42c42
< print "<img src=../file/images/acl.gif><a target=right href=$minfo->{'dir'}/>  $minfo->{'desc'}</a><br>\n";
---
> print "<a target=right href=$minfo->{'dir'}/>$minfo->{'desc'}</a><br>\n";
60c60
< print "<br>\n";
---
> print "<div class='leftlink'><hr></div>\n";
63,64c63,64
< #print "<div class='linkwithicon'><img src=images/gohome.gif>\n";
< #print "<div class='aftericon'><a target=right href='right.cgi?open=system&open=status'>$text{'left_home'}</a></div></div>\n";
---
> print "<div class='linkwithicon'><img src=images/gohome.gif>\n";
> print "<div class='aftericon'><a target=right href='right.cgi?open=system&open=status'>$text{'left_home'}</a></div></div>\n";
67,68c67,68
< #print "<div class='linkwithicon'><img src=images/oc.gif>\n";
< #print "<div class='aftericon'><a target=_new href='http://www.opencountry.com/webmin/'>$text{'left_oc'}</a></div></div>\n";
---
> print "<div class='linkwithicon'><img src=images/oc.gif>\n";
> print "<div class='aftericon'><a target=_new href='http://www.opencountry.com/webmin/'>$text{'left_oc'}</a></div></div>\n";

これで完成…かと思ったら、パスワード変更後の画面の左上に『モジュール インデックス』なる謎のリンクが。これを消すべく、以下のファイルを修正します。

/usr/local/bin/usermin/web-lib-funcs.pl
# diff web-lib-funcs.pl web-lib-funcs.pl.org
683,688c683,688
< # if (!$_[4] && !$tconfig{'nomoduleindex'}) {
< # local $idx = $module_info{'index_link'};
< # local $mi = $module_index_link || "/$module_name/$idx";
< # local $mt = $module_index_name || $text{'header_module'};
< # print "<a href=\"$gconfig{'webprefix'}$mi\">$mt</a><br>\n";
< # }
---
> if (!$_[4] && !$tconfig{'nomoduleindex'}) {
> local $idx = $module_info{'index_link'};
> local $mi = $module_index_link || "/$module_name/$idx";
> local $mt = $module_index_name || $text{'header_module'};
> print "<a href=\"$gconfig{'webprefix'}$mi\">$mt</a><br>\n";
> }

最後に、左上に表示される"Login:"という表示も日本語化してしまいましょう。

/usr/local/bin/usermin/blue-theme/langja_JP.euc (新規作成)
left_login=ログイン中 : $1

パスワード変更専用の日本語Userminの完成です!
posted by 月水和尚 (とも) at 12:09 | Comment(0) | TrackBack(0) | Linux(UNIX)全般
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。

この記事へのトラックバック
×

この広告は180日以上新しい記事の投稿がないブログに表示されております。