AWSのEC2にwordpressを入れてブログサイトを作った話

どうも朝井です。

本日はSSブログがなくなってしまったので、AWSのEC2にwordpressを入れてブログサイトを作った話である。

ここ何年かAWSにお世話になりっぱなしで、いわゆる「Amazon小作人」状態である。AWS上でシステムを開発していると「なんやかんや調べたい」っていう時もあり、個人でアカウントを作ってやってみたりしている。

最初の1年間は無料枠があって月額100円とかであったが、2年以降は1000円くらいだったか?その後円安になって1500円くらいまではいったのかな。うーん小作人から脱却できないなぁ。
使っているのは最低のインスタンスタイプのEC2が1台だけ。ロードバランサも使わずにLet's EncryptでHTTPSのWebサーバを立ち上げてある。

Certbot 無料でサーバー証明書を取得する Let's Encrypt

本日は、サーバー関係のネットワークネタである。 署名とか証明書ってSSLの世界では"しょっちゅう"出てくる話。本ブログでも、コードサイニングの記事でもちょっと触れて…

AWSのアカウントを作ったのが2020年くらいか。nginxとnodejsでサイトを作成したものの、あまりいじることなく中途半端な状態で放置状態であった。ブログはSSブログの方でやっていたし、移行するのも面倒だし、アフィリエイトの設定とかも面倒だし…と放置状態。

SSブログは終了しました

そんな中、マキタの掃除機を買ったので久々にブログ記事にしようとSSブログに行くと…

SSブログは2025年3月31日に終了させていただきました。

との表示。

えー、そんなの聞いてないよ。確かにしばらく記事書いてなかったけれども…

うーん。これはやらかしたかな?

バックアップなんてしてないし。AWSアカウントを作った際に移行しようとして一回は吸い上げたかも?あーんでもそんなの残ってないよ。結局メンドクサクなって捨てちゃったかも。
写真や動画はローカルにある。下書き状態のテキストもあるにはある。昔のやつは取っておいてないなぁ。

どうしよう。

悔やんでも「しょうがない」。気を取り直してブログサイトを再構築していこう。SSブログを使っていたのはSo-netユーザーなら無料で利用できたから。他の有料のブログ使うのもなんだかだし、AWSでドメインも取得しているのだからAWSにサーバー立てるか。

EC2インスタンスの立ち上げ

と言うことで、最初にEC2インスタンスをもうひとつ立ち上げる。これで月3000円くらいになってしまうかもだけどしょうがない。ちゃんとできたら旧の方は捨てちゃって良いであろう。

AMIイメージはAmazon Linux 2023でいいか。インスタンスタイプは「t4g.micro」にしよう。
起動したらElastic IPで固定グローバルIPアドレスを割り当てておく。
割当できたらRoute53でホスト名も登録する。一応サブドメイン、blog.asai-atsushi.comにしてみた。

wordpressのインストール

以下のAWS記事を参考にwordpressをインストールしていく。

Elastic IPとRoute53まではやったので、dnf でhttpdやらphpを入れるところからやるのだが、dnf upgradeを先にやった方が良いみたい。

httpdやらがインストールできたら、wordpressを入れる。入れるといってもdnfではできないみたいで、wgetでtarボールをダウンロードしてホームディレクトリに解凍する。

デーモン起動

mariadbとhttpdのデーモンをsystemctl startで起動する。systemctl enableで有効化するのも忘れずに。

MariaDBの設定

mysqlでrootのパスワードを変更する。wordpress-userのパスワードも変更する。
データベース wordpress-dbをCREATE DATABASEで作成する。
wordpress-dbの全権限をwordpress-userにGRANTで与える。

wp-config.phpの編集

wp-config.phpを開いてデータベース名やらユーザー名やらを書き換える。

ソルトと呼ばれるキーを設定する。これはwordpressのサイトにリクエストを投げて返ってきたランダム生成されたであろう文字列をコピペすればOK。

ここまでできたら、wordpressを/var/www/htmlへコピー。

httpd.confの設定

.htaccessが使用できるようにhttpd.confの/var/www/htmlの設定内にAllowOverride Allと書く。None -> Allに修正する。

php-gdをインストールする。

/var/www/の所有者とグループをapacheに変更してパーミッションを変更する。

はぁ、一応これでwordpressが動くようになったはず。
けっこう疲れた。

wordpressの利用者を設定

blog.asai-atsushi.comにアクセスするとメールアドレスやらを登録する画面になったのでユーザ登録をする。
問題なく動いてそう。

Let's EncryptでHTTPS

Let's Encryptのcertbotを使ってSSLサーバ証明書を取得。httpd.confを編集して証明書を設定。あーしんどい。

Let's Encryptでのサーバ証明書が有効期限切れ

本日は、サーバー関係の話である。 3カ月前にCertbotで無料のサーバー証明書を手に入れた。 関連記事 Certbot 無料でサーバー証明書を取得する Let's Encrypt Let's Encry…

テーマLightningをインストール

素のwordpressで記事書いても良いが、どうせなら楽してカッコイイやつにしたい。
そこで「Lightning」を導入することにした。

株式会社ベクトル

WordPressテーマ・プラグイン開発のクリエイティブカンパニー

プラグイン画面でダウンロードできるのだが、php.iniの設定変更が必要。ダウンロードサイズの上限を増やす必要あり。
php-fpmは別デーモンになっているので、systemctl restart phpってやらないと変更が反映されないのでちょっとはまった。

Lightningテーマをインストールして有効化すると「ユーザー/パスワードが『vektor』に変わってしまう」。今まで使っていたユーザー/パスワードではログインできなくなる。ちょっと慌てたがググってなんとかクリア。

Lightningテーマを入れた後はデモサイトみたいなものが有効になる。デモサイトは一般企業用な感じ。個人ブログではない。
テストで投稿したりして、なんとか、いくつかの固定ページの体裁を整えた。

YouTube動画の埋め込み

SSブログでYouTube動画を埋め込む時は、YouTubeで共有の埋め込みでコードを表示してコピペすることで行なっていた。
wordpressだと簡単に埋め込みできる。ブロックエディタでYouTube埋め込みを追加してYouTube動画のURLをコピペするだけ。編集中はなんか横にデカい動画が表示されるが、実際はいい感じの大きさで表示される。

プレビューするのもサクサクできる。トラヒックも少なく「自分しか使って無い状態」だからかも知れないが、保存してプレビュー表示ってやれば数秒で表示される。SSブログだと利用者が多い時はどうしても重たくなっていたような気がする。さすが専用サーバーだもの。t4g.microだけど専用だから。

Amazonアソシエイトのリンク

ブログで重要なのは、広告である。SSブログでも商品へのリンクを貼っておいて「紹介料を稼ぐ」って言うことをやっていた。埋め込みはSSブログの機能でやっていたが、wordpressではどうなのか…

Amazonのアソシエイトツールバーでリンクを生成できるが、URLだけなので味気ない。単なるリンクにしかならない。

探すと、WPアソシエイトポストR2が良さげ。早速インストールすると、AmazonアソシエイトのAPIでAPIキー的なものが必要。なんとかIDとかなんとかシークレットとかあるが、設定するのは3つだけなので、サックっと設定終了。

使い方はSSブログと同じ感じ。商品を検索して目的の商品が見つかったら埋め込み登録すると言う流れ。

あなたのブログの収益を加速する | WPアソシエイトポスト

WordPressブログに、Amazonアソシエイト(アフィリエイト)と楽天アフィリエイトをかんたんに導入する、あなたのブログの収益を加速するツール【WPアソシエイトポスト】

Site Kit by Google

さて、もう既にお腹いっぱいな感じだと思う。実際は、ここまで来るのに2日はかかっていると思う(3日だったかな?)。
やろうと思ったら数日は専念する覚悟で「やらないといけないかも?」です。

で次に、GoogleアナリスティックスとかSearch Consoleですわ。SEOとかそう言うやつ。ちゃんと登録しておかないとGoogle検索に引っかからないのでしっかりやっておかないとね。

でもってwordpressではSite Kit by Googleのプラグインを入れるとなんか全部やってくれる(かも)。
アナリスティックスは、なんとかIDをサイトに入れないとデータ収集してくれないが、なんかぐしゃぐしゃやっていたら、なんかできてた。アナリスティックス側でもサイトを登録したと思う。

Site Kit by Google

The best of Google tools, for your WordPress site.

サブドメイン

アナリスティックスを登録する際に、サブドメインをやめた。なんか「サブドメインはダメ」みたいなエラーが出たので。
旧サイトをblog.asai…にして新サイトをasai…に入れ替えた。Let's Encryptでサーバー証明書を再取得しないとダメだったが、まぁもう一回やれば大丈夫だった。

おかげで、旧サイトはアクセス不能に。まぁ、そのまま捨ててしまおう。取り敢えず、一時停止しておこうかな。

さすがに、記事を書くのも疲れてきたぞ。色々やったので覚えてない。

申し訳ないが、ここでひと段落します。続きはまた今度。

SSブログが無くなった余波は大きい

えーとSSブログが無くなった余波は大きいと思われる。ブログの引っ越しはやっぱり大変だし。新しいシステムに移行できるのは私的には良いのだけれど… 記事をバックアップ…

投稿者プロフィール

asai
asai