Home > AgeSrv > インストール手順(v0.1.0版)

インストール手順(v0.1.0版)

  • 2008年3月24日 22:28
  • AgeSrv

前版に続き、詳しい説明は省きます。
なお、パッケージ管理に apt を使用していますが、
もちろん yum でも aptitude でも構いません。

■C++ 開発環境のインストール

既に存在しているかチェックします

$ gcc --version
$ g++ --version
$ make --version

足りないものをインストール(gcc3でも可)

for Vine

# apt-get install gcc4 gcc4-c++ make

for Debian

# apt-get install gcc g++ make


■MySQL開発環境のインストール

既に存在しているかチェックします

# mysql_config
(省略)
        --include        [-I/usr/include/mysql]
        --libs           [-L/usr/lib/mysql -lmysqlclient -lz -lcrypt -lnsl -lm]
# ls /usr/include/mysql
# ls /usr/lib/mysql
# ls /usr/lib/libmysqlclient.so
# ls /usr/lib/libz.so

下記は元々入っている?

# ls /usr/lib/libcrypt.so
# ls /usr/lib/libnsl.so
# ls /usr/lib/libm.so

足りないものをインストール

for Vine

# apt-get install mysql MySQL-client MySQL-devel MySQL-shared zlib-devel

for Debian

# apt-get install mysql-server mysql-client libmysqlclient-dev zlib1g-dev


■Xerces-C++ のインストール

for Vine
※/etc/apt/source.listの修正が必要になります。

# vi /etc/apt/source.list
(省略)
rpm     [vine] http://updates.vinelinux.org/apt 4.1/$(ARCH) main plus updates nonfree extras <= extrasを追加
rpm-src [vine] http://updates.vinelinux.org/apt 4.1/$(ARCH) main plus updates nonfree extras <= extrasを追加
(省略)
# apt-get update
# apt-get install libxerces libxerces-devel

※Vine4.2ではパッケージ名が変わっている模様(xerces-c と xerces-c-devel)

for Debian

# apt-get install libxerces27 libxerces27-dev

その他、または手動でインストールしたい場合

# cd
# wget http://ftp.kddilabs.jp/infosystems/apache/xerces/c/sources/xerces-c-src_2_8_0.tar.gz
# tar zxvf xerces-c-src_2_8_0.tar.gz
# cd xerces-c-src_2_8_0
# export XERCESCROOT=`pwd`
# cd src/xercesc/
# ./runConfigure -plinux -cgcc -xg++
# make
# make install


■Xalan-C のインストール

for Vine

# apt-get install libxalan libxalan-devel

※Vine4.2ではパッケージ名が変わっている模様(むしろ消えてる?)

for Debian

# apt-get install libxalan110 libxalan110-dev

その他、または手動でインストールしたい場合

# cd
# wget http://ftp.kddilabs.jp/infosystems/apache/xml/xalan-c/Xalan-C_1_10_0-src.tar.gz
# tar zxvf Xalan-C_1_10_0-src.tar.gz
# cd xml-xalan/c
# export XALANCROOT=`pwd`
# ./runConfigure -plinux -cgcc -xg++
# make
# make install


■動的ライブラリに登録(yumやapt等を使わず、手動でインストールした場合)

動的ライブラリの一覧に反映

# ldconfig

下記コマンドで libxerces-c、libxalan-c が存在することを確認します

# ldconfig -v

ない場合(=手動でインストールした場合)
手動で登録する必要があります。

# cd /etc/ld.so.conf.d
# vi liblocal.conf

/usr/local/lib を追記。
なお、同ディレクトリ内の他のファイルに既にこの記述があれば不要

ldconfigコマンドを実行して反映後、内容を確認します。

# ldconfig
# ldconfig -v

■AgeServerのインストール

1. ソースファイル一式をダウンロードし、/usr/local/src/ へ移動します

$ cd /tmp
$ wget http://fyuji.fam.cx/archive/AgeServer-0.1.0.tar.gz
$ mv agesrv.tar.gz /usr/local/src/
$ cd /usr/local/src/


2. 解凍してコンパイルします。

$ tar xvzf AgeServer-0.1.0.tar.gz
$ cd AgeServer-0.1.0
$ ./configure
$ make


3. ageserverをインストールします

$ su
# make install


4. htmlディレクトリ内の index.php を修正します。(インストール先を変更した場合等。基本的にはそのままでOK)

修正内容は index.php内を参照してください。


5. 公開可能なディレクトリへ移動&リネームします。

# mv html /var/www/ageserv


6. 各種設定ファイルを修正します。

$ cd /usr/local/etc
$ vi ageserver.conf
$ vi agesrv-crawler.lst
$ vi agesrv-chart.lst
$ vi agesrv.rc

修正内容は それぞれの設定ファイル内を参照してください。
・ageserver.conf : AgeServerの設定ファイル
・agesrv-crawler.lst : 自動クロールの対象となるプレイヤー一覧
・agesrv-chart.lst : 自動クロール時に出力するチャート一覧
・agesrv.rc : 自動クロールスクリプト用環境設定ファイル
※設定ファイルの内容は、前versionから大きく変更しています。再設定するほうが早いかと思われます。。。
※rrdファイルの格納ディレクトリや、チャートの出力先ディレクトリは、あらかじめ作成しておいてください。


7. agesrv-crawler に実行権限を付与します。(恐らく付いていない)

$ chmod +x agesrv-crawler


8. ブラウザにて http://サーバーのパス/agesrv/ (例) にアクセスし、初期の画面表示されることを確認します。
参考: http://fyuji.fam.cx/agesrv/


9. 自動クロールスクリプトをcronに設定します。

# su -
# crontab -e
0 * * * * LANG=ja_JP.UTF8 /usr/local/etc/agesrv-crawler 2>&1

※上記の時間(毎時0分)は例です。
cronを設定したユーザのLANGがja_JP.UTF8でないと動作しないため、
コマンドの前にLANG=ja_JP.UTF8 を設定しておくと良いです。


■AgeServer用データベースのセットアップ

AgeServerで使用するデータベースを作成します。
下記のUSER はrootでも構いません。

$ cd /usr/local/src/AgeServer-0.1.0/etc/sql
$ mysql -uUSER -pPASSWORD --default-character-set=utf8 < tables.sql
$ mysql -uUSER -pPASSWORD --default-character-set=utf8 --delimiter=// agesrv < functions.sql
$ mysql -uUSER -pPASSWORD --default-character-set=utf8 -f agesrv < records.sql

※ ver0.0.3からアップグレードする場合、下記を実行してください。
(任意。fyuji.fam.cxのデータを反映させているだけ)

$ mysql -uUSER -pPASSWORD --default-character-set=utf8 -f agesrv < records.sql

※ ver0.0.2からアップグレードする場合、下記を実行してください。

$ mysql -uUSER -pPASSWORD --default-character-set=utf8 agesrv < tables_update_from_0_2_0.sql
$ mysql -uUSER -pPASSWORD --default-character-set=utf8 -f agesrv < records.sql

※下記のエラーが出た場合、無視してもらって構いません。
ERROR 1062 (23000) at line nnnnn: Duplicate entry '~~~' for key 1
ERROR at line nnnnn: Unknown command '\Z'.

Comments:19

Comment Form

画像の中に見える文字を入力してください。

matsujun 2008年3月26日 23:55

インストールしました!ありがとうございます!
http://aoe3.game-server.cc/agesrv/?name=matsujun&mode=user&game=age3y&type=SP
 
まだ自動クロールにも、rrdでのグラフ表示にもたどり着いていません・・・
 ・ fyujiさんのagesrvではrankが表示されますが、私のほうでは??でした。原因は予想出来ますか?
 ・ /usr/local/etc へは、各設定ファイルやagesrv-crawlerなどの上記で必要とされるファイルが
  自動ではコピーされないようですがソースから手動コピーですか?
  また、agesrvユーザがアクセスできる必要がありますか?
 ・ crontabでのクロール実行時、何かログは出ますか?
  LANG=ja_JP.UTF8 /usr/local/etc/agesrv-crawler を手動で動かしてみたいのですが・・・
 
色々質問して済みませんがよろしくおねがいします。

fyuji 2008年3月27日 00:29

判明次第、順次回答します。


Q.fyujiさんのagesrvではrankが表示されますが、私のほうでは??でした。原因は予想出来ますか?
A.ロケールの設定に失敗しているように思われます。
ageserver.conf 内に 「LANG=ja_JP.utf8 」
のような設定があるかと思いますが、
右辺値はシステムで有効なロケールでしょうか?
なお、下記のコマンドで有効かどうか調べられます。

※利用可能なロケール名の出力

fyuji@websrv:~$ locale -a
C
POSIX
ja_JP.utf8


他に考えられるのはデータベースの文字セットの指定ミスくらいでしょうか・・・


設定ファイル内のデータベースキャラセット
DATABASE_CHARSET = utf8


データロード時のキャラセット(コマンドラインオプション)
mysql (略) --default-character-set=utf8 (略)

fyuji 2008年3月27日 00:37

おっと、もしかすると大文字小文字が影響しているのかも・・・?
ちなみに上記の環境(websrv)では ja_JP.UTF8 で問題ありませんでした。

fyuji 2008年3月27日 00:46

Q./usr/local/etc へは、各設定ファイルやagesrv-crawlerなどの上記で必要とされるファイルが
  自動ではコピーされないようですがソースから手動コピーですか?
A.make install 時に自動でコピーされます。
  make install 時に何かエラーが発生してなかったでしょうか?
  ( No such file or directory とか Permission denied とか)

Q.また、agesrvユーザがアクセスできる必要がありますか?
A.agesrv-crawlerには読込と実行、他の各種設定ファイルには読込権限があれば良いです。
  なお、こちらはrootのcronに登録させていますが、その時の権限は下記のようにしています。

fyuji@websrv:~$ ls -lt /usr/local/etc/
total 20
-rw-r--r-- 1 root staff  842 Mar 25 00:38 agesrv-crawler.lst
-rw-r--r-- 1 root staff 2489 Mar 25 00:35 ageserver.conf
-rw-r--r-- 1 root staff  998 Mar 25 00:22 agesrv-chart.lst
-rwxr-xr-x 1 root staff 2446 Mar 25 00:18 agesrv-crawler
-rw-r--r-- 1 root staff  341 Mar 25 00:18 agesrv.rc
fyuji 2008年3月27日 01:12

Q.crontabでのクロール実行時、何かログは出ますか?
A.agesrv本体に処理が移っていれば、agesrvのログファイルにログが出力されます。
  シェルスクリプト内でエラーが発生していた場合は、ログは破棄されているかもしれません。
  (cron実行ユーザにエラー内容がメールで飛ばされているかも知れません。
  あとは /var/log/syslog あたりにログが出てるかどうか)

Q.LANG=ja_JP.UTF8 /usr/local/etc/agesrv-crawler を手動で動かしてみたいのですが・・・
A.そのまま「LANG=ja_JP.UTF8 /usr/local/etc/agesrv-crawler」を実行してみても駄目でしょうか?
  (/usr/local/etc/agesrv-crawlerが存在していることが前提ですが)
  ちなみに、下記のような出力があるのに、ageserver.log に何も出力されていない場合は、
  agesrvの呼び出しでエラーが発生している恐れがあります。
  (実行権限がないとか設定ファイルが読めないとか)

websrv:~# LANG=ja_JP.UTF8 /usr/local/etc/agesrv-crawler
481x179
481x179


書いてて気付いたのですが、
agesrv.rc の「LANG=ja_JP.UTF-8」は、「LANG=ja_JP.UTF8」の間違いです。(正しくは「LANG=ja_JP.utf8」?)
が、何も影響していないかもしれません(exportしてないし)

matsujun 2008年3月27日 15:34

丁寧なご返事ありがとうございました!ここにレスするのを躊躇う位です^^;
 
インストール時の権限か何かで問題があったらしく?再インストールしたら
Q1(rankが??)とQ2(設定ファイルがコピーされない)は解決しました。
お騒がせしました・・・。
 
ただ、agesrv-crawlerのほうが動かせていません。
1./usr/local/etc/agesrv.rc に agesrv-crawlerのパス、その他を設定
2./usr/local/etc/agesrv-crawler.lst 末尾に matsujun SP age3y  の1行追加
3./usr/local/etc/agesrv-chart.lst に以下の2行を追加
/home/agesrv/rrd/matsujun_SP_age3y.rrd 1 /home/agesrv/public_html/rrd/rates.png --start=-1week
/home/agesrv/rrd/matsujun_SP_age3y.rrd 2 /home/agesrv/public_html/rrd/PR.png
 
で実行すると
# ./agesrv-crawler
./agesrv-crawler: line 1: rrdtool: command not found
./agesrv-crawler: line 1: rrdtool: command not found
となります。ageserver.log をtailで監視しても、クロールした形跡は
このログに残りませんでした。(agesrvで検索したログは表示されます)
 
Q6. まずrrdtoolインストールをしないといけませんか?apt-getなどを使いましたか?
Q7. agesrv-crawlerを動かすための手順漏れはありますか?
 
質問ばっかりですが宜しくお願いします!

fyuji 2008年3月27日 22:25

回答遅れてスイマセン

>Q6. まずrrdtoolインストールをしないといけませんか?apt-getなどを使いましたか?
rrdtoolのインストール手順が無いですねw
こちらの環境(Debian etch)ではaptitudeを使用してインストールしましたが
Vineにはパッケージが用意されてないようなので、ソースからインストールすればよいかと思います。


と思ったのですが、ビルドしようにも他にライブラリを色々とインストールしないといけないようですね
面倒・・・もとい、なかなか大変なような

下記のサイト様を参考にインストールされてみてはどうでしょう?
温度監視 - オモイノホカ日々徒然


> Q7. agesrv-crawlerを動かすための手順漏れはありますか?
恐らくは大丈夫です

fyuji 2008年3月27日 22:27

補足ですが、rpm作成を行うための rpmbuild コマンドが見つからない場合は、

# apt-get install build-essential

でインストールできます。

fyuji 2008年3月27日 22:38

つか帰宅しても仕事モードから抜けられない・・・
これぞワーカーホリック!

fyuji 2008年3月27日 23:40

非常に馬鹿なミスが1点・・・

agesrv-crawler の87-88行目:

#      ExecAgesrv $STR
        :

となっていますが、

        ExecAgesrv $STR

の間違いです。テスト目的でコメントにした後、寝ぼけてコミットした模様(泣

matsujun 2008年3月28日 11:32

自動クロールも動きました、ありがとうございます!
 
現在rrdtoolで値が取れていないのか、グラフが表示されません・・・
http://aoe3.game-server.cc/agesrv/rrd/matsujun/
 
現在1時間に一回クロールさせています。
matsujun_SP_age3y.rrd ファイルは生成されていますがグラフが表示されません・・・
※ rrdファイルってテキストじゃないんですね。読めない(;_;)
※ PRのグラフとレートのグラフで時間表示方法が違いますが・・・crawlerいぢって統一できます?

matsujun 2008年3月28日 11:36

すみません、時間軸表示は 1week を入れ忘れていただけでした。
今、agesrv-chart.lst は

/home/agesrv/rrd/matsujun_SP_age3y.rrd 1 /home/agesrv/public_html/rrd/matsujun/rates.png --start=-1week
/home/agesrv/rrd/matsujun_SP_age3y.rrd 2 /home/agesrv/public_html/rrd/matsujun/PR.png --start=-1week

で動かしています。

fyuji 2008年3月28日 15:38

恐らく、現在は1週間の範囲で半日毎の平均グラフを表示しようとしているのじゃないかと思われますが(デフォルト)
平均値を算出するため、半日の更に半分の6時間分のデータが集まらないと計算されない仕様になっているため
グラフも表示されないんじゃないかなと思います。

初期設定が悪かったかもしれません。
ageserver.conf の RRD_RRAOPT の設定を下記のように修正し、
rrdファイルを一旦削除(またはリネームしてバックアップ)して試してもらえますか?

修正前:

RRD_RRAOPT   = RRA:LAST:1:1:168 RRA:AVERAGE:0.5:12:365 RRA:AVERAGE:0.5:168:209

修正後:

RRD_RRAOPT   = RRA:AVERAGE:1:1:168 RRA:AVERAGE:0.5:12:365 RRA:AVERAGE:0.5:168:209

初期設定の状態では、1時間単位の最新のレートを格納する設定になっていますが
出力の際は平均値を対象としているため、時間単位の平均値が存在せず、出力されていないのかもしれません。

帰宅したら詳細を調べてみます。

matsujun 2008年3月28日 19:04

AVERAGEに変更して、1時間位は放置したと思うのですが変化ありません・・・
matsujun_SP_age3y.rrd をみると何らかの値は埋まっているようですが
依然グラフには現れませんね・・・・
 
要らないかもしれませんが、取れているrrdファイルをアップしてみます。
http://aoe3.game-server.cc/agesrv/rrd/matsujun_SP_age3y.rrd

fyuji 2008年3月28日 21:19

帰宅中なので推測で回答です


rrdやpngの更新日時は変わっているでしょうか?
また、rrdファイルやpngのパーミッションは書換可になっているでしょうか?
(rootユーザでテスト実行したため、自動クロールを行うユーザでは書込権限がないとか)


# 至極真面目に登りエスカレータで下ってる人が…

matsujun 2008年3月28日 22:03

> 至極真面目に登りエスカレータで下ってる人が…
なんという異世界人・・・
 
今見直しましたが、rrdもpngも更新時間は反映されていました。
自動クロール用のcronも、rootで動かしています。
(動作確認取れたら権限落とすつもりでした)
 
もう少し色々試してみます。
rrdtool graph ~~ 的な、期待するコマンドラインが判ると嬉しいのですが・・・

fyuji 2008年3月28日 23:05

長くなったため別エントリとして投稿しました。
ちなみに、手動でチャート出力を行うなら下記のコマンドでOKです。(PR分のみですが)

rrdtool graph /home/agesrv/public_html/rrd/matsujun/PR.png \
  --title="matsujun SP age3y" --start=-1week \
  DEF:PR=/home/agesrv/rrd/matsujun_SP_age3y.rrd:ratePR:AVERAGE \
  LINE1:PR#0000CC:'PowerRating'

<インストール先>/etc/agesrv-crawler の 57行目と 63行目を見ると判るかもしれません。
# Linux暦はまだ短いので、中身見ても「なんだこの低レベルなスクリプトは!!」と嘆かないでくださいw

JoynerJulia18 2010年5月18日 20:35

If you want to buy a house, you will have to get the lowest-rate-loans.com. Furthermore, my brother all the time uses a collateral loan, which occurs to be really useful.

Adrianna 2012年2月22日 20:22

What a great blog

Trackbacks:0

TrackBack URL for this entry
http://fyuji.s27.xrea.com/x/mt-tb.cgi/50
Listed below are links to weblogs that reference
インストール手順(v0.1.0版) from orz公開所

Home > AgeSrv > インストール手順(v0.1.0版)

Search
iKnow!バッジ


Feeds

Return to page top