ということで、PHPで書かれたフリーなチャットサーバー phpFreeChat を弄ってみたのでメモメモ。
★phpFreeChat - Web2.0 AJAX free chat server
特徴は、
- 簡単インストール、サクサク動く、カスタマイズ可能な他言語対応チャット。
- AJAXを使っているのでスムーズな表示。
- チャットルームを複数開けたり、便利機能も。
などなど。(公式ページからざっくり翻訳)
デモは公式ページのコチラで体験できる。
動作環境は、こんな感じ。公式required configurationページをざっくり書き出し。
【サーバ】
- Webサーバ (Apache,IIS,Xitamiなどなど)
- 書き込みアクセスが可能 (SSHやFTPなどが使える)。
- "suphp"モジュールが動いているApacheでは、以前のバージョンは動かない。
- PHPのバージョン
- phpFreeChat1.0-beta8までは、PHP4.1.0以上が必要。
- phpFreeChat1.0-beta9は、PHP4.2.0以上が必要 (ctype関数を導入したため)
- safe_modeが"ON"になっていると問題が起こるかも。
- flockが有効。
- デフォルトでは、MySQLデータベースは使いません。必要なし。
【ブラウザ】
- 現行のブラウザだったら問題無し。
ダウンロード→インストール。公式quickstartページをざっくりと。
- zipアーカイブをダウンロード。
- 解凍したら、phpfreechat-x.x フォルダをWebサーバのお好みの場所(もちろんブラウザで見える場所)にアップロード。
- "phpfreechat-x.x/data/public" と "phpfreechat-x.x/data/private" のパーミッションを 777 に変更。
- ブラウザで phpfreechat-x.x ディレクトリにアクセス。
設置に問題が無かったら、無事にチャットがロードされます。
警告やエラーが出たら、自分のサーバが動作環境を満たしているかチェック。session_startでコケたときは、PHPの設定ファイル "php.ini" をチェック。前の記事を参照。
あとは自分好みにカスタマイズ。
-----
ここ何日か、
- インストールが簡単。
- 何もせずに日本語が通る。
- データベースを使わない。←設定が面倒だからね。
- 発言をリアルタイムで更新してくれる。
- FLASHベースじゃない奴。
という条件のもとチャットスクリプトを探していたのですが、なかなかコレ!というものが見つからなくて。
一応候補に挙がったのがいくつかあるのでメモメモ。
- phpFreeChat
この文章で紹介。
- KOCHA 紅茶
公式ページ
これはサクサクと動作して、なかなかのスグレモノだったのですが、新しい発言がリストの上に積み重なってゆくのがどうも趣味と合わなかった...。
- Lace
本家 ← 開発などなど停止中。
X-ledge(日本語版配布元 Downloadページから)
これもなかなか軽くて良いのですが、日本語が化けるときがあるのだなぁ。環境によるのかもしれませんが、原因究明をするのがめんどくさかった。
そんなところで。
halyosy
うおーこれ面白そうですね!
ちょっとインストールしてきます!
僕も同じ条件で、チャット探してました!
なんだか、チャット専用アプリ並ですね!>phpFreeChat
ひげ
はじめまして、早速phpfreechat-1.3を入れて、privateとpublicの777に設定して、/public_html/phfreechat-1.3/
でアクセスしてみたのですが、Chat loading...
Please waitで、止まったままになってしまいます。
Check md5で調べると
corrupted - ./themes/phoenity/smileys/author.txt (please replace this file by a correct one)
corrupted - ./themes/cerutti/smileys/theme.txt (please replace this file by a correct one)
このように表示されています。
何が悪くて表示されないのでしょうか?できれば教えて下さい。
私のPCはW7で、IE8.0を使用してffftpでサーバーにアクセスしています。IE8.0だと、化けるので、 のタグを,headからheadの間に書き加えろとあるようですが、どのファイルに書けばよいのかも、ぜひ教えてください。
お願いします。
tyzからひげへの返信
おそらくですが、ファイルをアップロードするときに、FTPソフトの「テキストファイルの改行コードを自動的に変換する」とか「文字コードを自動的に変換する」みたいな機能がONになっていませんか?
オリジナルのauthor.txtの文字コードはUTF-8、改行コードはCR+LF(Windows)、theme.txtのほうはUTF-8でLF(Unix)のようです。FTPソフトで「変換する」設定がONになっていると、テキストファイルの文字コードや改行コードが変換されてしまって、phpfreechatのほうでMD5チェックをかけると「ファイルが改ざんされている」と判断されて動作しないのではないかな、と思います。
FTPソフトのほうで上記の機能をOFFにするか、たぶん「ファイル転送モード」を設定する項目があると思うので、「バイナリモード」というやつでアップロードしてみてください。要はFTPソフトが余計なことをしないような設定にしてアップロードし直してみたらどうでしょう。
うちは主にMacを使ってますので、FTPソフトの具体的な設定は分かりかねますので申し訳ないです。
※IE8の表示バグ関係は、今回の場合、無関係だと思います。
ひげ
早速ありがとうございました。バイナリでアップしてみましたが、やはりChat loading...Please waitで、止まってしまいます。文字コードは無変換(SHIFT-JIS )で、アップしてますが、UTF-8Nでも、やってみました。
detaフォルダーも777に設定してみましたが、変わりません。
chechmd5を開いてみても、corrupted - ./themes/phoenity/smileys/author.txt (please replace this file by a correct one)
corrupted - ./themes/cerutti/smileys/theme.txt (please replace this file by a correct oneこれはなくなりましたが、何か黒文字表示が出ています、
お手数をおかけしますが、是非なんとかアップしたいので、お願いします。
tyzからひげへの返信
アップロードが正しく行われているのなら、問題なく動作する筈です。
あとはサーバー側の問題じゃないでしょうか。
ひげさんが設置しているページを見てみましたが、レンタルサーバー側で広告を自動的に挿入するスクリプトが動いていませんか? そいつが干渉しているみたいです。自動広告表示を止めることができるのならそうしてみて、ユーザー側で広告表示を止めることが許されていないならそれまで…、です。
ひげ
ありがとうございました。広告を削除したらアップできました。クイックチャットの部分は表示されましたが、いきなりゲスト入室になってしまい、このチャットの設定をいろいろ読みましたが、なにぶん全くの素人なので、さっぱりわかりません。index.php.をいじればよいのでしょうか?
パラメーターは、URLの//以下w11.からphpfreechat-1.3とすればよいのでしょうか?configは、どのフォルダーにあるものをいじればよいのでしょうか?
本当に一からわからないので、申し訳ありません。ちょっと、情けないですが、よろしく手ほどきをお願いしたく思います。
ひげ
先日はありがとうございました。やっと使えるようになりましたが、フォントサイズを少し小さくしたいのと、行間を少し広く取りたいのですが、どこのファイルをいじればよいのでしょうか?
themesの中にmythemeフォルダーを作りました。
zilveerのスタイルシートを、そのまま流用しましたが、それでよいのでしょうか?
それとも、dataフォルダーの中のpublicフォルダーのさらに
中にできるthemesフォルダーの中のスタイルシートでしょうか?できれば教えていただけたら幸いです。
tyzからひげへの返信
あまりカスタマイズしたことないのであれなのですが、themes/mytheme/ の中のstyles.css.php(多分これがスタイルシートのファイルです)をお好みに書き換えて、チャットを動かすphpの中で、
$params["theme"] = "mytheme" ;
とパラメータ指定してやれば反映されたのではないかと。
demoフォルダの中のファイルを覗いてみると、パラメータの設定方法などもわかると思います。
ひげ
ありがとうございました。ある程度理解出来ました。
どのファールを読みに行っているのかも、わかってきましたが、やはりメインのログのpt設定とか、行間の設定はわかりませんでした。
取りあえずこのまま使うことにしてみます。
色々ありがとうございました。
とまと
すみません。もしよかったら教えて欲しいのですが・・・
解凍したんですけど
直下にdataというフォルダ(ディレクトリ)がありません(T-T)
よって
>"phpfreechat-x.x/data/public" と "phpfreechat-x.x/data/private" のパーミッションを 777 に変更。
これが出来ず
>ブラウザで phpfreechat-x.x ディレクトリにアクセス。
ここにアクセスすると404になってしまいます・・・orz
tyzからとまとへの返信
確認してみたのですが、phpFreeChat の version 2.x 系列では、ファイル構成がだいぶ変わっているみたいです。
zipを解凍してできた phpfreechat-2.x.x/ フォルダをサーバにアップロード
→ phpfreechat-2.x.x/server/data ディレクトリのパーミッションを 777 に。
…という具合です。
ざっとしか目を通していないのでアレですが、動作するサーバのスペックや、ロード方法なども大幅に変わっているようなので、最新のドキュメントを参考になさってくださいな。
→ https://github.com/kerphi/phpfreechat#readme