完全に仕様をくみとれているわけでもないので、様子をうかがいながら…。
まず、PHPでlocalhostでmysqlにつなげてその結果をphpで吐き出させ…それをユーザークライアントソフトが拾うのじゃだめですか?80番ポートをつかった専用ぶらうざっぽい形での実装になるかとおもいます。クライアントのポートの関係から80番でやるのがやっぱり一番らくちんだとおもいますよ。
プロキシだのルーターだのセキュリティソフトの関係から
クライアントがわとTCP接続するの厄介ですしUDPでだらだらやりとりするのがよいかと。
>WEBアクセスとして匿名アクセス
ここがわからないのですが、PHPでDBへの接続を管理すればWEBの閲覧ユーザーはあのにますでも問題はないですよね?
全文検索は格納のときに工夫したインデックスでもつくっておかないと難しそうです。日本語分かち書きの関係から外国のものを改良するよりナマズとかから一部機能を借りてきてやるのがよいかと・・・
http://www.boundless-ocean.ne.jp/archives/000484.html
MySQLはインデックスが貧弱に思えるので、これまた工夫が必要そうですが…。mySQLと全文検索は相性がわるそうです。
全文ではなくタグというキーワードを先に指定してもらうことにより検索能力をあげるという点では、ソーシャルブックマークのソースなどは流用できないでしょうか?
http://oss.moongift.jp/intro/i-1211.html
ただ、2000人ぐらいのアクティブユーザーとなると、
レンタルサーバはDBへのセッションが2~3本ぐらいしか張れないのでタイムアウトが連発すると結構修復不能な状態になりますよ。
(・・・今困ってます。。。)
二回目。ちょっと質問の主題とはずれますが、コメントへのコメントです。
通常のクライアントサバのDBシステムでなら、DB-クライアントは特定のポートをパイプしてセッションを持ちます。mySQLなら3306とか。ただこれだとおっしゃる通りパケットモニタリングをすればDBへのアクセスのID/PASSがユーザーに漏れてしまうので…
この役割をPHP側に一任するという意味です。
通常は
DB-PHP (サーバー
|(Http通信)
IEなどのブラウザ(クライアント
とやれば、DBへのアクセスはサーバから外へはでないので、セキュアになります。
このIEなどのブラウザの変わりに特定のアプリをつかったらどうですかというのが最初の回答です。
DB-PHP (サーバー
|(Http通信)
アプリ(クライアント
なのでソフト側からの投稿はHttpリクエストをすることになります。極論ですがURLにパラメータ付けて渡すようなものです…。
このケースだとあまりクライアントサイドのアプリケーションの意味がインターフェイスをコントロールできるぐらいの意味しかありませんが……。
DB-アプリ (サーバー
|(tcp/ip通信)
アプリ(クライアント
レンタルサーバーなら多分80番とか25番以外のアクセスはできないと思うので結局Httpになりそうですが、イメージとしてはこんな感じです。
このサーバー側のアプリがPHPになっただけ。
DB-PHP (サーバー
|(Http通信)
IEなどのブラウザ(クライアント
HTTPライブラリを持っているので、それを使えばよいかな
一通りみました。Namezuはレンタルでは難しそうです。無料は突然消えるケースがあるので嫌だから、超格安のレンタルでできそうなCGIがあると良いです。知りませんか?
ありがとう
データベースはMDBの経験はあるのですが、ネット上においた場合のものを知らないので質問が悪いかもしれません。同時のアクティブは3人ぐらいです。利用者数が2000人想定。ソフト側から投稿(データベースへの書き込み)をどうやるのかな?PHPで単純にPOSTとREADができればよく、んーできないかな?