SSL

PHPが古くなったのでWordPressの移行をする(3)〜WordPressサーバのネットワーク切り替えとSSL化〜

「PHPが古くなったのでWordPressの移行をする(2)〜テンプレート選択と見てくれ整え〜」の続き 全体図 PHPが古くなったのでWordPressの移行をする(1)〜AWSインスタンス作成とBackupのImport〜 PHPが古くなったのでWordPressの移行をする(2)〜テンプレート選択と見てくれ整え〜 PHPが古くなったのでWordPressの移行をする(3)〜WordPressサーバのネットワーク切り替えとSSL化〜 PHPが古くなったのでWordPressの移行をする(4)〜おすすめPluginと事後設定〜 次はネットワークの切り替え、やることは大きく分けて三つ (1)IPアドレスの固定(AWS ElasticIP) (2)ドメインの付け替え(AWS Route53) (3)サイトのSSL化 (1)IPアドレスの固定(ElasticIP) まずは、EC2(Wordpressサーバ)の再起動のたびにIPアドレスが変わっては困るので、IPアドレスを固定する AWSでIPアドレスを固定するサービスはElasticIPという 参考:Elastic IP アドレス まず、AWS Management Consoleの「Elastic IP」の設定ページを開き、「Allocate Elastic IP address」をクリックし、IPアドレスをもらう 「Amazon’s pool of IPv4 address」にチェックを入れ、Allocateをクリック 無事にIPアドレスが払い出されたことを確認する 同時に、見分けるためにNameをダブルクリックし、適当な名前をつけておく(今回は「wordpress」という名前を設定) 次は、払い出されたIPアドレスを新wordpressサーバに紐付ける 先ほど払い出されたIPアドレスにチェックが入っていることを確認し、「Actions」>「Associate Elastic IP address」 「instance」にチェックを入れ、新wordpressサーバのインスタンスを選択し、「Associate」 EC2のDashboardから、新wordpressサーバのインスタンスを選択すると、「Public IPv4 address」の欄に、先ほど払い出されたIPアドレスが紐付けられていることが確認できる 念の為、RebootをしてもIPアドレスが変わっていないことを確認しておく (2)ドメインの付け替え(AWS Route53) 固定IPアドレスを入手したので、次はドメインに先ほどのIPアドレスを紐付ける (私は、AWS Route53を使ってドメインを払い出していますが、特にお勧めという訳でも無いので、環境に応じて各自設定ください) AWS Management Consoleの 「Services」>「Route53」よりRoute53の設定ページを開く 今回紐付けたいドメイン「yoshiislandblog.net」にチェックを入れて「Edit」 今回IPアドレスが変わっているので、先ほど払い出したIPアドレスに更新する これでしばらく経つとDNSサーバの情報が更新されて、「yoshiislandblog.net」のドメインで新しいwordpressにアクセスすることができる DNSに登録されたかはDNS Checkerなどでご確認ください …

PHPが古くなったのでWordPressの移行をする(3)〜WordPressサーバのネットワーク切り替えとSSL化〜 Read More »

WordPressのSSL化

WordPressのSSL化(http://~ではなくhttps://~に対応させる)について Really Simple SSLというPluginを利用 一見やる気のないアイコンだが、とても人気のPlugin 目次 (1)「wp-config.php」の権限変更 (2)SSL証明書の入手 (3)WordpressサイトのSSL化 (4)301リダイレクト設定 (1)「wp-config.php」の権限変更 Pluginを入れてActivateすると、以下のようなエラーが出る 「System detection encountered issues A definition of a siteurl or homeurl was detected in your wp-config.php, but the file is not writable. Set your wp-config.php to writable and reload this page.」 「wp-config.php」の書き込みができないとのことなので、書き込みを許可してあげる (終わったら元に戻すのを忘れずに) 現状こうなっているはずなので、 変更する 変更(「w」が追加)されたことを確認 (2)SSL証明書の入手 次にWordpressの画面に戻ると、証明書が無いとエラーが出ている 「Detected possible certificate issues Really …

WordPressのSSL化 Read More »

Letsencryptを更新しようとしたら例の「Problem binding to port 80」が出現する

Letsencryptで証明書を更新しようとしたら例の「Problem binding to port 80」が出現する時 今までの記事で、apacheやnginxが起動したままだったとか、80番ポートが閉じられていたなど、 色々な要因があったけど、今回はどちらをやってもダメたった。 参考 Let’s Encryptの証明書を更新する(Bitnami on AWS) WordPress(aws_bitnami)のssl対応 Nginxコンテナに、Let’s Encryptで証明書を自動更新で当てたい場合 「error: Problem binding to port 80: Could not bind to IPv4 or IPv6.. Skipping. All renewal attempts failed. The following certs could not be renewed:」と言われて証明書の更新ができない、、 apacheは停止している、、、 確認したら、何かよくわからないが80番ポートが使われていた よくわらかないので、切ってみる これで成功、原因はよくわからんが、みるところ違ったのかな、、

Nginxコンテナに、Let’s Encryptで証明書を自動更新で当てたい場合

サクッとDocker始める docker事始め で作成したnginxコンテナに、Let’s Encryptで証明書を当てたい場合 Let’s Encryptの証明書を更新する(Bitnami on AWS) Let’s Encryptの証明書を更新する(EC2) AmazonLinuxのSSL化対応 この辺りで言及している通り、一度Apache/Nginxを停止してから更新する必要があある 止めていないと以下のようなエラーが出る 通信ルールで遮断している場合も同じエラーがでる模様 参考: Let’s Encryptの証明書を更新する(Bitnami on AWS) 当たり前だけど、DockerでNginxを動かしている場合は、コンテナを止めなければいけない 自動で更新されるように、crontabに入れるなkらこんな感じ 参考:Letsencryptを更新しようとしたら例の「Problem binding to port 80」が出現する

Let’s Encryptの期限をもっと簡単に確認する

以前の記事で、ssl-cert-checkを使って証明書の期限を確認したのだが、Let’s Encryptを使っているなら、もっと簡単なやり方があったので、メモ。 Let’s Encryptの期限をCLIで確認する と打つだけ。 参考:https://certbot.eff.org/docs/using.html#managing-certificates

Let’s Encryptの期限をCLIで確認する

※更新 Let’s Encryptの期限をもっと簡単に確認する Let’s Encryptの証明書を更新する(EC2)について、そろそろ期限だったので、 –dry-runではなく、実際に更新してみた。 しかし、ブラウザで確認したところ反映しておらず(実際はキャッシュが残っていたか、反映に時間がかかっているだけだった)、 CLIで確認してみた。 色々やり方があるが、楽な方法ということで、一つツールをインストールする。 サクサク進める。 おお、ちゃんと更新されてた。

Let’s Encryptの証明書を更新する(Bitnami on AWS)

※20200927更新 こちらの新しい記事も参照ください WordPressのSSL化 Let’s Encryptの証明書を更新する(EC2)に続いて、Bitnamiの方も更新してみる(dry-run) 期限の確認方法はこちら Let’s Encryptの期限をもっと簡単に確認する port 80について”Could not bind to IPv4 or IPv6″と言われるので、「80 ::/0」を通信ルールに追加。 まだ治らない。 どうもapacheが起動しているとうまくいかないらしいので、ストップしてからトライ。 今度は成功した。 忘れずに起動しておく。 参考: Nginxコンテナに、Let’s EncryptでSSL証明書を自動更新で当てたい場合 Letsencryptを更新しようとしたら例の「Problem binding to port 80」が出現する

Let’s Encryptの証明書を更新する(EC2)

期限の確認方法はこちら Let’s Encryptの期限をもっと簡単に確認する 証明書の期限の確認は、firefoxだとこのあたりから確認できる。 更新は、以下のコマンドからできる。 今回はまだ期限ではないので「–dry-run」オプションで動作確認のみ実施する。 期限まで日数があると更新されないので「–force-renew」オプションをつける。 いきなりエラー、いろいろモジュールが足りないと言われる。 pipでコツコツ入れるものの、エラーが変わらない。 以下を実施でエラーが変わった そっか、Let’s Encryptで使っているpipは別のpipだったんだ。 この調子で、OpenSSLもインストール。 次は、ceyptographyらしい。 あれ、インストールしたのに無いと言われる。 なぜかわからないが、sudoをつけることで解決。 次はinterface これで成功

そういえばSSL証明書ってなんだ

クライアント証明書、サーバ証明書、ルート証明書と3種類ある。 クライアント/サーバ証明書 クライアント証明書とサーバ証明書は同じもの。 クライアントにインストールされるか、サーバにインストールされるかの違い。 自分が自分であることを証明する。 証明書は、公開鍵付き証明書をよく見かける。 拡張子は、.pemだったり、.crtだったりする。 格納場所は、Let’s Encryptだと以下。 それとセットになるのが、秘密鍵。 拡張子は、.keyだったり.pemだったり。 .pemは暗号化方式を表していて、ファイルの中身を表しているのではないため、公開鍵と同じ拡張子になることもある。 格納場所は、Let’s Encryptだと以下。 ルート証明書 ルート証明書は、相手が信頼できるかを証明する。CA証明書と同意。 内容は以下の通り、他の証明書と同じ。

AmazonLinuxのSSL化対応

前回(WordPress(aws_bitnami)のssl対応)は、bitnamiのssl化だったが、今回は、Amazon LinuxのSSL化対応。手順はほとんど同じ。 以下の記事を参考にしました。 https://qiita.com/MashMorgan/items/56498f276c54406b1928 ※flaskサーバであるので、nginx/apacheなどは動いていない。 参考:FlaskのAPIサーバから取得した情報をHTML/Javascriptで表示する ※証明書を更新した時、flaskも再起動しないと最新の証明書が参照されないので、注意 参考:備忘:ログアウトしてもバックグランドでコマンドを実行し続ける Let’s Encryptのインストール 証明書はLet’s Encryptを使うので、Let’s Encryptをインストール 証明書作成 証明書を作ろうとすると、エラーがでる。 言われるがまま、デバッグモードで実行。IPアドレスでは作れないとのこと。 仕方ないので、Route53でドメイン購入。 参考Route53でドメイン購入 再トライするが新たなエラー AWSセキュリティグループで、ポート「80」と「443」を許可してみると次は成功! ssl化対応 mod24_sslをインストール ファイルを編集 nohupで実行していたflaskサーバを切っておく 実行 実行。以下の様なエラーが出た場合はファイルパスが間違っているので要確認する。 マッチしているかどうかは以下コマンドで確認できるとのこと 参考:Nginxコンテナに、Let’s EncryptでSSL証明書を自動更新で当てたい場合