雑記帳

  • WordPressサブディレクトリ運用時のトラブルと解決方法

    カテゴリー:

    -ChatGTPの助けを借りて-


    自宅サーバー立ち上げで立ち上げたはずのサーバーがうまく動作しない。具体的には、WordPressインストールディレクトリを公開URLに表示させないようにしたところ、ディレクトリは公開されない設定には成功した。しかし、wordpressの標準でついてるブロックエディタ(Gutenberg)で編集した投稿内容が保存ができない。保存ボタンを押すと保存中のまま進行しない。

    という状況に陥ってしまいました。いくらやっても解決しないので、困ったときのChatGTPだのみです。ChatGPT(GPT-5.5)に調査を依頼し、一緒に原因を一つずつ切り分けていくことにしました。

    数時間にわたり、WordPress・Apache2の設定について順番に確認した結果、原因は、幾つかの設定ミスであったことが判りました。

    同じ症状で困っている方の参考になればと思い、ChatGTPと一緒に解決した方法をまとめました。

    構成

    • OS:Ubuntu 24
    • Webサーバー:Apache2
    • WordPress本体:/var/www/html/****
    • 公開URL:https://kagaku.info
    • WordPressアドレス:https://kagaku.info/****
    • サイトアドレス:https://kagaku.info

    発生した問題

    WordPressのインストールディレクトリを公開URLに表示しない設定後、次の現象が発生しました。

    • ブロックエディタ(Gutenberg)で保存すると「保存中」のまま終了しない
    • https://kagaku.info/wp-json/Not Found
    • パーマリンクを「基本」以外に設定すると記事が Not Found になる

    原因

    1. Apacheの mod_rewrite が無効だったため、WordPressのリライトルールが機能していなかった。
    2. 000-default.confwordpress.conf の2つのVirtualHostが同時に有効になっており、DocumentRoot が競合していた。
    3. 000-default.confAllowOverride All の設定がなく、.htaccess のリライトルールが適用されていなかった。

    解決方法

    1. mod_rewrite を有効化

    sudo a2enmod rewrite
    sudo systemctl restart apache2
    

    2. 000-default.conf を修正

    DocumentRoot/var/www/html とし、次の設定を追加。

    <Directory /var/www/html>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>
    

    3. wordpress.conf を無効化

    sudo a2dissite wordpress.conf
    sudo systemctl reload apache2
    

    これにより、VirtualHostの競合を解消されました。

    動作確認

    以下を確認し、すべて正常に動作しました。

    • /wp-json/ がJSONを返す
    • パーマリンクが正常に表示される
    • ブロックエディタで保存できる
    • サイトが https://kagaku.info で正常に表示される

    現在の構成

    • 有効なVirtualHost:000-default.conf のみ
    • DocumentRoot/var/www/html
    • WordPress本体:/var/www/html/****
    • ルートの index.php から wordpress/wp-blog-header.php を読み込む構成

    今回のトラブルは複数の要因が重なっていましたが、ChatGTPの力を借りて、一つずつ切り分けて原因を特定できたため、根本的な解決に至りました。今後同様の構成を構築する際にも役立つ手順になると思います。

  • WordPressサブディレクトリ運用時のトラブルと解決方法

    -ChatGTPの助けを借りて- 自宅サーバー立ち上げで立ち上げたはずのサーバーがうまく動作しない。具体的には…

  • 24時間血圧測定

    24時間血圧測定

    「血圧計の測定値の違い」でご紹介したスマートウォッチ型の手首式ウェアラブル血圧計(HUAWEI WATCH D…

  • 自宅サーバー立ち上げ

    「科学のつまみ食い」のサーバーの歴史 本自宅サーバを再構築しましたので、その経緯についてちょっと書いておきます…

  • 血圧計の測定値の違い

    血圧計の測定値の違い

    OMRON HCR-7206T2 vs. HUAWEI WATCH D2 最初の投稿が「血圧計」というのもなん…

  • 新「科学のつまみ食い」運用開始

    新サーバーの設定やホームページ設定がおおよそ終了したので「科学のつまみ食い」をリニューアルして再開します。 未…

  • SSL化しました

    SSL化し、当ウェブサイト「科学のつまみ食い」と閲覧されている皆様(ユーザー)との間の通信を暗号化し、安全に情…

  • 「旧科学のつまみ食い」を追加

    「旧科学のつまみ食い」のリンクを追加しました。 静的サイトとして追加していますが、「タグ」、「最近の投稿」等の…

  • Test

    Test

    現在このページはテスト用に使用しています。 いろいろ変化しますが、ご容赦ください Posts by kagak…

  • 「科学のつまみ食い」は再構築中です

    「科学のつまみ食い」は再構築中です

    再開までしばらくお待ち下さい。 もうしばらくお待ち下さい。