0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

WordPressの引っ越し(CentOS7→Amazon Linux 2)

Posted at

概要

個人の備忘録メインのため、不備が多いかと思います。よろしければご指摘ください。
これまで自宅サーバー(CentOS7)でWordPressのブログを運営してきましたが、EC2に引っ越ししてみます。
ついでにWebサーバーをApacheからNginxに変更してみます(ただの興味)。

EC2

インスタンスの起動、Elastic IPの割り当て、セキュリティグループ設定は割愛します。

初期設定

基本、ルート権限で作業します。

$ sudo -s

1. ホスト名の変更

# vi /etc/hostname

2. タイムゾーンの設定

# rm -f /etc/localtime; ln -sf /usr/share/zoneinfo/Japan /etc/localtime
# vi /etc/sysconfig/clock
ZONE="UTC"のUTCをAsia/Tokyoに変更

3. 日本語対応

# vi /etc/sysconfig/i18n
LANG=en_US.UTF-8のen_US.UTF-8をja_JP.UTF-8に変更
# source /etc/sysconfig/i18n

4. 再起動

# reboot

参考URL
https://qiita.com/2no553/items/e166c00790c3397acf2d
http://mktktmr.hatenablog.jp/entry/2016/12/07/154736

Nginx、PHPインストール

# amazon-linux-extras
…
 38  nginx1                   available    [ =stable ]
…
 42  php7.4                   available    [ =stable ]
…
# amazon-linux-extras install nginx1 php7.4
…
# systemctl start nginx
# systemctl enable nginx
…
# yum install php-mbstring

MariaDBインストール

1. yumでインストール

# yum install mariadb-server

2. 文字コード設定

# vi /etc/my.cnf.d/server.cnf
…
[mysqld]
character-set-server = utf8 ← 追記
…

3. 起動

# systemctl start mariadb
# systemctl enable mariadb

4. 初期設定

# mysql_secure_installation
…
Enter current password for root (enter for none): ← 空Enter
…
Set root password? [Y/n] ← 空Enter
New password: ← rootパスワード
Re-enter new password: ← rootパスワード
…
Remove anonymous users? [Y/n] ← 空Enter
…
Disallow root login remotely? [Y/n] ← 空Enter
…
Remove test database and access to it? [Y/n] ← 空Enter
…
Reload privilege tables now? [Y/n] ← 空Enter
…

参考URL
https://centossrv.com/mariadb.shtml

WordPress用の設定

MariaDB

以下の設定とする。
データベース名:wordpress
ユーザー名:wordpress

# mysql -u root -p
> create database wordpress;
> grant all privileges on wordpress.* to wordpress@localhost identified by '(任意のパスワード)';

PHP-FPM

# vi /etc/php-fpm.d/www.conf
…
user = nginx ← apacheから変更
group = nginx ← 〃
…
# systemctl restart php-fpm
# systemctl enable php-fpm

旧サーバーからのデータ移動

1. 旧サーバー処理

旧サーバーのディレクトリは以下にある。
/var/www/wordpress

### WordPress ###
# cd /var/www
# tar cvf wordpress.tar.gz wordpress
# mv wordpress.tar.gz (ユーザーのホームディレクトリ)

### MariaDB ###
# mysqldump wordpress -u wordpress -p > dump.sql

2. 新サーバー処理

新サーバーのディレクトリは以下にする。
/usr/share/nginx/html/blog

### データコピー ###
# sftp (ユーザー名)@(旧サーバーのアドレス)
> get wordpress.tar.gz
> get dump.sql
> quit

### WordPress ###
# tar zxvf wordpress.tar.gz
# mv wordpress /usr/share/nginx/html/blog
# chown -R nginx. /usr/share/nginx/html/blog

### MariaDB ###
# mysql -u wordpress -p -D wordpress < dump.sql

HTTPS対応

Let's Encrypt導入

# amazon-linux-extras install epel
# yum install certbot-nginx
# certbot --nginx
…
Enter email address (used for urgent renewal and security notices)
 (Enter 'c' to cancel): ← メールアドレスを入力してEnter
…
(Y)es/(N)o: ← 1回目ライセンス関連:Yを入力してEnter
…
(Y)es/(N)o: ← 2回目メールアドレスの共有:YかNを入力してEnter
…
name(s) (comma and/or space separated)  (Enter 'c' to cancel): fugiters.net ← ホスト名を入力してEnter
…

参考URL
https://qiita.com/ntm718/items/37d1d0a7de2d1edb4e7c

Nginx設定

設定ファイル(/etc/nginx/nginx.conf)の「Settings for a TLS enabled server.」の下の設定をコメントを外し、

# vi /etc/nginx/nginx.conf
…
    server {
        listen       443 ssl http2;
        listen       [::]:443 ssl http2;
        server_name  fugiters.net; ← ホスト名
        root         /usr/share/nginx/html;

        ssl_certificate "/etc/letsencrypt/live/fugiters.net/cert.pem"; ← 証明書
        ssl_certificate_key "/etc/letsencrypt/live/fugiters.net/privkey.pem"; ← 秘密鍵
        ssl_session_cache shared:SSL:1m;
        ssl_session_timeout  10m;
#        ssl_ciphers PROFILE=SYSTEM; ← 不明
        ssl_prefer_server_ciphers on;

        # Load configuration files for the default server block.
        include /etc/nginx/default.d/*.conf; ← これが無いとPHP動かず(ここでハマった)

        error_page 404 /404.html;
            location = /40x.html {
        }

        error_page 500 502 503 504 /50x.html;
            location = /50x.html {
        }
    }
…
# systemctl restart nginx

参考URL

https://ja.wordpress.org/support/article/nginx/
https://note.com/hiroki_hachisuka/n/nc1d5342c3a9b

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?