- 追加された行はこの色です。
- 削除された行はこの色です。
*tiarra [#nf5c3319]
**CentOSの場合 [#dd1c8390]
tiarraの設置方法とかメンテとか。
$ wget http://www.clovery.jp/tiarra/archive/2010/02/tiarra-20100212.tar.gz
$ tar xzvf tiarra-20100212.tar.gz
$ mv tiarra-20100212 /opt/tiarra
$ /usr/bin/perl /opt/tiarra/tiarra --config=/home/karia/karia.conf
#contents
とやればおもむろに起動できますが、たぶんなんかエラー吐きます。ここから下はエラーを地道に潰した記録。rootもしくはsudoでどうぞ。
**tiarraとtiarraMetroの設置方法(Ubuntuの場合) [#t78ad915]
# cpan -i HTTP::Request::Common
2015/09現在です。tiarraMetroもセットで設置する前提で合わせて記載。
ここから下はAuto::Notifyを使わない人は不要だと思う。
***tiarra本体 [#lf3637bb]
# yum -y install openssl-devel
$ cd /opt
$ svn co http://svn.coderepos.org/share/lang/perl/tiarra/trunk/ tiarra
必ず-develにすること。
最後の引数(tiarra)は設置するディレクトリ名です。上記の場合は/opt/tiarra配下に降ってきます。
# yum -y install perl-Crypt-SSLeay.x86_64
***tiarraMetro [#uac6ae9f]
cpanでOpenSSL認識してくれなかったので仕方なく。
-参考:http://exe.tyo.ro/tiarrametro/introduction.html
-前提:MySQLが導入・起動していること
# cpan -i IO::Socket::SSL
$ git clone https://github.com/tyoro/tiarraMetro.git tiarraMetro
***tiarraMetroの過去データを退避してテーブルを作り直す手順 [#g1abae49]
最後の引数(tiarraMetro)は設置するディレクトリ名です。省略しても構いませんが自分の場合は複数設置するので変更します。
tiarraMetroに同梱されているLog:DBIをtiarra本体のmoduleディレクトリへ。
$ cd tiarraMetro/misc
$ cp DBI.pm /opt/tiarra/module/Log/
同じくSendMessage.pmもmoduleディレクトリへ。
$ cp SendMessage.pm /opt/tiarra/module/System/SendMessage.pm
tiarraのUnixSocketのパーミッションを700から777へ変更。
$ vi /opt/tiarra/main/ControlPort.pm
table_create.sql 内の「utf8」を「utf8mb4」に置き換えます(絵文字対応のため。MySQLのバージョンが古いと非対応なので注意)。
$ vi table_create.sql
べつにviじゃなくてもなんでもいいですが、以下のように書き換えてください。
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
↓
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC;
MySQLの設定をします。
$ sudo vi /etc/mysql/my.cnf
my.cnfに以下の3行を追加。
innodb_file_format = BARRACUDA
innodb_file_per_table = ON
innodb_large_prefix = ON
restartして、ちゃんと反映されたか確認。
$ sudo service mysql restart
$ mysql -u root -p
mysql> show variables like 'innodb_large_prefix';
+---------------------+-------+
| Variable_name | Value |
+---------------------+-------+
| innodb_large_prefix | ON |
+---------------------+-------+
1 row in set (0.00 sec)
ONになってればOK。
database作成に入ります。db_name,username,passwordは適宜名前をつけてください。あとで使います。
mysql> create database db_name character set utf8mb4;
DBができたかどうか確認。
mysql> show databases;
できてたら次は権限の設定。
mysql> grant all privileges on db_name.* to username@localhost identified by 'password';
mysql> show grants for username@localhost;
うまくいってたらこんな感じになるはず。
+------------------------------------------------------------------------------------------------------------------+
| Grants for yukichan1@localhost |
+------------------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'username'@'localhost' IDENTIFIED BY PASSWORD '*XXXXXXXXXXXXXXXXXXXX' |
| GRANT ALL PRIVILEGES ON `db_name`.* TO 'username'@'localhost' |
+------------------------------------------------------------------------------------------------------------------+
2 rows in set (0.00 sec)
おわったらさっきのsqlファイルを読み込みます。
mysql> quit
Bye
% mysql -u username -p db_name
mysql> source table_create.sql
※以下のようにしても可。
$ mysql -u username -p db_name < table_create.sql
下記のエラーが発生した場合はここまでのどこかでミスってる可能性が高いのでやり直しです!!
ERROR 1071 (42000) at line 1: Specified key was too long; max key length is 767 bytes
無事におわったらテーブルできたよね確認。
mysql> show tables;
+----------------------------+
| Tables_in_db_name |
+----------------------------+
| channel |
| log |
| nick |
| priv |
+----------------------------+
4 rows in set (0.00 sec)
文字コードとか合ってるよね確認。
mysql> show table status like 'log'\G
*************************** 1. row ***************************
Name: log
Engine: InnoDB
Version: 10
Row_format: Dynamic
Rows: 0
Avg_row_length: 0
Data_length: 16384
Max_data_length: 0
Index_length: 49152
Data_free: 0
Auto_increment: 1
Create_time: 2015-09-29 18:56:14
Update_time: NULL
Check_time: NULL
Collation: utf8mb4_general_ci
Checksum: NULL
Create_options: row_format=DYNAMIC
Comment:
1 row in set (0.00 sec)
***tiarra起動 [#d26c287e]
tiarraのconfigを /home/karia/conf/tiarra/hoge.conf に置いた場合です。
$ perl /opt/tiarra/tiarra --config=/home/karia/conf/tiarra/hoge.conf
ERRORがないことを確認しましょう!!
いけそうなら下記のようにバックグラウンドで動作させれば良いかと。ログ吐き先を/dev/nullにするか実ファイルにするかはお好みで(よほどディスクが足りないとかじゃなければ実ファイルに吐いておいたほうがよいと思う)。
$ nohup perl /opt/tiarra/tiarra --config=/home/karia/ap/tiarra/karia.conf >> /dev/null 2>&1 &
***tiarraMetro起動 [#d62ca0a2]
tiarraMetroのconfをつくります。
$ cp conf.yaml.sample conf.yaml
$ vi conf.yaml
さきほどMySQLに設定した内容を以下のように記載します。
DATABASE_ID: 'db_name'
DATABASE_PASS: 'password'
DATABASE_NAME: 'username'
つぎにNginxのconfをかきます
$ sudo vi /etc/nginx/conf.d/hoge.conf
ファイル名は適当です。中身はこんなん。
server {
listen 80;
server_name hogefuga.side2.net;
location / {
root /path/to/tiarraMetro/public;
index index.php;
}
if (-f $request_filename) { break; }
if (-d $request_filename) { break; }
rewrite . /index.php last;
}
こんな感じで保存。
$ sudo /etc/init.d/nginx configtest
configtestもsudoじゃないとコケるっぽい。
$ sudo /etc/init.d/nginx restart
ブラウザから動作確認してください。
**tiarraMetroの過去データを退避してテーブルを作り直す手順 [#g1abae49]
※AUTO_INCREMENTの数値が増加するため必ずtiarraを停止した状態で実施する
show tables;
テーブルの一覧をまず確認。対象テーブルは基本的にはlogのみでOK(channelも実施すると見た目的に良いかも)。
show create table log;
このコマンドを実行することで以下のようにcreate文が表示されるので、丸ごとエディタ等にコピーし、最後に;(セミコロン)を付与する。
※AUTO_INCREMENTの値は変動する。また "DEFAULT CHARSET=utf8mb4" にすると絵文字が正しく表示できるようになる(要MySQL5.5.3以上)。
CREATE TABLE `log` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`channel_id` int(11) DEFAULT NULL,
`nick_id` int(11) DEFAULT NULL,
`log` text,
`is_notice` tinyint(4) DEFAULT NULL,
`created_on` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
`updated_on` datetime DEFAULT NULL,
PRIMARY KEY (`id`,`created_on`),
KEY `nick_id` (`nick_id`),
KEY `id_idx` (`id`),
KEY `created_channel` (`created_on`,`channel_id`),
KEY `channel_id_and_created_on` (`channel_id`,`created_on`)
) ENGINE=InnoDB AUTO_INCREMENT=xxxxxxx DEFAULT CHARSET=utf8
;
logテーブルをリネームする。
rename table log to log_20140807;
先ほど退避しておいた "CREATE TABLE `log`"以下の構文を丸ごとペーストする。何度もいうけど最後にセミコロンの付与を忘れずに。
logテーブルが作られたことを確認する。
show tables;
tiarraを起動して動作確認して終わり。
**CentOSの場合 [#dd1c8390]
※すごい古いので参考にしないほうがよいです(2015年9月追記)
$ wget http://www.clovery.jp/tiarra/archive/2010/02/tiarra-20100212.tar.gz
$ tar xzvf tiarra-20100212.tar.gz
$ mv tiarra-20100212 /opt/tiarra
$ /usr/bin/perl /opt/tiarra/tiarra --config=/home/karia/karia.conf
とやればおもむろに起動できますが、たぶんなんかエラー吐きます。ここから下はエラーを地道に潰した記録。rootもしくはsudoでどうぞ。
# cpan -i HTTP::Request::Common
ここから下はAuto::Notifyを使わない人は不要だと思う。
# yum -y install openssl-devel
必ず-develにすること。
# yum -y install perl-Crypt-SSLeay.x86_64
cpanでOpenSSL認識してくれなかったので仕方なく。
# cpan -i IO::Socket::SSL