ブログのテコ入れのため引っ越すことにしました
ちょっと放置気味のこのブログ。このままだと自然消滅しかねないのでテコ入れというか気分転換でサーバをAmazon Lightsailへ引っ越すことにしました。というか引っ越しました。
その時のメモというか忘備録を書いていきます。
引越し前のサーバはColorfulBoxでした。悪くはなかったのですが、アダルトOKのサーバプランでレンタルしていたので年額費用が結構な額だったのです。
更新日は2ヶ月後ということもあり引っ越しするにいたりました。
Amazon Lightsailに引っ越した理由
Amazon Lightsailに引っ越した理由は単に「AWS使ってみたいよなぁ……」というだけです。憧れだけです。
でもAWSって結構高いんじゃ……と調べてみたら、Amazon LightsailというVPS(仮想プライベートサーバ)のサービスが月額3.5$からで使えるとのこと。
AWSの従量制ではなく月額固定なのはいいですね。(一応転送量がオーバーすれば追加課金にはなりますが)
3.5$/月のプランだと1ヶ月無料枠があるので詳細を確認して早速申し込みました。
ブログの引っ越し工程
AWSアカウントの作成
まずはAWSアカウントの作成から。
支持に従っていけばよいだけですが、デフォルトの支払い方法(クレジットカード)がうまく登録されてなかったためかエラーメールが何通か来ていました。氏名住所が英語か日本語かという違いではじかれていたようです。修正。
アカウントが作成できたのでLightsailのページに行こうとすると何故か403エラーではじかれてしまいました。いきなり詰まりポイント。
確認してみたら、アカウント作成の手続きが最後まで完了していなかった(サポートの選択)のが原因でした。どこかで見逃していたらしいです。
Lightsailでインスタンスの作成
早速Lightsailのインスタンスの作成です。
PleskやcPanelもあるのでそっちで作ってそこからWordPressを立ち上げた方がお得なのでは…思っていましたが、Plesk・cPanelライセンスは別で必要で、また3.5$/月のプランでは対応していないとのこと。
なので素直にWordPressのプラットホームで作りました。
下記記事を参考にしました。
前のレンタルサーバのWordPressのバックアップ
ブログのWordPressのデータを取得します。下記記事を参考にしました。
phpMyAdminでDBのデータをエクスポート。
ファイルはWordPressごともってくるのではなくwp-contentディレクトリの中だけで良いとのことでした。
Lightsailのインスタンスのパスワードを確認
WordPressの初期パスワードの確認のため、AWSのLightsailのページにあるブラウザターミナルを立ち上げます。
cat /home/bitnami/bitnami_application_password
で確認。
静的IPアドレスを設定
LightsailのページのNetworkingタブからCreate static IPで作成。
IPはメモしておきます。
phpMyAdminにアクセスできるようにする
DBのデータをインポートしたいのでphpMyAdminを使えるようにします。
TeraTermでSSHログインしてポートフォワーディングすると良いという記事があったので試してみましたがうまくいかず。(秘密鍵のダウンロード場所が載っているので記事は読んだほうが良いです)
AWSの記事にPuttyでポートフォワーディング行う方法が載っていたのでそちらも試しましたがPermission Deniedで×でした。参考2
なので下記記事を参考にしてphpMyAdminのアクセス権を変更する方法を取りました。
/opt/bitnami/apache/conf/bitnami/phpmyadmin.conf
のファイルの
Require local
のところを下記に変更。
<IfVersion >= 2.3>
Require ip XX.XX.XX.XX (自分のPCのIPアドレス)
Require local
</IfVersion>
念のためにapacheを再起動。
sudo /opt/bitnami/ctlscript.sh restart
これでphpMyAdminにアクセスできました。
http://生成した静的IPアドレス/phpmyadmin/
phpMyAdminでWordPressのテーブルにバックアップしたsqlファイルをインポートして完了です。
バックアップしたwp-contentディレクトリをSFTPでアップロード
次はファイルの方の移行です。
下記記事を参考にしました。
前準備としてアップロード先の親ディレクトリの所有者を変更しておきます。
cd /bitnami/
sudo chown -R bitnami wordpress
最初からあるwp-contentディレクトリの名前を変更してバックアップしておきます。
mv wordpress/wp-content wordpress/wp-content_bak
次にFTPソフトでバックアップしてあったwp-contentを/bitnami/wordpress/以下にアップロード。(自分はWinSCPを使いました)
アップロードが終わったら所有者を元に戻しておきます。
sudo chown -R daemon:daemon wordpress
WordPressのファイルとディレクトリのパーミッションを変更します。(ファイルは664に、ディレクトリは775にする)
cd wordpress/
sudo find wp-content -type f -exec chmod 664 {} \;
sudo find wp-content -type d -exec chmod 775 {} \;
ここでWordPressにログインして移行できているかどうか確認。
画像が投稿できないのでおかしいなと思い、WordPressのメニューの[ツール]→[サイトヘルス]→[情報]タブ→[ファイルシステムパーミッション]を見てパーミッションを確認しました。
今回はuploadディレクトリが書き込み不可になっているのが確認できました。
設定がおかしいのかなと見てみると、[設定]→[メディア]のフォルダ設定が前のサーバのままになっていたので修正。無事画像が投稿できるようになりました。
ドメインの移管
次は今使っているドメインをAWSのRoute53に移管します。
下記記事を参考にしました。
まずRoute53でホストゾーンを作成。
ホストゾーンを作成したら前のサーバのDNSレコードと同じようにAレコードとMXレコードを作成しました。(先程固定した静的IPに)
このときAAAAレコードを作成してなかったのでSSL化の時に引っかかりました。今作るべし。
次に移管前のドメインの手続きです。
ColorfulBoxでドメインを取ったので操作もそこで。
- WHOIS情報を見てメールアドレスが正しいか確認
- whois情報公開代行を無効にする
- レジストラロックを無効にする
- 認証コードを受け取る
上記をやっておきます。
Route53のトップにドメインの移管というリンクがあるのでそこからドメインの移管を申請します。
移管料はここで支払います。.netは11$でした。
移管料を支払うとドメインの有効期限が1年延長されるので実質年額を先に払っているのと同じです。
申請が終わると移管手続きのメールが何通か飛んでくるので、メールで指定されたアドレスに飛んで移管を承認します。(2~3回くらい)
これでドメインの移管は終わりです。
待っていればドメインがLightsailのサーバのIPを指すようになります。
メールの設定(SMTP)
メールの送信はLightsailのこのインスタンスには含まれていないので、WordPressの「WP Mail SMTP」というプラグインを使います。
自分はYahooのメールで設定しました。
ブログのSSL化
ブログをSSLにします。
下記記事を参考にしました。
dig ドメイン名
で、Aレコードが新しいIPに切り替わっていたら作業開始。
sudo /opt/bitnami/bncert-tool
のコマンドを叩けばOKです。
オプションは「wwwを含めるか」はN、「HTTPをHTTPSにリダイレクトするか」はY、その後の確認は全てYを選択しました。
自分がやったときはここで「AレコードとAAAAレコードが不正だよ」というエラーが出ていたのでDNSのレコードの設定を追加したり見直したりしました。
最後HTTPSでアクセスしてブログが見えればOKです。
Google Adsenseのads.txtをルートディレクトリに置く
次の日GoogleAdsenseで「ads.txtをドメインのルートディレクトリに置いてくれ」との警告が出ていたのでその作業を。
/opt/bitnami/wordpress/
配下にダウンロードしたads.txtを置いて、所有者を変更して完了です。
(追記)WordPressのテーマのCocoonでPV数や設定のバックアップでエラーが出るので修正する
WordPressのテーマのCocoonではPV数が取得できなかったり設定のバックアップでエラーが出てしまうので下記2ファイルの
/bitnami/wordpress/wp-content/themes/cocoon-master/lib/analytics/access.php
/bitnami/wordpress/wp-content/themes/cocoon-master/lib/page-backup/backup-download.php
下記の部分を
require_once('../../../../../wp-load.php');
下記のように修正。
$parse_uri = explode( 'wp-content', $_SERVER['SCRIPT_FILENAME'] )[0];
require_once( $parse_uri . 'wp-load.php' );
元のコードをコメントアウトで取っておくかファイルをバックアップするかの対応はしておいてください。
Amazon Lightsailに引っ越して
引っ越し作業はいくつか詰まりポイントがあったので半日かかりました。無事にできてよかったです。
今回はWordPressだけのインスタンスなので以前のサーバより機能がだいぶ削られてますが、今までそう使っていなかったので問題なし。
アプリ等でサーバを使うこともそのうちあると思うので、その時はLightsailのインスタンスを追加で立てて使おうと思います。
とりあえず1ヶ月お試しで使ってみて、そのまた1ヶ月使ってみて課金金額など問題なければ継続ですかね。
(ちょっと系統が違うとはいえ)AWSを使っているということで気分も一新したので、ブログもたくさん記事を書いていきたいと思います。
コメント
lihgtsail上のwordpressにads.txtを置きたかったのですが、どこに置けば良いのかを調べていても私の環境にはないパスを指定していたため困っておりました。
こちらのブログのみが私の知りたい情報を載せておりました。
ありがとうございます。
コメントありがとうございます。お役に立ててよかったです。
LightsailのWordPressインスタンスの環境が何ヶ月か前に変わったみたいですね。
私も詰まった箇所なのでメモとして残した次第です。