2014年8月28日木曜日

2014/08/28(木) 計算機環境の整備(PB演習 準備)

●計算機環境の整備(PB演習 準備)
続き。Sambaによるファイル共有方法についてより詳しく検討した。upbound (Windows Server)からlightning (CentOS 6)へPHPスクリプト等のWebコンテンツをコピーして動作を検証し、XAMPPの設定を調整した。学部のホストに新しいVMを作ることについて依頼を出した。

★Sambaによるファイル共有
Webコンテンツは各ユーザのホームディレクトリ下に置くことを考えており、httpd.confでuserdirを有効にしたり、smb.confにsecurity = serverを設定したりして、動作確認も行った。
しかし結局思い直して、特定のディレクトリの下にユーザ名のサブディレクトリを作ってそこに置くことにした。smb.confの設定は次のようにした。ファイルやディレクトリのアクセス権限は、Windows同様にWebサーバが書き込みできるようにした。

 [homes]
  comment = Home Directories
  path = 親ディレクトリ/%S
  browseable = no
  writable = yes
  create mask = 0664
  directory mask = 0775
  valid users = %S
  force group = nobody ※httpd.confのGroupと同じ値にする

テスト用のユーザアカウントをuseraddおよびsmbpasswdで作った。このユーザのシェルはnologinに、所属グループはnobodyにした。また、ユーザ名と同名のサブディレクトリを作り、所有ユーザとグループを設定した。

 # cd 親ディレクトリ
 # mkdir ユーザ名
 # chown nobody:nobody ユーザ名

なお、恐らくnobodyをそのまま使うのは良くなくて、何か別のユーザ名・グループ名を作ってhttpd.confでもsmb.confでもchownでもそちらを使うほうがよいのであろうが、ここではとりあえずデフォルトのままにしておいた。

次に、SELinuxのsemanageとrestoreconでsamba_share_tを設定した。

 # semanage fcontext -a -t samba_share_t 親ディレクトリ/ユーザ名
 # restorecon 親ディレクトリ/ユーザ名

この変更後、smb restartを行った上で、Windowsクライアントからこのアカウントでlightningにアクセスして、このサブディレクトリの下にファイルを作ったり消したりできることを確認した。また、他のアカウントではこのサブディレクトリが見えないことを確認した。

OSの起動時にsmbとnmbが起動されるよう設定した。Windows並みにGUIからできるのは便利である。

★Webコンテンツのコピー
upboundのhtdocsの下にあったサブディレクトリを、上記のサブディレクトリと同じところに置いた。ファイルのコピーそのものには大きな問題はなかった。一部のファイルが日本語名であったため、lightningでは文字化けして読めなかった。しかし、主要なファイルの名前は英小文字・数字ばかりからなるので、PHPスクリプトの動作に不都合が生じることはないようである。

Windowsと異なり、PHPスクリプトがログを吐くようになっている場合などはWebサーバがファイルやディレクトリに書き込み権限を持っていなければならないので、ファイルを0664に、ディレクトリを0775に設定した。

 # chwon -R nobody:nobody サブディレクトリ
 # chmod 0664 `find サブディレクトリ -type f`
 # chmod 0775 `find サブディレクトリ -type d`

★XAMPPの調整
phpMyAdminをlocalhost以外からも使えるようにする必要がある。httpd-xampp.confを編集してphpmyadminへのアクセス制限を外し、動作を確認した。
また、php.iniのerror_reportingからE_NOTICEを外すよう修正した。

MySQLのテーブル名における大文字・小文字の違いは、Windowsでは無視されるのがデフォルトであるが、Linuxでは無視されないのがデフォルトである。lightningでも大文字・小文字の違いが無視されるようにするため、my.cnfの[mysqld]セクションに次の行を追加した。

 lower_case_table_names = 1

この変更後、lampp restartを行った上で、WebブラウザからPHPスクリプトの動作を確認した。

OSの起動時にXAMPPが起動されるよう設定した。Webで見つけたインストール手順を参考にして、シェルで下記のように実行した。GUIから設定したときとはレベル2の設定が違うようであるが、問題ではないはずである。

 # cp /opt/lampp/lampp /etc/init.d/lampp
 # chkconfig --add lampp

ここまで、あれこれ試行錯誤したので結構時間がかかったが、これでWindows ServerからCentOS 6へWebコンテンツを移行する手順は見極めることはできたと考える。

★vSphere Clientから学部ホストへのアクセス
先日の学部サーバ停止の際にVMware ESXサーバのホスト名や管理パスワードを把握したので、それを使ってアクセスしてみた。最初のアクセス時にインストールを要求されたが、それが終わったらあっさりアクセスできるようになった。研究室で使っているESXiとバージョンが違うので何か問題が起きるかと思ったが、何も起きなかった。

★新VMの作成依頼
lightningの状況や、すでに学部のESXサーバにあるVMの設定を考え合わせて、新しいVMの仕様を検討した。また、このVMに付ける名前を検討し、upblowに決めた。
この検討結果をまとめ、VMの作成依頼をサポートMLにメールで送付した。

●進路指導Webサイトの更新
昨日A先生からメールで求人資料1点を受け取っていたので、Webサイトに掲載した。ついでに各種の合同企業説明会の日程を調べて、これも掲載した。

●業務
明日の手持ち資料を準備した。詳細略。

0 件のコメント:

コメントを投稿