ページやブログ記事のプレビューでエラー(baserCMS 5.2.4)

【環境情報】
・baserCMSのバージョン:5.2.4
・レンタルサーバー名:Linux環境
・使用テーマ:BcThemeSample(デフォルト)
・PHPスキル(自己評価):/ C /
・PHPバージョン:8.1、8.3 の両方で検証

固定ページのプレビュー表示時、ブログ記事のプレビュー表示時に
An Internal Error Has Occurred.
エラー: アドレス ‘/XXXXXXX/?preview=publish’ に送信されたリクエストは無効です。
というエラーになってしまうようです。

baserCMS 5.2.4 インストール直後で、
初期テーマ(BcThemeSample)をそのまま使用している状態です。
サーバー側の設定が不足している等でしょうか?

エラーログは下記が出力されていました。

2026-06-18 09:49:54 error: [TypeError] Cake\Controller\Controller::setName(): Argument #1 ($name) must be of type string, null given, called in /var/www/html/XXXXXXXXXXXXXXXX/vendor/baserproject/baser-core/src/Controller/Admin/PreviewController.php on line 63 in /var/www/html/XXXXXXXXXXXXXXXX/vendor/cakephp/cakephp/src/Controller/Controller.php on line 343
Stack Trace:

  • /var/www/html/XXXXXXXXXXXXXXXX/vendor/baserproject/baser-core/src/Controller/Admin/PreviewController.php:63
  • /var/www/html/XXXXXXXXXXXXXXXX/vendor/cakephp/cakephp/src/Controller/Controller.php:498
  • /var/www/html/XXXXXXXXXXXXXXXX/vendor/cakephp/cakephp/src/Controller/ControllerFactory.php:139
  • /var/www/html/XXXXXXXXXXXXXXXX/vendor/cakephp/cakephp/src/Controller/ControllerFactory.php:114
  • /var/www/html/XXXXXXXXXXXXXXXX/vendor/cakephp/cakephp/src/Http/BaseApplication.php:332
  • /var/www/html/XXXXXXXXXXXXXXXX/vendor/cakephp/cakephp/src/Http/Runner.php:86
  • /var/www/html/XXXXXXXXXXXXXXXX/vendor/baserproject/baser-core/src/Middleware/BcRedirectSubSiteMiddleware.php:63
  • /var/www/html/XXXXXXXXXXXXXXXX/vendor/cakephp/cakephp/src/Http/Runner.php:82
  • /var/www/html/XXXXXXXXXXXXXXXX/vendor/baserproject/baser-core/src/Middleware/BcFrontMiddleware.php:52
  • /var/www/html/XXXXXXXXXXXXXXXX/vendor/cakephp/cakephp/src/Http/Runner.php:82
  • /var/www/html/XXXXXXXXXXXXXXXX/vendor/baserproject/baser-core/src/Middleware/BcAdminMiddleware.php:45
  • /var/www/html/XXXXXXXXXXXXXXXX/vendor/cakephp/cakephp/src/Http/Runner.php:82
  • /var/www/html/XXXXXXXXXXXXXXXX/vendor/cakephp/cakephp/src/Http/Middleware/CsrfProtectionMiddleware.php:169
  • /var/www/html/XXXXXXXXXXXXXXXX/vendor/cakephp/cakephp/src/Http/Runner.php:82
  • /var/www/html/XXXXXXXXXXXXXXXX/vendor/cakephp/authentication/src/Middleware/AuthenticationMiddleware.php:106
  • /var/www/html/XXXXXXXXXXXXXXXX/vendor/cakephp/cakephp/src/Http/Runner.php:82
  • /var/www/html/XXXXXXXXXXXXXXXX/vendor/cakephp/cakephp/src/Http/Middleware/BodyParserMiddleware.php:162
  • /var/www/html/XXXXXXXXXXXXXXXX/vendor/cakephp/cakephp/src/Http/Runner.php:82
  • /var/www/html/XXXXXXXXXXXXXXXX/vendor/cakephp/cakephp/src/Routing/Middleware/RoutingMiddleware.php:118
  • /var/www/html/XXXXXXXXXXXXXXXX/vendor/cakephp/cakephp/src/Http/Runner.php:82
  • /var/www/html/XXXXXXXXXXXXXXXX/vendor/baserproject/baser-core/src/Middleware/BcRequestFilterMiddleware.php:87
  • /var/www/html/XXXXXXXXXXXXXXXX/vendor/cakephp/cakephp/src/Http/Runner.php:82
  • /var/www/html/XXXXXXXXXXXXXXXX/vendor/cakephp/cakephp/src/Routing/Middleware/AssetMiddleware.php:69
  • /var/www/html/XXXXXXXXXXXXXXXX/vendor/cakephp/cakephp/src/Http/Runner.php:82
  • /var/www/html/XXXXXXXXXXXXXXXX/vendor/cakephp/cakephp/src/Error/Middleware/ErrorHandlerMiddleware.php:115
  • /var/www/html/XXXXXXXXXXXXXXXX/vendor/cakephp/cakephp/src/Http/Runner.php:82
  • /var/www/html/XXXXXXXXXXXXXXXX/vendor/cakephp/cakephp/src/Http/Runner.php:60
  • /var/www/html/XXXXXXXXXXXXXXXX/vendor/cakephp/cakephp/src/Http/Server.php:103
  • /var/www/html/XXXXXXXXXXXXXXXX/webroot/index.php:42
  • [main]:

Request URL: /XXXXXXXXXXXXXXXX/?preview=publish
Client IP: XXXXXXXXXXXXXXXX

こんにちは!
手元のローカル環境で baserCMS 5.2.4 を新規インストールし、
初期テーマ(BcThemeSample)の状態で確認してみました。

固定ページ・ブログ記事ともに、既存コンテンツの編集時プレビューと、
新規追加時の編集・プレビューを試してみましたが、こちらでは再現しませんでした。

載せていただいたログを見る限りでは、プレビュー対象のURLやルーティング情報を正しく取得できていない可能性がありそうです。

まずはプレビューボタン押下時に実際に生成されるURLと、
サーバーのドキュメントルート・.htaccess・リライト設定あたりをご確認いただくと、原因の切り分けが進めやすいかと思います!

buliさん、ありがとうございます。

プレビューボタン押下時のURLは下記にようなURLです。
「XXXXXXXX」というサブディレクトリを切り、そこへインストールしています。

https://www.sample.jp/XXXXXXXX/baser/admin/baser-core/preview/view?url=https://www.sample.jp/XXXXXXXX/&preview=publish

下記2つのhtaccessについて、
.htaccess
webroot/.htaccess

「RewriteBase」の設定を
RewriteBase /XXXXXXXX
にしたり、行頭に#をつけコメントアウトしてサーバー判断(?)
にしたりして試していますが、とくに挙動は変わりませんでした。

こんにちは。

確認したところサブディレクトリに設置するとプレビューでエラーになるbaserCMS本体のバグのようでした。
issuesを作成しましたので、修正されるのをお待ちいただければと思います。

サブディレクトリに設置しない状態ですと、プレビューも問題なく動作するようでしたので設置場所を変えられそうでしたら変更するのもよいかと思います。

issuesの作成 ありがとうございます。
よろしくお願いいたします。

baserCMS 5.2.5 で解決とのことで、自動アップデートをしようとしたところ、
下記のようなエラーがでてアップデートできませんでした。
これもサブフォルダに入れているためでしょうか?それとも別の問題でしょうか?

2026-07-01 18:34:32 error: Composer によるアップデートが失敗しました。update ログを確認してください。 2026-07-01 18:34:32 error: The repository at “/var/www/html/XXXXXXX/tmp/update” does not have the correct ownership and git refuses to use it:

@BSdevelop

こんにちは!

ログを見る限りでは、tmp/update の所有者に関するGitのエラーでアップデート処理が停止しているように見えます。

詳細な原因についてはサーバー環境によるところもありますが、/var/www/html/XXXXXXX/tmp/update の所有者と、アップデート処理を実行しているユーザーが一致しているかを確認すると、原因の切り分けができるかもしれません。

サブフォルダ配置が影響している可能性もありますが、まずはサーバー側の所有者(owner)の状態を確認してみるとよいかと思います。

確認しましたところ、
/var/www/html/XXXXXXX/tmp/update の所有者
アップデート処理を実行しているユーザー

は、どちらも同じでした。
ただし、BaserCMSのパッケージをアップしているユーザーは、
FTP用の別ユーザーです。

こんにちは。
横から失礼します。

/var/www/html/XXXXXXX/tmp/update の所有者と、
アップデート処理を実行しているユーザーが同じとのことですので、
tmp/update 自体については問題なさそうですね。

一方で、baserCMSのパッケージをアップロードしているユーザーが
FTP用の別ユーザーとのことですので、
baserCMS本体側のファイルやディレクトリの所有者が、
アップデート処理を実行しているユーザーと異なっている可能性がありそうです。

管理画面からのアップデートでは、tmp/update だけでなく、
最終的にbaserCMS本体側のファイル更新も行われるため、
設置ディレクトリ配下の所有者・権限もあわせて確認いただくとよいかもしれません。

特に、以下のようなファイルやディレクトリについて、
アップデート処理を実行しているユーザーが書き込み可能かを
ご確認いただくのがよさそうです。

  • baserCMSの設置ディレクトリ配下
  • vendor
  • composer.json
  • composer.lock
  • tmp 配下
  • logs
  • config

buliさん、ありがとうございます。
権限設定は下記のようです。

  • baserCMSの設置ディレクトリ配下
    設置ディレクトリ777 / FTPユーザー
  • vendor
    vendorフォルダ777 / FTPユーザー
    配下はフォルダ755、ファイル646)/ 実行ユーザー
  • composer.json
    666 / FTPユーザー
  • composer.lock
    666 / FTPユーザー
  • tmp 配下
    tmpフォルダ 777 / FTPユーザー
    cache 777 / FTPユーザー
    sessions 777 / FTPユーザー
    tests 777 / FTPユーザー
    update 755 / 実行ユーザー
  • logs
    logsフォルダ 777 / FTPユーザー
    内部ファイルは 644 / 実行ユーザー
  • config
    configフォルダ777 / FTPユーザー
    内部ファイル・フォルダは FTPユーザーのものは777で、実行ユーザーのものは644(但しinstall.phpは646)

こんにちは!
詳細な権限・所有者情報をご共有いただき、ありがとうございます。

ご共有いただいた内容を見る限り、tmp/update 自体の所有者と実行ユーザーは一致しており、
各ディレクトリにも書き込み権限が設定されているようです。

ただ、現在ご共有いただいている権限・所有者情報とエラーログだけでは、
なぜ所有者に関するエラーが発生しているのか、私の方では原因の特定までには至りませんでした。

サーバー環境による可能性もあるため、可能でしたら、
今回のエラーログとご共有いただいた権限・所有者情報を添えて、
サーバー管理者様またはレンタルサーバー会社へ、サーバー側の仕様や制限に関係するものかをご確認いただくのがよいかと思います。

サーバー側で確認された内容をご共有いただけましたら、引き続き原因の切り分けができるかと思います。

@BSdevelop
はじめまして。横から失礼します。

アップデート時のエラーということで、
いただいたログでは2つのエラーが出ているようです。

2026-07-01 18:34:32 error: Composer によるアップデートが失敗しました。update ログを確認してください。
2026-07-01 18:34:32 error: The repository at “/var/www/html/XXXXXXX/tmp/update” does not have the correct ownership and git refuses to use it:

スレットを見る限り権限は問題無さそうですので、1つ目のエラーが原因で処理が失敗→2つ目のエラーが出ている状態の可能性も考えられます。

baserCMS5.2.4から最新版へのアップデートでcomposer周りの設定値が原因で失敗する、という報告が別で上がっており、その解消方法が公開されているようですので、以下の情報を参考にcomposerの設定を更新、アップデートを試していただくことは可能でしょうか?

もし失敗した場合もログに変化があるかもしれません。
参考になれば幸いです。

Kryo513さん、
いただいた情報を参考に composer.json を変更してアップデートを試みたところ、
エラー無く処理が進み、無事 5.2.8 へアップデートできました。

Kryo513さん、buliさん、ありがとうございました。

「いいね!」 1