自宅サーバー立ち上げタグ

SSLサーバー証明書の導入 – Macで自宅サーバー立ち上げ (5)

個人サイトなので、別にhttp通信でも良いと思ってたんですが、safariやchromeなどでhttpサイトにアクセスすると「通信が暗号化されてません」とか「安全なサイトではありません」みたいな表記が毎回なされるんですよね。

おそらく、その時点でこのサイトにアクセスしたくなくなると思うのでしょうがなくhttpsで通信できるように証明書の取得を進めました。

おそらく面倒だろうなぁと思っていましたが、案の定かなり面倒・・・

先週行ったのに、もうすでに手続きを忘れつつあるので、念の為このあたりのこともざっくりですがまとめとこうと思います。

1.証明書発行業者の選定

SSLサーバー証明書は自分でも発行はできますが、その場合だとsafariやchromeさんに警告されてしまい、結局httpと同じ不安が出るのでとりあえずきちんとした業者さんに発行してもらうことにしました。

自分が知っていた所だとベリサインとかですが、ちょっと高いイメージがあったので、安そうなところを探しました。

ちなみに、ベリサインはシマンテックに社名変更したみたいですね。。

■ 日本ベリサイン株式会社の社名変更および組織変更
https://knowledge.digicert.com/ja/jp/alerts/ALERT692.html

いろいろと調べた結果、FujiSSLと言うところが比較的安くて、割と有名でもあるみたいだったので、今回はこちらで証明書を発行してもらうことにしました。

ちなみに、証明書の費用は発行時、1年で1,080円でした。

■ FujiSSL-安心・安全の純国産格安SSLサーバ証明書
https://www.fujissl.jp/

2.申請に必要なファイルを作成

申請手続きを進めるに当たり、サーバーの署名を記入する必要が出てきます。

また、サーバの署名を作成するために予め鍵ペアを作成しておく必要もあります。

FujiSSLの場合は、公式に詳しい説明があったので、こちらを確認して進めました。
https://www.fujissl.jp/docs/d001/

この場面で作成するファイルは以下の2つです。

  • 任意の名前.key
  • 任意の名前.csr

仮にここでは

  • servername.key
  • server.csr

としておきます。

またそれぞれのファイルについては以下サイトが詳しかったです。

■ 鍵ペア
https://wa3.i-3-i.info/word17033.html

■ 署名のリクエストファイル
https://knowledge.digicert.com/ja/jp/solution/SO22872.html

3.申請手続き

申請についても公式の説明が詳しいので、こちらを参考に進めます。

先程作成したcsrファイルの中身をコピペで貼り付けたりする必要があります。

■ 申請
https://www.fujissl.jp/request/petition/

4.サーバーの審査

手続きを進めると、FujiSSLより有効なサーバーかを審査するために、htmlファイルが送信されます。

FujiSSLのボットによる定期的なサイト審査作業が開始されるようなので、このファイルをサーバーの指定位置に配置ししばらく待ちましょう。

この辺の手続きについても公式サイトを参考にしましょう。

■ 審査
https://www.fujissl.jp/request/review/

ちなみに、メールで認証する方法もあるみたいですがこちらは試していないので、やり方はわかりません。

5.証明書の配置

審査が完了するとようやくメールでサーバー証明書とCA証明書が送付されます。

添付ファイルもついているのですが、使い方がよくわからず、自分はメールに書かれている証明書の内容をコピペしてファイルを作成しました。

サーバー証明書とCA証明書についてメールの中にコードが貼り付けれられているので、(—–BEGIN CERTIFICATE—–)から(—–END CERTIFICATE—–)の部分をそれぞれコピペしてファイル化します。

また、CA証明書はなぜか2つの証明書文字列が書かれていたんですが、1つ目の方だけ利用してファイルを作成したら結果的にうまくいきました。

今後の説明のため、作成したファイルは仮に以下の通りとしておきます。

サーバー証明書
server.csr

CA証明書
server-ca.csr

6.keyファイルのパスフレーズ解除

この部分はMAMPの場合のみ必要な作業となります。

MAMPだとkeyファイルにパスフレーズが含まれていると、apacheの起動に失敗してしまうようです。

いくつか方法はありそうですが、今回はkeyファイルのパスフレーズを解除したファイルを作成する事にしました。

具体的なコマンドは以下の通り。

# openssl rsa -in xxxxxxx.key -out xxxxxxx.key

ここでは、手順で作成した servername.key を non-phrase-servername.key としてフレーズなしキーファイルを作成したこととします。

ちなみに、この手続はGlobalSignの説明を参考に参考にしました。

■ Apacheでの、パスフレーズ入力なしでの起動方法 | サポート・お申し込みガイド | GMOグローバルサイン【公式】
https://jp.globalsign.com/support/faq/93.html

7.証明書類の配置

ここまででSSL通信を行うために必要なファイルが揃いました。

おさらいすると手順5で作成した以下ファイルとなります。

ファイル名概要
server.csrサーバー証明書
server-ca.csrCA証明書
non-phrase-servername.key 鍵ペア (フレーズ解除済み)

これらをApachから確認できる任意のフォルダに配置します。

8.httpd-ssl.conf の設定

ファイルの準備も整ったので、apacheにssl通信をする事を認識させるため、設定ファイルの書き換えを行います。

デフォルトの場合以下の位置に配置されている、httpd-ssl.confのファイルを修正します。

/Applications/MAMP/conf/apache/extra/httpd-ssl.conf

具体的な修正箇所は以下のとおりです。

SSLCertificateFile など設定項目のキーでファイルを検索し、書き換えてください。
# でコメントアウト化されていると思うので、コメントも解除しましょう。

SSLCertificateFile "ファイルのディレクトリ/server.csr"
SSLCertificateKeyFile "ファイルのディレクトリ/non-phrase-servername.key"
SSLCertificateChainFile "ファイルのディレクトリ/server-ca.csr"

9. httpd.conf の設定

次に、httpd.confも修正します。

以下記述がある部分がコメントアウトされていると思うので、こちらのコメントアウトを外します。

Include /Applications/MAMP/conf/apache/extra/httpd-ssl.conf

10.wordpressのサイトアドレスを設定

WordPressの「設定 > 一般」より、サイトのアドレスをそれぞれhttpsにしておきます。

11.443ポートの開放

デフォルトの設定だと、SSL通信は443番ポートで通信されるので、ルーターの設定などで443番ポートでサーバーが通信できるように設定します。

12.MAMPの再起動

以上の設定が完了したら、MAMPを再起動しapacheの設定項目を読み込み直します。

これで https://でサイトにアクセスするとSSL通信が行われます。
chromeなどでアクセスして、URL部分に鍵マークが表示され
その部分をクリックして保護されている説明があればOKです。

後述

この様に、かなり面倒な手順となりました。。。

証明書のファイルの下りはツールとかでもっと簡素化できないものかなぁ。。

一つ一つの手順はそんなに難しくはないのですが工程が多かったり、必要なファイルの概念がよくわからなかったりで、けっこう大変です。

手順もどこか漏れがあるかもしれませんが、思い出したらまた追記したいと思います。

独自ドメインの取得 – Macで自宅サーバー立ち上げ (4)

ドメインがない場合、直にIPアドレスでアクセスするかしかありません。

まぁ、今どきURLを直接打ち込むこと自体も少ないと思うので、IP直アクセスというワイルドなやり方もあるのかもしれませんが、サイトを説明するときに、「rhythmcan.com」にアクセスしてくださいっていうのもかっこよさそうなので、独自ドメインも取得してみたいと思います。

って、もうすでに取得してますが、今回は お名前.com でドメインを取得しました。

https://www.onamae.com/

必要なものは、個人情報の提出とドメインの年間契約費です。

一回取ればずっと使えるわけではなく、年間契約で利用する形となります。
細かい手続きはサイトをご覧いただくとして、結果的に1年間での費用は 1,489円となりました。

ドメインプロテクションをオプションで付けた上で、期間限定の割引が800円ほど。 rhythmcan.com のいち年間の利用料は 1,253円でした。

ドメインプロテクションは正直良くわかってないですが、なんかつけといたほうが安全そうなのでつけたくらいのものです。

https://www.onamae.com/service/protectoption/

お名前ドットコム以外にはムームードメインなども有名みたいですね。

https://muumuu-domain.com/

具体的な契約内容は各サイトを見てもらったほうが良いと思うので、特に書く事もなかったですが、独自ドメイン取得についてでした。

インターネットに公開 – Macで自宅サーバー立ち上げ (3)

いよいよWebサーバーをインターネットに公開します。

自宅のサーバーをインターネットに公開するという事は、直接PCにアクセスをされる事になります。
なので、リスクや対策等をきちんと認識しておかないと、Webサイトの改ざんだったり、公開しているサービスの穴を付かれてPC自体に損害が起きたり、実害が出る可能性が出てきます。

このあたりについては、 リスクと対策をしっかり説明できる自信がないので、詳細はスキップしたいと思います。

WordPressのインストール – Macで自宅サーバー立ち上げ (2)

前回のMAMPのインストールに引き続き、次はWebサイトにWordPressをセットアップします。

ちなみに、WordPressとはCMS(コンテンツ・マネジメント・システム)の一種で、フリーで利用ができ、比較的簡単にブログを作ったり、サイトの構築が行えるシステムで、CMSのシェアとしてもかなり大きいようです。

WordPressのダウンロード

WordPressは以下の日本語公式サイトからダウンロードができます。 

https://ja.wordpress.org/

 公式サイト画面右上の「WordPressを入手」ボタンを押して、

次のページの 「WordPress 5.2.1をダウンロード」からWordPressのzipファイルをダウンロードします。
(バージョンは時期により変わる可能性があります)

WordPressの配置

以下zipファイルがダウンロードできたら、

ダブルクリックwordressフォルダが展開されます。

このファイルをWebサイトのフォルダに配置する必要があるので、MAMPを立ち上げて、場所を確認します。

まず、ツールバーのPreferencesを選択。

設定画面を開いたら、「Web Server」のタブを選択。

この画面にWebサイトのルートとなるフォルダが示されています。
(オレンジの下線部分)

「Show in Finder」ボタンを押すとFinderでその場所を開けます。

ただし、開くのは一つ上位の階層となっているので、htdocsを開きます。

そして開いた場所に、先程展開した「wordpress」フォルダをコピーします。

これで、wordpressの設置ができたので試しにブラウザでアクセスしてみます。

MAMPの設定を特に調整していなければ以下ローカルのURLでwordpressの初期画面が見れるはずです。

http://localhost:8888/wordpress/

これでWordPressの配置が完了しました。

しかし、このままではまだセットアップを始めることができません。セットアップを進めるためには、MySQLのデータベースを予め作成しておく必要があります。

一旦この画面はおいておき、次にMySQLのデータベースを作成しましょう。

WordPress用のデータベース作成

データベースの設定はphpMyAdminと言うツールを使って行います。

まずはMAMPの初期画面を開きましょう。

起動画面の「Open WebStart Page」からも開くことができます。

「Open WebStart page」を押すと以下画面がブラウザで開くので、「TOOLS」メニューから「PHPMYADMIN」を選択します。

phpMyAdminの画面が開きます。

初期設定では表記が英語になってると思いますが、日本語に変えたい場合はLangageから設定してください。

続いて、データベースタブをクリックし、データベース一覧画面へ移動します。

データベース一覧画面では、新規データベースが作成できます。

データベース名入力欄に任意のデータベース名を入れて作成ボタンでデータベースを作成しましょう。

ここでは「wordpress」とします。

作成処理が行われたあと、一覧に「wordpress」が表示されていればデータベースの作成完了です。

WordPressのセットアップ

データベースの準備ができたので、ようやくWordPressのセットアップの続きが行なえます。

もう一度WordPressの初期画面を確認してみます。

それぞれの項目に必要な内容を入力し、送信でセットアップを続けることができます。

データベース名は先程作成したデータベース名を入力します。

ユーザー名とパスワードは、初期設定の場合は両方共「root」で設定されているかと思います。

ローカルで確認するだけならこれでも大丈夫ですが、外部に公開する場合は、初期設定だとデータベースに

不正アクセスされるリスクが伴うので、必ず変更するようにしましょう。

ホスト名とテーブル接頭辞は特に理由がなければそのままで大丈夫です。

「送信」ボタンで次の画面へ進みます。

インストール実行画面となるので、「インストール実行」ボタンでインストールを継続します。

続いてサイトの情報を入力します。

サイトのタイトル、ユーザー名、パスワードをそれぞれ設定してください。

また、メールアドレスの設定も必須となっているので、入力してください。

検索エンジンでの表示は外部公開した際に係る内容ですが、googleなどで検索させたくない場合は、チェックを入れておくと良さそうです。

入力が完了したら、「WordPressをインストール」ボタンでインストールを続けます。

インストールが完了すると、ダッシュボード画面が表示されます。

これでWordPressのインストールは完了です!!

インストールが完了した時点でデモのブログ投稿がなされているので、確認してみましょう。

左上のサイト名をクリックすると「サイトを表示」メニューが出てくるので、ここをクリックします。

Hello world!画面が開けばセットアップの確認も完了です。

お疲れ様でした! m(_ _)m

MAMPのインストール – Macで自宅サーバー立ち上げ (1)

自宅でサーバーを立ち上げて外部公開するのがゴールです。

とりあえず、ローカルにWebサーバーを立ち上げてみます。

WordPressの運用も考えているので、PHPとMySQLの導入がまとめて行えるMAMPを利用したいと思います。

ちなみに、MAMPとは

  • Mac
  • Apache
  • MySQL
  • PHP

の略と言われてるようですが、Win版もあるみたいで、公式ページに特にこの事について触れられていないみたいで、正確な情報は不明です。

パッケージのダウンロード

まずは、MAMP公式サイトからパッケージをダウンロードしましょう。

https://www.mamp.info/en/

 公式サイトのFreeDonwloadをクリック

Downloadページで mac のパッケージを選択

バージョンはアクセスのタイミングで変わるかと思いますが、インストール用の pkg ファイルがダウンロードできます。

インストール

pkgファイルをダブルクリックすると、インストール手続きが始まります。

使用承諾やインストール先の選択等がありますので、指示に従いながら勧めていきます。

MAMPの起動

インストールが完了したら、MAMP起動します。デフォルト設定でインストールをしていれば、アプリケーションフォルダになっていると思うので、Launchpad等から起動できます。

※PROとFREE版があるので、FREEの方を起動。

 起動したらコントロール画面が表示されるので、「Start Servers」をクリックしてApacheとMySQLを起動します。

起動が完了すると、「Start Servers」が緑になりブラウザで初期ページが表示されます。

以上でインストールは完了です。

次の記事ではWordPressのインストールを行います。