🤖

TermuxでWordPress

に公開

上記の記事の詳細記事です。

ここまででMariaDBとPHPが動作するようになったので、WordPressを設置します。wp-cliを使った方法です。

wp-cliの設置

まずはwp-cliのpharを取得します。

~ $ curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
~ $ php wp-cli.phar --info
OS:	Linux 4.19.113-perf-gfe0bf86775e1 #1 SMP PREEMPT Wed Aug 31 00:10:19 CST 2022 aarch64
Shell:	/data/data/com.termux/files/usr/bin/bash
PHP binary:	/data/data/com.termux/files/usr/bin/php
PHP version:	8.4.2
php.ini used:	
MySQL binary:	/data/data/com.termux/files/usr/bin/mariadb
MySQL version:	/data/data/com.termux/files/usr/bin/mariadb from 11.8.0-MariaDB, client 15.2 for Android (aarch64) using  EditLine wrapper
...
~ $

大体合っているようなので、$PREFIX/local/binにwpコマンドとして設置します。

~ $ chmod u+x wp-cli.phar
~ $ mkdir -p $PREFIX/local/bin
~ $ mv wp-cli.phar $PREFIX/local/bin/wp

残念ながらパスが通っておらず、任意の場所からwpコマンドを使えないので、パスを通しておきます。

$HOME/.bashrc
if [[ ":$PATH:" != *":$PREFIX/local/bin:"* ]]; then
    PATH+=":$PREFIX/local/bin"
fi

wpコマンドを/usr/local/binに設置し、PATH環境変数に/usr/local/binを追加すべく、$HOME/.bashrcを追加したので、一度termuxを終了して、新しく端末を起動してから以下を引き続き実施します。

~ $ wp --info
(先程と同様の出力であることを確認)

WordPressの設置

WordPressのアーカイブをダウンロードしています。

~ $ mkdir -p wordpress
~ $ cd wordpress
~/wordpress $ php -d memory_limit=512M "$(which wp)" core download --locale=ja

普通に実行するとメモリ許容量を超えてしまうので、一時的にその制限を512MBまで上げて実行しています。

次はMariaDBが稼働している必要があります。MariaDB上にユーザーwordpressを作成し、データベースwordpressに対して全権限を与えています。この時点ではデータベースwordpressはありません。

~/wordpress $ mariadb -u root mysql
...
MariaDB [mysql]> create user 'wordpress'@'localhost' identified by 'wppass';
Query OK, 0 rows affected (0.008 sec)

MariaDB [mysql]> grant all privileges on wordpress.* to 'wordpress'@'localhost';
Query OK, 0 rows affected (0.014 sec)

MariaDB [mysql]> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.006 sec)

MariaDB [mysql]> exit
Bye

作成したユーザーを指定してWordPressの設定ファイルを作り、データベースを作らせ、WordPress稼働に必要な情報を設定していきます。

~/wordpress $ wp config create --dbhost=localhost:/data/data/com.termux/files/usr/var/run/mysqld.sock --dbname=wordpress --dbuser=wordpress --dbpass=wppass
Success: Generated 'wp-config.php' file.
~/wordpress $ wp db create
Success: Database created.
~/wordpress $ wp core install --url=localhost:8080 --title="テストWordPress" --admin_user=wpcli --admin_password=wpcli --admin_email=ユーザー名@有効なドメイン
Success: WordPress installed successfully.

これで日本語版のWordPressの稼働に必要なファイルをカレントディレクトリに置き、データベースも準備することが出来ました(ただしlocalhostをURLとしているので、他のホストからはアクセスできません。モバイルなので、ここは割り切ることにしました。hostファイルなどを使いアクセスし、その名前をバーチャルホストにすることで設定は可能です)。あとはnginxのroot設定を変えるだけです。

$PREFIX/etc/nginx/nginx.conf
        root         /data/data/com.termux/files/usr/share/nginx/html;

これを以下に書き換えて、

$PREFIX/etc/nginx/nginx.conf
        #root         /data/data/com.termux/files/usr/share/nginx/html;
        root /data/data/com.termux/files/home/wordpress;

すでにnginx/php-fpmが起動中ならnginxを再起動するだけです。

~/wordpress $ pkill nginx
~/wordpress $ nginx

スマホのブラウザから"localhost:8080"を開いてみてください。WordPressの画面が出てくると思います。出てきたら、"localhost:8080/wp-login.php"からwpcli/wpcliでログインすると管理者画面が出てきます。そこで記事を適当に書いて表示させた画面が以下になります。

WordPress確認画面

GitHubで編集を提案

Discussion