web帳簿「tally」

タグ: tally
PHP、MySQLで動作する複式帳簿です。

[設置方法]
1) ダウンロードファイルのdatabase_mysql5.sql(MySQL4の場合はdatabase_mysql4.sql)からphpMyAdminか何かで、データベースにテーブルを作成して下さい。
2) config.phpのサーバー設定を書き換えて下さい。
4) サーバーの好きなところにアップします。フォルダ名はご自由に。config.phpはパーミッションを444に。
5) そのディレクトリにアクセスします。
6) ユーザー登録します。最初の登録者が管理者になります。

[使い方]
1) まず帳簿を作成します。
2) つくった帳簿を選択します。
3) 勘定項目を設定します。
4) 仕訳で入力していきます。
(かなり手抜きな説明...)

[サンプルサイト]
http://karasu.net/samples/tally/

ユーザー登録して試用して下さっても良いですし、
 ユーザー名:karasu
 パスワード:karasu
がサンプルユーザーになっています。

[phpの設定]
php.iniの設定
mbstring.internal_encoding = UTF-8
display_errors = Off

※フォルダにphp.iniというファイルを一応用意してあります。不必要であれば捨てて下さい。
※PHP5対応がまだ完全でないので、display_errorsはできるだけOffで。

[おそらく動くであろう環境]
制作環境は、PHP5,MySQL5.xです。
おそらくPHP4、MySQL4.xでも動くと思います。

[質問やフィードバックなど]
このブログのコメント欄にでもどうぞ。

[関連情報は]
http://karasu.net/tag/183

[ダウンロード]
↓からどうぞ。ウインドウズで解凍すると「_MACOSX」というフォルダが見えますが、それは捨てるか無視して下さい。「tally_(ver.)」というフォルダが本体です。Macintoshの場合、.htaccessファイルがファインダーで見えないと思うのでFTPソフトなどで確認して下さい。
どうも、k-です。
アップロード、お疲れ様です!
早く使ってみたくて今週は待ち遠しかったですが、こんなにも早いレスポンスとは思っていませんでした^^
早速、使ってみます。
ありがとうございました。
ども、朝早くすいません^^;
バグレポートです。。
実行環境は以下。
OS:WindowsXP
Apache/2.0.53 (Win32)
PHP/4.4.1
MySQL/4.0.18-nt

■トップページにて「basepathが宣言されていません。」
私の実行環境が問題あるのかもしれませんので、
バグなのかどうか判断が付き難いのですが、
ちょっと強引にtally.jsにvar basepathを宣言しても、
やはりパスが違うようで「ページが見つかりません」となります。
因みに、「サインアップ・ログイン・パスワードの再設定」をクリックしてもURLが
undefinedsignupやundefinedloginとなります。

この様な状況ですが、思い当たる節がありましたら、ご助言ください。
私も時間作っていじってみますので^^

ではでは。
kuwa
あら、動かないですか・・・。
可能性としては、apacheのmod_writeが有効になってないかもしれないですね。
/?q=js → /js
/?q=signup → /signup
みたいな変換をしているのですが、mod_writeを有効にできなそうであれば、お知らせください。一つ関数追加して30カ所ぐらい書き換えれば動くようになるかな。
kuwa
.htaccess有効になっていますか?
どうも、k-です。

ご助言ありがとうございます^^
apacheの設定に関してですが、技術不足でしたのでWEBで調べながら進めてみましたが、
まず、.htaccessについては有効になっていませんでしたので・・・

# Options FileInfo AuthConfig Limit
    AllowOverride None
             ↓
    AllowOverride All

に変更しました。ですが、結果は変わりませんでした。
それと、mod_writeを有効とのことですが、有効かどうかはどこで判定すればよろしいでしょうか?
WEBでは.htaccess内にmod_writeに関する記述をすれば良いようなことが書かれていましたが、
そうなると、上記のapacheの設定では.htaccessが有効になっていないということでしょうか。。
お手数ですが、確認する方法をご教授願えたら助かります。

※バグレポートではなく私の実行環境の問題ですね^^;早計でした。申し訳ありません。
kuwa
ダウンロードしたファイルに.htaccessが入っていて、そこに下記の記述があります。

<IfModule mod_rewrite.c>
  RewriteEngine on

  # Rewrite current-style URLs of the form 'index.php?q=x'.
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]

</IfModule>

.htaccessが有効になっているかどうかですが、.htaccessに

AuthUserFile "/xxx/xxx/xxx/.htpasswd"
AuthName "Member Site"
AuthType BASIC
require valid-user

とでも書いて、アクセス制限がかかれば有効になってると思います。
kuwaさんの方法で.htaccessが有効になっているかどうかをチェックした結果、有効であることがわかりました。
ありがとうございます。
しかし、そうなると始めにおっしゃっていた、「一つ関数追加して30カ所ぐらい書き換えれば動くようになるかな。」、ということになってしまうのでしょうか^^;;
kuwa
mod_rewrite でした(mod_writeとか書いてましたね)。
httpd.confで、mod_rewriteを検索して、コメントアウトを外せば動きそうな気がします。

このあたりとか
LoadModule rewrite_module     libexec/httpd/mod_rewrite.so
AddModule mod_rewrite.c

ためしに、
http://( 設置したURL)/js
にアクセスするとどうなっているでしょう?
http://karasu.net/samples/tally/js
のようにjavascriptファイルにアクセスできてれば、違う問題なのですが、やっぱりこれかな。

念のため、
http://( 設置したURL)/?q=js
はどうでしょう?

うーん、apache2,winという組み合わせが、僕には未知なので、見当違いかもしれない。
>httpd.confで、mod_rewriteを検索して、コメントアウトを外せば動きそうな気がします。
動きました^^;

ですが、ログインが出来て帳簿を作成出来るところまでしか動きません。。
「仕訳・勘定項目・月集計・決算」で同様の現象(undefinedsiwake・・・)が起きるようになりました。。

やはりapacheの設定に問題があるのでしょうか。
一応確認しながらkuwaさんのおっしゃるようにapacheの設定とphpの設定を行ってはいるのですが・・・。
それとも、apache2とWinの組み合わせが問題かな^^;;
kuwa
お、なんとなく動きそうですね。
ブラウザのキャッシュを削除してみるとか。

この先はプログラムの問題という感じがします。
ブラウザ、何をお使いですか?
確認してみます。
はい、ブラウザはIE6・Sleipnir・Firefoxの3つです。
ですが、キャッシュなどを削除して確認しましたが、動きは同じでした。
それと、私の調査不足で申し訳ないのですが、その他の挙動が微妙におかしいことが判明しました^^;

まず現状ですが・・・、
1、トップページにて「basepathが宣言されていません。」という問題についてですが、tally.jsにvar basepathを記述しています。
2、.htaccessやapache/phpの設定はkuwaさんのおっしゃるように変更しています。
3、私が「動きました」と言ったところは、実は画面右上の「サインアップ・ログイン」と
ログイン後の「帳簿」のみでした。。その他はURLがhttp://localhost/tally/undefined ・・・となります。

今のところこんな感じです。
うーん、あまりkuwaさんのお手を煩わすのも少々気が引けるところですので、
時間作ってWin用にソースを追って書き直してみようかと・・・。
というか、OSもkuwaさんに合わせて素直にLinuxに入れた方がいいってことかな^^;
basepathは、
/patrs/js.php
にあるファイルで宣言しているので、そのファイルが読み込めてないっていう感じがしますね。

やっぱり、mod_rewriteが機能していないように思います。
/jsだけ読み込むには、/temp/page.phpをちょっと書き換えればいいんですが、いずれにしてもそれでは他(ajaxなどもろもろ)が動かないので、mod_rewriteを動かしたいですね。

http://localhost/tally/js
で、

var basepath = '/tally/';

function sd(type,frm,id,opt,disp,loader,fnc){
  var arr = new Array();
  if(type){arr.push('type=' + type)}




というJavascriptが表示されれば、mod_rewriteは機能しているのですがそこはどうでしょう?
http://localhost/tally/js にアクセスしたところ、結果は「ページが見つかりません」となりました。
ということは、Apacheの設定ミスかな。。

もう一度確認しながら設定しなおしてみます!
kuwa
おねがいしまーす。
「mod_rewrite httpd.conf」とかで検索すると、設定でてくると思います。
コメント: ( )
name:
ログインしておくと、後で編集が可能になります。