はじめに
サイト構築で経験した知見を備忘録として記事に起こします。会社員を卒業するというのにAKIという新たな暗号基盤の創出に立ち会うという、なかなか特殊な機会に遭遇しました。セキュリティの専門会社が研究する様な事案を、一介のシニアエンジニアが声高に話しても声は届きません。幸い時間はたっぷりあるので自身で情報発信をしようと思い立ちこのサイトを立ち上げました。
とはいえ、個人ブログなので、まずはミニマムで立ち上げつつ、それなりに本格的なサイトにしようと勉強しました。これはこれで情報資産だなぁと思い備忘録も兼ねて記事にします。
サイト構築の準備
まずはサイトの構築先を選出です。ウェブでの収益を経験したかったのでWordPressをブログのプラットフォームとしました。早速調べるとWordPress.comとWrodPress.orgがあって早々に混乱しました。ブログサービスがWrodPress.com、プログラム提供がWrodPress.orgなのですね。私はWordPress.orgを選択しました。
次に運用環境ですがこちらはAKIでも活用しているAmazon Lightsailを選択しました。既に導入済みなのはもちろん、価格が安くて定額なのが魅力です。育ってくれるまでは、できるだけコストは抑えたいですし、だからこそ記事の価値も上がりそうですし一石二鳥です。
Amazon Lightsail
プランを選択してインスタンスを立ち上げるだけで完了です。お手軽すぎ!。スタートアップのブログなのでデメリットはほとんど無視できる内容です。実際に立ち上げましたが、本当に簡単にサーバーが準備できます。
今回は一番廉価なサーバー構成を選択します。スペックは以下の通りです。
仕様 | 説明 |
---|---|
メモリ | 512MB |
CPU | 1 |
ストレージ | SSD 20GB |
転送 | 1TB |
OS | Debian 5.10.158-2 (2022-12-13) x86_64 |
ソリューションパッケージ | WordPress packaged by Bitnami 6.0.2-1 |
WordPress | WordPress 6.1.1-13 |
仮想サーバーのスペックは必要十分だと思います。何より定額は予算が立てやすくお小遣い亭主(しかも年金世代)には大変ありがたいです。CUIコンソールもブラウザーに組付けられているので、ブラウザーだけでログイン接続できます。外部端末から接続する場合はSSH接続が前提となりますので、秘密鍵をダウンロードして設定しておいた方が幸せです。導入されているOSは普通のDebianなので詳細説明は割愛します。
Lightsailのおよその設定は以下のとおりです。
接続/WordPressのログインパスワードを確認
接続タブの「SSHを使用して接続」を行うと、別ウインドウでコンソール画面が表示されます。管理者アカウントとして「bitnami」でSSHログインされています。
まずは接続してWordpressの初期アカウント「user」のパスワードをメモしておいてください。
cat /home/bitnami/bitnami_application_password
接続/ssh接続用Keyの取得
通常はダッシュボードのコンソールではなく、ターミナルアプリから接続した方が使いやすいです。ターミナルアプリからssh接続するには「デフォルトキーのダウンロード」を押下してKeyファイルをダウンロードしてください。ダウンロードしたKeyファイルを設定すれば、パスワードを入力せずにbitnamiにログインできます。
スナップショット
「転ばぬ先のつえ」として、スナップショット設定は必須だと思っています。大したコストではないので自動スナップショットがオススメです。日次で1週間分のスナップショットを自動取得してくれます。リカバリの手順についてもいずれ検証して記事にしたいと思います。
IPv4 ネットワーキング
パブリックIPを獲得しておきましょう。AWSのネットワーキング設定の柔軟さは本当に良く出来ていますよね。
タイムゾーンの設定
払い出したインスタンスはTimezoneがUTCになっているので、日本に設定しておきましょう。
OSの設定
sudo timedatectl set-timezone Asia/Tokyo
設定確認をします。
$ sudo timedatectl status
Local time: Sat 2023-03-25 12:38:40 JST
Universal time: Sat 2023-03-25 03:38:40 UTC
RTC time: Sat 2023-03-25 03:38:41
Time zone: Asia/Tokyo (JST, +0900)
System clock synchronized: yes
NTP service: active
RTC in local TZ: no
$
PHPの設定
/opt/bitnami/php/etc/php.ini の date.timezone = “UTC” をdate.timezone = “Asia/Tokyo” に変更します。
sudo cp /opt/bitnami/php/etc/php.ini /opt/bitnami/php/etc/php.ini.bak
sudo nano /opt/bitnami/php/etc/php.ini
date.timezone = UTC
↓
date.timezone = Asia/Tokyo
設定確認をします。
php -r "phpinfo();" | grep timezone
$ php -r "phpinfo();" | grep timezone
Default timezone => Asia/Tokyo
date.timezone => Asia/Tokyo => Asia/Tokyo
$
タイムゾーンの設定が終わりました。半年近くUTCで運用していたのは内緒です。(笑
ブログサイトの整備
準備完了、グローバルIPにアクセスすればすぐにWordPressに接続できます。いやはや、本当に便利な時代です。
続いて一端の情報発信サイトとしての体裁を整えます。一つはドメインの取得、もう一つはSSLの導入です。デジタルセキュリティを指向するブログサイトですから、設定をちゃんと施しておかないと説得力がないですよね。
ドメインの取得:Amazon Route 53
WordPressのレンタルサーバーを使えばドメイン取得やSSL設定なんかも一式でサポートしてくれます。(レンタルサーバーを使った事はないのでどこまで優しいのかは分かりませんが…そのはずです😅)私は趣味を兼ねているので、コストを抑えられるところは抑えたいです。なのでRoute53を使って自力で頑張りました。実際にやってみても実に簡単ですし、参考文献も山ほどあります。
ドメインの購入
好きなドメイン名を入れて購入するだけです。無難でお安い「.net」ドメインを採用です。ドメイン名「To.DigitalARTs.」は、X68000 Pro(シャープ製パソコン)を使ってデジタルでイラストを描いていた頃のペンネームを採用しました。価格は$12/年程度です、円安が財布に厳しいです。余談ではありますが最近X68000が再注目されてて嬉しい限りです。
ホストゾーンの設定
当サイトのホストゾーンのAレコードとCNAMEレコードを確認して以下の様に追加設定しています。
レコード名 | タイプ | ルーティングポリシー | 差別化要因 | エイリアス | 値 |
---|---|---|---|---|---|
to-digitalarts.net | A | シンプル | – | いいえ | IPv4(グローバルIP) |
www.to-digitalarts.net | CNAME | シンプル | – | いいえ | to-digitalarts.net |
SSLの設定:Let’s Encrypt
SSL証明の設定について、新しい記事を投稿しました。こちらをご参考ください。
クライアントの準備
LightesailのダッシュボードにはSSH接続のCUIコンソールが用意されています。とはいえ、せっかくターミナル環境があるので、こちらの環境も整えておきたいと思います。今のメイン端末はmacbookなのでmacosでの環境整備について記事にまとめました。
これからの構築
今後もAmazon Lightsailの環境を進めてノウハウをためて行きます。有用な情報がたまり次第、記事にて共有いたします。
SMTP
現在(2023/1)はGoogle cloud platformのSMTPサービスを利用しています。今後はAWSに集めておきたいのでAmazon SESに切り替えていければと思っています。少なくとも、今回のドメインでメールを受信できる様に設定したいと考えています。
バックアップからのリカバリー
バックアップは日時で行う様にしています。でもリカバリー訓練は一度も行っていません。一度はリカバリ訓練はやっておきたいと思います。
まとめ
以上の設定でAWSを使ったWordPressサーバーの立ち上げが完了しました。立ち上げに使用したCUIコマンドはウェブ検索で詳細を知れますのでそちらもご参考ください、
コメント