# XOOPS9 ディストリビューションについて

XOOPS9 ディストリビューションは XOOPS 本体（XOOPS Cube Legacy）と小規模コミュニティの運営に便利なモジュールをパックしたものです。 インストール後まずは同梱のモジュールだけでコミュニティサイトの運用を開始できるようにとつくられました。 またパッケージの際にプログラム部分をまったく変更していませんので、通常の手順でインストールした時と同じように XOOPS本体・モジュールを個別にバージョンアップを行えます。

このファイルに一度目を通して全体の流れを把握してから、実際のインストール作業を始められることをおすすめします。

# 準備

配布ファイルの html フォルダ内部にあるファイル・フォルダをサーバのサイトを公開したいアドレスへアップロードします。アップロードが完了したら、公開予定アドレスへ Webブラウザでアクセスするとインストールウィザードが開始しますが、インストールを始める前に以下の項目を確認しておいてください。

> ## 必要なソフトウエア

> - ウェブサーバ(Apache, IIS, Roxen, など)
> - PHP 4.3.2以降
> - データベースサーバ（MySQL Database 3.23.XX）

> ## 準備

> - ウェブサーバ、PHP、データベースサーバを適切にセットアップする。
> - XOOPS Cube Legacy用にデータベースを１つ準備する。
> - 上記のデータベースにアクセスできる、データベースサーバのユーザアカウントを準備する。
> - uploads/、cache/およびtemplates_c/ディレクトリと、mainfile.phpファイルをPHPから書込み可能にする。
> - ブラウザのクッキーとJavaScriptをオンにする。

> （インストールウィザード冒頭より）

XOOPS 本体が動作する PHP のバージョンは上記の通り 4.3.2以降ですが、モジュールによっては 5以降が必要な場合がありますので、可能であれば PHP 5以降を用意することをおすすめします。

# インストール　第１ステップ

ファイルをアップロードしたアドレスへ Webブラウザでアクセスするとインストールウィザードが開始しますので指示に従って必要事項を入力して下さい。

# XOOPS_TRUST_PATH の設定

インストール第１ステップ完了後、第２ステップへ進もうとすると XOOPS_TRUST_PATH が設定されていないと表示されます。

XOOPS_TRUST_PATH はセキュリティ上の理由からサーバの非公開領域（ドキュメントルート外）へ設置することが強く推奨されています。しかし、このパッケージではインストール環境の汎用性を重視して初期状態では公開領域へ配置し、.htaccess ファイルでアクセスを禁止する方法を採用しています。

もし、サーバの非公開領域（ドキュメントルート外）へのファイル設置が可能な環境へインストールされる場合は、配布ファイルのhtmlフォルダ内にある xoops_trust_path フォルダをドキュメントルート外へ移動してインストールして下さい。

画面に表示されているとおりMySQL（データベース）のパスワードを入力して送信すると具体的な書き換え内容（取消線の部分（54行目付近）を探し、赤字の内容に書き換える）が表示されますので、サーバから一度 mainfile.php をダウンロードし、指示された書き換えを行ってからサーバへ再度アップロードして下さい。

- 最初にアップロードしたファイルとは内容が変わっていますので、必ずダウンロードしてから作業して下さい
- 下図では windows 環境でインストールしているので設定するパスが D: とドライブ名から始まっていますが、多くのレンタルサーバなど unix 系の場合 / から始まります

mainfile.php の書き換えとアップロードが完了したらブラウザを再読込してください。正しく XOOPS_TRUST_PATH が設定されていればブラウザに以下のように表示されます。この状態になったら再度サイトのアドレスへアクセスしてインストールの第２ステップを行って下さい。

# インストール　第２ステップ

サイトのアドレスへアクセスしてログインします。

必須モジュールのインストールを求められますので同時に pm と altsys と protector もインストールしておきます。

必須モジュールのインストールが完了するとインストールの第２ステップも終了です。以降は使わない install フォルダを削除するように表示されますので、指示どおりに install フォルダを削除します。

install フォルダを削除したあと再度サイトのアドレスへアクセスし、管理者メニューへ入ると mainfile.php が書き込み可能になっていると表示されますが、ここではいったんそのままにしておき、続けて protector のインストールを行います。（protector のインストールで mainfile.php を書き換える必要があるため）

# protector のインストール

下図の赤丸で囲まれた部分をクリックして protector の管理メニューへアクセスします。

セキュリティガイドで現在の状況を確認します。mainfile.php の項目で非推奨と表示されています。

mainfile.php をエディタなどで開き、ファイルの末尾のほうで以下のように書かれている部分を探します。

        //    It is synonym of $xoopsOption['nocommon']=1;
        //    But $xoopsOption['nocommon'] is deprecated.
        //
        if (!defined('_LEGACY_PREVENT_LOAD_CORE_') && XOOPS_ROOT_PATH != '') {
            include_once XOOPS_ROOT_PATH.'/include/cubecore_init.php';
            if (!isset($xoopsOption['nocommon']) && !defined('_LEGACY_PREVENT_EXEC_COMMON_')) {
                include XOOPS_ROOT_PATH.'/include/common.php';
            }
        }
    }

ここへ赤字の二行を書き加えます。

        //    It is synonym of $xoopsOption['nocommon']=1;
        //    But $xoopsOption['nocommon'] is deprecated.
        //
        if (!defined('_LEGACY_PREVENT_LOAD_CORE_') && XOOPS_ROOT_PATH != '') {
            include_once XOOPS_ROOT_PATH.'/include/cubecore_init.php';
            include XOOPS_TRUST_PATH.'/modules/protector/include/precheck.inc.php';
            if (!isset($xoopsOption['nocommon']) && !defined('_LEGACY_PREVENT_EXEC_COMMON_')) {
                include XOOPS_ROOT_PATH.'/include/common.php';
            }
            include XOOPS_TRUST_PATH.'/modules/protector/include/postcheck.inc.php';
        }
    }

mainfile.php をアップロードし、再度 protector のセキュリティガイドを確認します。

すべての項目で ok と表示されていればインストール完了です。

管理メニューのトップに表示される指示どおり mainfile.php の属性を書き込みできないように設定します。

# インストール完了

以上で基本機能のインストールが完了しました。この後は 互換モジュール→モジュールのインストールから必要な機能をインストールていきます。