FreeBSD/php-syslog-ng の変更点
*php-syslog-ng [#qef28772]
#contents
**必要な環境 [#z688a650]
[[syslog-ng>/FreeBSD/syslog-ng]]~
Apache~
PHP~
MySQL~
インストールフォルダは/home/syslog/public_htmlでバーチャルホストはsyslog-ng.co.jp、データベースはsyslogとする。
**ソースを持ってくる [#pf6c4878]
http://code.google.com/p/php-syslog-ng/downloads/list
**公開するディレクトリに展開 [#obc078b9]
$ cd /home/syslog/public_html
$ fetch http://php-syslog-ng.googlecode.com/files/php-syslog-ng-2.9.8.tgz
$ tar zxvf php-syslog-ng-2.9.8.tgz
**DBを作成しておく。 [#b9b6861c]
$ mysql -u ユーザ -pパスワード
mysql> create database syslog;
**DBにテーブルを追加 [#tcc251b8]
&color(Red){※最新バージョンの2.9.8fでは最初から作成されているので、必要なし。};
ALTER TABLE logs ADD counter INT NOT NULL DEFAULT 1;
ALTER TABLE logs ADD fo datetime default NULL;
ALTER TABLE logs ADD lo datetime default NULL;
*Apache側の設定 [#ae0acb13]
**Apacheのバーチャルホスト設定 [#rf6cfaf2]
<VirtualHost *:80>
ServerAdmin webmaster@dummy-host2.example.com
DocumentRoot "/home/syslog/public_html/php-syslog-ng"
ServerName syslog-ng.co.jp
</VirtualHost>
<Directory "/home/*/public_html">
AllowOverride FileInfo AuthConfig Limit Indexes
Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec ExecCGI
<Limit GET POST OPTIONS> Order allow,deny Allow from all
</Limit>
<LimitExcept GET POST OPTIONS> Order deny,allow Deny from all
</LimitExcept>
</Directory>
**php.iniの設定変更 [#d5759853]
# vi /usr/local/lib/php.ini
memory_limit = 128M
max_execution_time = 300
**Apacheの再起動 [#h1e75614]
# /usr/local/etc/rc.d/apache22 restart
*インストールはWebから行う [#j2675d96]
http://syslog-ng.co.jp/install/index.php
*各種スクリプトファイルの設定 [#hf2f6952]
**php-syslog-ngのcronログの格納場所作成 [#hacd7831]
# mkdir -p /var/log/php-syslog-ng
**スクリプトファイルのパスをperlで修正 [#se9086a1]
# cd /home/syslog/public_html/php-syslog-ng/scripts/
# perl -i -pe 's/\/www\/php-syslog-ng/\/home\/syslog\/public_html\/php-syslog-ng/g' *
**/etc/crontabに設定追加 [#o7a17c18]
&color(Red){各スクリプトのinclude_onceのパスは事前に修正しておく!};
# vi /etc/crontab
------------------ 追加 -------------------------
@daily /usr/local/bin/php /home/syslog/public_html/php-syslog-ng/scripts/logrotate.php >> /var/log/php-syslog-ng/logrotate.log
@daily /usr/bin/find /home/syslog/public_html/php-syslog-ng/html/jpcache/ -atime 1 -exec rm -f '{}' ';'
*/5 * * * * /usr/local/bin/php /home/syslog/public_html/php-syslog-ng/scripts/reloadcache.php >> /var/log/php-syslog-ng/reloadcache.log
*/5 * * * * /usr/local/bin/php /home/syslog/public_html/php-syslog-ng/scripts/SqueezeDB-v2.0.php >> /var/log/php-syslog-ng/squeezedb.log
***ログが多いとSqueezeDB-v2.0.phpが二重起動してしまう。 [#f1abe932]
これで起動する際にプロセスが存在する場合は、exitする。
# vi /home/syslog/public_html/php-syslog-ng/scripts/SqueezeDB-v2.0.php
112 $array=array();
113 exec("ps auxw|grep SqueezeDB|grep -v grep|awk '{print $2}'",$array);
114 if(count($array)>1) exit;
*グラフを表示させるには [#p6fc710e]
**fontをダウンロードする [#df0cc55d]
$ fetch http://osdn.dl.sourceforge.jp/efont/10087/sazanami-20040629.tar.bz2
$ tar jxvf sazanami-20040629.tar.bz2
$ mkdir /home/syslog/public_html/php-syslog-ng/font
$ cp sazanami-20040629/sazanami-gothic.ttf /home/syslog/public_html/php-syslog-ng/font/sazanami-gothic.ttf
**jpgraphの設定を変更 [#j3dbb198]
$ vi /home/syslog/public_html/php-syslog-ng/html/includes/jpgraph/jpg-config.inc
DEFINE("TTF_DIR","/usr/share/fonts/truetype/msttcorefonts/");
-----------------↓変更-----------------
DEFINE("TTF_DIR","/home/syslog/public_html/php-syslog-ng/font/");
$ vi /home/syslog/public_html/php-syslog-ng/html/includes/jpgraph/jpgraph.php
FF_VERDANA => array(FS_NORMAL=>'verdana.ttf', FS_BOLD=>'verdanab.ttf', FS_ITALIC=>'verdanai.ttf', FS_BOLDITALIC=>'' ),
-----------------↓変更-----------------
FF_VERDANA => array(FS_NORMAL=>'sazanami-gothic.ttf', FS_BOLD=>'sazanami-gothic.ttf', FS_ITALIC=>'sazanami-gothic.ttf', FS_BOLDITALIC=>'' ),
*トップページのグラフを表示させる。(php-syslog-ng-2.9.8f) [#p8d5a606]
**php-syslog-ng/html/config/config.php編集 [#od573645]
# vi php-syslog-ng/html/config/config.php
83 // Enable Overall Statistics Graph on main page (This will slow down main page rendering)
84 define('JPG_MAIN', 'OFF'); // Not implemented yet
↓
83 // Enable Overall Statistics Graph on main page (This will slow down main page rendering)
84 define('JPG_MAIN', 'ON'); // Not implemented yet
**php-syslog-ng/html/graph.jpegを書込み可能にする。 [#w30738b5]
# chmod 666 php-syslog-ng/html/graph.jpeg
# ll php-syslog-ng/html/graph.jpeg
-rw-rw-rw- 1 matsui matsui 15208 2 20 16:37 html/graph.jpeg
*scripts/logrotate.phpでエラーがでる。 [#b2c029f2]
Dropping all_logs if it exists ... Error in "function perform_query()" <br>Mysql_error: Access denied; you need the RELOAD privilege for this operation<br>Query was: FLUSH TABLES<br>ok.Renaming 'logs' to 'logs20090225' and 'templogs' to 'logs' ... ok.
**対処 [#q62ae1aa]
これはsyslog-ngのMySQLユーザに更新の権限が無い為に発生する。~
rootでmysqlにログインして
mysql> update mysql.user set reload_priv='Y' where user like 'syslog';
*ページ上部のリンクを外す [#qe09179d]
Paypal linkの箇所をコメントアウトしてやればOK
$ vi php-syslog-ng/html/includes/html_header.php
136 <!-- Begin Paypal link -->
137 <!--
138 <form action="https://www.paypal.com/cgi-bin/webscr" method="post">
139 <input type="hidden" name="cmd" value="_donations">
140 <input type="hidden" name="business" value="cdukes@cdukes.com">
141 <input type="hidden" name="item_name" value="PHP-Syslog-NG">
142 <input type="hidden" name="no_shipping" value="0">
143 <input type="hidden" name="no_note" value="1">
144 <input type="hidden" name="currency_code" value="USD">
145 <input type="hidden" name="tax" value="0">
146 <input type="hidden" name="lc" value="US">
147 <input type="hidden" name="bn" value="PP-DonationsBF">
148 <input type="image" src="https://www.paypal.com/en_US/i/btn/btn_donate_SM.gif" border="0" name="submit" alt="Donate to a good cause :-)">
149 <div align="right">
150 The code you support today may<br>
151 turn out to be <a href="http://en.wikipedia.org/wiki/Skynet_%28Terminator%29">SkyNet</a> tomorrow...
152 </div>
153 <img alt="" border="0" src="https://www.paypal.com/en_US/i/scr/pixel.gif" width="1" height="1">
154 </form>
155 -->
156 <!-- END Paypal link -->