Mirage-OC Commercial

2009/02/17

phpBB の続き

カテゴリー: phpBB — admin @ 16:14

今回は translation の適用と MODs の適用だ。
先日は MODs について確りと読まずに進めるつもりでそこまで辿り着かなかったが、今日は温かいので目を通してみようかと思う。
また translation 適用後に MODs を入れると大概 ja language が無いとお叱りを受けるので、標準設定で MODs を入れて動作を確認した後に translation をマージすると良いのではないだろうか。


◆言語
言語ファイルの入手は以下から可能だ。
Languages
展開する分には問題ないと思うので展開しておく。

# cd /usr/local/src
# wget http://www.phpbb.com/files/language_packs_30x/lang_ja.tar.gz
# wget http://www.phpbb.com/files/language_packs_30x/subsilver2_ja.tar.gz
# wget http://www.phpbb.com/files/language_packs_30x/prosilver_ja.tar.gz
# cd /usr/share/phpBB3/language/
# tar xzvf /usr/local/src/lang_ja.tar.gz
# cd ../styles/
# tar xzvf /usr/local/src/prosilver_ja.tar.gz
# tar xzvf /usr/local/src/subsilver2_ja.tar.gz

展開が出来たら phpBB へ Administrator でログインして、ページの一番下にある「Administration Control Panel」に移動してパスワードを再入力して管理画面へ入る。

項目やらタブが沢山ありますが『SYSTEM』タブへ移動する。
GENERAL TASKS 項の「Language packs」を選択すると日本語が入っていますね。
そして「Install」 を押して問題がなければ …successfully…. と表示される。

確認しよう。。。
迷った。。。
『GENERAL』タブに移動して「Board settings」を選択する。

Default language: 日本語

これでトップの表示が日本語になります。
画面右上の『Administration Control Panel』 付近に Board index リンクがあるのでクリックして確認できますが Administrator が US 言語設定になっているのでログアウトしないと確認できません。

ここからしばらく悩みました。
本家に README を探しに行く方が先決だと思うのですが、データベースを覗き見して phpbb_config テーブルのレコードは default_lang, ja, 0 という値になっています。
phpbb_users テーブルの user_lang カラムを見ると管理者レコードに en があります。
本来ならここに ja などが入るのでしょうか。
DBを直接操作してもよいのですが、やはり管理画面から出来た方が幸せになるので探してみます。

ありました。
『USER AND GROUPS』タグでユーザーを検索して表示した後、ドロップダウンリストで「Preference」を選択すると出てきます。
ここで例の如く日本語を選択してやると、、、はい、管理画面も全てに日本語化されましたね。
transration を作ってくださった ocean=Yohsuke 氏に多大な感謝を。


◆MODs
余談ですが「ocean 氏凄いよ!」と検索を書けたら、当人様も BB 使っているようですね。

こちら に日本語の MODs 解説なんかもありそうです。
別ページにしようかとも思いましたが波に乗って行きましょう!(ocean 氏だけに

本家MODsへ行きます。
今回は不具合要望監視のため RSS が必要という事なので RSS の MODs を検索します。
MOD Databaseに移動して「search」項から RSS 検索します。
現時点では 6 つの MOD が出てきました。
この中でバージョン 3 に対応していると思われる以下のものが候補になります。

・RSS Feed 2.0
・simple RSS mod for phpBB3
・Simple Syndication

今回は RSS Feed 2.0 を導入しようと思う。
右側にある「DOWNLOAD Modification」にて、ブラウザであれば zip が入手可能だが wget だと index.html が保存されるので MSSTI_RSS_v104.zip など本来の名前に mv します。

# wget http://www.phpbb.com/mods/db/download/6905/
# mv index.html MSSTI_RSS_v104.zip
# unzip MSSTI_RSS_v104.zip

ファイルをアップロードしたりあれこれする前に、じっくりとファイル・構成などを確認する。
現場にて MODs についていくらかドキュメントを斜め読みしていたため MODs はMODX という書式で提供され AutoMOD などの自動で MOD を導入できるスーパー MOD があるという事は予想済み。

zip を展開した後 Install_RSSFeed20_v103.xml をブラウジングする。
項目に分かれた説明があるので簡単に紹介しながら作業する。

・About this MOD
 この MOD のオーソライズデータです。
 インストールレベルは Easy で 10 分もあれば出来るそうです。

・Author
 作者に敬礼!

・Files to Edit
 編集が必要なファイルの一覧です。
 シェルを操作できない場合は FTP でこれら既存のファイルをダウンロードしてバックアップします。

・Included Files
 追加することになるファイルです。

・Additional MODX Files
 他の MODX ファイルを必要とする場合はここに表示されるかと。
 連動 MOD や設定干渉を避けるために使われるものと予想。

・Disclaimer & Other Notes
 さらっと読む。

・License & English Support
 しっかり読む。

・MOD History
 バージョンアップ時には確認しましょう。
 今回は新規導入なので気にしません。


ここから作業に入ります。
以下手順が書かれているので殆どコピペの要領で簡単に導入できます。


・SQL
 記述を DnD でも「SELECT ALL」でも良いのでコピーします。
 phpMyAdmin やシェルから SQL を実行します。
 シェルで実行する方に説明は要らないと思います。
 .sql ファイルにでもしておくとリストア時が楽かもしれません。
 phpMyAdmin の方は DB を選択して『SQL』タブにコピペして実行します。

・File Copy
 指定のファイルをコピーしましょう。
 root/ を phpBB3/ にコピーすれは良いかと思います。
 FTP でも同様です。
 ここでは language 同梱の es ディレクトリについて書かれていません。
 必要であればコピーしてくださいという観念と思います。
 既に日本語化されている環境であり内包されている rss.php は既存 ja 用ファイルをオーバーライドしないので en からコピーした ja ディレクトリを用意して一緒にコピーしましょう。
ja に設定している場合は、これをしないとエラーが出ます。

# cd MSSTI_RSS_v104b/language/
# cp -pR en ja
# cd ../
# cp -pR . /usr/share/phpBB3/
# chown -R www-data:www-data /usr/share/phpBB3/

・Edits
 Open: で指定されているファイルを開きます。
 Find で指定されている箇所を探し指示通りパッチします。
 PHP の読める方は適当なところへ、よく分からない方は Find 指定コメント直下に追記するだけです。
 Add after をコピーして vi 作業とすると、

# cd /usr/share/phpBB3/includes/
# cp -p functions.php functions.php.bak
# vi functions.php

/assigns
(Shift + a)
(ペースト)
esc
/SITE_LOGO_IMG
(Shift + a)
(ペースト)
esc
:wq

#

 で完了。
 vi のタブ補完で酷い事になったりしますが、体裁を気にしなければそのままでもよい。
 (私は修正します)
 これをファイル分繰り返します。
 言語ファイルは en を使用するのであれば指定通りに。
 en を複製した ja を使用するならパスを置き換えて作業します。

# cd ../language/ja/
# cp -p common.php common.php.bak
# vi common.php

/SEARCH_SELF
(Shift + a)
(ペースト)
esc
:wq

# cd acp
# cp -p common.php common.php.bak
# vi common.php

/ACP_WORDS
(Shift + a)
(ペースト)
esc
:wq

# cd ../../../styles/prosilver/template/
# cp -p overall_header.html overall_header.html.bak
# vi overall_header.html

/SITENAME
(Shift + a)
(ペースト)
esc
:wq

これで編集は完了です。
以下 diff を乗せておきます。

diff -U0 functions.php.bak functions.php

— functions.php.bak 2008-12-13 00:20:37.000000000 +0900
+++ functions.php 2009-02-17 15:16:25.000000000 +0900
@@ -3670,0 +3671,4 @@
+// MOD : MSSTI RSS Feeds (V1.0.4) – Start
+ $f_rss = request_var(‘f’, 0);
+ $t_rss = request_var(‘t’, 0);
+// MOD : MSSTI RSS Feeds (V1.0.4) – End
@@ -3755 +3759,12 @@
-
+// MOD : MSSTI RSS Feeds (V1.0.4) – Start
+ ‘U_RSS’ => generate_board_url() . “/rss.$phpEx”,
+ ‘S_FORUM_ID’ => $f_rss,
+ ‘S_TOPIC_ID’ => $t_rss,
+ ‘S_ENABLE_FEEDS’ => ($config['rss_enable']) ? true : false,
+ ‘S_ENABLE_FEEDS_FORUMS’ => ($config['rss_overall_forums']) ? true : false,
+ ‘S_ENABLE_FEEDS_THREADS’ => ($config['rss_overall_threads']) ? true : false,
+ ‘S_ENABLE_FEEDS_POSTS’ => ($config['rss_overall_posts']) ? true : false,
+ ‘S_ENABLE_FEEDS_EGOSEARCH’ => ($config['rss_egosearch'] && $user->data['user_id'] != ANONYMOUS) ? true : false,
+ ‘S_ENABLE_FEEDS_FORUM’ => ($config['rss_forum'] && $f_rss != 0) ? true : false,
+ ‘S_ENABLE_FEEDS_THREAD’ => ($config['rss_thread'] && $t_rss != 0) ? true : false,
+// MOD : MSSTI RSS Feeds (V1.0.4) – End
@@ -3924 +3939 @@
-?>
\ No newline at end of file
+?>

diff -U0 common.php.bak common.php

— common.php.bak 2008-12-14 10:25:04.000000000 +0900
+++ common.php 2009-02-17 15:32:55.000000000 +0900
@@ -518,0 +519,4 @@
+// MOD : MSSTI RSS Feeds (V1.0.4) – Start
+ ‘YOUR_POSTS’ => ‘Your posts’,
+ ‘RSS_FEEDS’ => ‘RSS Feeds’,
+// MOD : MSSTI RSS Feeds (V1.0.4) – End
@@ -867 +871 @@
-?>
\ No newline at end of file
+?>

diff -U0 common.php.bak common.php

— common.php.bak 2008-12-14 10:25:04.000000000 +0900
+++ common.php 2009-02-17 15:36:18.000000000 +0900
@@ -197 +197,4 @@
-
+// MOD : MSSTI RSS Feeds (V1.0.4) – Start
+ ‘ACP_RSS’ => ‘RSS management’,
+ ‘ACP_RSS_FEEDS’ => ‘RSS’,
+// MOD : MSSTI RSS Feeds (V1.0.4) – End
@@ -692 +695 @@
-?>
\ No newline at end of file
+?>

diff -U0 overall_header.html.bak overall_header.html

— overall_header.html.bak 2008-12-13 00:20:37.000000000 +0900
+++ overall_header.html 2009-02-17 15:39:02.000000000 +0900
@@ -15,0 +16,25 @@
+<!– // MOD : MSSTI RSS Feeds (V1.0.4) – Start–>
+
+<!– IF S_ENABLE_FEEDS –>
+ +<!– IF S_ENABLE_FEEDS_FORUMS –>
+ +<!– ENDIF –>
+<!– IF S_ENABLE_FEEDS_THREADS –>
+ +<!– ENDIF –>
+<!– IF S_ENABLE_FEEDS_POSTS –>
+ +<!– ENDIF –>
+<!– IF S_ENABLE_FEEDS_EGOSEARCH && S_USER_LOGGED_IN –>
+ +<!– ENDIF –>
+<!– IF S_ENABLE_FEEDS_FORUM && S_FORUM_ID –>
+ +<!– ENDIF –>
+<!– IF S_ENABLE_FEEDS_THREAD && S_TOPIC_ID –>
+ +<!– ENDIF –>
+<!– ENDIF –>
+
+<!– // MOD : MSSTI RSS Feeds (V1.0.4) – End –>
@@ -173 +198 @@
- <!– ENDIF –>
\ No newline at end of file
+ <!– ENDIF –>

※WP は blockquote しても HTML タグがコメントだとエンコードされないんですねぇ。

・DIY Instructions
 使い方が簡単に書いてあります。
 まずは管理ページにログインします。
 ログインしたらキャッシュはクリアした方が良いでしょう。
 MOD 追加後はキャッシュされる実行結果中に編集したファイルのルーチンが入っていると反映状況が分からなくなるので、一度「キャッシュの消去」の実行ボタンを押してキャッシュをクリアします。
 これはトップページにある中段のボタンが並んでいる一番下のボタンを指します。
 あまりに快適に日本語が動作するので冒頭の指針は忘れてデフォ(英語)での説明は端折ります。

 項目通りにクリックして進みます。
 「System」
 「Module management」「Administration Control Panel」
 「System」
 「General tasks」
 「ドロップダウンで RSS 選択」 「add module」「yes」
 ※「項目の編集」 モジュールを有効にする: 「はい」
 「System」
 General tasks 項の「RSS」
 お好みで設定しましょう。

という事でした。
殆どが Install_RSSFeed20_v103.xml でしたね。
こんな感じで他の MODs も追加していくといいのではないでしょうか。

久しぶりにphpBB

カテゴリー: phpBB — admin @ 01:12

仕事の関係で phpBB を使う事になりました。
進捗管理と不具合集積に使用しようと気楽に「入れてみ?」と薦めたものの、バージョンは 3 に上がっているわ MOD 増えまくっているわ日本語ページがなくなっているわで、なんだか小躍りしそうな感じです。
懸案持ち帰りで自宅鯖にインストールする事にしました。

では以下手順。
・DB 用意
・ダウンロード
・設置
・インストール
・MODs 適用

大雑把にこんなものだったと思います。
FTP があれば DB を使用できるプロバイダなんかで利用できるので、ブログがカテゴリとモデレーターで管理できる SPB のような CMS を使いこなすのが面倒でスレッド形式になれている、という使用者は多いのではないでしょうか。

・DB 用意
 テストですし phpbb などの適当な名前の DB を作成しましょう。
 鯖管理可能なプロバイダや自宅鯖の場合は phpMyAdmin などが用意されているかと思います。
 コンソールも良いですが、担当者が変わっても手早く、入力ミスなく実行できる環境があると良いですね。
 .sh で十分ですけど。

・ダウンロード
 phpBB • Creating Communities Worldwide
 こちらからダウンロードしてきます。
 シェルに入れる方は wget などで取得すると良いでしょう。
 ファイルわ作るが面倒なので標準入力からコピペで照合します。

# wget http://d10xg45o6p6dbl.cloudfront.net/projects/p/phpbb/phpBB-3.0.4.tar.bz2
# echo ‘ef343e72f534d30d594b55cfd42e4c3a *phpBB-3.0.4.tar.bz2′ | md5sum -c
phpBB-3.0.4.tar.bz2: OK

・設置
 展開して予定の場所に設置します。
 今回重視する MODs の取り扱いですが、本来なら先に Installation Guide あたりを読むべきです。
 今日は寒くて体中が震えているので省略します。
 たまには後付け試行錯誤も良いでしょうか。

 # tar xjvf phpBB-3.0.4.tar.bz2
 # mv phpBB3 /usr/share/
 # ln -s /usr/share/phpBB3 /var/www/BB
 # vi /etc/apache2/apache2.conf
 # /etc/init.d/apache2 restart

・インストール
 http://www.mirage-oc.com/BB/install/ へアクセスします。
 INSTALL タブへ移動します。
 「Proceed to next step」ボタンを押します。

 Yes, Available, Found, Writable なんかが出ているのを確認して「Start install」
 MySQL なので準備した DB への接続情報を入力。

Database type: MySQL
Database server hostname or DSN: localhost
Database server port:
Database name: phpbb
Database username: *****
Database password: *****
Prefix for tables in database: phpbb_

 「Proceed to next step」ボタンを押します。

 Successful connection が出たら成功っぽいので「Proceed to next step」ボタンを押します。

Default board language: British English
Administrator username: *****
Administrator password: *****
Confirm administrator password: *****
Contact e-mail address: *****
Confirm contact e-mail: *****

 「Proceed to next step」ボタンを押します。

 Tests passed が出たら成功っぽいので「Proceed to next step」ボタンを押します。

 警告ではなさそうなメッセージがでるので「Proceed to next step」ボタンを押します。

 Advanced settings をこなして「Proceed to next step」ボタンを押します。
 見た感じ設定は必要ないかもね。
 メール通知を受けたくて副鯖がある方は設定をします。

 データベースを作るそうなので「Proceed to next step」ボタンを押します。

 Congratulations! です。
 問題なくこれが出ると幸せですね。
 すぐに「Login」を押すと、早速警告メッセージが出ます。
 FTP なり Shell で install ディレクトリを削除などしておきます。
 リロードすると警告が消えます。
 これで準備万端です。

まだ体がガタガタしているので、日本語ファイルの適用・MODs 管理適用・MODs適用などは次回に。

–PostScript
トラックバック気付くの遅くてごめんなさいです。
こんなページでも参考にしていただけて幸いです。

Powered by WordPress