この記事の概要
XREA (Value Domain) でNucleusをインストールするには。初期のデータベース設定とPHPセーフモード対策・広告抑制について。
内容が古くなったので、新しく書き直した次の記事をどうぞ
→Nucleusをインストールする [XREA]
はじめに
普通に使う分にはXREAでもだいたい使えますが、いくつか修正すればブラウザからのアップロード・RSS配信の不具合を解消できます。2003年12月現在、Nucleus(JP)フォーラムにNucleus v2.0 XREA用修正ファイルがすでにあるので便利です。 ただし2.5用ではありませんので、2.5beta, 2.5CVS版(開発バージョン)を導入する方は以下の「方法1」などの修正をしましょう。大した手間ではありませんので心配なさらずに。
下記はインストールの詳細と修正部分の実際です。
※スクリーンショットで見るインストールの実際もあわせてどうぞ
データベースの作成とNucleusのインストール
まずはXREAでデータベース(MySQL)を有効にします。 管理メニューからデータベースを選択、MySQLの「作成」ボタンを押します。これでMySQLデータベースとMySQLアカウント(XREAのアカウント名と同じ)が自動作成されます。ここでphpMyAdminも一緒にインストールしておくと後々便利です。
次にNucleusを自分のスペースにFTPでアップロードします。
MySQLの設定が反映されたか確認します。サーバによって若干変わるようですが、public_html直下かlogディレクトリにphpmyadminフォルダが出来ていればOK。そしたらinstall.phpをブラウザから呼びます。ここでMySQLの情報や、各種パス指定などを行います。(この時点でinstall.phpの画面が真っ白な場合はPHPの文字コード指定が原因かもしれません。インストールする文字コードバージョンとPHPの設定が一致しているか要確認。関連記事)
ちなみにMySQLの情報は、XREAでは
Hostname:localhost
Username:(アカウント名)
Password:(FTPパスワード)
Database:(アカウント名)
でOK。
インストールに成功すると、configファイルの書き換えを促されますのでやっておきます。ファイルアップロード用のメディアディレクトリも作成します。ディレクトリのパーミッションは707に。
セーフモード対策・広告抑制
Nucleusには「メディアアップロード機能」というのがあって、画像ファイルなどをブラウザ画面でアップロードできます。しかしこれが、PHPがセーフモードで動作してると支障があります。XREAはモジュール版PHPがセーフモードで動作するかわりに、CGI版PHPが制限無しで利用できるので、それで対処します。 (以下はVer2.0用XREA修正ファイルでは方法3で対処済です)
また広告免除サービスを受けていない場合はCGIの出力に広告バナーが自動挿入されますので、拡張子の".xcg"指定か、LayoutIgnoreURI でそれを回避します。この広告回避はRSS配信時にとくに有効です。
※広告表示が不必要なページでの表示抑制は認められています。
方法1
.htaccessを使った頭のいい方法がeccoさんのところで紹介されてました。おすすめ。これをヒントにちょっとだけ付け足し。
対象ファイル:
- メディアアップロード:media.php(nucleusフォルダ内)
- RSS配信:xml-rss2.phpなど
作業手順:
CGI版PHPで動かしたいファイルの冒頭にCGIパスを挿入・保存。
\#!/usr/local/bin/php (または#!/usr/local/bin/php4)そのファイルのパーミッションを設定する。サーバーによって若干変わるようですが、700,701,705など試してエラーの出ない指定をします
対象ファイルのあるディレクトリに.htaccessファイルを置く。これだけ
.htaccessの例:メディアアップロード<Files media.php> AddHandler cgi-script .php </Files>.htaccessの例:RSS配信
(広告免除サービスを受けている場合は必要ないです)<Files xml-rss*.php> LayoutIgnoreURI *.php AddHandler cgi-script .php </Files>
方法2
メディアアップロード対策のみですが、メディアディレクトリの中のメンバーディレクトリを自分で作り直してしまうというもの。メンバーIDが1の人は、"1"ディレクトリを利用するので、自分で同名のディレクトリを作ってFTPでアップ、パーミッションを設定します。とてもカンタン。
方法3
phpファイルの拡張子を".xcg"に変更して、このファイルを参照する部分を全部書き換える方法。方法1が使えるなら今さら意味はないかと思いますが一応。
メディアアップロード:
- media.php → media.xcg に変更。 #!/usr/local/bin/php または#!/usr/local/bin/php4 の一行を先頭に挿入
- ソース内の "media.php" の記述を全部 "media.xcg" に書き換える(javascriptフォルダにあるedit.jsも同様に)
RSS配信:
- xml-rss.php → xml-rss.xcgに変更。 #!/usr/local/bin/php または#!/usr/local/bin/php4 の一行を先頭に挿入
- スキン内、head領域の "xml-rss.php" のリンクを "xml-rss.xcg" に書き換える。body内に明示的にリンクを張ってる場合はそれも書き換える
参考:
輝竜司:
#!/usr/local/bin/php --
s45サーバーでは行頭文はこちらの模様です。エラーメッセージに指示されました。
これ+方法1で動いています。