WebARENA SuiteX:1.0.24Jインストール時に不具合

質問全般・改善要望
返信する
kazuike
メンバー
メンバー
記事: 507
登録日時: 2009年8月12日(水) 12:53

WebARENA SuiteX:1.0.24Jインストール時に不具合

投稿記事 by kazuike »

MODX 1.0.24J インストールで、
データベース設定画面において、各テストを行った際、
下記の2件の不具合(謎現象)が起こります。
なお、ブラウザは、Firefox、Chromeで試しましたが、どちらも同じ現象が起こります。

サーバは、
NTTPCコミュニケーションズ WebARENA SuiteX V2 スタンダードで、
マルチドメインを設定した、子ドメインを使用しています。
(もしかしたら、このサーバ特有の現象かもしれませんが…)

(1)「データベースホストへの接続」のテストにおいて
結果のメッセージが、日本語ではなく、
英語で「Connection to host: passed - collations now available」と表示されます。

(2)「利用するデータベースとTableプレフィックスの設定」のテストにおいて、
結果のメッセージが「Checking database: failed!」となり、先に進めません。

こちらで調べてみたところ、
install/connection.databasetest.php
において、
sessionv('database_server')
sessionv('database_user')
sessionv('database_password')
等の値が全て「NULL」で、
どうも、セッションの値が渡っていない等あるのかと思いますが、
何か思い当たること、ヒントになりそうな事等ありませんでしょうか?

ちなみに、
$_SESSION
の値は、
array(1) { ["evo_sid_hash"]=> string(32) "********************************" }
です。
("********************************"には実際には32バイトのハッシュらしき値が入っています)
最後に編集したユーザー kazuike [ 2021年7月07日(水) 10:04 ], 累計 1 回
▼ウェブ屋のCMS→modxヒキダス流(備忘録)
http://d.hatena.ne.jp/hikidas_ikeda/
kazuike
メンバー
メンバー
記事: 507
登録日時: 2009年8月12日(水) 12:53

1.0.24Jインストール時に不具合

投稿記事 by kazuike »

MODX 1.0.24Jのインストーラに関しては、
MODX公式サイト
https://modx.jp/docs/rserver/526.html
からリンクされている
viewtopic.php?f=32&t=414
に記載されている「config.inc.php」の改造内容

コード: 全て選択

$http_host = '@^/' . preg_quote($_SERVER['HTTP_HOST']) . '@';
$_SERVER['PHP_SELF'] = preg_replace($http_host, '', $_SERVER['PHP_SELF']);
$_SERVER['SCRIPT_NAME'] = preg_replace($http_host, '', $_SERVER['SCRIPT_NAME']);
を、
インストーラ「install/index.php」の最初の方(9行目あたり)に入れたところ、問題を回避することができました。

しかし、
インストール後のMODXについて(少なくとも1.0.24Jについて)は、
上記ページの「config.inc.php」の改造ではなく、
「initialize.functions.inc」を改造する必要がありました。
117行目~118行目

コード: 全て選択

    public static function get_base_url($base_path) {
        $SCRIPT_NAME = $_SERVER['SCRIPT_NAME'];
の2行の間に、以下のように2行挿入して、現在、様子を見ながら作業しています。

コード: 全て選択

    public static function get_base_url($base_path) {
        $http_host = '@^/' . preg_quote($_SERVER['HTTP_HOST']) . '@';
        $_SERVER['SCRIPT_NAME'] = preg_replace($http_host, '', $_SERVER['SCRIPT_NAME']);
        $SCRIPT_NAME = $_SERVER['SCRIPT_NAME'];
▼ウェブ屋のCMS→modxヒキダス流(備忘録)
http://d.hatena.ne.jp/hikidas_ikeda/
kazuike
メンバー
メンバー
記事: 507
登録日時: 2009年8月12日(水) 12:53

1.0.24Jインストール時に不具合

投稿記事 by kazuike »

上記の問題ですが、
NTTPCコミュニケーションズ WebARENA SuiteX の
マルチドメインの独自仕様によるものかと思われます。

例えば、マルチドメインで、
親ドメイン:hogehoge.jp
子ドメイン:fugafuga.com
を設定した場合。

親ドメインと子ドメインについて、
ドキュメントルートの位置関係が親子になるサーバは珍しくはないと思います。
例)
親ドメインのドキュメントルート:********/home
子ドメインのドキュメントルート:********/home/fugafuga.com

このような位置関係であっても、
PHPに渡されるパス等の環境情報は、私が知る限り多くのサーバでは、
それぞれのサイトのドキュメントルートを基点としたものが渡されます。
例)
親ドメインの$_SERVER['DOCUMENT_ROOT']:********/home/
子ドメインの$_SERVER['DOCUMENT_ROOT']:********/home/fugafuga.com/
親ドメインMODX管理画面の$_SERVER['SCRIPT_NAME']:/manager/index.php
子ドメインMODX管理画面の$_SERVER['SCRIPT_NAME']:/manager/index.php

ところが、
NTTPCコミュニケーションズ WebARENA SuiteX では、
子ドメインのPHPにも、親ドメインのドキュメントルートを基点とした情報が渡されます。
親ドメインの$_SERVER['DOCUMENT_ROOT']:********/home/
子ドメインの$_SERVER['DOCUMENT_ROOT']:********/home/
親ドメインMODX管理画面の$_SERVER['SCRIPT_NAME']:/manager/index.php
子ドメインMODX管理画面の$_SERVER['SCRIPT_NAME']:/fugafuga.com/manager/index.php
となっています。

よく見ると、
NTTPCコミュニケーションズ WebARENA SuiteX のマルチドメインは、
親ドメインの「.htaccess」で、mod_rewriteを使って、

コード: 全て選択

RewriteCond %{HTTP_HOST} ^(fugafuga.com)
RewriteCond %{REQUEST_URI} !^/(fugafuga.com)/
RewriteRule ^(.*)$ /%{HTTP_HOST}/$1/ [L]
と、子ドメインのパスを変換しているだけのようです。
▼ウェブ屋のCMS→modxヒキダス流(備忘録)
http://d.hatena.ne.jp/hikidas_ikeda/
アバター
yama
管理人
記事: 3236
登録日時: 2009年7月29日(水) 02:50

1.0.24Jインストール時に不具合

投稿記事 by yama »

WebArenaはWayfinderやWordPressなどでも過去に難解なトラブル報告があった記憶が
あったので、調べていたところでした。たしか修正したはずなんですが、また戻って
しまっているようです。
DOCUMENT_ROOT・SCRIPT_NAMEいずれもおかしいようですが、問題を起こしているのは
SCRIPT_NAME由来のほうですね。修正できると思いますので、後ほど調べてみます。

$_SERVER['PATH_INFO']と$_SERVER['PATH_TRANSLATED']の値はどうなってますでしょうか?
アバター
yama
管理人
記事: 3236
登録日時: 2009年7月29日(水) 02:50

1.0.24Jインストール時に不具合

投稿記事 by yama »

$_SERVER['SCRIPT_FILENAME']と$_SERVER['PHP_SELF']の値も知りたいです。
正しい値が渡っている変数を用いて修正する形にしたいと思います。
kazuike
メンバー
メンバー
記事: 507
登録日時: 2009年8月12日(水) 12:53

1.0.24Jインストール時に不具合

投稿記事 by kazuike »

$_SERVER['PATH_INFO']:/
$_SERVER['PATH_TRANSLATED']:********/home/
$_SERVER['SCRIPT_FILENAME']:********/home/fugafuga.com/manager/index.php
$_SERVER['PHP_SELF']:/fugafuga.com/manager/index.php/
($_SERVER['PHP_SELF']は、最後に「/」が付いています↑)

※MODXは手を加えているので、別途「manager/」内にphpinfo()のみのPHPを置いて出しました。
▼ウェブ屋のCMS→modxヒキダス流(備忘録)
http://d.hatena.ne.jp/hikidas_ikeda/
kazuike
メンバー
メンバー
記事: 507
登録日時: 2009年8月12日(水) 12:53

WebARENA SuiteX:1.0.24Jインストール時に不具合

投稿記事 by kazuike »

タイトルを変更しました。
▼ウェブ屋のCMS→modxヒキダス流(備忘録)
http://d.hatena.ne.jp/hikidas_ikeda/
アバター
yama
管理人
記事: 3236
登録日時: 2009年7月29日(水) 02:50

WebARENA SuiteX:1.0.24Jインストール時に不具合

投稿記事 by yama »

ありがとうございます。もうひとつ、$_SERVER['SERVER_NAME']はどうなってますでしょうか?
同じ値であれば$_SERVER['HTTP_HOST']ではなく$_SERVER['SERVER_NAME']を使ってみます。
kazuike
メンバー
メンバー
記事: 507
登録日時: 2009年8月12日(水) 12:53

WebARENA SuiteX:1.0.24Jインストール時に不具合

投稿記事 by kazuike »

$_SERVER['SERVER_NAME']:fugafuga.com
$_SERVER['HTTP_HOST']:fugafuga.com
▼ウェブ屋のCMS→modxヒキダス流(備忘録)
http://d.hatena.ne.jp/hikidas_ikeda/
アバター
yama
管理人
記事: 3236
登録日時: 2009年7月29日(水) 02:50

WebARENA SuiteX:1.0.24Jインストール時に不具合

投稿記事 by yama »

https://github.com/modxcms-jp/evolution ... .0.25J.zip
お待たせしました。こちらで試していただいてよいでしょうか?
kazuike
メンバー
メンバー
記事: 507
登録日時: 2009年8月12日(水) 12:53

WebARENA SuiteX:1.0.24Jインストール時に不具合

投稿記事 by kazuike »

NTTPCコミュニケーションズ WebARENA SuiteXは使用せず、
別のサーバに移行することになり、
今後テストすることはできないかもしれませんが、
インストールだけですが現時点で試した範囲で…

1.インストーラ
インストーラの画面が進まない問題は解消されています。

ちなみに、
「assets/cache」ディレクトリが無いのでインストーラでエラーになります。
「assets/cache」ディレクトリを作成すると通りました。

2.管理画面
インストール後、管理画面が
http://fugafuga.com/fugafuga.com/manager/
にリダイレクトされます。
グローバル設定の「サイトURL」「ベースURL」も、それに従ったアドレスになります。

ここでグローバル設定を更新せず、
http://fugafuga.com/manager/
で開きなおしてログインしても、
http://fugafuga.com/fugafuga.com/manager/
にリダイレクトされます。

グローバル設定で、
「サイトURL」「ベースURL」を修正して更新後、ログアウト。
あらためて、
http://fugafuga.com/manager/
で開きなおしてログインしても、
http://fugafuga.com/fugafuga.com/manager/
にリダイレクトされます。

管理画面から「サイトを表示」したら、
http://fugafuga.com/fugafuga.com/
が開かれます。
(<base href="http://fugafuga.com/fugafuga.com/" />)

直接ブラウザでURLを指定すれば
http://fugafuga.com/
で開くことはできました。
(<base href="http://fugafuga.com/" />)
▼ウェブ屋のCMS→modxヒキダス流(備忘録)
http://d.hatena.ne.jp/hikidas_ikeda/
返信する