変奏現実

パソコンやMMORPGのことなどを思いつくまま・・・記載されている会社名・製品名・システム名などは、各社の商標、または登録商標です。

この画面は、簡易表示です

2025年3月28日

[WordPress]cockpit-podmanでサイトを作る

まず、色々ぐぐってみると

podmanのCLIで組んでる方が多く、

cockpit-podmanアプリでwordpressサーバを作ってるとこは少なかった。

しかもコンテナのイメージのバージョンの差異のせいか?

環境変数の設定が微妙にうまくいかなかったりするので、

ココの記事の内容も当てにできないと思います。

地道にDockerの各コンテナイメージの説明をよく読んだ方が良さそうです。

そんな訳で・・・

  • データベースはMariaDBが良いかな
  • WordPress自体がPHPで出来ている

ということで2つのイメージで組み立てることにする。

  1. Podを作る
    • コンテナ同士の通信をしやすくする為
      • IPアドレスを共有するのでコンテナ毎にポート開放する手間が不要
      • Pod内のコンテナ同士の識別はIPアドレスではなくコンテナ名を使用
      • pod起動終了で中のコンテナが一斉に起動終了するのは便利
      • 最重要:pod作成時に必要なポート開放をする必要がある
        • 最初はpod無しで試した方が絶対安全(だと思う
          • ポート開放等の設定ミスや漏れがあれば全部やり直し
            • Configureファイルを作り
              • podmamのコマンドでエラー&リトライが近道
  2. MariaDBのコンテナを作る
    • 他のDBでもいいけどAlmaLinuxにリポジトリィにある
    • 初期設定は環境変数設定のみ
      • コンテナのコンソールでシェルが動いてない
        • podman exec mysql で設定不可
  3. WordPressのコンテナを作る
    • 初期設定は環境変数設定のみ
      • コンテナのコンソールでシェルが動いてない
        • WordPressの展開も困難
        • PHPインストとini調整
        • Apache設定不可

の手順で作成する。

1.Podを作る

cockpitのPodmanアプリのコンテナーの右端の【Podの作成】ボタンからこんな風に作る。

とりあえずホスト側でポートマッピングしたホストポートを解放。

# firewall-cmd --add-port=20080/tcp --permanent
# firewall-cmd --add-port=20443/tcp --permanent
# firewall-cmd --reload

2.MariaDBのコンテナを作る

イメージのとこの【新規イメージのダウンロード】ボタンでイメージをダウンロードしておく。

podのとこの【podでのコンテナーの作成】ボタンで・・・

wordpressコンテナからmariadbコンテナ名で接続先を指定するので、コンテナ名は「mariadb」とか判りやすいものにしておく。

DockerのMariaDBのページに環境変数の設定がある。

ここで

  1. MARIADB_ROOT_PASSWORD={ルートのパスワード}
  2. MARIADB_ALLOW_EMPTY_ROOT_PASSWORD=1
  3. MARIADB_RANDOM_ROOT_PASSWORD=1

のいづれかが必要と書いてあるけど、試した感じでは1.のrootパスワード指定ではWordPressからデータベースにアクセスできなかった。

とりあえず、環境変数で初期設定

MARIADB_RANDOM_ROOT_PASSWORD=1
MARIADB_USER={WordPressで使うユーザ名}
MARIADB_PASSWORD={WordPressで使うユーザのパスワード}
MARIADB_DATABASE={WordPressで使うデータベース名}
TZ=Asia/Tokyo ※日本の場合

コンテナの画面では「変数の追加」ボタンを押すと「一括インポート・・・」の説明が出るので、上の環境変数設定を丸ごとペーストすると楽。

コンテナを作り直す度にデータベースが空になると面倒なので、ボリュームを指定してホストに残るようにする。

ホストパス             コンテナーパス 
{ホスト側のディレクトリィ}  /var/lib/mysql

改めてmariadbコンテナを作る時は初期設定済みなのでボリュームだけ指定すればいい。(ハズ

3.WordPressのコンテナを作る

イメージのとこの【新規イメージのダウンロード】ボタンでイメージをダウンロードしておく。

podのとこの【podでのコンテナーの作成】ボタンで・・・

wordpressもdockerのページを見ると

環境変数がいっぱい必要らしい

WORDPRESS_DB_NAME={WordPressで使うデータベース名}
WORDPRESS_DB_USER={WordPressで使うユーザ名}
WORDPRESS_DB_PASSWORD={WordPressで使うユーザのパスワード}
WORDPRESS_DB_HOST={mariaDBのコンテナ名}

毎回htmlも空になると面倒なので、ボリュームを指定しホストに残す。

ホストパス               コンテナーパス 
{ホスト側のディレクトリィ}  /var/www/html 

改めてwordpressコンテナを作る時は初期設定済みなのでボリュームだけ指定すればいい。(ハズ

注意点としては・・・

/var/www/htmlの下にwp-config.phpが作成されるまで待つこと。

さっさとコンテナを止めたり削除すると作成されないので、環境変数の設定が必要になる。

とりあえず、ここまで無事2個のコンテナが起動できていれば

さーて、ここまでは無事成功したけど・・・

ボリューム指定でホストからwp-config.phpが見れるので再設定できるかな?と思いきや

暗号化されているので再設定するよりコンテナを作り直した方が安心できそう。

ブログの移行をするつもりなら

移行プラグインを使うしかない。

ここまでやってやっと気が付く。

podmanのCLIでpodやコンテナを作って

cockpit-podmanでやることはpodの起動と終了だけにした方が

絶対楽だ(合掌

イメージだけで1Gバイトあるけど

CPUの使用率やメモリ消費量は低いのは

助かる。

ブラウザで記事をちょっと書いた感じでは異様に遅いとかないので、

podmanにブログを移行するのも悪くないかもしれない。




top