CentOS/ScientificLinux6でMyNETSを動かす

■CentOS/ScientificLinux6でMyNETSを動かす

ということで、試行錯誤してなんとか動かせたのでメモっておきます。

使ったのはScientificLinux6.7です。
標準ではphp5.3.3、mysql5.1.6ですが、不具合の問題で以下の対応をしました。

・全文検索用にmroongaを使う都合でoracle版mysql5.6導入
・MyNETSで日記投稿時エラーのためphpをius版5.3.29導入

■mroonga&oracle版mysqlインストール

$ yum install -y http://packages.groonga.org/centos/groonga-release-1.1.0-1.noarch.rpm
$vi /etc/yum/yum.repos.d/groonga.repo
以下修正
/centos/$releasever/ → /centos/6/
$ yum install -y http://repo.mysql.com/mysql-community-release-el6-5.noarch.rpm
$ yum makecache
$ yum install -y mysql-community-server
$ /sbin/service mysqld start
$ yum install -y mysql-community-mroonga
$ yum install -y groonga-tokenizer-mecab

$mysql -uroot
mysql> show engines;
mroongaを確認

# vi /etc/my.cnf
互換性のため以下を追記
character-set-server = utf8
skip-host-cache
skip-name-resolve
sql_mode=”
old_passwords=0

以下の設定はエラーになるので廃止
default-character-set=
table_cache=
log-slow-querie=
log=

■ius版php導入

# vi /etc/yum.repos.d/ius.repo
以下の内容で作成
[ius]
name=IUS Community Packages for Enterprise Linux 6 – $basearch
baseurl=http://dl.iuscommunity.org/pub/ius/archive/CentOS/6/$basearch
#mirrorlist=http://dmirr.iuscommunity.org/mirrorlist?repo=ius-el6&arch=$basearch
failovermethod=priority
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/IUS-COMMUNITY-GPG-KEY

# cd /etc/pki/rpm-gpg/
# wget http://dl.iuscommunity.org/pub/ius/IUS-COMMUNITY-GPG-KEY

# yum update
# yum install yum-plugin-replace
# yum replace php –replace-with php53u

# vi /etc/php.ini
error_reporting = E_ALL & ~E_NOTICE & ~E_DEPRECATED

■全文検索用データ修正
mysqlのダンプデータを以下のように書き換え

 FULLTEXT KEY `fullindex` (`body`) /*!50100 WITH PARSER `mecab` */
) ENGINE=MyISAM AUTO_INCREMENT=100 DEFAULT CHARSET=utf8;
 ↓
 FULLTEXT INDEX (`body`)
) ENGINE=mroonga AUTO_INCREMENT=100 DEFAULT CHARSET=utf8;

たぶん、これでOK

, , ,
とりあえず付けておく無駄ではなかったなまぁまぁ読めたちょっと役に立ったかなかなり良かったかも (まだ評価されていません)
Loading...

■CentOS6/ScientificLinux6にmroongaを導入する
 CentOS6/ScientificLinux6にはmysql5.1.xが導入されていて、日本語全文検索にtritonnが利用できないので、後継プロジェクトになっているmroongaを導入し、日本語全文検索を可能にする。実際の手順はほぼmroongaの公式HPの通り。

 mroonga
 http://mroonga.github.io/ja/

■インストール(mysqlは導入済み)
[code]# rpm -ivh http://packages.groonga.org/centos/groonga-release-1.1.0-1.noarch.rpm

※ScientificLinux6は以下のbaseurl修正を行う
# vi /etc/yum.repos.d/groonga.repo
baseurl=http://packages.groonga.org/centos/6/$basearch/

# yum makecache
# yum install -y mysql-mroonga groonga-tokenizer-mecab

# mysql -u root -p
mysql> show engines;
mysql> INSTALL PLUGIN mroonga SONAME ‘ha_mroonga.so’;[/code]

■動作確認方法
[code]# mysql -u root -p
mysql> show engines;
mysql> use test;
mysql> create table diaries ( id INT primary key auto_increment, content varchar(255), fulltext index (content) ) engine = mroonga default charset utf8;
mysql> INSERT INTO diaries (content) VALUES (“明日の天気は晴れでしょう。”);
mysql> INSERT INTO diaries (content) VALUES (“明日の天気は雨でしょう。”);
mysql> SELECT * FROM diaries WHERE MATCH(content) AGAINST(“晴れ”);[/code]
検索できればOK。
検索スコアでソートは以下で確認。
[code]mysql> INSERT INTO diaries (content) VALUES (“今日は晴れました。明日も晴れるでしょう。”);
mysql> INSERT INTO diaries (content) VALUES (“今日は晴れましたが、明日は雨でしょう。”);
mysql> SELECT *, MATCH (content) AGAINST (“晴れ”) FROM diaries WHERE MATCH (content) AGAINST (“晴れ”) ORDER BY MATCH (content) AGAINST (“晴れ”) DESC;[/code]

■tritonnデータからの移行
 tritonnでダンプしたデータのうち以下の部分を修正する(ストレージモードで利用)

[code] FULLTEXT KEY `fullindex` (`body`) /*!50100 WITH PARSER `mecab` */
) ENGINE=MyISAM AUTO_INCREMENT=100 DEFAULT CHARSET=utf8;
 ↓
 FULLTEXT INDEX (`body`)
) ENGINE=mroonga AUTO_INCREMENT=100 DEFAULT CHARSET=utf8;[/code]
これで新しいDBへインポートすればOK。

, , , ,
とりあえず付けておく無駄ではなかったなまぁまぁ読めたちょっと役に立ったかなかなり良かったかも (まだ評価されていません)
Loading...

■CentOS6系のMySQLで日本語全文検索
CentOS6系のMySQLは5.1になっているため、日本語全文検索用途で5.0系で使ってきたTritonnが使えない。そのため新たにftppc mecabプラグインを導入し代替とする。参考した記事は以下。

http://www.genteel.org/?p=132
http://mironal-memo.blogspot.jp/2012/07/vpscentos-6mecab.html

■以下インストール手
gccとgcc-c++,mysql-devel必須

[code]# yum install gcc gcc-c++ mysql-devel libicu libicu-devel
# wget http://mecab.googlecode.com/files/mecab-0.994.tar.gz
# wget http://mecab.googlecode.com/files/mecab-ipadic-2.7.0-20070801.tar.gz
# tar zxvf mecab-0.994.tar.gz
# cd mecab-0.994
# ./configure
# make && make install
# ../
# tar zxvf mecab-ipadic-2.7.0-20070801.tar.gz
# cd mecab-ipadic-2.7.0-20070801
# ./configure –with-cherset=utf-8
# make && make install
# ../
# wget http://jaist.dl.sourceforge.net/project/mysqlftppc/mysqlftppc/1.6.1/mysqlftppc-mecab-1.6.1.tar.gz
# cd mysqlftppc-mecab-1.6.1
# ./configure && make && make install[/code]

MySQLへのプラグイン導入

[code]mysql> INSTALL PLUGIN mecab SONAME ‘libftmecab.so.0.0.0’;
mysql> show plugin;
mysql> show status like “mecab_info”;[/code]

導入できたか検索で確認

[code]mysql> use test
mysql> CREATE TABLE me (c TEXT, FULLTEXT(c) WITH PARSER mecab);
mysql> show create table me\G
mysql> INSERT INTO me VALUES(“今日の天気は晴れです。”);
mysql> SELECT * FROM me WHERE MATCH(c) AGAINST(‘+”今日の天気”‘ IN BOOLEAN MODE);
mysql> explain SELECT * FROM me WHERE MATCH(c) AGAINST(‘+”今日の天気”‘ IN BOOLEAN MODE);[/code]

Tritonnで作成したindexをダンプ後編集して取り込む時の修正方法

[code]変更前
USING NGRAM, NORMALIZE, 512 (`body`)

変更後
(`body`) /*!50100 WITH PARSER `mecab` */[/code]

, ,
とりあえず付けておく無駄ではなかったなまぁまぁ読めたちょっと役に立ったかなかなり良かったかも (まだ評価されていません)
Loading...

■せん茶SNS 1.0.1へのバージョンアップ手順
 早速不具合修正のバージョンアップが提供されたのでアップデートした手順。様子見ながらなので手順としてはイマイチw 修正内容はせん茶SNS公式ページで確認のこと。差分ダウンロードも同様。やることはシンプルで3つだけ。公式手順はこちら

1)SQLのアップデート
2)ソース上書き
3)キャッシュの削除

■手順
・予めダウンロードしたsencha-sns-1.0.1-diff.zipをサーバにscp等で転送しておく
 # unzip sencha-sns-1.0.1-diff.zip
 # cd sencha-sns-1.0.1-diff

・データベースアップデート
 # less sql/Alter.sql (コマンドの確認、今回は1行のみ)
 # mysql -u root -p
 >mysql use sencha
 >mysql ALTER TABLE `T_NOTICE` ADD `CMT_ID` INT( 4 ) NULL AFTER `TML_ID` ;
 >mysql quit

・ソース上書き(今回はファイル数少ないのでファイル確認しながら)
 # cp -R src/app /var/www/html/sns/

 キャッシュの削除
 # cd /var/www/html/sns/app/tmp/cache/models/
 # rm -rf cake_model_default_*

いくつかの機能修正を確認。この調子でどんどん改善されていくことを期待。
ちょこっとしたカスタマイズが一部書き戻しされたからマージしないと…orz

 インストールの記事はこちら
 せん茶SNSをインストールしたメモ
 http://blog.isnext.net/issy/archives/1932

, , , ,
とりあえず付けておく無駄ではなかったなまぁまぁ読めたちょっと役に立ったかなかなり良かったかも (まだ評価されていません)
Loading...

■せん茶SNSをインストールしたメモ
 OSSの新しいSNSプログラム せん茶SNSがダウンロード可能になったのでインストールしたメモ。ほぼサイトの手順通りなのであまり問題ない。できることもほぼデモ版と同じ。管理項目がかなり少ないのがちょっと不安げw 以下やった手順をメモ。

 せん茶SNS
 http://oss.icz.co.jp/sns/

・HPのダウンロードリンクより個人情報登録してダウンロード
・設置するサーバにzipファイルを送信
・以下の手順で作業(http://www.example.com/sns/でアクセスできるようにする)
 .htaccessは有効になっていること

# cd ~/download
# unzip sencha-sns-1.0.0.zip
# mv sencha-sns-1.0.0 /var/www/html/sns
# vi app/config/core.php
208行目:Security.salt 修正
212行目:Security.cipherSeed 修正
# chmod -R 0777 app/tmp
# chmod -R 0777 app/config
# chmod -R 0777 app/files

# mysql -u root -p
mysql> grant all privileges on sencha.* to sencha@localhost identified by ‘senchapassword’ WITH GRANT OPTION;
mysql> CREATE DATABASE `sencha` DEFAULT CHARACTER SET utf8 ;
mysql> quit

・ここまでできたらブラウザで以下のURLにアクセス
 http://www.example.com/sns/
・GUIの指示に従ってデータベースと初期ユーザ設定を行う
・設定が完了したら登録した初期ユーザでログインする 簡単!

とりあえず、これからカスタマイズなどどこで何かできるか確認していく予定。

 不具合修正のアップデートきてます
 せん茶SNS 1.0.1へのバージョンアップ手順
 http://blog.isnext.net/issy/archives/2015

, , , ,
とりあえず付けておく無駄ではなかったなまぁまぁ読めたちょっと役に立ったかなかなり良かったかも (まだ評価されていません)
Loading...

mysqlの障害を監視する各種設定メモ
 mysqlが過負荷になる現象が確認されたので、障害対応と監視を強化するために行った作業のメモ。

■muninによる監視の追加
・muninは導入済みの想定
 /usr/share/munin/plugins/mysql_ を利用する

・基本監視可能項目のリスト 出力された項目が設定可能
 # /usr/share/munin/plugins/mysql_ suggest
 Cache::Cacheのエラーが出る場合は以下を実行
 # yum install perl-Cache-Cache

・基本監視項目を設定
 # cd /etc/munin/plugins
 # ln -s /usr/share/munin/plugins/mysql_ mysql_commands
 # ln -s /usr/share/munin/plugins/mysql_ mysql_connections
 # ln -s /usr/share/munin/plugins/mysql_ mysql_slow
 # ln -s /usr/share/munin/plugins/mysql_ mysql_myisam_indexes
 # ln -s /usr/share/munin/plugins/mysql_ mysql_network_traffic
 # ln -s /usr/share/munin/plugins/mysql_ mysql_qcache
 # ln -s /usr/share/munin/plugins/mysql_ mysql_qcache_mem

・設定の追加
 # vi /etc/munin/plugin-conf.d/munin-node
 以下を追記
 [mysql_*]
 env.mysqlconnection DBI:mysql:mysql;host=127.0.0.1;port=3306
 env.mysqluser root
 env.mysqlpassword password

・データ取得できているか動作確認する
 # /usr/sbin/munin-run -servicedir /etc/munin/plugins mysql_commands
 # /usr/sbin/munin-run -servicedir /etc/munin/plugins mysql_connections
 # /usr/sbin/munin-run -servicedir /etc/munin/plugins mysql_slow
 # /usr/sbin/munin-run -servicedir /etc/munin/plugins mysql_myisam_indexes
 # /usr/sbin/munin-run -servicedir /etc/munin/plugins mysql_network_traffic
 # /usr/sbin/munin-run -servicedir /etc/munin/plugins mysql_qcache
 # /usr/sbin/munin-run -servicedir /etc/munin/plugins mysql_qcache_mem

・設定を有効にする
 # service munin-node restart

■mysqlに障害対応用ログ取得設定を追記
・slowログとバイナリーログを7日分出力する
 # vi /etc/my.cnf
 log-slow-queries=/var/log/mysql/slow.log
 long_query_time=3
 log-bin = /var/log/mysql/mysql-bin
 set-variable = expire_logs_days=7

・保存場所を作成してmysqlを再起動
 # mkdir /var/log/mysql
 # chown -R mysql:mysql /var/log/mysql
 # service mysqld restart

■稼働中のmysqlの状態把握ができるようにする
・mytopをインストールする
 # yum install mytop

・設定ファイルを作成する
 # vi ~/.mytop
 以下の内容を設定に合わせて記入
 user=root
 pass=password
 host=localhost
 db=mysqldbname
 delay=3
 port=3306
 socket=
 batchmode=0
 header=1
 color=1
 idle=1

・mytopを実行する
 # mytop
 終了時はqキー

・innotopをインストールする
 # yum install innotop

・innotopを起動する
 # innotop
 画面の指示に従い設定を入力する
 ヘルプは?、終了はqキー

・innotopの設定を編集する
 # vi ~/.innotop/innotop.ini
 connectionsの設定を編集
 mysqldbname=user=root pass=password have_user= have_pass=
  dsn=DBI:mysql:;host=localhost;port=3306 savepass= dl_table=

■プロセス監視ツールを追加する
・atopをインストールする
 # yum install atop
 実行は以下
 # atop
 異常値を色で示してくれるのでわかりやすい

■プロセスの状況を監視する設定をmuninに追加する
・user単位の使用状況を確認可能なmuninプラグインcpubyuserを設定する
 http://exchange.munin-monitoring.org/plugins/cpubyuser/details
 # cd /usr/share/munin/plugins/
 # wget http://exchange.munin-monitoring.org/plugins/cpubyuser/version/1/download
 # mv download cpubyuser

・cpubyuserの設定を追加
 # vi /etc/munin/plugin-conf.d/munin-node
 以下監視したいuser名を追記
 [cpubyuser]
 env.USERS root postfix mysql apache munin munin-node

・process単位の使用状況を確認可能なmuninプラグインcpu_by_processを設定する
 http://exchange.munin-monitoring.org/plugins/cpu_by_process/details
 # wget http://exchange.munin-monitoring.org/plugins/cpu_by_process/version/1/download
 # mv download cpu_by_process

・cpu_by_processの設定を追加
 # vi /etc/munin/plugin-conf.d/munin-node
 以下を追記
 [cpu_by_process]
 user root

・プラグインを有効にする
 # cd /etc/munin/plugins
 # ln -s /usr/share/munin/plugins/cpubyuser cpubyuser
 # ln -s /usr/share/munin/plugins/cpu_by_process cpu_by_process

・データ取得できているか動作確認する
 # /usr/sbin/munin-run -servicedir /etc/munin/plugins cpubyuser
 # /usr/sbin/munin-run -servicedir /etc/munin/plugins cpu_by_process

・設定を有効にする
 # service munin-node restart

, ,
とりあえず付けておく無駄ではなかったなまぁまぁ読めたちょっと役に立ったかなかなり良かったかも (まだ評価されていません)
Loading...

■Scientific Linux 5.7でmysqld複数起動設定
 基本はCentOS5系と同じなのだが、省略できない手順がありそのままではmysqld_multiが起動できなかったため、改めて書いておく。CentOSよりも自動で処理してもらえる部分が少ないので注意。

1)設定ファイルを編集する
# cat /etc/my.cnf

[client]
#password = your_password
port = 13306
socket = /var/lib/mysql1/mysql.sock
default-character-set=utf8

[mysqld_multi]
mysqld = /usr/bin/mysqld_safe
mysqladmin = /usr/bin/mysqladmin
user = root
password = rootpasswd

# The MySQL server
[mysqld1]
port = 13306
socket = /var/lib/mysql1/mysql.sock
pid-file = /var/lib/mysql1/host.pid
datadir = /var/lib/mysql1/
skip-locking
key_buffer = 96M
max_allowed_packet = 3M
table_cache = 128
sort_buffer_size = 1M
read_buffer_size = 1M
read_rnd_buffer_size = 4M
myisam_sort_buffer_size = 64M
thread_cache_size = 8
query_cache_size= 16M
# Try number of CPU’s*2 for thread_concurrency
thread_concurrency = 8
default-character-set=utf8
character_set_server=utf8
skip-federated
log-bin=mysql-bin

[mysqld2]
port = 13307
socket = /var/lib/mysql2/mysql.sock2
pid-file = /var/lib/mysql2/host.pid2
datadir = /var/lib/mysql2/
skip-locking
key_buffer = 96M
max_allowed_packet = 3M
table_cache = 128
sort_buffer_size = 1M
read_buffer_size = 1M
read_rnd_buffer_size = 4M
myisam_sort_buffer_size = 64M
thread_cache_size = 8
query_cache_size= 16M
# Try number of CPU’s*2 for thread_concurrency
thread_concurrency = 8
default-character-set=utf8
character_set_server=utf8
skip-federated
log-bin=mysql-bin

[mysqldump]
quick
max_allowed_packet = 16M

[mysql]
no-auto-rehash

[isamchk]
key_buffer = 128M
sort_buffer_size = 128M
read_buffer = 2M
write_buffer = 2M

[myisamchk]
key_buffer = 128M
sort_buffer_size = 128M
read_buffer = 2M
write_buffer = 2M

[mysqlhotcopy]
interactive-timeout

2)mysqld_multiで起動できるよう以下のコマンドを各datadirで行う
#/usr/bin/mysql_install_db –user=mysql –datadir=/var/lib/mysql1/
#/usr/bin/mysql_install_db –user=mysql –datadir=/var/lib/mysql2/

3)各mysqldを起動しパスワード設定を行う
# mysqld_multi start 1
# mysql –socket=/var/lib/mysql1/mysql.sock -u root
mysql> set password = password(‘rootpasswd’);
mysql> quit
# mysqld_multi stop 1
# mysqld_multi start 2
# mysql –socket=/var/lib/mysql2/mysql.sock -u root
mysql> set password = password(‘rootpasswd’);
mysql> quit
# mysqld_multi stop 2

4)起動確認を行う
# mysqld_multi start
# mysqld_multi stop

■php関連の設定方法
phpアプリのconfig.phpでの設定例
‘hostspec’ => ‘localhost:13306′,
 標準socketでない場合には
‘hostspec’ => ‘localhost:/var/lib/mysql2/mysql.sock2′,

デフォルトはバックアップ等も考慮してclients他3306で運用が望ましい

■起動scriptを設置する
起動用に /etc/init.d/に以下のscriptを配置

# vi /etc/init.d/mysqld_multi
—ここから
# cat /etc/init.d/mysqld_multi
#!/bin/sh
# Mysql daemon start/stop script.
#
# Usually this is put in /etc/init.d (at least on machines SYSV R4
# based systems) and linked to /etc/rc3.d/S99mysql and /etc/rc0.d/S01mysql.
# When this is done the mysql server will be started when the machine is started
# and shut down when the systems goes down.
# Comments to support chkconfig on RedHat Linux
# chkconfig: 2345 90 90
# description: A very fast and reliable SQL database engine.
# The following variables are only set for letting mysql.server find things
# if you want to affect other MySQL variables, you should make your changes
# in the /etc/my.cnf or other configuration files
MYSQLDIR=/usr
PATH=/sbin:/usr/sbin:/bin:/usr/bin:/usr/local/bin:$MYSQLDIR/bin
export PATH
# See how we were called.
case “$1″ in
start)
echo -n “Starting mysqld: “
$MYSQLDIR/bin/mysqld_multi start 1,2
echo
;;
stop)
echo -n “Shutting down mysqld: “
$MYSQLDIR/bin/mysqld_multi stop 1,2
echo
;;
status)
$MYSQLDIR/bin/mysqld_multi report 1,2
;;
restart)
$0 stop
$0 start
;;
*)
echo “Usage: $0 {start|stop|restart|status}”
exit 1
esac
exit 0
–ここまで

作成したら実行権限を与える
# chmod +x /etc/init.d/mysqld_multi

実行可能か動作確認をする
# service mysqld_multi start
# service mysqld_multi stop

■自動起動時の設定を追加
元々のmysqldはオフに、mysqld_multiをオンに
mysqld_multi はリストにないので追加する

# chkconfig mysqld off
# chkconfig –add mysqld_multi
# chkconfig mysqld_multi on

#ntsysv で確認

,
とりあえず付けておく無駄ではなかったなまぁまぁ読めたちょっと役に立ったかなかなり良かったかも (まだ評価されていません)
Loading...

■Scientific Linux 5.6でSNSサーバを構築するメモ
 CentOS5系で運用中のSNSサーバをScientific Linux5系に移行するため、試験環境としてDell D520にインストールを行った時のメモ。ここからはSNS等アプリケーション導入前までの構築メモ。OS自体は前記事を参照。

 D520にScientific Linux 5.6をインストールしたメモ
 http://blog.isnext.net/issy/archives/1281

■高機能メールサーバCommuniGate Proをインストール
 phpアプリで必要なケースが多いのでpostfixを活かしたままCGPを有効にする
・postfix側の設定変更
 # vi /etc/postfix/master.cf
  smtp inet n – n – – smtpd
   ↓
  #smtp inet n – n – – smtpd
 # vi /etc/postfix/main.cf
  mydestination = $myhostname, localhost.$mydomain, localhost
   ↓
  mydestination = localhost
  追記
  relayhost = 自IPアドレス
  myhostname = po.ホストネーム セルフループ回避呪文
・postfixを再起動
 # service postfix restart
・postfixがsmtpをLISTENしてないことを確認
 # lsof -i

・CommuniGate Proの最新版をインストール
 (商用だがCommunityライセンス下で5ユーザまで無料で利用可能)
 # wget http://www.communigate.com/pub/CommuniGatePro/CGatePro-Linux.x86_64.rpm
 # rpm -ivh CGatePro-Linux.x86_64.rpm
 # service CommuniGate start
・CGPの管理画面にアクセスするためにiptableでポート追加
 # vi /etc/sysconfig/iptables
  -A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 8010 -j ACCEPT 追記
 # service iptables restart
・ブラウザでhttp://サーバIPアドレス:8010/へアクセスして設定
 postmasterのパスワード設定
 Basic認証が表示されるのでID:postmasterと設定したパスワードでログイン
  japanese japanese(ISO) (+0900)japan/Korea expert で設定

■日本語全文検索対応mysql/Tritonnインストール
・標準導入のMySQLを削除する
 # yum remove mysql
・perl-DBIのインストールを確認(あればOK)
 # rpm -qa | grep -i perl-DBI
・最新のtritonnパッケージ群をダウンロード
 # wget http://iij.dl.sourceforge.jp/tritonn/44614/MySQL-client-5.0.87-tritonn.1.0.12a.x86_64.rpm
 # wget http://iij.dl.sourceforge.jp/tritonn/44614/MySQL-devel-5.0.87-tritonn.1.0.12a.x86_64.rpm
 # wget http://iij.dl.sourceforge.jp/tritonn/44614/MySQL-server-5.0.87-tritonn.1.0.12a.x86_64.rpm
 # wget http://iij.dl.sourceforge.jp/tritonn/44614/MySQL-shared-5.0.87-tritonn.1.0.12a.x86_64.rpm
 # wget http://iij.dl.sourceforge.jp/tritonn/44614/mecab-0.98-tritonn.1.0.12a.x86_64.rpm
 # wget http://iij.dl.sourceforge.jp/tritonn/44614/mecab-ipadic-2.7.0.20070801-tritonn.1.0.12a.x86_64.rpm
 # wget http://iij.dl.sourceforge.jp/tritonn/44614/senna-1.1.4-tritonn.1.0.12a.x86_64.rpm
・以下の順番でインストール
 # rpm -ivh mecab-0.98-tritonn.1.0.12a.x86_64.rpm
 # rpm -ivh mecab-ipadic-2.7.0.20070801-tritonn.1.0.12a.x86_64.rpm
 # rpm -ivh senna-1.1.4-tritonn.1.0.12a.x86_64.rpm
 # rpm -ivh MySQL-shared-5.0.87-tritonn.1.0.12a.x86_64.rpm
 # rpm -ivh MySQL-client-5.0.87-tritonn.1.0.12a.x86_64.rpm
 # rpm -ivh MySQL-server-5.0.87-tritonn.1.0.12a.x86_64.rpm
 # rpm -ivh MySQL-devel-5.0.87-tritonn.1.0.12a.x86_64.rpm
・MySQLのパスワード設定を行う
 # /usr/bin/mysqladmin -u root password ‘rootpassword’
・ログインして動作確認
 # mysql -u root -p
・設定ファイルを適当に選んで配置する
 # cp /usr/share/mysql/my-large.cnf /etc/my.cnf
・utf8で使いたい場合には以下の行を各項目で追記
 # vi /etc/my.cnf
  [mysqld]
  default-character-set = utf8
  [mysqldump]
  default-character-set = utf8
  [mysql]
  default-character-set = utf8
・設定を反映させる(mysqldでないことに注意)
 # service mysql restart
・設定変更を確認
 # mysql -u root -p
  mysql> status
  …
  Server characterset: utf8
  Db characterset: utf8
  Client characterset: utf8
  Conn. characterset: utf8
  …

■MyNETS(SNSサーバアプリ)の導入準備をする
・MyNETSに必要なコンポーネントをインストール
 # yum install php-mcrypt php-mbstring php-gd php-mysql php-xmlrpc php-xml php-eaccelerator ImageMagick
・ImageMagickの強制アップデートをする
 SL5.6のImageMagickにもCentOSと同じ問題があるので最新版で入替えする
 # wget http://www.imagemagick.org/download/linux/CentOS/x86_64/ImageMagick-6.7.1-3.x86_64.rpm
 # rpm -Uvh –force ImageMagick-6.7.1-3.x86_64.rpm

■監視系に必要なアプリを導入する
・sysstatをインストール
 # yum install sysstat
・lm_sensorsをインストール
 # yum install lm_sensors
 # sensors-detect で設定
 # sensors で動作確認
・muninをインストール
 # yum install munin munin-node
 # munin-node-configure で設定確認
・apacheの監視を有効にする
 # vi /etc/httpd/conf/httpd.conf
  #ExtendedStatus On
   ↓
  ExtendedStatus On

  #<Location /server-status>
  # SetHandler server-status
  # Order deny,allow
  # Deny from all
  # Allow from .example.com
  #</Location>
   ↓
  <Location /server-status>
   SetHandler server-status
   Order deny,allow
   Deny from all
   Allow from 127.0.0.1
  </Location>
・muninを再設定する
 # munin-node-configure -suggest で設定可能な内容を確認
 # munin-node-configure -shell | sh で設定
 # munin-node-configure 設定を確認
 # service munin-node start 監視を開始

※MySQLに関するmunin監視設定は以下を参照

 muninで複数mysqldを監視する設定メモ
 http://blog.isnext.net/issy/archives/957

■SNSアプリケーションの導入
 以下のURLの「8)SNSサーバとしての設定」を参照

 カスタム版MyNETSとCentOS5で1万人規模のSNSを構築する
 http://blog.isnext.net/issy/archives/384

, , , , , ,
とりあえず付けておく無駄ではなかったなまぁまぁ読めたちょっと役に立ったかなかなり良かったかも (まだ評価されていません)
Loading...

■muninで複数mysqldを監視する設定メモ
 CentOS環境で同一ホスト内に設定された複数mysqld自体やデータベースサイズの監視をmuninで行う設定のメモ。epelリポジトリが必要。munin設定ができている前提。複数mysqldの起動設定メモはこちら

■複数mysqld自体の監視

1)必要なモジュールをインストールする
# yum install perl-Cache perl-Cache-Cache perl-DBD-MySQL

2)監視ファイルがサポートしているパラメータの参照
/usr/share/munin/plugins/mysql_ のファイルを利用する
以下のコマンドで出てきたリストのパラメータが取得可能

# /usr/share/munin/plugins/mysql_ suggest
mysql_bin_relay_log
mysql_commands
mysql_connections
mysql_files_tables
mysql_innodb_bpool
mysql_innodb_bpool_act
mysql_innodb_insert_buf
mysql_innodb_io
mysql_innodb_io_pend
mysql_innodb_log
mysql_innodb_rows
mysql_innodb_semaphores
mysql_innodb_tnx
mysql_myisam_indexes
mysql_network_traffic
mysql_qcache
mysql_qcache_mem
mysql_replication
mysql_select_types
mysql_slow
mysql_sorts
mysql_table_locks
mysql_tmp_tables

3)複数mysqldの分をコピーで作成し必要な編集を行う

# cp /usr/share/munin/plugins/mysql_ /usr/share/munin/plugins/mysql01_
# vi /usr/share/munin/plugins/mysql01_

132行目からデータソースを指定
my %config = (
‘dsn’ => $ENV{‘mysqlconnection’} || ‘DBI:mysql:mysql;host=localhost;mysql_socket=/path/to/mysql01/mysql.sock’,
‘user’ => $ENV{‘mysqluser’} || ‘dbuser’,
‘password’ => $ENV{‘mysqlpassword’} || ‘password’,
);

145行目でキャッシュネームを指定
‘namespace’ => ‘munin_mysql01’,

690行目で接頭値を指定
my $graph = substr(basename($0), length(‘mysql01_’));

814行目でmunin上で表示するカテゴリ名を指定
print “graph_category mysql01\n”;

これをmysqldの数だけ値を変えて作成

4)監視したいパラメータのリンクを貼る

# cd /etc/munin/plugins/
# ln -s /usr/share/munin/plugins/mysql01_ mysql01_commands
# ln -s /usr/share/munin/plugins/mysql01_ mysql01_qcache
# ln -s /usr/share/munin/plugins/mysql01_ mysql01_qcache_mem
# ln -s /usr/share/munin/plugins/mysql01_ mysql01_slow

5)値が取得できているか確認
ここでエラーが出ているようだと設定にミスがある

# /usr/sbin/munin-run –servicedir /etc/munin/plugins mysql01_commands
# /usr/sbin/munin-run –servicedir /etc/munin/plugins mysql01_qcache
# /usr/sbin/munin-run –servicedir /etc/munin/plugins mysql01_qcache_mem
# /usr/sbin/munin-run –servicedir /etc/munin/plugins mysql01_slow

■複数mysqld内のデータベースサイズを監視

1)プラグインを入手して設置する
http://exchange.munin-monitoring.org/plugins/mysql_size_/details からプラグインダウンロード
/usr/share/munin/plugins/ にmysql01_size_ 等番号を付けて必要分配置する

42行目
unless ($0 =~ /mysql_size(?:_([^_]+)|)_(.+)\s*$/)

48行目
my $MYSQLADMIN = $ENV{mysqladmin} || “mysql”;

を設定や環境に合わせて修正
例えば

unless ($0 =~ /mysql01_size(?:_([^_]+)|)_(.+)\s*$/)
my $MYSQLADMIN = “/usr/bin/mysql”;

2)munin-nodeに必要なパラメータを設定する

# vi /etc/munin/plugin-conf.d/munin-node

[mysql01_*]
env.mysqlopts -uroot -ppassword –socket=/path/to/mysql01/mysql.sockk
env.mysqladmin /usr/bin/mysqladmin

[mysql02_*]
env.mysqlopts -uroot -ppassword –socket=/path/to/mysql02/mysql.sock
env.mysqladmin /usr/bin/mysqladmin

など

3)監視したいDBのリンクを設定する

# cd /etc/munin/plugins/
# ln -s /usr/share/munin/plugins/mysql01_size_ mysql01_size_dbname01
# ln -s /usr/share/munin/plugins/mysql01_size_ mysql01_size_dbname02
# ln -s /usr/share/munin/plugins/mysql02_size_ mysql02_size_dbname03

4)値が取得できているか確認
ここでエラーが出ているようだと設定にミスがある

# /usr/sbin/munin-run –servicedir /etc/munin/plugins mysql01_size_dbname01
# /usr/sbin/munin-run –servicedir /etc/munin/plugins mysql01_size_dbname02
# /usr/sbin/munin-run –servicedir /etc/munin/plugins mysql02_size_dbname03

■動作が確認できたら設定を反映する

# /sbin/service munin-node restart

, ,
とりあえず付けておく無駄ではなかったなまぁまぁ読めたちょっと役に立ったかなかなり良かったかも (まだ評価されていません)
Loading...

カスタム版MyNETSとCentOS5で1万人規模のSNSを構築する

■カスタム版MyNETSとCentOS5で1万人規模のSNSを構築する
 友人と運営しているSNSのカスタマイズが一段落したので、ご協力いただいた方々やMyNETSの開発元Usagi Projectの方々に了解をいただき、カスタム版をパッケージにまとめてダウンロードできるようにさせていただいた。近いうちにMyNETSの公式HPからもダウンロードリンクが貼られることになっているが、これまでの集大成でもあるので、こちらでも紹介しておこうと思う。

 MyNETSにゃっぽんカスタム版ダウンロード
 http://v-nyappon.net/download/

 こちらのblogでは内容に沿って、20100921版のINSTALLドキュメントの内容を掲載する(最新の状況は上記URLを参照のこと)。CentOS5.5 x86_64版のインストールとチューニング、CommuniGate ProやTritonnを始めとした関係アプリのインストールと設定、MyNETSの配置と設定など、かなりの長文になっているので、続きはご興味のある方だけどうぞ。

※INSTALL.txtにミスがあったため、0919版は削除して0921版にリンク修正しました。

※このカスタム版を作成するのに当り、本当にたくさんの方々から改修コードとアイデアをご提供いただいたことに深く感謝しています。謝辞はREADMEに、本家との違いはCHANGELOGに入れさせていただいています。ダウンロードの際はぜひご覧いただければと思います。

続きを読む

, , , , ,
とりあえず付けておく無駄ではなかったなまぁまぁ読めたちょっと役に立ったかなかなり良かったかも (まだ評価されていません)
Loading...