CDSLのirisで動作しているWordPressをGCPのVMに移行する. この記事ではGCPに作ったVMにWordPressの環境を構築する方法を説明する.
環境¶
以下の環境にWordPressをインストールする.
システム構成¶
flowchart LR
d(fa:fa-users エンドユーザ) --> cdsl-vm-2 --> cdsl-vm-1
ハードウェア構成¶
koyama@cdsl-vm-1:/etc/apt/sources.list.d$ uname -a
Linux cdsl-vm-1 5.15.0-1030-gcp #37-Ubuntu SMP Tue Feb 14 19:37:08 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
koyama@cdsl-vm-1:/etc/apt/sources.list.d$ cat /etc/*release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=22.04
DISTRIB_CODENAME=jammy
DISTRIB_DESCRIPTION="Ubuntu 22.04.2 LTS"
PRETTY_NAME="Ubuntu 22.04.2 LTS"
NAME="Ubuntu"
VERSION_ID="22.04"
VERSION="22.04.2 LTS (Jammy Jellyfish)"
VERSION_CODENAME=jammy
ID=ubuntu
ID_LIKE=debian
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
UBUNTU_CODENAME=jammy
ハードウェアスペックは以下である.
koyama@cdsl-vm-1:~$ free -m
total used free shared buff/cache available
Mem: 965 214 153 3 597 587
Swap: 0 0 0
koyama@cdsl-vm-1:~$ cat /proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 79
model name : Intel(R) Xeon(R) CPU @ 2.20GHz
stepping : 0
microcode : 0xffffffff
cpu MHz : 2200.214
cache size : 56320 KB
physical id : 0
siblings : 2
core id : 0
cpu cores : 1
apicid : 0
initial apicid : 0
fpu : yes
fpu_exception : yes
cpuid level : 13
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc rep_good nopl xtopology nonstop_tsc cpuid tsc_known_freq pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch invpcid_single pti ssbd ibrs ibpb stibp fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms invpcid rtm rdseed adx smap xsaveopt arat md_clear arch_capabilities
bugs : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs taa mmio_stale_data retbleed
bogomips : 4400.42
clflush size : 64
cache_alignment : 64
address sizes : 46 bits physical, 48 bits virtual
power management:
processor : 1
vendor_id : GenuineIntel
cpu family : 6
model : 79
model name : Intel(R) Xeon(R) CPU @ 2.20GHz
stepping : 0
microcode : 0xffffffff
cpu MHz : 2200.214
cache size : 56320 KB
physical id : 0
siblings : 2
core id : 0
cpu cores : 1
apicid : 1
initial apicid : 1
fpu : yes
fpu_exception : yes
cpuid level : 13
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc rep_good nopl xtopology nonstop_tsc cpuid tsc_known_freq pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch invpcid_single pti ssbd ibrs ibpb stibp fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms invpcid rtm rdseed adx smap xsaveopt arat md_clear arch_capabilities
bugs : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs taa mmio_stale_data retbleed
bogomips : 4400.42
clflush size : 64
cache_alignment : 64
address sizes : 46 bits physical, 48 bits virtual
power management:
koyama@cdsl-vm-1:~$ df -Th
Filesystem Type Size Used Avail Use% Mounted on
/dev/root ext4 49G 2.7G 46G 6% /
tmpfs tmpfs 483M 0 483M 0% /dev/shm
tmpfs tmpfs 194M 952K 193M 1% /run
tmpfs tmpfs 5.0M 0 5.0M 0% /run/lock
/dev/sda15 vfat 105M 6.1M 99M 6% /boot/efi
tmpfs tmpfs 97M 4.0K 97M 1% /run/user/1003
導入ソフトウェア¶
- Nginx 1.23.3
- PHP-FPM 8.1.2
- MariaDB 15.1
手順¶
(1) スワップの導入¶
以下の手順を参考にswapをセットする.
作業前は以下である.
koyama@cdsl-vm-1:~$ cat /proc/swaps
Filename Type Size Used Priority
swapファイルを作成する.
koyama@cdsl-vm-1:~$ sudo dd if=/dev/zero of=/swapfile bs=1M count=2048
2048+0 records in
2048+0 records out
2147483648 bytes (2.1 GB, 2.0 GiB) copied, 19.2487 s, 112 MB/s
swapファイルの権限を600にする.
sudo chmod 600 /swapfile
swaoを有効にする.
koyama@cdsl-vm-1:~$ sudo mkswap /swapfile
Setting up swapspace version 1, size = 2 GiB (2147479552 bytes)
no label, UUID=48959a52-54a5-4ea0-8ed7-21f78a26183f
koyama@cdsl-vm-1:~$ sudo swapon /swapfile
/etc/fstabに以下を追加する.
/swapfile swap swap defaults 0 0
作業後は以下である.
koyama@cdsl-vm-1:~$ cat /proc/swaps
Filename Type Size Used Priority
/swapfile file 2097148 0 -2
(2) Nginxのインストール¶
以下の手順でインストールする.
【Ubuntu Server 22.04】Nginx公式サイトのリポジトリを使用してインストール | VPS Life
バージョンは以下である.
koyama@cdsl-vm-1:~$ nginx -v
nginx version: nginx/1.23.3
永続化と起動をする.
koyama@cdsl-vm-1:~$ sudo systemctl enable nginx
Synchronizing state of nginx.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable nginx
[koyama@cdsl-vm-1:~$ sudo systemctl start nginx
(3) phpのインストール¶
以下の記事を参考にphpをインストールする.
PHP-FPM 8.2でWordPressを動かす - Coyama Wiki
sudo apt install php-cli php-fpm php-curl php-gd php-mbstring php-xml php-xmlrpc php-soap php-intl php-zip php-mysql
phpがインストールされたか確認する.8.1.2がインストールされている.
koyama@cdsl-vm-1:~$ php -v
PHP 8.1.2-1ubuntu2.11 (cli) (built: Feb 22 2023 22:56:18) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.1.2, Copyright (c) Zend Technologies
with Zend OPcache v8.1.2-1ubuntu2.11, Copyright (c), by Zend Technologies
永続化と起動を行う.
sudo systemctl enable php8.1-fpm
sudo systemctl start php8.1-fpm
(4) MariaDBのインストール¶
以下のコマンドでMariaDBをインストールする.
koyama@cdsl-vm-1:~$ sudo apt install mariadb-common mariadb-client mariadb-server
MariaDBのバージョンを確認する.
koyama@cdsl-vm-1:~$ mariadb --version
mariadb Ver 15.1 Distrib 10.6.12-MariaDB, for debian-linux-gnu (x86_64) using EditLine wrapper
永続化と起動を行う.
sudo systemctl enable mariadb
sudo systemctl start mariadb
(5) wp-cliのインストール¶
以下の記事を参考にwp-cliをインストールする.
curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
sudo install -m 755 wp-cli.phar /usr/local/bin/wp
rm wp-cli.phar
(6) MariaDBの設定¶
WordPress用のMariaDBアカウントを作成する.
sudo mysql
MariaDBシェルで以下を実行する.
create database wordpress;
create user wp_user@localhost identified by 'YOUR_PASSWORD_HERE';
grant all on wordpress.* to wp_user@localhost;
exit;
(7) php-fpmの設定¶
アップロード上限を20MBに引き上げる.
sudo sed -i 's/^upload_max_filesize = .*$/upload_max_filesize = 20MB/g' /etc/php/8.1/fpm/php.ini
sudo sed -i 's/^post_max_size = .*$/post_max_size = 20MB/g' /etc/php/8.1/fpm/php.ini
php-fpmの実行ユーザをwww-dataからnginxへ変更する.
sudo sed -i 's/www-data/nginx/g' /etc/php/8.1/fpm/pool.d/www.conf
php-fpmを再起動する.
sudo systemctl restart php8.1-fpm
(8) nginxの設定¶
ドキュメントルートを作成する.
sudo mkdir -p /var/www/html
sudo mkdir -p /var/www/wordpress
ディレクトリの初期パーミッションを設定する.
sudo chown nginx:nginx -R /var/www
WordPressの初期設定ファイルを配置する.
cd /var/www/wordpress
sudo -u nginx wp core download
WordPressの設定ファイルを生成する.
sudo wp core config --dbhost=localhost --dbname=wordpress --dbuser=wp_user --dbpass=PASSWORD --allow-root