はじめに
日々の作業を記録しておきたい衝動にかられたのでWordPressを構築してブログとして使っていくことにした。
とりあえずAWSに構築して動作確認までをやってみる。
構築
チャッチャと作っていく。
AWSにインスタンスを構築する
ちょっと調べたらどうやらAWSでWordPressが最初から構築されているAMI(Amazon Machine Image)が用意されているとのこと。
やったぜぇぇぇ!
今回は「ami-6cd9050a」と言うAMIを使ってインスタンスを作成してみた。
ストレージは15GBとりあえず割り当てた。
パブリックIPが変わらないように静的パブリックIPを取得して作ったインスタンスに割り当てておく。
もうできとるやんけ!
ってことで初期設定していく。
DB設定はユーザー名は「admin」。それ以外は適当に。
サイト設定も適当に入力してインストール開始!
そして再度アクセス。
できてますねぇ・・・
サーバーサイドの初期設定
とりあえずセキュリティのためにやっておかないといけないサーバ設定を今のうちにやっておく。
- パッケージの更新
- パッケージ自動更新設定追加
- タイムゾーン変更
- 文字コード変更
- ユーザー作成
- 初期ユーザー削除
ってことでさくっと。
サーバーログイン
AWSにインスタンスを作成した時にダウンロードしたpemファイルの直下で作業。
# 鍵ファイルの権限を変更
$ chmod 400 olaf_system.pem
# 初期ユーザーでログイン
$ ssh -i "olaf_system.pem" ec2-user@ec2-xxx-xxx-xxx-xxx.ap-northeast-1.compute.amazonaws.com
Last login: Tue Oct 10 10:26:09 2017 from xxx.xxx.xxx.xxx
__| __|_ )
_| ( / Amazon Linux AMI
___|\___|___|
https://aws.amazon.com/amazon-linux-ami/2016.09-release-notes/
29 package(s) needed for security, out of 85 available
Run "sudo yum update" to apply all updates.
Amazon Linux version 2018.03 is available.
パッケージの自動更新
$ sudo yum update -y
パッケージ自動更新設定追加
# インストール
$ sudo yum install yum-cron -y
# 有効化確認
$ sudo chkconfig --list yum-cron
# 有効化
$ sudo chkconfig yum-cron on
# 自動更新設定
$ sudo sed -i "s/^apply_updates.*$/apply_updates = yes/g" /etc/yum/yum-cron.conf
# 起動
$ sudo service yum-cron start
# 起動確認
$ sudo service yum-cron status
タイムゾーン変更
# 現在の設定がUTCなのを確認
$ date
# ローカルタイムを【Japan】に変更
$ sudo ln -sf /usr/share/zoneinfo/Japan /etc/localtime
# ハードウェアクロックを【Japan】に変更
$ sudo sed -i "s/\"UTC\"/\"Japan\"/g" /etc/sysconfig/clock
# システム再起動
$ sudo reboot
# 現在の設定がJSTなのを確認
$ date
文字コード変更
sudo sed -i "s/en_US\.UTF-8/ja_JP\.UTF-8/g" /etc/sysconfig/i18n
ユーザー作成
# newuserを追加
$ sudo adduser newuser
# sudoersファイルの編集
$ sudo visudo
## Same thing without a password
# %wheel ALL=(ALL) NOPASSWD: ALL
+ %newuser ALL=(ALL) NOPASSWD: ALL
# newuserへ切り替え
$ sudo su - newuser
公開鍵の設定
公開鍵・秘密鍵の作成方法は割愛。
# newuserのホームディレクトリに.sshディレクトリを作成
$ mkdir .ssh
# ファイルパーミッションを700(所有者のみ、読み取り、書き込み、削除が可能)に変更
$ chmod 700 .ssh
# authorized_keysを作成
$ touch .ssh/authorized_keys
# ファイルパーミッションを600(所有者のみ、読み取りおよび書き込みが可能)に変更
$ chmod 600 .ssh/authorized_keys
# 自分の公開鍵を登録
$ vi .ssh/authorized_keys
初期ユーザー削除
# 新規ユーザーでログインし直す
$ ssh -i ~/.ssh/id_rsa_newuser newuser@ec2-xxx-xxx-xxx-xxx.ap-northeast-1.compute.amazonaws.com
Last login: Thu Jan 9 16:51:06 2020
__| __|_ )
_| ( / Amazon Linux AMI
___|\___|___|
https://aws.amazon.com/amazon-linux-ami/2018.03-release-notes/
# ec2-userとそのホームディレクトリの削除
$ sudo userdel -r ec2-user
長くなったのでドメイン周りの設定は別途書くことにした。
続きはこちら->「AWSに構築したWordPressに独自ドメインを割り当ててみた」