« ESCAPE R3 足回りの部品交換 チェーン、プーリー、チェーンリング、シフトワイヤー、カセットスプロケット | トップページ | Debian で Windows用 LINE を動かす »

2024年12月 7日 (土)

Debian 12 で apache2 と Wordpress を動かす  固定ページが見えるようになるまで

Mozilla のコミュニティーサイトで、ログインしてもイベントが作成できない不具合が続いている。発生しているユーザーとそうでないユーザーがいるらしい。手元で再現を試みるため、Wordpress パッケージをインストールしてみた。

しかし、パッケージをインストールしただけでは、Permalink を post-name にした場合に固定ページが Not Found になって表示されない。

試行錯誤した結果、固定ページが表示されるようになった。

作業した順序とは違うが、後で見たときにポイントがわかるよう、まとめる。

想定:

  1. Apache の VirtualHost を使う。 comm.quarx.islocal  をサイト名に使用し、/etc/hosts でも設定してある。
  2. Apache2 パッケージでインストールされる既定のサイト設定000-default.conf は使わない
  3. マルチホストは使わない
  4. /etc/wordpress/htaccess は使わない(すべてコメントアウト)

手順:

  1. インストールするパッケージ
    明示的に、この4つを指定すると必要なものは依存関係で入ってくる。Apt の設定で、Recommended パッケージはインストールしないことにしている
    # apt install apache2 wordpress mariadb-server wordpress-theme-twentytwentythree
  2. MariaDB で Wordpress 用にデータベースを作る
    緑字の wordpress wordpress_user password は、データベース名、接続ユーザー名、接続パスワード なので、適宜変更すること。
    # mariadb
    MariaDB> create database wordpress default character set utf8 collate utf8_unicode_ci;
    MariaDB> grant all on wordpress.* to 'wordpress_user'@'localhost' identified by 'password';
    MariaDB> flush privileges;
    MariaDB> exit;
  3. Wordpress の設定ファイルに、DBの設定を書き込む。
    comm.quarx.islocal  はブラウザーで開くときのサイト名なので、適宜変更すること。
    # cp /usr/share/doc/wordpress/examples/config-default.php /etc/wordpress/config-comm.quarx.islocal.php
    # vi /etc/wordpress/config-comm.quarx.islocal.php
  4. Wordpress パッケージから Apache の設定をコピーし編集する。  ベースにするのは一番上の VirtualHost の例
    # cd /etc/apache2/sites-available
    # cp /usr/share/doc/wordpress/examples/apache.conf wordpress-virtualhost.conf
    # vi wordpress-virtualhost.conf
    • rewrite:trace2 は、Rewriteモジュールでの書き換えを追いかけるためにログレベルを設定したもの。
    • /wp-content 以下のファイルは、 /var/lib/wordpress/wp-content に入っている
    • 固定ページはデータベース内に格納されるため、固定ページへのリクエストはファイルシステム上には存在しないファイルを指すことになる。(そうでないと、固定ページの表示に混乱が生ずるはず。)これらは、 /usr/share/wordpress/index.php に面倒を見てもらう。
      • このあたりの書き換えは、 .htaccess に書くのが一般的なようだが、 /etc/wordpress/htaccess は使わないため、ここに書く。

        <VirtualHost comm.quarx.islocal:80>

        ServerName comm.quarx.islocal
        UseCanonicalName Off
        VirtualDocumentRoot /usr/share/wordpress
        Options All

        LogLevel rewrite:trace2

        # wp-content in /var/lib/wordpress/wp-content/$0
        RewriteEngine On
        RewriteRule ^/wp-content/(.*)$ /var/lib/wordpress/wp-content/$1

        RewriteCond /usr/share/wordpress/%{REQUEST_URI} !-f
        RewriteCond /usr/share/wordpress/%{REQUEST_URI} !-d
        RewriteRule . /usr/share/wordpress/index.php [END]

        </VirtualHost>

  5. Apache のモジュールを有効化し、Wordpress サイトを有効化し、デフォルトサイトを無効化して Apache を起動する
    # a2enmod rewrite && a2enmod vhost_alias
    # a2ensite wordpress-virtualhost.conf && a2dissite 000-default.conf
    # systemctl start apache2
  6. Wordpress で設定する
    1. ブラウザーで http://comm.quarx.islocal/ を開く
    2. Site Title:
      Username:
      Password:
      Your Email:
      を設定する。
    3. 管理画面 の 一般設定で、Wordpressアドレスと、サイトアドレスを comm.quarx.islocal  とする。
    4. 管理画面 の Permalink 設定で、post-name にする。

  7. 固定ページを作成して、表示できればOK。

« ESCAPE R3 足回りの部品交換 チェーン、プーリー、チェーンリング、シフトワイヤー、カセットスプロケット | トップページ | Debian で Windows用 LINE を動かす »

パソコン・インターネット」カテゴリの記事

コメント

コメントを書く

コメントは記事投稿者が公開するまで表示されません。

(ウェブ上には掲載しません)

« ESCAPE R3 足回りの部品交換 チェーン、プーリー、チェーンリング、シフトワイヤー、カセットスプロケット | トップページ | Debian で Windows用 LINE を動かす »

2026年7月
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31  
無料ブログはココログ