MODXを無料レンタルスペースにインストールしてみた

f0173567_12525682.jpg


無料レンタルスペースの「@PAGES」にMODXをインストールしてみた。

まず、@PAGESのスペックは以下のとおり。


  • 容量1GB

  • CGI(Perl 5、ruby1.8.6、python、C、C++)使用可

  • PHP-5.2.5使用可

  • Mysql4.1.22,SQLite

  • .htaccessはユーザ認証のみ

  • Apache/1.3.39 (Unix)



こんなサーバーにMODXを入れてみた。






MODXのインストール手順を解説しているサイトは少なくないので、一連の流れはそちらをご覧いただくとして、手順の過程は割愛する。

ただ、データベースだけはちと違う。@PAGESの管理画面にログインしてそこで作成する。データベース名はそのとき与えられる。localの代わりにこのデータベース名を設定する必要がある。

f0173567_13551876.jpg


さて、インストールが終了し、成功したようにみえた。

f0173567_137337.jpg


ログイン画面も表示できた。

f0173567_1375791.jpg


ここまでくれば、まず間違いなくインストールは成功。さて管理画面で諸々を設定だ、と。

アカウントとパスワードを入力して、クリック。管理画面には画面遷移しないで、こんな画面が表れた。

f0173567_1313189.jpg


どうやらログイン画面から管理画面へ画面遷移をしようとしているらしいのがわかる。

@PAGESでは、ユーザに提供するURLを http://www7.atpages.jp/foo/ の形式にしている。ところが、http://www7.atpages.jp/~foo/でもアクセス可能なのだ。

ゆえに、MODXのインストール過程で/fooがいつのまにか/~fooに移行されいる。これに気付かづにいたため、サイト内部のリンクはすべて/foo/*ではなく/~foo/*になってしまっていた。

失敗。せっかく/foo/で利用できるのだから、その方が美しい。データベースを削除し改めて最初からインストール開始。/foo/から/~foo/に移行した時点で、urlから~(チルダ)を取り除き、インストールを続けてゆく。

二度目のインストールが終わった。

やはり管理画面に遷移しない。パスワードが間違っているのか?

そこでphpMyAdminをチェック。調べるテーブルは、modx_user_attributes。

f0173567_13364827.jpg


この状態から、もう一度ログインを試みる。そしてmodx_user_attributesをチェック。

f0173567_1337516.jpg


blockedは0。パスワードの入力ミスはない。logincountが1増えて12回になっている。あ~、すでにもうログインしているのだ。ただ管理画面に遷移できないだけだ。

[表示]メニュー → [更新] (またはF5キー)を試してみると、管理画面にリダイレクトした。

ただし、MODXの管理画面はフレームを多用しているため、すべてのフレームに@PAGESの広告が表示されかなりうっとうしい。まぁ、無料で利用させてもらうので仕方ない。

しかしそれにしても/foo/が/~foo/に変わってしまうのは修正されてない。

Mysqlやらphpファイルやらさんざん探してようやく修正すべき箇所をみつけた。

manager/includes/config.inc.phpがそれだった。


この中の以下の部分。base_pathとbase_urlを割り当てるコードで、$_SERVER['PHP_SELF']も$_SERVER['SCRIPT_NAME']も、/fooではなく/~fooを返している。


// automatically assign base_path and base_url
if(empty($base_path)||empty($base_url)||$_REQUEST['base_path']||$_REQUEST['base_url']) {
$sapi= 'undefined';
if (!strstr($_SERVER['PHP_SELF'], $_SERVER['SCRIPT_NAME']) && ($sapi= @ php_sapi_name()) == 'cgi') {
$script_name= $_SERVER['PHP_SELF'];
} else {
$script_name= $_SERVER['SCRIPT_NAME'];
}



これに以下の一行を追加した

$script_name = str_replace("~","",$script_name);

サイト内リンクはすべて http://www7.atpages.jp/~foo/からhttp://www7.atpages.jp/foo/に置き換わった。

こうしておかないとクローラーにhttp://www7.atpages.jp/~foo/で拾われてしまうからね。

さて、管理画面からのログアウトであるが@PAGESの広告でログアウトのリンクが隠れてしまっている。一番の上のフレームだけを表示すればよい。

f0173567_1358536.jpg

[PR]

  by suiteama | 2008-07-08 14:09 | CMS

<< @PAGESでMODX 詐欺まがいの情報商材 >>

SEM SKIN - DESIGN by SEM EXE

free seo tool