
WordPressのサーバをAmazonLinuxからAmazonLinux2に載せ替えた話
WordPressぐらい簡単な手順なら何も問題ないんですけどね…
案件とかになるとそう簡単ではなく、後から追加されるミドルウェアやエンジニア側からの要望でインストールされるミドルウェアなどがあったりし、一筋縄では行かなくなります。
後、そもそも必要なパッケージがまだ未対応とかあって「つらっ…」。と思ったりします。
閑話休題。
とりあえずWordPressをAmazon LinuxからAmazon linux2に移行することでサポートを受けられる状態にします。
Amazon Linux2を起動後に必要になる設定群
ざっと書きますが、それでも結構必要だなーと感じることがあるので、まとめておくことにし、誰かの役に立つならありかなって思いました。
最初に入れておくものをガンガン放り込みます。
sudo yum update
sudo amazon-linux-extras install epel
sudo amazon-linux-extras install epel php7.3
sudo vim /etc/yum.repos.d/MariaDB.repo
sudo cat /etc/yum.repos.d/MariaDB.repo
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.3/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
enabled=1
sudo yum update
sudo yum install php php-bcmath php-cli php-common php-gd php-json php-mysqlnd php-pdo php-pecl-apcu php-pecl-imagick php-process php-xml php-mbstring
sudo yum install mariadb mariadb-server
sudo yum install yum-cron
sudo yum install httpd
お次はOSの設定周りです。
sudo hostnamectl set-hostname akashima.net
timedatectl status
sudo timedatectl set-timezone Asia/Tokyo
localectl status
sudo localectl set-locale LANG=ja_JP.UTF-8
sudo localectl set-keymap jp106
localectl status
そして、設定ファイルの編集です。
httpd.confとwelcom.confは各自の設定に合わせてください。
security.confはこちらのQiita記事を参照ください。
php.iniの編集箇所はこちらのQiita記事を参考にしました。
sudo vim /etc/httpd/conf/httpd.conf
sudo vim /etc/httpd/conf.d/welcome.conf
sudo vim /etc/httpd/conf.d/security.conf
sudo sed -i "s/^apply_updates.*$/apply_updates = yes/g" /etc/yum/yum-cron.conf
sudo vim /etc/yum/yum-cron.conf
sudo cp /etc/php.ini /etc/php.ini.default
sudo vim /etc/php.ini
sudo vim /etc/my.cnf.d/mysql-clients.cnf
sudo vim /etc/my.cnf.d/server.cnf
sudo cat /etc/my.cnf.d/mysql-clients.cnf
[mysql]
default-character-set = utf8mb4
[mysql_upgrade]
default-character-set = utf8mb4
[mysqlcheck]
default-character-set = utf8mb4
[mysqldump]
default-character-set = utf8mb4
[mysqlimport]
default-character-set = utf8mb4
sudo cat /etc/my.cnf.d/server.cnf
[mariadb]
character-set-server = utf8mb4
あとは順次有効化します。
sudo systemctl start httpd
sudo systemctl enable httpd
sudo systemctl start yum-cron
sudo systemctl enable yum-cron
sudo systemctl start mariadb
sudo systemctl enable mariadb
元のサーバからwordpress本体とDBのdumpを取得し、importし直す作業を行います。
mariadbに関しては、rootアカウントの初期化が必要ですので、事前に初期化を行ってください。
こんな感じで作業完了です。
あ、そうそう。補足説明ですが、ALBを使い、httpd24を使う場合以下の設定を忘れないようにしてください。
safariユーザがアクセスできなくて閲覧できないという状況に陥ります
<IfModule mod_http2.c>
# Protocols h2 h2c http/1.1
Protocols http/1.1
</IfModule>