dotprojectのガントチャート日本語化

dotproject」をインストールしたけど、ガントチャートが

どうしても日本語化されず、すげぇ~悩んだ・・・。

ちなみにバージョンは「2.0.4」

前提として

dotproject」にある「JpGraph」は使わずにアシアル株式会社からDLしたもの

を使う。

ガントチャートを表示するファイルは全部で「3つ

dotproject/modules/
○ projects/gantt.php
○ projects/gantt2.php
○ tasks/gantt.php

参考サイトとして「okkezのPukiWiki」がすばらしかった。

ここのサイトから「gantt.diff.gz」を落として、
確認しながら修正していったら日本語化されました。
多分古いバージョンとかはあまり関係ないみたい。

修正箇所は全て

○ フォントの設定をちゃんとして
○ フォントの指定をちゃんとして
○ 文字コードが正しければ
○ jpgraph自体に手を入れなくても日本語の表示は出来る

を前提として修正したみたいなので。

実際ソースを追っていくと色々なバージョンを見たけど、
ちょっとづつ変わっているかなぁ~程度だから、
修正自体はそんなに難しいものではなかったかなぁ~。

でもこのファイルが無いと解らなかったってのもあるけど・・・。
まぁ~力不足ですね。

サイトのコメントで

巷では「JpGraph」に手を入れて日本語表示させるのが流行ってるみたいだけど、何かそれっておいしくない気がする。どうせ、「JpGraph」はQTライセンスで修正物の再配布不可なんだから、「JpGraph」を弄るのはフォントの設定だけに留めておいて、あとはアプリ側で対応すべきだと思った。

とありました。
確かにそうだよね。
他でも「JpGraph」を使っていたりして、バグが出たりしたらすげぇ~困るしね。
同感です。
そしてすげぇ~勉強になりました。

rsyncを使って差分のあるファイルを・・・の続き vol.2

rsyncで差分を取る時に、除外したいファイルがあるからオプション「–exclude」を
指定してみよぉ~と思ったら、何故か出来なかった・・・。

何故か?

「–exclude」オプションでファイル名を指定する場合は、
相対パス」でないと駄目みたい・・・。(なんでだろう?)

「–exclude-from=リスト名」の場合もリストの中に
記述するパスは相対パスでないと駄目らしい。

早速相対パスで書いてみたら出来たぁ~♪

リストの書き方も書いてあるサイトがあったから紹介
http://www.ksknet.net/linux/rsync.html

rsyncを使って差分のあるファイルを・・・の続き

ローカルからリモートのサーバー間でrsyncを実行するのにsshを使わないと
なぁ~って事で。
「sshでログインせずに鍵認証のみで実行する。」
をやってみた。

local:~% ssh-keygen -t rsa

Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):

< 「Enter」を押す>

Enter passphrase (empty for no passphrase):

<「Enter」を押す>

Enter same passphrase again:

<「Enter」を押す>

Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
04:cf:a6:c9:2e:01:41:6c:86:34:03:96:c9:7b:7a:cd hoge@hoge.com

そうすると

id_rsa」と

id_rsa.pub」ってのが出来るので、そいつをリモートの方にコピーしてから
下記を実行した。

remote:~% cat id_rsa.pub >> ~/.ssh/authorized_keys

そうするとリモート側に公開鍵が出来上がるので、パスワードが必要なくなる。

下記は最初の認証時のみで、一度設定すると次回からは聞かれない。

local:~% ssh remote
The authenticity of host ‘remote (192.168.1.1)’ can’t be established.
DSA key fingerprint is 2e:f1:b2:ff:33:d2:c0:00:11:33:44:55:b7:8e:e4:46.
Are you sure you want to continue connecting (yes/no)?

<yesを入力>

パスワードを入力しちゃうと、パスワードを聞かれてしまう所でちょっとつまづいた。
重要だったのは「パスワードを入力せずに鍵のみでの認証にする。」って事でした。
つまり「空」<ENTER>だよ!!!
気付けよ俺!!!

ちなみにPHPで「exec関数」を使って「rsync」を使ってみよぉ~と思ったら、1日位はまってはまってくじけそうになった。
原因は・・・

ズバリ「環境変数」ですね。

exec(‘rsync -nva -e ssh [ローカルファイル名] [リモートユーザー名]:[リモートホスト名][リモートファイル名]’)

って実行したらゼンゼン動いてくれなくて、すげ~困った。

こいつを

exec(‘/usr/local/bin/rsync -nva -e /usr/local/bin/ssh [ローカルファイル名] [リモートユーザー名]:[リモートホスト名][リモートファイル名]’)

ってやったら動いたよぉ~♪
まじで疲れた。
駄目だね、はまる時はすげぇ~簡単な事でも気付かず延々と時間だけが過ぎていく・・・。

rsyncを使って差分のあるファイルを一覧表示

ローカルファイルとリモートファイルの差分と取って、
ファイルの比較や一覧を表示したいなぁ~って事でやりました。

diff」だとローカルにあるディレクトリやファイルどうしならOKだけど、
リモートとだとちょっと面倒かなぁ~って思い「rsync」を使って、
下記のような感じで実行。

rsync -nav -e ssh /home/www/test_dir01/ backup.com:/home/www/test_dir02/

rsync -nav -e ssh (バックアップ元のディレクトリ)(バックアップ先のホスト名):(バックアップ先のディレクトリ)」って書くのかな?
と不安だけどまずはやってみないとねって事で・・・
下記が実行した結果。

%rsync -nav -e ssh /home/www/test_dir01/ backup.com:/home/www/test_dir02/
building file list … done
test_a/test_a.php
test_c/test.php

wrote 376 bytes read 28 bytes 808.00 bytes/sec
total size is 939 speedup is 2.32

こんな風に返ってくるのかぁ~。
なるほど。
じゃ~一覧を作りたいから、要らない行は削除して配列にでも
突っ込むかぁ~!!!

って事で出来ました。

「-nav」ってオプションが解らなかったんだよねぇ~・・・。

一応オプションの説明も調べたんでメモ。

-a, –archive 可能な限りファイルの情報を保持します。
-n, –dry-run 実行時の動作だけを表示。
-v, –verbose バックアップ時にバックアップしているファイル名を表示する。

まぁ~とりあえず出来ましたよ。

sshでつないだ場合、公開鍵を設定しないといけないのを記載するのを忘れてたので、
後日追記って事で・・・。

イロイロ調べてたらこういいうミスが多いので気をつけるようにみたいなのがあったので、追記。

ディレクトリ指定の際の最後に「/」があるかないかによる動作の相違です。
この「/」の入力を忘れ、いろいろトラぶったので注意が必要です。
コピー元の最後の/をつけ忘れると、コピー先で指定したディレクトリの下に
フォルダが作成されその配下にファイルがコピーされます。

気をつけないとね。

ユベントスが初黒星って・・・

セリエBに降格した「ユベントス」が今季初黒星ってすげぇ~なぁ。

連続無敗45らしいよ。

在リーグ戦で首位から勝ち点差3の6位。

やっぱ不正行為してたって言っても強いチームは強いよなぁ。

そしてチームのために残った、デル・ピエーロさん頑張れ!!!