こんにちは!副業ブログで小遣い稼ぎしているエンジニアのセンリです。
今回はこんな疑問にお答えしていきます。
Moodleをインストールしたけど、「保護されていない通信」って書いてある。これどうやって消せばいいの?SSL化するにはどうしたらいい?
「保護されていない通信」と書いてあるとなんだか怖いですよね。
これはURLの最初が「http」になっていることが原因です。
そこで今回は「https」に変えること、つまりSSL化について解説していきます。
プログラミングやITに不慣れだとやや拒否反応が出そうな感じですが、本記事の手順通りに設定していけば問題なくSSL化できます。
早速チャレンジしていきましょう。
本記事では「【初めてでも簡単】Moodleのインストール方法」でMoodleをインストールしていること前提に話を進めていきます。
手順1:ConoHa WINGでSSLの設定をする
まずはサーバー内の設定です。
レンタルサーバーの管理画面から「サイト管理」→「ドメイン切り替え」でMoodleをインストールしているドメインに切り替え→「サイトセキュリティ」の順番に進んでください。
無料独自SSLの利用設定を「ON」にしましょう。
「ON」にすると下に「設定中」と表示されるようになります。
これが1時間くらい待って「利用中」に変わったら設定完了です。
待っている間に手順2〜3も進めていきましょう。
手順2:Moodle内のconfig.phpのファイルを編集する
次にファイルマネージャーを開きましょう。
ファイルマネージャーは次の写真の位置にあります。
ファイルマネージャーの中のMoodleが入っているフォルダを見つけましょう。
「public_html」の中のMoodleをインストールしているドメインフォルダの中にあります。
その中の「config.php」を探してみてください。
ConoHa WINGの場合は象のマークのファイルになっています。
見つけ出したら「右クリック」→「ファイルの編集」→「ACE Editor」を選んでファイルを編集します。
書き換えるのは2カ所です。
書き換え1:http→https
21行目あたりに下記のようなコードがあるので、「http」→「https」に書き換えましょう。
$CFG->wwwroot = 'http://***********************';
書き換え2:コードを挿入
2行目(<?phpの下)あたりに下記のコードを挿入してください。
if (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] === "https") {
$_SERVER['HTTPS'] = 'on';
define('FORCE_SSL_LOGIN', true);
define('FORCE_SSL_ADMIN', true);
}
挿入したら保存して閉じてください。
これでファイルの編集は以上です。
それでもMoodleをSSL化できない場合の対処
ここまで操作してもうまく表示できない原因は2つ考えられます。
SSL化できない原因
- 書き換えたコードが違っている
- キャッシュやCookieが邪魔している
まずは一度ここまでの内容を見直した後、下記の対処にも取り組んでみてください。
コンテンツキャッシュの削除
まずはコンテンツキャッシュを削除しましょう。
ConoHa WINGの管理画面から「サイト管理」→「サイト設定」→「応用設定」→「コンテンツキャッシュ」からキャッシュをクリアしましょう。
コンテンツキャッシュのクリアでだいたい直ります。
ブラウザのCookieやキャッシュの削除
ブラウザのCookieやキャッシュの削除をしてみましょう。
Google Chromeをお使いの方>>キャッシュと Cookie の消去
Microsoft Edgeをお使い方>>Microsoft Edge の閲覧履歴を表示または削除する
ブラウザに残っているデータが悪さをしてる可能性もない可能性もないので削除してしまいましょう。
MoodleはできるだけSSL化して使うべし
SSL化しなくても使えないわけではないですが、できるだけSSLして使いましょう。
理由は下記の通り。
MoodleをSSL化すべき理由
- 理由1:「保護されていない通信」は不信感を与える
- 理由2:暗号化でセキュリティレベルが上がる
僕のような面倒くさがりやは「どうせ使えるんだから別にいいじゃん」と思ってしまうこともあります。
でもユーザーからすると「保護されていない通信」と書かれているだけで心配になります。
たぶん、Moodleをインストールしようしているあなたは教育関係者のはず。
学ぶ側に無駄な悩みの種は作らせたくないですよね。
それにSSL化することでデータが外部に流出しにくくなったりもします。
ちょっと面倒ですが必ずSSL化してMoodleを運営していきましょう。
今回は以上です。