○ Xoops Cube のインストール

*xoopsでホームサイトを立ち上げます
*Package_Legacy_2_1_8をインストールします
*基本言語は"ja_utf8"で設定します
*既にWEBサーバ (PHPを含む) が起動していること
*インストールはメンテナンスマシンで行っています
*本サイトはPackage_Legacy_2.1.7からのupdateです

**以降はコメントです
*ファイルの取得、削除は省略します
*エディタ、ファイラーの操作は省略します
*ファイルを展開したら説明文を読みましょう
*Enterキーを省略します

*ログイン端末で "#" はroot、"$" は一般ユーザのプロンプトの記号です
*設定ファイルで "#" で始まる行はコメントとして解釈されます

○関連サイト

:Package_Legacy_2_1_8.zip  (http://xoopscube.jp/)

○参照ファイル

最初の設定 (Xen)
MySQLのインストール
httpd/phpのインストール

○インストール環境

:OS CentOS 5.5
:selinux disabled or permissive
:インストール先  /home/www/htdocs/
:作業 /usr/src
:ユーザー rootで実行

*メンテナンスは一般ユーザから行います

○xoops用設定例

:データベースユーザ名 uranus
:データベース名 xoopsdata
:xoopsへのパス /home/www/htdocs
:xoopsへのURL http://ja.528p.com
:xoops管理者名 neptune
:管理者メールアドレス moonlight@528p.com

○xoops試験用設定例 (ローカルで使用する場合)

:データベースユーザ名 uranus
:データベース名 xoopsdata
:xoopsへのパス /home/www/htdocs
:xoopsへのURL http://mars.528p.com
:xoops管理者名 neptune
:管理者メールアドレス moonlight@528p.com



○Package_Legacy_2_1_8

○ファイルの展開・コピー

*htdocsはhttpdのsuexecオプションに合わせています
*適宜自分の設定するディレクトリに合わせてください
*ja_utf8の言語ファイルをextrasからコピーします
*systemモデュ−ルをextrasからコピーします
*systemモデュ−ルは、xoops2.0.xモデュールへの対応です

# cd /usr/src
# unzip Package_Legacy_2_1_8.zip
# cd Package_Legacy
# ls
docs  extras  html
# cp -a extras/extra_languages/ja_utf8/html .
# cp -a extras/system html/modules

*/home/www/htdocsディレクトリへコピーします

# cp -a html/* /home/www/htdocs

○php-5.3.xヘの対応

*xoops のファイルは WindowsのCR+LF の改行コードになっています
*ー部分 を +部分 にエディタで修正します(ー+は書き込まない)

:html/modules/legacy/kernel/Legacy_Module.class.php

--- Legacy_Module.class.php	2008-11-23 20:24:44.000000000 +0900
+++ Legacy_Module.class.php.new	2010-03-27 12:31:56.000000000 +0900
@@ -399,6 +399,11 @@ class Legacy_ModuleAdapter extends Legac
 	 */
 	var $mAdminMenu = null;
 	
+	function Legacy_ModuleAdapter(&$module)
+	{
+	parent::Legacy_AbstractModule($module);
+	}
+
 	/**
 	 * @public
 	 * @brief This method is called back by the action search feature in the control

○オーナー・グループ・パーミッションを変更します

*httpd (apache) の設定コンセプトに合わせます

# chown -R apache:apache /home/www/htdocs
# find /home/www/htdocs -type f -print0 | xargs -0 chmod g-w,o-rwx
# find /home/www/htdocs -type d -print0 | xargs -0 chmod g-rw,o-rw



○xoopsの設定

○MySQLにxoops用データベースを作ります

:設定例 ( データベース名cubedata,ユーザーuranus,パスワードyyyyyyyyyy )

MySQLの設定を参照

*mysqlの管理者 (root) でログインします

# mysql -u root mysql -p
password:← パスワード(mysql管理者)の入力

*データベースの作成

mysql> create database cubedata;

*データベースに全権を持つユーザーの作成

mysql> grant all on cubedata.* to uranus@localhost identified by 'yyyyyyyyyy';
mysql> flush privileges;

*ログアウト

mysql> exit;

○2ndマシンからxoopsにアクセスします

*インストールドキュメントが用意されているので、参照します
*modsecurityが有効な場合、installできないので一時的に止めておきます

:URL ( http://ja.528p.com/install/index.php )

インストール第1ステップ
:インストール画面
:ja_utf8を選択 →次へ
:XOOPS Cubeのインストールウィザード →次へ
:ファイルのアクセス権のチェック →次へ

:データベース及びパス・URLの設定
 データベースサーバ :mysql
 データベースサーバのホスト名 :localhost
 データベースユーザ名 :uranus
 データベースパスワード :yyyyyyyyyy
 データベース名 :cubedata
 テーブル接頭語 :そのまま使用
 SALT :そのまま使用
 データベースの持続的接続 :いいえ
 xoopsへのパス :/home/www/htdocs
 xoopsへのURL :http://ja.528p.com

→次へ

:設定内容の確認 →次へ
:設定の保存 →次へ
:パス・URLのチェック →次へ
:データベース設定の確認 →次へ
:データベースをチェック →次へ
:データベーステーブルが作成されました →次

:サイト管理者についての設定
 管理者ユーザ名 :neptune
 管理者メールアドレス :moonlight@528p.com
 管理者パスワード :************
 再入力 :************

→次へ

:データの生成 →次へ
:インストール完了 →次へ

インストール第2ステップ
 管理者ユーザ名  neptune
 管理者パスワード  ************
ログイン


Module Status
legacy 必須(未導入)
user 必須(未導入)
legacyRender 必須(未導入)
stdCache 必須(未導入)
pm 導入推奨

インストール

○ファイルのアクセス権を変更します

:installディレクトリの名前変更 (または別の場所に移す)

# cd /home/www/htdocs
# mv install install-*******

:mainfile.phpのパーミッションの変更

# cd /home/www/htdocs
# chmod 400 mainfile.php



○ httpd (apache) のアクセス制御

*xoops用の設定ファイルを作成し、httpd.confで読み込みます
*.htaccessでの制御は非力なマイサーバでは、負担になります

:/etc/httpd/conf/httpd.conf

*省略

<Directory "/home/www/htdocs">
    Options SymLinksifOwnerMatch IncludesNoExec
    AllowOverride None
    Order allow,deny
    Allow from all
    <Files mainfile.php>
      deny from all
    </Files>
</Directory>

*省略

Include /etc/httpd/conf/extra/httpd-xoops.conf

:/etc/httpd/conf/extra/httpd-xoops.conf

*他のディレクトリに影響しないように、正規表現の書き方に注意します

<DirectoryMatch "/htdocs/(include|cache|uplads)">
    AddType text/plain .php4 .php3 .phtml .cgi .pl
    <Files ~ ".php$">
        order deny,allow
        deny from all
    </Files>
</DirectoryMatch>

<DirectoryMatch "/htdocs/(class|templates_c|kernel|language|trust)">
    order deny,allow
    deny from all
</DirectoryMatch>

<DirectoryMatch "/modules/myalbum/(include|language|sql|templates)">
    order deny,allow
    deny from all
</DirectoryMatch>

<DirectoryMatch "/modules/myalbum0/(include|language|sql|templates)">
    order deny,allow
    deny from all
</DirectoryMatch>

<DirectoryMatch "/modules/altsys/(include|blocks)">
    order deny,allow
    deny from all
</DirectoryMatch>

<DirectoryMatch "/modules/sitemap/(include|language|plugins|blocks|templates)">
    order deny,allow
    deny from all
</DirectoryMatch>

<DirectoryMatch "/modules/contact/(language|templates)">
    order deny,allow
    deny from all
</DirectoryMatch>

<DirectoryMatch "/modules/mylinks/(language|sql|templates|include)">
    order deny,allow
    deny from all
</DirectoryMatch>



○差し分アップデート

○ファイルの展開・コピー (2_1_7 to 2_1_8)

*"2_1_8"で"2_1_7"の全ファイルを上書きコピーします
*ja_utf8の言語ファイルをextrasからコピーします
*systemモデュ−ルをextrasからコピーします
*installディレクトリ、mainfile.phpを削除します
*自分でhackしているファイルがあれば修正します
*yesコマンドをパイプして"y"の入力を省略します

# cd /usr/src
# unzip Package_Legacy_2_1_8.zip
# cd Package_Legacy
# ls
docs  extras  html
# cp -a extras/extra_languages/ja_utf8/html .
# cp -a extras/system html/modules
# rm -rf html/install
# rm -f html/mainfile.php

# yes | cp -a html/* /home/www/htdocs

*以下省略


○オーナー・グループ・パーミッションを変更します

*httpd (apache) の設定コンセプトに合わせます

# chown -R apache:apache /home/www/htdocs
# find /home/www/htdocs -type f -print0 | xargs -0 chmod g-w,o-rwx
# find /home/www/htdocs -type d -print0 | xargs -0 chmod g-rw,o-rw



○参考

*失敗すれば動かなくなるので、実行する前に必ずバックアップを取ります

○改行コードを LF に変換(必須ではない)

*特定のファイルの改行コードを CR+LF から LF に変換します

# find -name '*.html' -o -name '*.php' -o -name '*.css' -o -name '*.tpl' \
-o -name '*.sql' -o -name '*.txt' -o -name '*.js' | xargs dos2unix

*オーナー・グループの変更

# chown -R apache:apache /home/www/htdocs

○php-5.3のDEPRECATED警告(古いコード使用)への対処

*php.iniのerror_reporting = E_ALL & ~E_DEPRECATED に変更します
*または、phpコードを置換(& new → new)します(必須ではない)

*txtファイルに出力して& newの部分を確認

# find -name '*.php' | xargs grep '& new' > php-new.txt

*bakファイルを作成して、phpコードの変換

# find -name '*.php' | xargs grep -l '& new' | xargs sed -i.bak 's/& new/ new/g'

*オーナー・グループの変更

# chown -R apache:apache /home/www/htdocs

○ Copyright(c) 528p.com All Rights Reserved.