TACS Triangle Community System / Triangle AUTO Contents System 簡単な説明 Ver.0.1 2003年1月15日 (1) TACSとは  TACSはレビュー型コミュニティ「東京グルメ」(http://gourmet.zubapita.com/)で使用されているシステムです。 TACSをインストールすることで、誰でも東京グルメと同じレビュー型コミュニティを構築・運営できます。 カスタマイズも容易なので、扱うテーマに合わせてデザインや機能を変更できます。 (2) TACSに必要なもの ・常時接続環境  アクセス数が少なければ、フレッツISDNでも大丈夫です。 1万PV/日〜3万PV/日くらいなら、ADSLでもいけるでしょう。 それ以上では、FTTHなどを用意したほうが安心です。 (以上はあくまで目安) ・LinuxをインストールしたPC  TACSの開発と運用は、2003年1月現在「Turbolinux 8 Server」で行っています。 なるべくバージョンの新しいLinuxを用意してください。  TACSは膨大なディレクトリと小さなテキストファイルを作成します。 Linux標準のext2ファイルシステムでは、運用しているうちにiノードが足りなくなります。 reiserfsなどのiノードの制約がなく、かつ膨大なディレクトリ&ファイル数でもアクセス速度が落ちない ファイルシステムを用意してください。 ・サーバソフト Apache 1.3.27(Webサーバ) PHP-4.3.0(プログラミング言語) APC(PHP用キャッシュソフト) Perl 5.6.1(プログラミング言語) PostgreSQL 7.3.1(データベースソフト) Pgperl(PerlからPostgreSQLをアクセスするインターフェイス) インストール手順は参考文献を参照してください。 なお、configureオプションは、 ・Apache OPTIM="-O2" ./configure --enable-module=so ・PHP ./configure --with-pgsql --without-mysql -with-apxs=/usr/local/apache/bin/apxs --enable-mbstring --enable-mbregex --disable-session --enable-memory-limit --enable-zend-multibyte ・PostgreSQL ./configure initdb --encoding=EUC_JP --no-locale です。 また、PostgreSQLの管理ユーザーでnobodyをデータベースユーザーとして登録しておいてください。 $ createuser nobody nobodyがデータベースやユーザーを作成できるようにするか権限を聞かれますが、 いずれもno (n)と答えたほうが安全でしょう。  さらにTACSを使用するユーザーをルート権限で作成します。 TACSのデフォルトでは、ユーザー名=データベース名となります。 仮に本屋さんのレビューサイトを作るなら、bookshopというユーザーにします。 この場合、TACSのホームディレクトリは、/home/bookshopとなり Webサーバのディレクトリは、/home/bookshop/public_htmlとなります。 public_htmlは口述のmake時に自動的に生成されます。  Web経由の外部ユーザー(nobody)がこのディレクトリにアクセスできるように $ chmod o+x /home/bookshop としておきましょう。  また、このユーザーbookshopもデータベースユーザーとして登録してください。 $ createuser bookshop このユーザーはデータベースが作成できるようにyes (y)としてください。 (3)TACSのインストール  Apache、PHP、PostgreSQLなどのインストールが終了し、動作を確認したらTACSを動かすユーザーディレクトリに アーカイブファイルを置いてください。 /home/bookshopにTACSのアーカイブファイルを置いて展開します。 $ tar xvfz tacs091.tar.gz すると、/home/bookshopにMakfileとsrc/が展開されます。  TACSユーザー管理用のデータベースを作成しておきます $ createdb userauth $ psql userauth < src/sql/masterauth.sql データベースuserauthは、同じサーバ内の別のTACSシステムとも共有されます。別のテーマのTACS(たとえばレストランや映画館)を 同じサーバにインストールするときは、この作業は最初の1回以外は不要です。 あとはmakeします。 $ make これでエラーが出て止まることがなければ、インストールは終了です。 外部から(Web経由で)アクセスしてみて、動作を確認してください。 (Apacheをスタートするのを忘れずに!。 また、PostgreSQLを終了するときやリスタートするには、Apacheを止める必要があります。 これはTACSが一度動くと、PostgreSQLのデータベースと接続しっぱなしになるためです) (4)カスタマイズ  TACSのユーザーインターフェイスは、public_html/ihtml内の*.ihtmlに記述されています。 *.ihtmlはTACS独自のテンプレートシステムを使用したHTMLテンプレートです。  TACSではユーザーがコメント&採点する対象を「アイテム」と呼びます。レストランや映画館や本屋がアイテムとなります。 アイテムはデータベース名(=ユーザー名)と同名のテーブルとして登録されています。この内容を変更するためには、 以下のファイルを変更する必要があります。 (ユーザー名bookshopのとき) /home/bookshop/sql/bookshop.sql (テーブル定義) /home/bookshop/public_html/def/bookshop.def (TACS用テーブル定義。bookshop.sqlと対応する) /home/bookshop/public_html/ihtml/item_set.ihtml (アイテムデータ登録フォーム) /home/bookshop/public_html/ihtml/item_brow.ihtml (アイテムページ表示用HTML)  アイテム名を「書店」や「レストラン」に変えたいときは、/home/bookshop/public_html/index.php内の  定義を書き換えてください。表の見出しや各行の色などもindex.phpで定義されています。 (5) 参考文献 「PHP4徹底攻略 Webとデータベースの連携プログラミング」 ソフトバンク刊 「PHP4徹底攻略 実戦編 実践的Webアプリケーション開発技法」 ソフトバンク刊 「PC UNIXユーザーのための PostgreSQL完全攻略ガイド」 技術評論社刊