現在、3つのサイトを WordPress で立ち上げていますが、ふと、Joomla! に移せないかなと思いたち、まずは Docker でローカル環境を立ち上げてみようと思います。
なお、Joomla! の名称は正式にはエクスクラメーションマークが付いています。
01compose.yaml で一発インストール
まず簡潔に Docker で最新バージョンの Joomla を立ち上げる手順をまとめます。
適当な場所に Joomla 用のディレクトリをつくり、次の compose.yaml ファイルを保存します。compose.yaml は Docker Hub の Docker Official Image に掲載されているものに若干の修正を加えています。
Docker Compose は V2 です。Joomla のバージョンは 5.0.3、データベースは MariaDB10.5 です。
services:
joomla:
image: joomla:5.0.3-php8.1-apache
restart: always
links:
- joomladb:mysql
ports:
- 8000:80
environment:
JOOMLA_DB_HOST: joomladb
JOOMLA_DB_PASSWORD: joomla
volumes:
- ./html:/var/www/html
joomladb:
image: mariadb:10.5
restart: always
environment:
MYSQL_ROOT_PASSWORD: joomla
volumes:
- ./mysql:/var/lib/mysql
同じディレクトリで $ docker compose up -d
と打ちますと、Docker イメージがダウンロードされ Joomla と MariaDB のコンテナが作成されます。
$ docker compose up -d
[+] Running 2/3
⠇ Network joomla_default Created 0.8s
✔ Container joomla-joomladb-1 Started 0.4s
✔ Container joomla-joomla-1 Started 0.7s
$ ls -l
合計 24
-rw-rw-r-- 1 imuza imuza 414 3月 6 20:29 compose.yaml
drwxr-xr-x 18 www-data www-data 4096 3月 6 20:31 html
drwxr-xr-x 4 systemd-coredump systemd-coredump 4096 3月 6 20:31 mysql
ディレクトリ内を見てみますと、html ディレクトリと mysql ディレクトリが出来ています。これでブラウザから http://localhost:8000
にアクセスすれば Joomla のインストーラーが立ち上がります。
02一般ユーザーに所有者を変更する
ただ、この状態ですとディレクトリの所有者が www-data と systemd-coredump になっており、後々一般ユーザーでは触れなくなりますので、ここで一旦 docker を終了させてディレクトリの所有者を一般ユーザーに変更します。
$ docker compose down
[+] Running 3/3
✔ Container joomla-joomla-1 Removed 1.6s
✔ Container joomla-joomladb-1 Removed 0.5s
✔ Network joomla_default Removed 0.3s
$ sudo chown -R imuza.imuza html/
$ sudo chown -R imuza.imuza mysql/
次に joomla とデータベースを一般ユーザーで立ち上げるように compose.yaml を書き換えます。
services:
joomla:
image: joomla:5.0.3-php8.1-apache
restart: always
links:
- joomladb:mysql
ports:
- 8000:80
environment:
JOOMLA_DB_HOST: joomladb
JOOMLA_DB_PASSWORD: joomla
volumes:
- ./html:/var/www/html
# 次の1行追加 ユーザーの"uid:gid"
user: "1000:1000"
joomladb:
image: mariadb:10.5
restart: always
environment:
MYSQL_ROOT_PASSWORD: joomla
volumes:
- ./mysql:/var/lib/mysql
# 次の1行追加 ユーザーの"uid:gid"
user: "1000:1000"
再度 $ docker compose up -d
と打ちます。
03Joomla! のインストール
http://localhost:8000
に Joomla のインストーラーが立ち上がります。Joomla は最新の安定版 5.0.3 になっています。
適当なサイト名を入力して次に進みます。
Joomla の管理者となるログインデータを入力します。
それぞれ compose.yaml に指定した値を入力して次に進みます。
データベースのホスト名:joomladb
データベースのユーザー名:root
ユーザーのパスワード:joomla
データベース名:joomla_db
インストール完了です。「追加の言語をインストール」をクリックして日本語化します。
japanese をチェックして次に進みます。最下行にボタンがあります。
管理画面、サイトともに Japanese を選択して「デフォルトの言語を設定」をクリックします。これで完了です。
「管理画面を開く」をクリックしますとログイン画面になります。設定した管理者ユーザーでログインします。
管理画面です。
サイトのトップページです。
管理画面に「ブログのサンプルデータ」がありますのでインストールをクリックしますとサンプルデータがインストールされます。
ということで簡単に Joomla の開発環境が整いました。次は WordPress のデータを Joomla に移す方法です。
多分なにか方法があると思います。
04WordPress のデータを移すプラグインがない?
2024.3.21追記
WordPress から Joomla に移行するツールで無料のものはなさそうです。もう少し探してみますが、なければデータベースのデータをコツコツ変更して入れ替えるしかなさそうです。