2015年5月10日日曜日

2015/05/09(土) 計算機環境の整備

ずっとオフィスにいたが、意識的に昼過ぎまでのんびりした。


●da1 授業準備
G先生からメールで、スライド資料の一部について改訂案を受け取った。中身を確認し、所定の場所にも置いた。

第5回のスライド資料PDF版を授業用Webページに掲載した。

●基礎演習2 授業準備
続き。新たなサンプルプログラムとしてモンテカルロ法で円周率を求めるプログラムを作ってみた。授業準備というより気分転換の意味のほうが大きかった。この過程で既存のサンプルプログラムにいろいろと改善すべきところがあったことに気付いて、あちこちいじった。

●基礎演習1 授業処理
5/07(木)夜に作った評価のExcelファイルや説明文書のWordファイルを改訂した。受講者の得点をIs先生からメール添付で受け取っていたExcelの書式にも記入してみた。
レポートの遅延提出を受け付けている以上、得点は未確定であるから、これらは後日また改訂するかもしれない。

●swB 授業準備
第4回から第6回までのスライド資料を準備し、PDF版を作って授業用Webページに掲載した。

●da3 授業準備
第5回のスライド資料PDF版を授業用Webページに掲載した。

●lt, ltp 授業処理
第2回のスライド資料PDF版を授業用Webページに掲載した。

●計算機環境の整備
★演習用サーバの準備・CentOS 7の調整
続き。CentOS 7素体用仮想マシンnimbusで引き続き作業を行った。以下はsudo bashしたうえで実行した。

(1) Webサーバの実行
まずはApache HTTP ServerとPHPの動作を確認するところから手を着けた。 /etc/httpd/conf.d/userdir.conf をviで開いてユーザディレクトリを有効にした。次に

systemctl enable httpd
systemctl start httpd

を実行してhttpdを動かした。この時点ではまだWebブラウザでもアクセスしても応答がなかった。ファイアウォールの設定をするためiptablesをいじろうとしたが、なんだか様子がおかしいので調べたところ、CentOS 7ではfirewalldというものが導入されているということであった。うんざりしかけたが、どうやらiptablesよりこちらのほうが設定は簡単のようで、 /etc/firewalld/zones/public.xml をviで開いて

  <service name="http"/>

という1行を追加して

systemctl restart firewalld

を実行しただけで済んだ。仕上げにrestoreconをpublic_html以下にかけたところ、 http://nimbus/~ユーザID/ 以下にWebブラウザでアクセスすることができた。簡単なPHPスクリプトの実行も確認した。

(参考)
・urashita.com: CentOS 7からデフォルトのFirewalldでハマった
・Quiita: CentOS7のfirewalldをまじめに使うはじめの一歩

(2) Sambaの実行
次にSambaの動作を確認した。

systemctl enable nmb
systemctl enable smb
systemctl start nmb
systemctl start smb

Windows PCからアクセスしようとしたところ、やっぱりファイアウォールでひっかかった。 /etc/firewalld/zones/public.xml に

  <service name="samba"/>

という1行を追加して

systemctl restart firewalld

を実行したところ、Windows PCからnimbusが見えるようになった。

(3) Sambaによるホームディレクトリの共有
Sambaのユーザ認証を学部のサーバにお任せできないか検討したが、nimbusに入っているSambaのバージョンは4.1であり、そのため security = server は使えないということである。試みにこのオプションを設定しても、ログを見たところエラーになっていた。学部のLDAPサーバを使うとか、研究室内のFreeNASサーバを恐る恐るドメインコントローラにしてみるというような他の方法は検討しただけで到底手が出せそうもないので、結局 security = user を使うことにした。/etc/samba/smb.conf をviで開き、次のように書いた。

[global]
        workgroup = ワークグループ名
        server string = Samba Server Version %v

        security = user
        passdb backend = tdbsam

        unix charset = UTF8
        dos charset = CP932

[homes]
        comment = Home Directories
        browseable = no
        writable = yes
        create mask = 0664
        directory mask = 0775
        valid users = %S
        hide dot files = yes
        veto files = /.??*/

これを保存して

systemctl restart smb

を実行した。さらに

pdbedit -a ユーザID

を実行して自分のアカウントを追加した。これでWindows PCからホームディレクトリが見えるようにはなった。この時点では中身が見えなかったが、例によって不思議なことが起きたらSELinuxのせいであるので

setsebool -P samba_enable_home_dirs on

を実行したところ解決した。

(参考)
・ITARC: [CentOS 7]SambaのインストールとSELinux環境下でのホームディレクトリの共有

(4) MariaDBの導入
MariaDBは5/03(日)に導入したつもりであったが、肝心のサーバが入っていなかったことに気付いたので、あらためて導入した。

yum install mariadb-server

また、 /etc/my.cnf をviで開いて次のようにした。

[mysqld]
(中略)
character-set-server=utf8
lower_case_table_names=1
(以下略)

次に

systemctl enable mariadb
systemctl start mariadb

としてサーバプロセスを起動し、さらに

mysql_secure_installation

を実行してパスワード等を設定した。

mysql -u root -p

で簡単な操作を行い、確かに動いていることを確認した。

(参考)
・UnixPower on Networking: CentOS7 MariaDBの設定

(5) phpMyAdminの設定
/etc/httpd/conf.d/phpMyAdmin.conf をviで開き、localhost以外からもアクセスできるように設定した。systemctlでhttpdを再起動し、Webブラウザで http://nimbus/phpmyadmin/ にアクセスして動作を確認した。

(6) 今後のTo-Do
このnimbusをそのまま演習に使うわけではない。ある程度の設定が済んだところでnimbusは保存しておいて、それをコピーして別の仮想サーバを作り、このコピーを演習で使う予定である。

  1) CentOS 7素体用の仮想マシンnimbusを作る。 ←いまココが大体完了
  2) サービスを停止してシャットダウンする。
  3) VMware vCenter Converterでバックアップをとる。
  4) VMware vCenter Converterで新たな仮想マシンを作る。
  5) 起動してサーバ名、IPアドレスを変更する。
  6) 学生のユーザアカウントを作る。

来週の月曜には間に合わないような気がする。

★仮想サーバ thunderhead (CentOS 6)の設定
研究用の仮想サーバthunderheadのsmb.confを見ていたらdos charset, unix charsetが抜けていたので追加した。display charsetは要らないようであるので、いったん追加したが削除した。動作に問題ないようである。
こちらのSambaは3.6で、まだ security = server が使用できることを確認した。

また、phpMyAdminの設定を確認した。

ついでに sudo yum update を実行した。しょっちゅうやっているような気がするのに、次から次に更新が出てくるので感心してしまう。

0 件のコメント:

コメントを投稿