2015年5月17日日曜日

2015/05/17(日) 計算機環境の整備

●C3PO合同ゼミ 議事録の整理
5/15(金)の議事録を仕上げないまま放置していた。体裁を整え、言葉が足りないところに少し書き足して、完成したテキストファイルをGoogleドライブに置き、さらにメール添付でMLに流した。

LDAP認証を行うPHPスクリプトを提供する約束をしていたので、これもGoogleドライブに置いた。

●学生への修学指導
5/14(木)に連絡通知を送った3年次生から、5/18(月)夕方の面談について了解した旨の返信を受け取った。

●計算機環境の整備
★PHPスクリプトにおけるLDAP認証の実行確認
前述のLDAP認証を行うPHPスクリプトをWindowsサーバやCentOS 7サーバに置いてその動作を確認したところ、Windows + XAMPPではうまくいったが、CentOS 7サーバの aurora および dusk ではうまくいかなかった。これら二つのサーバのいずれにおいても ldap_bind() が失敗して "Can't contact LDAP server" というエラーメッセージが表示された。このPHPスクリプトの主要な部分のみを示すと次の通りである。

    header('Content-Type: text/plain; charset=UTF-8'); 
    $host = "LDAPサーバのホスト名";
    $uid = $_POST['id'];
    $password = $_POST['pw']; // パスワード
    $base = "ou=userall,dc=●●●,dc=ac,dc=jp";

    //接続開始
    $dn = "uid=" . $uid . "," . $base;
    $conn = ldap_connect($host);
    if($conn){
        echo "接続成功\r\n";

        ldap_set_option($conn, LDAP_OPT_PROTOCOL_VERSION, 3);
        ldap_set_option($conn, LDAP_OPT_REFERRALS, 0);
        $ldap_bind = @ldap_bind($conn, $dn, $password);
        if($ldap_bind){
            echo "バインド成功\r\n";
        }else{
            echo "バインド失敗\r\n";
            echo ldap_error($conn) . "\r\n";
        }
        ldap_close($conn);
    }else{
        echo "接続失敗\r\n";
    }


ウェブを検索してあれこれ読んでみたが今回の事例とは異なるものばかりのようであった。「不思議なことが起きたらSELinuxのせい」という経験則に基づいて、サーバ dusk のシェルにおいて次のようにして調べてみた。

getsebool -a | fgrep -i ldap

この実行結果の中に httpd_can_connect_ldap という論理パラメータがあり、値は off であったので、これを on に変更した。

setsebool -P httpd_can_connect_ldap on

その上であらためて dusk 内のPHPスクリプトにアクセスしてみたところ、今度は "Protocol error" というエラーメッセージが表示された。困ったが、しばらく時間を置いてからもう一度試したところ、どういうわけか成功した。
次に aurora でも同じ手順を試してみた。やはり setsebool が完了してすぐにアクセスしても失敗したが、少し時間を置いてから再度アクセスしてみると成功した。理屈は知らないが、そういうものであると思うことにする。

研究室内Wikiの中にある、LDAP認証を行うPHPコードを記載したページに、今回の手順を追記しておいた。

★サーバ間のホームディレクトリの共有
昨日ファイルサーバ moonlight に設定した項目のうち、CIFSの Home-common セクションを MyHome に変更した。

★ファイルサーバ moonlight の設定のバックアップ
FreeNASのGUIで[システム]-[基本設定]を選択し、[設定のダウンロード]をクリックして設定データベースファイルをデスクトップPCに保存した。

●卒業研究の指導
卒研生にMLを通じて3通の連絡を送付した。

1) 5/22(金)の卒研ゼミは通常のゼミ形式では実施しないこと。
2) 5/21(木)に学内にて就職活動支援行事が実施されること。
3) 書籍の調達については研究室の予算もあること。

まとめて1通にすると最初のほうしか読まない学生もいるので用件ごとにメッセージを分けて書いたが、中にはそれでもほとんど読まない学生もいるのであなどれない。

●演習1 授業準備
明日5/18(月)には4/27(月)に出した問題の解答を説明するつもりであるので、その準備を行った。
まず学生一覧データをExcelに入力し、これをもとにHTMLで表を書き、その前後にタグをつけてHTML文書として仕上げた。他のページとCSSによるレイアウトの指定も作った。完成したHTML文書のひとまとまりを正解例その2として保存した。
次に、問題に対する解答としては無くてもいい部分を削っていって、最低限のコードのみを残したHTML文書のひとまとまりを作り、これを正解例その1として保存した。
これら二つの正解例をファイルサーバの MyHome に置き、Webブラウザで dusk にアクセスして閲覧できることを確認した。

●電子錠登録・登録抹消
続き。基礎教育センターのTIs先生からの連絡にもとづいて電子錠登録抹消のためのデータを作った。未処理

●基礎演習1 授業処理
レポートのサンプルのPDFファイルが、その中身の文章をコピー&ペーストできる形式になっていたので、PrimoPDFでコピペできない形式に作り直して、授業用Webページに置いていたものを更新した。今さらではあるが、後期の基礎演習2でも利用されてしまうかもしれないので、その予防である。

●lt, ltp 授業準備
In先生からMLを通じて、Dropboxに資料のファイルを置いた旨のご連絡をいただいていたので、Dropboxからファイルをコピーした。中身を検討したところ、ltpのスライド資料についていくつか気付いたことがあったので、改訂案を作ってDropboxに置き、その旨をMLに返信した。
また、昨年度使った自クラス用のスライド資料を改訂して今年度版を用意した。

0 件のコメント:

コメントを投稿