Xoopsサイトを無料でSSL認証化する
タツ
投稿数: 2447
今までホームページ運営でそれ程意識していなかったSSL認証ですが、今年になって
「2017 年 1 月より、Chrome(バージョン 56 以降)では、パスワードやクレジット カード番号を収集するページで、HTTPS で配信されないものについては、「安全でない」と明示することになりました。」
とメールメッセージをもらいました。
従って、このXoopsで作成された当サイトの各ページにはログインが表示されている為、SSL認証されていなければほとんどのページで「安全でない」と表示されてしまうことになります。その対処方法の1つとしてログインのページを作成し、そのページをログインの為のページとして集中させるようにしましたが、やはり時代の流れというものでしょうか、この先ホームページのSSL認証が標準になりそうな傾向にあります。
もともとXoopsはコミュニティサイトを目的として作られたサイトでユーザー登録は標準でセットされています。とはいうものの、実際にユーザー登録も少ない個人の所有するホームページを運営する上で高額ともいえる費用を出してまでの自分のホームページをSSL認証化する必要性があるのかと思い二の足を踏んでいました。今回、バリューサーバーで運営するウェブサイトを無料で常時SSL化する方法という記事を見つけこれならと思い導入することにしました。内容としては、Let's Encriptを利用して無料でレンタルサーバー上のサイトをSSL化しようというもので、以下はその時の忘備録です。ただ、Let's Encriptは3か月毎に更新手続きが必要となります。
ホームページを無料で常時SSL化する手順
1.ネットオウルにてLet's EncriptのSSL証明書の取得をします。
まず、簡単手続き・格安SSL証明書サービス SSLボックスから会員登録を行い、その後Let's Encriptの登録を行います。
登録項目は次のようなものです。
コモンネーム 例)-www.sample.com-(ドメイン),国,都道府県,市町村,組織,部署です。必要項目を入力し正常に終了すると次に所有者確認を行います。Let's Encriptからサイトの所有者を確認する方法は Web認証とDNS認証の方法があり、私は指定ファイルを指定した場所に設置して所有者の確認をするというWeb認証を選択しました。
・ Web認証:認証に必要な「トークンファイル」をダウンロードし、ダウンロードしたトークンファイルを指定されたURLで参照できるようにアップロードし所有者の確認をします。
・正常に登録が行われればLet's EncriptのSSLボックスに証明書が表示されます。
CERT(SSL証明書),中間証明書,秘密鍵がそれぞれダウンロードできるようになっています。
2.パスフレーズの作成について
参考サイトではLet's Encriptではパスフレーズがない為、そのパスフレーズを作成するためにOpenSSLを利用して秘密鍵の変換を行っています。実際に行ってみるとOpenSSLの設定が悪かったのか変換はパスフレーズを入力する前に既に変換されたファイルが出来上がってしまいます。しかも、同じ手順を踏んでも毎回ファイル内容が異なっています。作成された変換ファイルはあまり信用できないなぁ。。。そこで、そもそもLet's Encriptでパスフレーズがないのであれば別にパスフレーズなしでサーバーに登録すれば問題ないのでは?と考えこの手順は不要と判断しました。
3.バリューサーバーでのSSL認証の設定
・「ドメインウェブの設定」を行いSSL認証の設定ができるようにします。
・メニューからSSL認証を選択し、「IPアドレス(SNI対応)のSSL設定、証明書の発行・設定」の画面からLet's Encriptで登録したコモンネーム(例:-www.sample.com-)を選択しSSL証明書のインストール画面を表示します。
・SSL証明書のインストールのための各ファイル内容はLet's EncriptのSSLボックスにある証明書ファイル内容をコピー&ペーストで各項目に入力します。
秘密鍵 →②プライベートキー(パスフレーズなし)SSLCertificateKeyFile
CERT(SSL証明書)→発行された証明書(必須)SSLCertificateFile
中間証明書 →発行された中間証明書(必須)SSLCACertificateFile
・最後にもう一度「ドメインウェブの設定」を行い設定完了となります。
※ここではwwwなしでもwwwありのサイトへ転送されるように設定しました。
以上で実際にブラウザFirefoxでこのXoopsサイトのページにアクセスすると、アドレスの横に南京錠のような鍵マークが表示されてはいるものの、正常な鍵マークではありません。鍵マークをクリックすると「このページの一部が安全でないためFirefoxがブロックしました。」とメッセージが表示されます。正常な鍵の表示をするためには、基本的にサイト内のhttp://となっている場所を全てhttps://に変更する必要があります。
XOOPSでSSL化を反映させる手順
1.XOOPSでの設定
・html/mainfile.php(このファイルの属性は上書きできないようになっているので属性を上書き可能になるよう変更してからの上書きとなります。)の44行目あたり
・XOOPSの管理画面から互換モジュールの一般設定でjQuery UI CSS ファイルの URL、RSS フィードの URL、Query コアライブラリ、jQuery UI ライブラリ の各設定でhttp://が利用されていたならばhttps://に変更します。
2.XOOPS各ジュールでの不具合
・gnaviモジュールの地図が表示されない。
xoops_trust_path/modules/gnavi/include/common_javalang.inc.phpの冒頭を以下のように変更することによって対処できました。
ただし、新しくサイトを立ち上げた場合、地図表示されずにエラーが発生する可能性があります。新規で2016年6月22日以降GoogleマップのAPIを利用して、ウェブサイトに地図を表示させる場合には、APIキーが必要になり正しく表示されない場合があります。
この場合、以下のサイトよりgoogleapiキーを取得し、XOOPSモジュールGNAVIのGoogleMapを V3にしたいを参考に必要箇所を変更する必要があると思われます。
・各モジュールのヘッダ、および内容でhttp://となっている箇所は全てhttps://に変更する。また、コンテンツ内にリンク先がhttp://となっている場合、「このページの一部が安全でないためFirefoxがブロックしました。」とメッセージが表示されます。
以上です。
「2017 年 1 月より、Chrome(バージョン 56 以降)では、パスワードやクレジット カード番号を収集するページで、HTTPS で配信されないものについては、「安全でない」と明示することになりました。」
とメールメッセージをもらいました。
従って、このXoopsで作成された当サイトの各ページにはログインが表示されている為、SSL認証されていなければほとんどのページで「安全でない」と表示されてしまうことになります。その対処方法の1つとしてログインのページを作成し、そのページをログインの為のページとして集中させるようにしましたが、やはり時代の流れというものでしょうか、この先ホームページのSSL認証が標準になりそうな傾向にあります。
もともとXoopsはコミュニティサイトを目的として作られたサイトでユーザー登録は標準でセットされています。とはいうものの、実際にユーザー登録も少ない個人の所有するホームページを運営する上で高額ともいえる費用を出してまでの自分のホームページをSSL認証化する必要性があるのかと思い二の足を踏んでいました。今回、バリューサーバーで運営するウェブサイトを無料で常時SSL化する方法という記事を見つけこれならと思い導入することにしました。内容としては、Let's Encriptを利用して無料でレンタルサーバー上のサイトをSSL化しようというもので、以下はその時の忘備録です。ただ、Let's Encriptは3か月毎に更新手続きが必要となります。
ホームページを無料で常時SSL化する手順
1.ネットオウルにてLet's EncriptのSSL証明書の取得をします。
まず、簡単手続き・格安SSL証明書サービス SSLボックスから会員登録を行い、その後Let's Encriptの登録を行います。
登録項目は次のようなものです。
コモンネーム 例)-www.sample.com-(ドメイン),国,都道府県,市町村,組織,部署です。必要項目を入力し正常に終了すると次に所有者確認を行います。Let's Encriptからサイトの所有者を確認する方法は Web認証とDNS認証の方法があり、私は指定ファイルを指定した場所に設置して所有者の確認をするというWeb認証を選択しました。
・ Web認証:認証に必要な「トークンファイル」をダウンロードし、ダウンロードしたトークンファイルを指定されたURLで参照できるようにアップロードし所有者の確認をします。
・正常に登録が行われればLet's EncriptのSSLボックスに証明書が表示されます。
CERT(SSL証明書),中間証明書,秘密鍵がそれぞれダウンロードできるようになっています。
2.パスフレーズの作成について
参考サイトではLet's Encriptではパスフレーズがない為、そのパスフレーズを作成するためにOpenSSLを利用して秘密鍵の変換を行っています。実際に行ってみるとOpenSSLの設定が悪かったのか変換はパスフレーズを入力する前に既に変換されたファイルが出来上がってしまいます。しかも、同じ手順を踏んでも毎回ファイル内容が異なっています。作成された変換ファイルはあまり信用できないなぁ。。。そこで、そもそもLet's Encriptでパスフレーズがないのであれば別にパスフレーズなしでサーバーに登録すれば問題ないのでは?と考えこの手順は不要と判断しました。
3.バリューサーバーでのSSL認証の設定
・「ドメインウェブの設定」を行いSSL認証の設定ができるようにします。
・メニューからSSL認証を選択し、「IPアドレス(SNI対応)のSSL設定、証明書の発行・設定」の画面からLet's Encriptで登録したコモンネーム(例:-www.sample.com-)を選択しSSL証明書のインストール画面を表示します。
・SSL証明書のインストールのための各ファイル内容はLet's EncriptのSSLボックスにある証明書ファイル内容をコピー&ペーストで各項目に入力します。
秘密鍵 →②プライベートキー(パスフレーズなし)SSLCertificateKeyFile
CERT(SSL証明書)→発行された証明書(必須)SSLCertificateFile
中間証明書 →発行された中間証明書(必須)SSLCACertificateFile
・最後にもう一度「ドメインウェブの設定」を行い設定完了となります。
※ここではwwwなしでもwwwありのサイトへ転送されるように設定しました。
以上で実際にブラウザFirefoxでこのXoopsサイトのページにアクセスすると、アドレスの横に南京錠のような鍵マークが表示されてはいるものの、正常な鍵マークではありません。鍵マークをクリックすると「このページの一部が安全でないためFirefoxがブロックしました。」とメッセージが表示されます。正常な鍵の表示をするためには、基本的にサイト内のhttp://となっている場所を全てhttps://に変更する必要があります。
XOOPSでSSL化を反映させる手順
1.XOOPSでの設定
・html/mainfile.php(このファイルの属性は上書きできないようになっているので属性を上書き可能になるよう変更してからの上書きとなります。)の44行目あたり
define('XOOPS_URL', 'http://www.sample.com');
を
define('XOOPS_URL', 'https://www.sample.com');
と書き換えます。
・XOOPSの管理画面から互換モジュールの一般設定でjQuery UI CSS ファイルの URL、RSS フィードの URL、Query コアライブラリ、jQuery UI ライブラリ の各設定でhttp://が利用されていたならばhttps://に変更します。
2.XOOPS各ジュールでの不具合
・gnaviモジュールの地図が表示されない。
xoops_trust_path/modules/gnavi/include/common_javalang.inc.phpの冒頭を以下のように変更することによって対処できました。
$gnavi_googlemap_url="http://maps.google.com";
変更
$gnavi_googlemap_url="https://maps-api-ssl.google.com";
ただし、新しくサイトを立ち上げた場合、地図表示されずにエラーが発生する可能性があります。新規で2016年6月22日以降GoogleマップのAPIを利用して、ウェブサイトに地図を表示させる場合には、APIキーが必要になり正しく表示されない場合があります。
この場合、以下のサイトよりgoogleapiキーを取得し、XOOPSモジュールGNAVIのGoogleMapを V3にしたいを参考に必要箇所を変更する必要があると思われます。
・各モジュールのヘッダ、および内容でhttp://となっている箇所は全てhttps://に変更する。また、コンテンツ内にリンク先がhttp://となっている場合、「このページの一部が安全でないためFirefoxがブロックしました。」とメッセージが表示されます。
以上です。
投票数:16
平均点:5.00
投稿ツリー
-
Xoopsサイトを無料でSSL認証化する
(タツ, 2017/7/18 8:46)
-
Re: Xoopsサイトを無料でSSL認証化する
(タツ, 2017/8/12 9:08)
- Re: Xoopsサイトを無料でSSL認証化する (タツ, 2017/9/22 21:32)
-
Re: Xoopsサイトを無料でSSL認証化する
(タツ, 2017/8/12 9:08)