XOOPSインストール失敗から復旧まで

●XOOPS 概要(公式サイトより)

XOOPS(ズープス)とは、PHP言語を用いたコミュニティサイト構築用ソフトです。
PHP4およびMySQLが利用可能なサーバであれば、約 5 分でインストールでき、
直ちに当サイトのようなユーザ登録型コミュニティサイトを立ち上げることが可能です。

このページでは、XOOPSの機能や運用については触れません。
インストールに失敗し、復旧した過程についてのみ述べています。

現象は「インストールは正常に終わったのに、白紙ページが表示される」です。


操作名
内容
1.入手 XOOPS の入手先 →
2.トラブルの原因 ファイル名が書き換わっていました →
3.復旧の手順 失敗したときの手順と、復旧の手順 →
(参考) GoLiveのパーミッション設定 →

1.入手

XOOPS日本公式サイト

http://jp.xoops.org/

に接続します。

ソフトウエアやモジュールを提供してくれる人や、海外の情報を提供してくれる人たちに感謝してからダウンロードしましょう。


2.トラブルの原因

サーバ上の下記ファイルをチェック!!

html/class/samaty/core/core.assemble_plugin_filepath.php
html/class/samaty/core/core.assign_smarty_interface.php
html/class/samaty/core/core.process_compiled_include.php
html/class/samaty/core/core.write_compiled_resource.php

【トラブルの原因】

いきなりですが、当方ではインストール失敗の原因はhtml/class/samaty/ディレクトリの上記4ファイルにありました。

正常にインストールできていない方は、とりあえずこれらのファイルをチェックしてみましょう。

ローカルじゃないですよ、サーバ上のファイルを確認して下さいね。

サーバ上でファイル名が化けてしまっているファイル(赤線)と、正常にコピーできている同じファイル(青線)。

化けているファイルはすべてこのディレクトリ内にありました。

共通しているのはファイル名が31文字以上あるということ。
Dreamweaver では化けてしまったが、GoLiveでは化けなかった。

3.復旧の手順

【重要】
あくまで自分の体験のみを書いています。ここに書かれている手順が正しいことを保証するわけではありません。

特にサーバに対する操作については、サーバによって異なることがあります。

自社サーバ(自宅サーバ)でない場合、「自己責任ではすまないことがある」ことをご理解下さい。


【重要】
サーバ上のデータベースに対して「データテーブルの削除」という操作が必要かもしれません。あらかじめデータテーブルの削除方法についてのドキュメントがサーバ管理者から提供されていないかを確認することを強くお勧めします。

ドキュメントがなかった場合、サーバ管理者にデータテーブルの削除について問い合わせる必要があるかもしれません。


【失敗編】
1 サーバ管理者から提供されているドキュメントを見て、データベースの設定を行った。
2 公式サイトからダウンロードしたファイルを解凍後、Macintosh版Macromedia Dreamweaver MXでサーバ上にアップロードした。
3 Dreamweaverでパーミッションを変更する方法がわからなかったので(注)、Adobe GoLive で全てのファイルのパーミッションを755に変更した。
4 そのとき、いくつかのファイルのパーミッション変更に失敗したというダイアログが出たようだったが、気にとめないで無視した。
5 /install/index.phpを実行した(インストールを開始した)。
6 この時点でのエラーはなかった。データベースにも正常に接続され、テーブルの生成も問題なく行われた。
7 「インストールに成功しました」というダイアログが出た。「こちらから確認して下さい」の「こちら」をクリックしたが、表示されたページは白紙だった。
8 ファイルをアドレスで指定しても同様に白紙のページ表示された。

 

(注)Dreamweaverでパーミッションを変更する方法
Dreamweaverでパーミッションの変更ができるようになったのはMX2004以降らしい。
Macromediaのサイトには旧バージョン用のパーミッション変更エクステンションが公開されているが、インストールは成功しているのに使えなかった。
「すべてのサーバで動作するわけではありません」と書いてあった。…おいおい。


【復旧編】
1 サーバ上にアップロードしたファイルをすべて削除した。
2 念のため公式サイトからファイルをダウンロードしなおし、Dreamweaverで再度アップロードした。
3 GoLiveでパーミッションを755に変更した。
4 パーミッションの変更に失敗したというダイアログが出た。
5 GoLiveで表示されたテキストを見て、サーバ上のファイルを確認すると、変更に失敗したファイルが文字化け(ファイル名が変わってしまっている)していることに気が付いた。
6 当該のファイルをGoLiveでアップロードしなおすと、文字化けせずにアップロードすることができた。
7 アップロードしたファイルのパーミッションを変更した。
8 /install/index.phpを実行した(インストールを開始した)。
9 インストール中に「テーブルがすでに存在します」というエラーが出て、先に進めなくなった
10 インストールを中断して、サーバ管理者から提供されているドキュメントを見て、データベースのテーブルを削除した。
11 再度XOOPSのインストールを行い、正常にインストールが終了した。「こちらから確認して下さい」の「こちら」をクリックすると、初期画面が表示された。
12 /install ディレクトリの削除と、一部のファイルのパーミッション変更を行う指示が表示されたので、指示通り削除と変更を行った。

 


(参考)GoLiveのパーミッション設定

GoLiveでのパーミッションは(当然だが)サーバ上のファイルに対して行う。

パーミッションは「ロック」として表示されている。多くのFTPソフトが「設定はできるが確認はできない」ことを考えると、大変便利だ。


パーミッションを変更するウインドウは、ファイルを選択して[ウインドウ]から[インスペクタ]を選び[FTPアクセス]のタブを選ぶ。

チェックボックスをクリックすることで変更できる。
ローカル側のファイルを選択してもこのタブは表示されない。サーバに接続した状態で行う必要がある。