Vagrantで WordPress環境構築

前回作成した Vagrant + VirtualBox + Ubuntu 24.04 環境にWordPressを導入したBoxを作成します。

構成は、
・Ubuntu 24.04
・Apache 2.4
・PHP 8.3
・MariaDB 10.11 (or MySQL 8.0)
・WordPress 6.5
です。

Box 追加・登録

前回作成したBox : swd_ubuntu2404.box を登録します。

コマンドプロンプト> vagrant box add swd/ubuntu-24.04 <path to box file>/swd_utunbu2404.box

新規フォルダでこのBoxを使って初期化します。
> vagrant init swd/utuntu-24.04

Vagrantfileをよしなに編集して vagrant を起動します。
> vagrant up

ssh
> vagrant ssh
VagrantfileVagrant.configure("2") do |config|
  config.vm.box = "swd/ubuntu-24.04"
  config.vm.network "forwarded_port", guest: 80, host: 8080
  config.vm.network "private_network", ip: "192.168.33.10"
  config.vm.synced_folder "./public/", "/var/www/html"
  config.vm.provider "virtualbox" do |vb|
    vb.memory = "2048"
  end
end

OSはUbuntu 24.04 です。

ssh$ cat /etc/os-release

PRETTY_NAME="Ubuntu 24.04 LTS"
NAME="Ubuntu"
VERSION_ID="24.04"
VERSION="24.04 LTS (Noble Numbat)"
VERSION_CODENAME=noble
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=noble
LOGO=ubuntu-logo
SSH最新版にしておきます。
$ sudo apt update && sudo apt upgrade

PHP インストール

OS標準のPHP ( 8.3 ) をインストールします。

SSH$ sudo apt install php 

確認
$ php -v
PHP 8.3.6 (cli) (built: Jun 13 2024 15:23:20) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.3.6, Copyright (c) Zend Technologies
    with Zend OPcache v8.3.6, Copyright (c), by Zend Technologies

$ php -i | grep php.ini
Configuration File (php.ini) Path => /etc/php/8.3/cli
Loaded Configuration File => /etc/php/8.3/cli/php.ini

初期導入モジュールはこちら

SSH$ php -m
[PHP Modules]
calendar
Core
ctype
date
exif
FFI
fileinfo
filter
ftp
gettext
hash
iconv
json
libxml
openssl
pcntl
pcre
PDO
Phar
posix
random
readline
Reflection
session
shmop
sockets
sodium
SPL
standard
sysvmsg
sysvsem
sysvshm
tokenizer
Zend OPcache
zlib

[Zend Modules]
Zend OPcache

あと足りなさそうなモジュールをいれておきます。
参考)WordPress PHP環境 のPHP拡張機能
https://make.wordpress.org/hosting/handbook/server-environment/#php-extensions

SSH$ sudo apt install php-curl php-mbstring php-mysql php-imagick php-xml php-zip

※php-xml に php-dom がついてきます。

MariaDB インストール

MariaDB をインストールします。

SSHMariaDB
$ sudo apt install mariadb-server mariadb-client

確認
$ sudo dpkg -l | grep mariadb

起動確認
$ systemctl status mariadb

自動起動確認(chkconfig --list)
systemctl list-unit-files | grep mariadb
または
$ systemctl is-enabled mysql

MariaDB 10.11.8 でした。

code$ sudo mariadb
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 31
Server version: 10.11.8-MariaDB-0ubuntu0.24.04.1 Ubuntu 24.04

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]>
MariaDB [(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.001 sec)

ひとまずBox保存

code> vagrant package --output swd_lamp.box

(MySQL インストール)

MySQL をインストールする場合は、こちら。

SSHMySQL
$ sudo apt install mysql-client mysql-server

確認
$ sudo dpkg -l | grep mysql

起動確認
$ systemctl status mysql

自動起動確認(chkconfig --list)
systemctl list-unit-files | grep mysql
または
$ systemctl is-enabled mysql

phpMyAdmin インストール

phpMyAdminをインストールします。

SSH$ sudo apt install phpmyadmin
(対話)
・Apache2 YES (スペースキーで*をセットすること)
・dbconfig-common NO

$ sudo systemctl restart apache2.service

ブラウザで phpMyAdmin のログイン画面が表示されればok
localhost:8080/phpMyAdmin

WordPress インストール

DB準備

MariaDBクライアントで、データベースを作成します。

code$ sudo mariadb

MariaDB [(none)]> CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8;

MariaDB [(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
| wordpress          |
+--------------------+
5 rows in set (0.000 sec)

ユーザーを作成します。

codeMariaDB [(none)]> GRANT ALL ON wordpress.* TO 'wordpress'@'localhost' IDENTIFIED BY 'password';
MariaDB [(none)]> FLUSH PRIVILEGES;

MariaDB [(none)]> SELECT user,host FROM mysql.user;
+-------------+-----------+
| User        | Host      |
+-------------+-----------+
| mariadb.sys | localhost |
| mysql       | localhost |
| root        | localhost |
| wordpress   | localhost |
+-------------+-----------+
4 rows in set (0.001 sec)

WP CLI インストール

こちらを参考に、wp cli を入れます。

SSH$ mkdir bin; cd bin
$ curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
$ chmod +x wp-cli.phar
~/.bashrcへ追記alias wp='php ~/bin/wp-cli.phar'

composer

ついでに composer もインストールしておきます。

SSH$ curl -sS https://getcomposer.org/installer | php
$ mv composer.phar /usr/local/bin/composer

ここまででBox保存しておく!

code> vagrant package --output swd_wpcli.box

WordPress本体 インストール

WordPress をインストールするディレクトリへ移動し手作業します。

SSH$ cd /var/www/html/; mkdir wp; cd wp
$ wp core download --locale=ja

MariaDB で作成したデータベース、ユーザー、パスワードをセットした wp-config.php を作成します。

wp-config.php 設置$ wp core config --dbname=wordpress --dbuser=wordpress --dbpass=***** --dbhost=localhost --locale=ja --extra-php <<PHP
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);
define('DISALLOW_FILE_EDIT',true);
define('WP_POST_REVISIONS',false);
define('AUTOSAVE_INTERVAL',3600);
PHP
WordPress本体インストール初期設定$ wp core install --url=localhost:8080/wp --title=test --admin_user=***** --admin_password=***** --admin_email=*****

無事WordPressがインストールできました。
.htaccess
index.php
など設置し、localhost:8080/wp/wp-login.php からログインできるようになります。

以上!


コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です