InterCLASS®
Assessment Support
InterCLASS® Assessment Support v1.3.0
セットアップマニュアル
目次
はじめに 1 ICAS のサービス構成 1 ICAS 構築のために事前にご準備いただくもの 2 1. ICAS 用プロジェクト作成 3 1.1. プロジェクトの作成 ...3 2. サーバーセットアップ 5 2.1. OS のセットアップ ...5 2.2. OpenSSL のセットアップ ...8 2.3. mod_ssl のセットアップ ...8 2.4. PHP のセットアップ ...9 2.5. Composer のセットアップ ...9 2.6. Supervisor のセットアップ ...9 3. サービスアカウントの設定 11 3.1. サービスアカウントの作成 ... 11 3.2. サービスアカウントの秘密鍵の作成 ... 20 4. データベースのセットアップ 22 4.1. MySQL のセットアップ ... 22 5. ICAS サーバーのセットアップ 30 5.1. Apache の設定変更 ... 30 5.2. ICAS のモジュールセットアップ ... 33はじめに
InterCLASS® Assessment Support をご導入いただき、ありがとうございます。
InterCLASS® Assessment Support (以下 ICAS) は G Suite for Education の監査ログや学習履歴 (スタディ・ログ)を活用した学習指導支援ツールです。ICAS を活用頂くことで特段のアンケートを行うことなく、 ICT 機器の活用状況を可視化することができる他、学習指導に関する定量データを見える化できます。 本書では、ICAS をご利用いただく際のセットアップ方法について説明します。
なお、本マニュアルに記載のGoogle Cloud Platform(以下、GCP)、および Google Adminの画面は
2021年1月5日時点のものになります。アップデートより告知なく画面構成が変更となる場合がありますの でご了承ください。
ICAS のサービス構成
ICAS をご利用いただくために、各ユーザー様の G Suite でご契約いただいているドメイン単位に GCP 上に ICAS サーバーをセットアップいただく必要がございます。
お客様ご契約の G Suite for Education ドメイン
GCP G Suite SQL (バッチ処理でログを取込) 監査ログ Google API ICAS (GCE※上に構築) ユーザー クラスルーム ※Google Compute Engine インターネット 学習者用 Windows10 学習者用 ChromeBook 先生用 ChromeBook
ICAS 構築のために事前にご準備いただくもの
ICAS のセットアップには、ご契約の GCP 上でプロジェクト管理が可能な Google アカウント、および Google Admin にログイン可能な特権管理者の Google アカウントをご準備ください。
1. ICAS 用プロジェクト作成
GCP 上に ICAS のプロジェクトを作成します。 すでに作成されたプロジェクトを利用される場合は、本項はスキップしてください。1.1. プロジェクトの作成
1. 特権管理者アカウントで GCP にログインします。 プロジェクトが1つも作成されていない場合は以下の画面が表示されますので、[プロジェクトの作成]をクリック します。 すでにプロジェクトが作成されている場合に新しく作成する場合には、画面上にあるプロジェクト名をクリックしま す。続いて、プロジェクト選択の画面から右上の[新しいプロジェクト]をクリックします。2. 新しいプロジェクト画面が表示されますので、必要な項目に値を設定して[作成]ボタンをクリックします。プロジ ェクトの作成が完了すると、プロジェクトのダッシュボードが表示されます。 No. 項目 設定値 備考 ① プロジェクト名 任意 プロジェクト名を適宜設定してく ださい。 ② プロジェクト ID 任意 プロジェクト ID を適宜設定してく ださい。プロジェクト ID は一意で ある必要があります。 ③ 組織 プロジェクトを作成する組 織を選択します。 ④ 場所 親組織またはフォルダを入 力します。 新しいプロジェクトの階層上の親 となります。 ① ② ③ ④
2. サーバーセットアップ
ICAS のサービスを構築する環境のセットアップを行います。
セットアップには、サーバーがインターネットにアクセスできる必要があります。
2.1. OS のセットアップ
お客様ご契約の Goolge Cloud Platform(以下、GCP)上に、Linux サーバーを構築します。
構築時の OS は、CentOS Linux Release v8.x を選択してください。
1. GCP に MySQL のインスタンスを作成します。
A) GCP のサイトにアクセスし、管理者アカウントでログインします。 B) ページ上部から ICAS を構築するプロジェクトを選択します。
D) ナビゲーションメニューから[Compute Engine] > [VM インスタンス]の順に選択します。
F) インスタンスの作成画面が表示されますので、必要な項目に値を設定して[作成]ボタンをクリックしま す。
2.2. OpenSSL のセットアップ
構築が完了した Linux サーバーに、OpenSSL をセットアップします。
サーバー証明書の作成が必要な場合は、セットアップを行って下さい。
1. OpenSSL をインストールします。2.3. mod_ssl のセットアップ
構築が完了した Linux サーバーに、mod_ssl をセットアップします。
1. mod_ssl をインストールします。# yum -y install openssl
2.4. PHP のセットアップ
構築が完了した Linux サーバーに、PHP をセットアップします。
インストールする PHP のバージョンは、v7.4.x となります。
1. yum のリポジトリに、remi を追加します。 2. PHP をインストールします。 3. php.ini の設定を変更します。 ファイル中から以下の項目をさがし、設定値を変更してください。2.5. Composer のセットアップ
構築が完了した Linux サーバーに、Composer(PHP パッケージ管理)をセットアップします。
1. Composer をインストールします。2.6. Supervisor のセットアップ
構築が完了した Linux サーバーに、Supervisor(デーモン管理)をセットアップします。
1. Supervisor をインストールします。# yum -y install https://rpms.remirepo.net/enterprise/remi-release-8.rpm
# yum -y install --enablerepo=remi,remi-php74 php php-fpm php-mysqlnd php-bcmath php-ctype php-fileinfo php-json php-mbstring php-openssl php-pdo php-tokenizer php-xml # vi /etc/php.ini expose_php = Off max_execution_time = 3600 date.timezone = "Asia/Tokyo" session.gc_maxlifetime = 3600
# yum -y install composer
2. larabel-worker.ini を編集します。 3. Supervisor を自動起動するように設定します。 4. Supervisor を起動します。 # vi /etc/supervisord.d/laravel-worker.ini [program:laravel-worker] process_name=%(program_name)s_%(process_num)02d command=php /var/www/icas/artisan queue:work --tries=30 autostart=true autorestart=true user=apache numprocs=8 redirect_stderr=true stdout_logfile=/var/www/icas/storage/logs/worker.log
# systemctl enable supervisord
3. サービスアカウントの設定
3.1. サービスアカウントの作成
GCP 上に ICAS のサービスアカウントを作成します。 1. GCP にサービスアカウントを作成します。 A) GCP のサイトにアクセスし、管理者アカウントでログインします。 B) ページ上部から ICAS を構築するプロジェクトを選択します。 C) プロジェクトを選択したら、画面左上にあるナビゲーションメニューをクリックします。D) ナビゲーションメニューから[IAM と 管理] > [サービスアカウント]の順に選択します。
F) サービスアカウントの作成画面が表示されます。「①サービスアカウントの詳細」の入力項目に値を設定 して[作成]ボタンをクリックします。 No. 項目 設定値 備考 ① サービスアカウント名 任意。 ここでは、ICAS Server API Access という名前 で作成したことを前提に説 明いたします。 サービスアカウントの表示名 ② サービスアカウント ID 任意。入力を省略した場 合、自動生成されます。 ③ サービスアカウントの説明 任意 後から見てわかるようにサービスア カウントの説明を入力します。 ① ② ③
G) 次に、「②このサービス アカウントにプロジェクトへのアクセスを許可する (省略可)」の設定画面が表示 されます。値の設定が不要であれば、そのまま[続行]ボタンをクリックします。
H) 次に、「③ユーザーにこのサービス アカウントへのアクセスを許可 (省略可)」の設定画面が表示されま す。値の設定が不要であれば、そのまま[完了]ボタンをクリックします。
I) 登録したサービスアカウントが一覧に表示されていることを確認します。確認できたら、一番右の操作カ ラムにある・・・記号をクリックしてメニューを表示し、[編集]をクリックします。
J) サービスアカウントの詳細画面が表示されます。画面中ほどにある「ドメイン全体の委任の表示」をクリ ックすると、[G Suite ドメイン全体の委任を有効にする]チェックボックスが表示されますので、チェックし ます。チェックをしたら[保存]ボタンをクリックします。
K) 登録したサービスアカウントが一覧に表示されていることを確認します。確認できたら、[クライアント ID の表示]をクリックします。
L) サービスアカウントのクライアント ID が表示されますので、Client ID に表示される値を控えます。
M) 次に Google Admin サイト(https://admin.google.com)にアクセスし、特権管理者アカウ ントでログインします。ログインしたら[セキュリティ]を選択します。
N) セキュリティに関する設定項目が表示されます。一番下部までスクロールし、[API の制御]を選択しま す。
O) API の制御に関する設定項目が表示されます。一番下部までスクロールし、[ドメイン全体の委任]に ある、[ドメイン全体の委任を管理]をクリックします。
P) API クライアントの一覧が表示されます。管理画面上部にある[新しく追加]をクリックします。 Q) 新しいクライアント ID を追加画面が表示されますので、GCP 上で控えたクライアント ID を入力しま す。また、OAuth スコープに、必要なスコープをすべて入力します。入力が終わったら、[承認]ボタンを クリックします。 No. 項目 設定値 備考 ① クライアント ID GCP で控えたサービスアカ ウントのクライアント ID ② OAuth スコープ 必要なスコープをすべて設 定します。 ① ②
OAuth のスコープに設定する値(v1.2.0 で必要な値)は、以下のとおりです。 https://www.googleapis.com/auth/admin.directory.user.readonly https://www.googleapis.com/auth/admin.reports.audit.readonly https://www.googleapis.com/auth/admin.reports.usage.readonly https://www.googleapis.com/auth/classroom.courses.readonly https://www.googleapis.com/auth/classroom.profile.emails https://www.googleapis.com/auth/classroom.profile.photos https://www.googleapis.com/auth/classroom.rosters https://www.googleapis.com/auth/classroom.rosters.readonly https://www.googleapis.com/auth/admin.directory.orgunit.readonly 今後、バージョンアップで値が変わる可能性があります。 スコープの編集を行う場合は、API クライアント一覧から、編集したい API クライアント行の右端にある [編集]をクリックします。
3.2. サービスアカウントの秘密鍵の作成
作成したサービスアカウントの秘密鍵を作成します。
1. ICAS が G Suite のログを参照するための API を呼び出す際に必要な秘密鍵を作成します。
A) 登録したサービスアカウントが一覧に表示されていることを確認します。確認できたら、一番右の操作カ ラムにある・・・記号をクリックしてメニューを表示し、[鍵を作成]をクリックします。
C) 以下のメッセージが表示され、作成された JSON ファイルがご利用の PC にダウンロードされます。ダウ ンロードした JSON ファイルを ICAS 管理サイトから登録してください。なお、一度生成した JSON ファ イルを再度ダウンロードすることはできません。必要な場合は、再度 JSON ファイルを生成する必要が あります。
4. データベースのセットアップ
4.1. MySQL のセットアップ
GCP 上に、MySQL を構築します。
1. GCP に MySQL のインスタンスを作成します。 A) GCP のサイトにアクセスし、管理者アカウントでログインします。 B) ページ上部から ICAS を構築するプロジェクトを選択します。 C) プロジェクトを選択したら、画面左上にあるナビゲーションメニューをクリックします。D) ナビゲーションメニューから[SQL]を選択します。
E) SQL インスタンス画面上部にある[+インスタンスを作成]ボタンをクリックします。
F) SQL インスタンス作成画面 – データベースエンジンの選択画面が表示されたら、[MySQL を選択]を クリックします。
G) SQLMySQL インスタンスの作成画面が表示されますので、必要な項目に値を設定して[作成]ボタン をクリックします。 データベースのバージョンは、MySQL 5.7 を選択します。 No. 項目 設定値 備考 ① インスタンス ID icasdb ② root パスワード 任意 適宜設定してください。 ③ リージョン asia-northeast1(東 京) GCE のサービスに近いリージョン を選択します。 ④ データベースのバージョン MySQL 5.7 2. ICAS サーバーからデータベースに接続できるように設定を行います。 A) 作成が完了すると、自動的に概要画面に遷移します。のちほど設定で利用しますので、パブリック IP アドレスに表示された値を控えておきます。次に、ナビゲーションメニューから、[接続]をクリックします。 ① ② ④ ③
B) “パブリック IP”にチェックがあることを確認したら、[+ネットワークを追加]ボタンをクリックします。 C) 新しいネットワークの”名前”、”ネットワーク”に値を入力し、[完了]ボタンをクリックします。完了したら、 [保存]ボタンをクリックします。 No. 項目 設定値 備考 ① 名前 icasweb ② ネットワーク ICAS の WEB サーバー の IP アドレス CIDR 表記で入力します。 ① ②
3. データベースのユーザーを設定します。 A) ナビゲーションメニューから、[ユーザー]をクリックして、ユーザー画面を表示します。表示されたら、画面 上部にある[+ユーザーアカウントを追加]ボタンをクリックします。 B) ユーザー名、パスワードを入力します。設定が終わったら[追加]ボタンをクリックします。のちほど設定で 利用しますので、ユーザー名とパスワードは値を控えておきます。 No. 項目 設定値 備考 ① ユーザー名 icasuser DB サーバーに接続するユーザー 名を指定します。 ② パスワード 任意 DB サーバーに接続するパスワー ドを指定します。 ① ②
4. データベースの作成を行います。 A) ナビゲーションメニューから、[データベース]をクリックして、データベース画面を表示します。表示された ら、画面上部にある[+データベースの作成]ボタンをクリックします。 B) データベース名を入力します。また、文字セットから”utf8”を選択します。すべての設定が終わったら [作成]ボタンをクリックします。のちほど設定で利用しますのでデータベース名は値を控えておきます。 No. 項目 設定値 備考 ① データベース名 icasdb データベース ② 文字セット utf8 ① ②
5. データベースに ICAS で利用するテーブル等を作成します。 A) ナビゲーションメニューから、[概要]をクリックします。概要画面が表示されたら、[Cloud Shell を使 用して接続]をクリックします。 B) Cloud Shell ターミナルが起動したら、データベースに接続します。 ****の部分は、ご利用環境に応じて値が変わります。 No. 項目 設定値 備考 ① データベース接続コマンド 設定したデータベース名、 追加ユーザー名 登録したデータベース名、追加し たユーザー名を指定して入力 ② API 有効化 y ③ 接続パスワード 設定したパスワード データベースのユーザー追加を行 った際に指定したパスワードを入 力
Welcome to Cloud Shell! Type "help" to get started. Your Cloud Platform project in this session is set to ****.
Use “gcloud config set project [PROJECT_ID]” to change to a different project. ****@cloudshell:~ (****)$ gcloud sql connect icasdb --user=icasuser ・・・① API [sqladmin.googleapis.com] not enabled on project [****].
Would you like to enable and retry (this will take a few minutes)?(y/N)? y ・・・② Enabling service [sqladmin.googleapis.com] on project [[****].]...
Operation "operations/****" finished successfully.
Allowlisting your IP for incoming connection for 5 minutes...done.
C) 接続に成功したら、入力プロンプトに mysql> 表示されますので、ICAS のデータベース構築用の SQL を実行します。(※SQL は別ファイルでご提供)
D) 登録が完了したら、\q と入力してデータベースとの接続を切断します。
E) 続けて、exit と入力して Cloud Shell ターミナルを終了します。 F)
Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 185
Server version: 5.7.25-google-log (Google)
Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> ここに、SQL を入力します
mysql>\q
5. ICAS サーバーのセットアップ
5.1. Apache の設定変更
Apache の設定を変更します。
1. /etc/httpd/conf.d に移動し、icas.conf を作成します。 2. icas.conf を編集します。 # touch icas.conf # vi icas.conf Timeout 3600 KeepAlive On MaxKeepAliveRequests 100 KeepAliveTimeout 2 UseCanonicalName Off AccessFileName .htaccess ServerTokens Prod ServerSignature Off HostnameLookups Off <IfModule reqtimeout_module>RequestReadTimeout header=20-40,MinRate=500 body=20,MinRate=500 </IfModule> <IfModule !mpm_netware_module> PidFile "/var/run/httpd.pid" </IfModule> <IfModule mpm_prefork_module> StartServers 5 ・・・① ServerLimit 128 ・・・② MaxRequestWorkers 128 ・・・③ MinSpareServers 5 ・・・④ MaxSpareServers 10 ・・・⑤ MaxConnectionsPerChild 10000 ・・・⑥ </IfModule>
<VirtualHost *:443> DocumentRoot "/var/www/icas/public" ServerName 導入先 ICAS のサーバーアドレス:443 ・・・⑦ ServerAdmin 導入先の管理者メールアドレス ・・・⑧ SSLEngine on SSLProtocol all -SSLv2 -SSLv3 SSLCipherSuite HIGH:3DES:!aNULL:!MD5:!SEED:!IDEA SSLCertificateFile サーバー証明書のパス ・・・⑨ SSLCertificateKeyFile 秘密鍵のパス ・・・⑩ <Files ~ "\.(cgi|shtml|phtml|php3?)$"> SSLOptions +StdEnvVars </Files> <Directory "/var/www/cgi-bin"> SSLOptions +StdEnvVars </Directory> BrowserMatch "MSIE [2-5]" \ nokeepalive ssl-unclean-shutdown \ downgrade-1.0 force-response-1.0 CustomLog logs/icas_request_log \ "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b %s \"%{User-Agent}i\" \"%{Referer}i\"" ErrorLog logs/icas_error_log TransferLog logs/icas_access_log LogLevel warn FileETag None
AddOutputFilterByType DEFLATE text/html AddOutputFilterByType DEFLATE text/css AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE application/javascript </VirtualHost>
※①~⑥ サーバーの SPEC やアクセス状況に応じてチューニングを行うパラメータになります。 ※⑦~⑩ 導入先の環境に応じて値を変更してください。 3. ssl.conf をリネームします。 4. Apache が自動起動されるように設定を変更します。 <Directory "/var/www/icas/public"> AllowOverride All
Options -Indexes +FollowSymLinks Require all granted
</Directory>
<IfModule expires_module> ExpiresActive On
ExpiresByType text/css "access plus 12 days" ExpiresByType image/gif "access plus 12 days" ExpiresByType image/jpg "access plus 12 days" ExpiresByType image/jpeg "access plus 12 days" ExpiresByType image/png "access plus 12 days" </IfModule>
<IfModule mod_env.c>
SetEnv proxy-initial-not-pooled 1 </IfModule>
# mv ssl.conf ssl.con__f
5.2. ICAS のモジュールセットアップ
ICAS のモジュールをサーバーに設置し、値の変更を行います。
1. ICAS のプログラムモジュール(icas.tar.gz)を、サーバーにアップします。アップしたファイル は、”/var/www”にコピーしておいてください。 2. プログラムモジュールを解凍します。 3. const.php の設定値を変更します。 ファイル中より、以下の1項目の値を変更します。 4. .env の設定値を変更します。 ファイル中より、以下の 5 項目の値を変更します。 No. 項目 設定値 備考 ① ログイン用(ウェブアプリケ ーション)トークン ② データベースのパブリック IP ③ データベースの接続ポート ④ データベース名 ⑤ データベース接続ユーザー 名 ⑥ データベース接続ユーザー パスワード # cd /var/www # tar xgf icas.tar.gz # chown apache:apache -R * # vi /var/www/icas/const.php ‘CLIENT_ID_FOR_ACCESS_TOKEN’ => ‘******************’, ・・・① # vi /var/www/icas/.env DB_HOST=***** ・・・② DB_PORT=3306 ・・・③ DB_DATABASE=icasdb ・・・④ DB_USERNAME=icasuser ・・・⑤ DB_PASSWORD=******* ・・・⑥5. 設定がすべて完了したら、Apache を起動します。
CHIeru サポートについて
下記サポートセンターまでお問い合わせください。URL
http://technical.chieru.co.jp/
E-Mail [email protected]
TEL
03-5781-8110
FAX
03-6712-9461
【受付時間】 午前 10 時~正午、午後 1 時~午後 5 時 土曜日、日曜日、祝祭日および弊社指定休日は休業させていただきます。InterCLASS Assessment Support v1.3.0 セットアップマニュアル
2021 年 1 月 作成/発行/企画 チエル株式会社 〒140-0002 東京都品川区東品川 2-2-24 天王洲セントラルタワー3F ※ 記載されている会社名及び商品名は、各社の商標もしくは登録商標です。 *本書の内容は将来予告なしに変更することがあります。 *本書の内容の一部、または全部を無断で転載、あるいは複写することを禁じます。 *本書の内容については万全を期して制作致しましたが、万一記載に誤りや不完全な点がありましたらご容赦く ださい。
■本 社 〒140-0002 東京都品川区東品川 2-2-24 天王洲セントラルタワー3F TEL: (03)6712-9721 FAX: (03)6712-9461 ■札幌営業所 〒060-0062 北海道札幌市中央区南 2 条西 9 丁目 1-2 サンケン札幌ビル 6F TEL: (011)804-7170 FAX: (011)804-7171 ■仙台営業所 〒980-0013 宮城県仙台市青葉区花京院 1-1-5 タカノボル第 25 ビル 4F TEL: (022)217-2888 FAX: (022)206-5222 ■首都圏営業所 〒140-0002 東京都品川区東品川 2-2-24 天王洲セントラルタワー3F TEL: (03)6712-9471 FAX: (03)6712-9461 ■名古屋営業所 〒460-0002 愛知県名古屋市中区丸の内 3-21-25 清風ビル 2F TEL: (052)687-2225 FAX: (052)687-2226 ■大阪営業所 〒532-0011 大阪府大阪市淀川区西中島 7-1-29 新大阪 SONE ビル 5F TEL: (06)6838-3077 FAX: (06)4806-7056 ■広島営業所 〒732-0828 広島県広島市南区京橋町 1-7 アスティ広島京橋ビルディング 2F TEL: (082)236-6077 FAX: (082)236-6078 ■福岡営業所 〒812-0011 福岡県福岡市博多区博多駅前 3-10-12 J-MAX ビル 6F TEL: (092)483-1603 FAX: (092)483-1604 ■沖縄営業所 〒901-2127 沖縄県浦添市屋富祖一丁目 6 番 3 号 森ビル TEL: (098)943-0511 FAX: (098)943-0669