Nucleus: XREA サーバへの設置 (文字化け・広告対応)
思うところあって、ブログツール Nucleus をインストールしてみた。しばらくいじってみるつもり。
設置したのは、
- 最新版「Nucleus v3.3 日本語版」(UTF-8版) [2007.5.1]
- XREA s206 サーバ(無料・広告あり)
以下、インストール作業メモ。
目次:
パッケージの入手と設置方法(リンク)
- ダウンロード: Nucleus CMS Japan — Nucleus バージョン3.3 日本語版
- Nucleus CMS マニュアル (ver.3.22 用?)
- インストール方法: 同梱の
readme.html
設置環境
Nucleus 動作要件
downloads - Nucleus CMS Japan
- PHP4以上(Version 4.0.6以上)が稼動しているWebサーバー
- そのWebサーバーからアクセスできるMySQLデータベース(Version 2.23.x以上)
XREA s206 サーバ
XREA » サーバー情報
- Apache 1.3.37
- PHP 5.1.6
- MySQL 5.1.11
s201 とは少しバージョンが異なるが、s201 と同じく、デフォルト文字コードは EUC-JP。
Nucleus スクリプト側で考慮していなければ、SET NAMES utf8 が必要になると思われる。
以前から .htaccess に
php_value mbstring.internal_encoding UTF-8
を入れてあって、そのまま作業を始めてしまった。
今回問題が起きたら or 今度ちゃんと調べよう。
行なった作業
途中トラブルもあったが、それも含めて時系列に書く。
インストール 1回目
まずは、何もいじらずにインストールしてみる。
- XREA 管理画面で DB 作成。UNICODE
- phpMyAdmin にログインできないので、phpMyAdmin を再インストールしてみる。
- 新バージョンになった。
- パスワードを FTP のフル12桁で入れたら、ログインできた。
- Nucleus CMS Japan » downloads より「Nucleus v3.3 (UTF-8版)」をダウンロードして解凍。
public_html/nc/ディレクトリへアップロード。広告自動挿入をオフにするため、
nc/.htaccessを追加。LayoutIgnoreURI *パーミッション変更
config.php606media/707
- インストーラ実行
- ブラウザで
http://bono.s206.xrea.com/nc/install.phpにアクセス。 - DB 関連入力して、自動表示されたディレクトリとか確認して、実行。→終了
- ブラウザで
- 後始末
config.php606→404 にinstall.sql削除install.php削除
- サイト表示
- インストール時に自動投稿された記事は文字化けしてない。おお!
ここまででインストール終了。
ログインして管理画面みたりしてみる。
文字化け発覚と対処
が、phpMyAdmin で nucleus_item テーブル(投稿が入っていると見た)を見てみたら、文字化けしてたー。Σ(゜д゜lll)
- 状態
(後でスクリーンショット貼る)- サイト表示は文字化けしていない。
- phpMyAdmin で見ると、格納データが文字化けしている。
- インストール時の自動作成アイテムとは別に、自分でも投稿してみる。
→ 同様に、サイト表示は化けないが、phpMyAdmin では文字化け。
- フォーラム検索
- hsur さん1の
SET NAMESの投稿を発見。
- hsur さん1の
コア修正
nucleus/libs/globalfunctions.php488行目にmysql_query("SET NAMES utf8");を挿入して、上書きアップロード。/** * Connects to mysql server */ function sql_connect() { global $MYSQL_HOST, $MYSQL_USER, $MYSQL_PASSWORD, $MYSQL_DATABASE, $MYSQL_CONN; $MYSQL_CONN = @mysql_connect($MYSQL_HOST, $MYSQL_USER, $MYSQL_PASSWORD) or startUpError('<p>Could not connect to MySQL database.</p>', 'Connect Error'); mysql_select_db($MYSQL_DATABASE) or startUpError('<p>Could not select database: ' . mysql_error() . '</p>', 'Connect Error'); mysql_query("SET NAMES utf8"); // ←コレ return $MYSQL_CONN; }今までの 2アイテムは、サイト表示時も文字化けするようになった。DB も両方文字化け。
- 新たにアイテム(記事)を投稿してみる。
→ サイト表示も DB データも文字化けなし。ヽ(・∀・)人(・∀・)ノ - 再度クリーンインストールすることにして、DB、ファイルとも一旦削除。
~ この後、別システムをインストールするために、DB 作成 ~
インストール 2回目 追記
6月22日実施。
これで問題なくインストールできるつもりでいた。再びトラブルが起ころうとは…。
mysql_query("SET NAMES utf8");挿入済みのファイル一式をアップロード。- パーミッション変更して、インストーラ実行。
→ Σ(゜д゜lll) サイト表示で文字化けしてる!
自動作成アイテムの文字化け原因と対処 追記
- 状態
- 自動作成アイテム文字化け
- インストール画面に入力したユーザ本名の「ぼの」も化けてる。
- phpMyAdmin でも同じ化け方。
nucleus_memberの「ぼの」も同様。
- 試しに、自分でも新規投稿。
- → これは化けなかった。phpMyAdmin でも化けてない。
- てことは、インストーラの問題か?
- インストーラをチェック
- インストール用のファイル自体(ここに自動投稿データの日本語が入っている)は UTF-8。
install.php528行目からの一群に、DBコネクトを発見。コアと別にあるんだ…。orz
インストーラ修正
NCコアはフォーラムに従って
mysql_select_dbの後ろ、WP では DB 接続直後に入れていたので、ちょっと迷ったが、今回は WP に倣ってみる。// 2. try to log in to mySQL global $MYSQL_CONN; $MYSQL_CONN = @mysql_connect($mysql_host, $mysql_user, $mysql_password); if ($MYSQL_CONN == false) { _doError('Could not connect to mySQL server: ' . mysql_error() ); } mysql_query("SET NAMES utf8"); // ← ココ // 3. try to create database (if needed) if ($mysql_create == 1) { mysql_query('CREATE DATABASE ' . $mysql_database) or _doError('Could not create database. Make sure you have the rights to do so. SQL error was: ' . mysql_error() ); } // 4. try to select database mysql_select_db($mysql_database) or _doError('Could not select database. Make sure it exists');
インストール 3回目 追記
- 再インストール準備
- DB に別システムのテーブルがあるので、phpMyAdmin で Nucleus のテーブルだけを選んで、削除。
- ファイルも
nc/ディレクトリごと一旦削除。
nucleus/libs/globalfunctions.php,install.php修正済みの一式を再度アップロード- パーミッション設定
- インストーラ実行
- パーミッション戻し、インストーラ削除
- やたー!化けてない!DB も化けてなーい!ヽ(・∀・)人(・∀・)ノ と小躍り
未解決事項 追記
php_value mbstring.internal_encoding UTF-8は入れといていいのか?- 化け方が WordPress のときと違ったけど、どうして?
- 設置ディレクトリは
nc/で、訪問者にはサイトトップに見せる方法はあるか? - 広告を貼らねば。。
- おお、NP_Paint の作者さんだぁ(*’-'*) [back]



何度もすみません。
新しい問題が・・・。
半角で英語をタイプして英語の間に半角スペースをいれたんです。
でも実際の表示をみてみると全角でスペースをいれたみたいにかなりの広さがあるんです。
文字化けでしょうか?
独自ドメインでxreaを使用しています。
Nucleus についてで大丈夫ですか?(前の話が WordPress だったので。。)