2016年12月2日金曜日

2016/11/30(水) 演習2 授業実施、新学科Webサイトの準備

●演習2 授業準備
受講者に現在指導しているのは演習課題2ないし2.5の実施とそこまでのレポートの作成である。演習課題3は次回に与える予定であるが、今回のうちに先出しする流れになった場合に備えてサンプルコードを作成した。

●演習2 授業実施
3限目に第9回を実施した。出席6名、欠席なし。
最初に、就職活動に関するガイダンスや、次週はWCVのため高校生を受け入れる可能性があることを連絡した。次に、各受講者の進捗状況を確認した。まだSaiくんを除くとどのチームも演習課題2を終わらせていないということであったので、それについて作業するよう指示した。Saiくんにはレポート作成を続けるよう指示した。
残り30分間になったところで、開発したシステムをサーバ dusk に置く手順を説明した。
演習課題3に触れる時間的余裕は無かったので、今日作ったサンプルコード(前述)は結局使わなかった。

さて、Miくんは「『テーブル設計』が何なのか分からない」ということであった。しかし、Webアプリケーション開発の入門書を1冊終えたのであるから、ここで言うテーブルが何であるかはもう知っていなくてはならない。また、この授業の中でもテーブル設計のサンプルを提供しているし、他の受講者の成果発表にもテーブル設計は何度も出てきたので、「何なのか分からない」というのはおかしな話である。そろそろ指導の限界を感じる。

●da2 授業準備
明日の第11回に備えて履修者名簿のハードコピーを作った。

●CNC運営委員 業務
11/25(金)の委員会について学部の会議で報告するため、会議資料の表紙のみを学部事務室にメールで提出した。

●ホームページ委員 業務(新学科Webサイトの準備)
続き。In先生から現行のWebサイトの baserCMS の管理アカウント情報を教えてもらった。サーバ自体のユーザアカウントは無いのでファイルシステムに直接触ることはできないが、baserCMS の管理システムからデータを見たりエクスポートしたりはできるはずである。次の手順で作業し、現サイトのコピーと新学科Webサイトとしての改修を行った(一部の試行錯誤は省略)。

★現サイトからエクスポート
1) 現行のWebサイトの baserCMS に管理アカウントでログイン。
2) [システム管理]-[データメンテナンス]-[データのバックアップ] でエクスポート。

★作業用サーバの準備
3) baserCMS を公式サイトからダウンロード。バージョンは最新ではなく現サイトのものに合わせた。
4) ダウンロードした中身を研究室のサーバに展開。
5) .htaccess を編集した。これについては CakePHP のルールに従うようである。
6) app のセキュリティコンテクストのタイプを httpd_sys_rw_content_t に変更。
  chcon -R -t httpd_sys_content_rw_t app
(httpd_sys_content_rw_t に設定すると httpd_sys_rw_content_t と表示される。詳細不明)
7) 研究室のサーバにWebブラウザでアクセスし、 baserCMS のインストールを開始。
8) インストールの途中で、研究室のサーバの MariaDB に必要なデータベースを作った。
  create database `basercms_db`;
  grant all on `basercms_db`.* to xxxxxx@localhost identified by '******';
9) インストールを完了。インストールの過程で管理アカウントを設定。
10) 現サイトと同じテーマを導入。
11) 現サイトと同じプラグインを導入。

★新学科サイトとしての改修
12) [システム管理]-[データメンテナンス]-[データの復元] でインポート。
13) 9)で設定した管理アカウントのパスワードを設定しなおした。アカウント設定 もしくは [システム管理]-[ユーザ管理]
14) サイト設定を調整した。[システム管理]-[サイト基本設定] 画面の下に [オプション]
15) コンテンツを編集しまくった。ほとんどは公開停止。

★使ってみて判った baserCMS の注意すべきこと
・baserCMS をWebサーバのドキュメントルート以外に置くときには .htaccsss を編集しなくてはならない(上記5)。
Webサイト全体を baserCMS で管理するつもりなら問題にならないが、サブディレクトリに置くときにはこの作業が必要のようである。baserCMS を展開したときのトップディレクトリにある .htaccess に次のような行を追加しなくてはならない。
  RewriteBase /xxx/xxx/basercms/
バージョンによっては app/webroot/.htaccess にも追加が必要のようである。
  RewriteBase /xxx/xxx/basercms/app/webroot/
これについての記載は baserCMS のインストール手順に関するページには見当たらなかった。

・baserCMS の app 以下は書き込み可能に設定しておかなくてはならない(上記6)。
SELinux のセキュリティコンテクストで httpd_sys_rw_content_t などのタイプにしておく。
また、パーミッションも 777 にしておく。

・baserCMS で使用するデータベース名にドット(ピリオド)が含まれてはならない(上記8)。
研究室の運用ルールでは研究室内のサーバに作るデータベースの名前にはドットで区切ってユーザ名などを入れることにしている。このルールに従うと baserCMS のインストールはうまくいかない。今回は baserCMS のためにルール外のDBを作って問題を回避した。
baseCMS の最新バージョンでは、データベース名に関する制約についてインストール中にメッセージを表示するが、バージョンによっては単にエラーになるだけであった。

・baserCMS でデータの復元を行ったらすぐに管理パスワードを設定しなおさなくてはならない(上記12, 13)。
今回作った作業用サイトの管理用パスワードは現行のWebサイトに合わせた。それにもかかわらず、「データの復元」機能で現行サイトからインポートを行うとパスワードが化けてしまうらしく、いったんログアウトするとログインできなくなった。PHPやMySQL (MariaDB) のバージョンまでは合わせなかったからそのせいかもしれない。

・baserCMS のサイト管理機能にはオプションがある。
[システム管理]-[サイト基本設定] 画面の下に [オプション]ボタンがある。見逃さないようにすること。

●計算機環境の整備 
★仮想サーバの保守
認証について保守を行った。

●PB演習 バーチャルレビュー
進捗が著しく遅れている班の構想設計書を簡単にレビューした。その旨を関係各位に Slack で伝えた。

●その他
またもや溜まり始めた書類を整理した。

As先生からメールで大学院の授業アンケート改訂案について確認依頼が来たので、確認して意見を返信した。

0 件のコメント:

コメントを投稿