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...

wordpressの管理ページの一部が開けない対処

■wordpressの管理ページの一部が開けない対処
wordpressのコンテンツをSL5.9からSL6.5のサーバに移行したら、通常ページは問題なく動作するのに、管理ページの一部のみが表示できない(真っ白になる)問題が発生した。

WP_DEBUGにもmessegaeにもapacheのerror.logにも何もでないのでおかしいなぁと思っていろいろ調べてみると、どうやらphpのcache系でそういう現象が起きることがあるらしい。eAcceleratorを入れていたので.htaccessでキャッシュを無効化したところ適切に表示できるようになった。

やったのは以下。

  1. # vi /var/www/<wordpresspath>/wp-admin/.htaccess
  2. php_flag eaccelerator.enable 0
  3. php_flag eaccelerator.optimizer 0

エラーがうまく出てこない時にはとりあえず試してみるといいかもしれない。

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

■侵入改竄検知システム AIDE を使うメモ
 長くIDSとしてOsirisを使ってきたが時勢に合わなくなってしまったので、CentOS/ScientificLinuxに標準装備されているAIDEを使ってみたメモ。

■インストールと簡単な使い方

  1. # yum install aide
  2.  
  3. 設定編集(コメント充実)
  4. # vi /etc/aide.conf
  5. R = p+l+i+n+u+g+s+m+acl+selinux+xattrs+md5
  6.  
  7. 初期化
  8. # aide -i
  9.  
  10. 比較用DB作成
  11. # cp /var/lib/aide/aide.db.new.gz /var/lib/aide/aide.db.gz
  12.  
  13. 比較
  14. # aide -C
  15.  
  16. 通常用途
  17. # aide -u

■CentOS5系でselinuxで問題が出るケースの設定変更例

  1. # vi /etc/aide.conf
  2.  
  3. R = p+l+i+n+u+g+s+m+acl+xattrs+md5
  4. L = p+l+i+n+u+g+acl+xattrs
  5. > = p+l+u+g+i+n+S+acl+xattrs
  6.  
  7. DIR = p+l+i+n+u+g+acl+xattrs
  8.  
  9. PERMS = p+l+i+u+g+acl
  10.  
  11. DATAONLY =  p+l+n+u+g+s+acl+xattrs+md5+sha256+rmd160+tiger

■Prelink関連のエラーが出る場合の設定変更例

  1. # sed -i '/^PRELINKING=yes$/s/yes/no/' /etc/sysconfig/prelink
  2. # /usr/sbin/prelink -ua

■cron用script例

  1. # vi /root/script/aide.sh
  2. #!/bin/bash
  3.  
  4. /usr/sbin/aide -u
  5. /bin/cp -fr /var/lib/aide/aide.db.new.gz /var/lib/aide/aide.db.gz

■MyNETS用改竄検知設定例(/var/www/sns/wwwをSNS rootとする)

  1. # vi /etc/aide.conf
  2. # MyNETS SNS DIR
  3. /var/www/sns/www NORMAL
  4. !/var/www/sns/www/img
  5. !/var/www/sns/www/var

■参考リンク
http://pooh.gr.jp/?p=9633
http://blog.cecily.jp/kotou/51/
http://aikotobaha.blogspot.jp/2011/11/rhel-aide.html

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

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

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

■インストール(mysqlは導入済み)

  1. # rpm -ivh http://packages.groonga.org/centos/groonga-release-1.1.0-1.noarch.rpm
  2.  
  3. ※ScientificLinux6は以下のbaseurl修正を行う
  4. # vi /etc/yum.repos.d/groonga.repo
  5. baseurl=http://packages.groonga.org/centos/6/$basearch/
  6.  
  7. # yum makecache
  8. # yum install -y mysql-mroonga groonga-tokenizer-mecab
  9.  
  10. # mysql -u root -p
  11. mysql> show engines;
  12. mysql> INSTALL PLUGIN mroonga SONAME 'ha_mroonga.so';

■動作確認方法

  1. # mysql -u root -p
  2. mysql> show engines;
  3. mysql> use test;
  4. mysql> create table diaries ( id INT primary key auto_increment, content varchar(255), fulltext index (content) ) engine = mroonga default charset utf8;
  5. mysql> INSERT INTO diaries (content) VALUES ("明日の天気は晴れでしょう。");
  6. mysql> INSERT INTO diaries (content) VALUES ("明日の天気は雨でしょう。");
  7. mysql> SELECT * FROM diaries WHERE MATCH(content) AGAINST("晴れ");

検索できればOK。
検索スコアでソートは以下で確認。

  1. mysql> INSERT INTO diaries (content) VALUES ("今日は晴れました。明日も晴れるでしょう。");
  2. mysql> INSERT INTO diaries (content) VALUES ("今日は晴れましたが、明日は雨でしょう。");
  3. mysql> SELECT *, MATCH (content) AGAINST ("晴れ") FROM diaries WHERE MATCH (content) AGAINST ("晴れ") ORDER BY MATCH (content) AGAINST ("晴れ") DESC;

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

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

これで新しいDBへインポートすればOK。

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

■IBM x3250/x3550 +RH5にOpenIPMIをインストールしたメモ
 x3250/x3550は標準でOpenIPMIをサポートしており、RedHat5.8では特にドライバーのインストールなどが不要になっている。そこでOpenIPMIでファンの数値を取ろうとして少しハマったのでメモ。

■OpenIPMIのインストール

  1. # yum install OpenIPMI OpenIPMI-tools OpenIPMI-libs

■OpenIPMIを有効にする
 OpenIPMIに対応しているかどうかはハードやBIOS設定によるので注意。

  1. # modprobe ipmi_si

 とコマンドを叩いて無事にロードされる場合は対応できている。

 しかし何故か対応しているのにipmi関連kernelモジュールが自動でロードされないので、rc.localに無理やり書いてロードする。

 /etc/rd.d/rc.local に以下を記述

  1.  modprobe ipmi_devintf
  2.  modprobe ipmi_si
  3.  modprobe ipmi_msghandler
  1.  # ntsysv

 ipmi
 ipmievd
 にチェックして再起動

 個別にmodprobeした場合はipmi関係サービスを手動起動してもOK

  1.  # service ipmi start
  2.  # service ipmievd start

これで値が取得可能になる

  1. # ipmitool sdr
  2. Planar 3.3V      | 3.40 Volts        | ok
  3. Planar 5V        | 5.04 Volts        | ok
  4. Planar 12V       | 12.20 Volts       | ok
  5. Planar 5V SB     | 4.99 Volts        | ok
  6. CPU VCore        | 0.87 Volts        | ok
  7. Planar VBAT      | 3.05 Volts        | ok
  8. CPU VDIMM        | 1.49 Volts        | ok
  9. PCH 1.05V        | 1.07 Volts        | ok
  10. Ambient Temp     | 22 degrees C      | ok
  11. Fan 1 Tach       | 6188 RPM          | ok
  12. Fan 2 Tach       | 6120 RPM          | ok
  13. Fan 3 Tach       | 6188 RPM          | ok
  14. Fan 4 Tach       | 6052 RPM          | ok
  15. Fan 5 Tach       | 6120 RPM          | ok
  16. Watchdog         | 0x00              | ok
  17. VRD Status       | 0x00              | ok
  18. All DIMMs        | 0x00              | ok
  19. One of DIMMs     | 0x00              | ok
  20. Fan 1            | 0x01              | ok
  21. Fan 2            | 0x01              | ok
  22. Fan 3            | 0x01              | ok
  23. Fan 4            | 0x01              | ok
  24. Fan 5            | 0x01              | ok
  25. Drive 0          | 0x00              | ok
  26. Drive 1          | 0x00              | ok
  27. Drive 2          | 0x00              | ok
  28. Drive 3          | 0x00              | ok
  29. NMI State        | 0x00              | ok
  30. CPU 1            | 0x80              | ok
  31. ABR Status       | 0x00              | ok
  32. DASD Backplane 1 | 0x02              | ok
  33. PCIs             | 0x00              | ok
  34. CPUs             | 0x00              | ok
  35. DIMMs            | 0x00              | ok
  36. Sys Board Fault  | 0x00              | ok
  37. Firmware Error   | 0x00              | ok
  38. Progress         | 0x00              | ok
  39. SEL Fullness     | 0x00              | ok
  40. CPU OverTemp     | 0x01              | ok
  41. All PCI Error    | 0x00              | ok
  42. PCI 1            | 0x00              | ok
  43. PCI 2            | 0x00              | ok
  44. PCI 6            | 0x00              | ok
  45. CPU Fault Reboot | 0x00              | ok
  46. Aux Log          | 0x00              | ok
  47. One of PCI Error | 0x00              | ok
  48. DIMM 1           | 0x40              | ok
  49. DIMM 2           | 0x40              | ok
  50. DIMM 3           | 0x00              | ok
  51. DIMM 4           | 0x40              | ok
  52. DIMM 5           | 0x40              | ok
  53. DIMM 6           | 0x00              | ok
  54. DIMM 1 Temp      | 0x00              | ok
  55. DIMM 2 Temp      | 0x00              | ok
  56. DIMM 3 Temp      | 0x00              | ok
  57. DIMM 4 Temp      | 0x00              | ok
  58. DIMM 5 Temp      | 0x00              | ok
  59. DIMM 6 Temp      | 0x00              | ok
  60. Host Power       | 0x00              | ok
  61. OS RealTime Mod  | 0x00              | ok
, , , , ,
とりあえず付けておく無駄ではなかったなまぁまぁ読めたちょっと役に立ったかなかなり良かったかも (まだ評価されていません)
Loading...

■muninでアラートメールを送信するメモ
 muninはグラフ書くだけじゃないよということでアラートメールを送信できるようにしたメモ。

■監視アラート設定の追加
/etc/munin/munin.confに以下追記

1) 送り先と送る内容を追加

  1. contact.email.command mail -s "Munin ${var:group}::${var:host}" user@example.com
  2. contact.email.always_send warning critical

2)監視対象サーバにアラート用設定を追加

  1. [localhost]
  2.    address 127.0.0.1
  3.    use_node_name yes
  4.    load.load.warning 5
  5.    load.load.critical 10
  6.    df._dev_sda3.warning 50
  7.    hddtemp_smartctl.sda.warning 50
  8.    hddtemp_smartctl.sda.critical 60

 追加したい内容は以下の方法で項目と数値を決定する

 # /usr/sbin/munin-run プラグイン名

 出力されるパラメータを見て

 プラグイン.パラメータ.レベル 数値 で記述。
 数値は範囲指定も可能 上限:下限

3) アラートの強制送信で動作確認

  1. # su - munin --shell=/bin/bash -c "/usr/share/munin/munin-limits --contact email --force"

■プロセス監視/URL監視(サイト監視/コンテンツ監視)/ログ監視
 便利そうなのでご紹介

 お前の血は何色だ!! 4:muninでヘルスチェック(死活監視/生存監視/サイト監視とか)
 http://d.hatena.ne.jp/rti7743/20110604/1307219520

■より詳細な設定
 こちらを参考にさせていただきました

 棚からパルチャギ:Muninでアラートメールの送信 (メール送信編)
 http://castor.s26.xrea.com/blog/2007/10/19

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

■CentOS6.2のApacheでSPDYを有効にしたメモ
 GoogleのSPDYが簡単に利用できるようになったようなのでテストしてみたメモ。CentOS6.2環境下だととても簡単。ちなみにCentOS5.xでは標準ではApacheのバージョンがSPDYの条件を満たさないため一工夫必要。以下CentOS6.2がWebServer設定等でatとmod_sslが有効な状態でインストールされている前提でのメモ。ホント簡単。

■mod_spdyのインストール
 mod_sslをGoogleからダウンロードしてインストールする(ここではi386版)

  1. # wget https://dl-ssl.google.com/dl/linux/direct/mod-spdy-beta_current_i386.rpm
  2.  # rpm -U mod-spdy-beta_current_i386.rpm
  3.  # apachectl graceful

■SPDYが有効になっていることを確認する
 ここではMacOSX 10.6.8で普通に起動したChrome 18.0.1025.165で確認した。

1)新規タブで以下のURLを開く
 chrome://net-internals/#spdy
2)左メニューのSPDY項目をクリックして表示しておく
3)新規タブを開いてSPDYを有効にした試験サーバにアクセスする
 https://www.example.com/
4)SPDY項目のタブに戻る(必要ならSPDY項目を再度クリック)
 SPDY sessionsのホストリストにwww.example.comが表示されていればOK

ChromeではSPDY利用について以下のように標準設定されているよう。
SSLが必ず必須になっていることに注意。

  1. SPDY Status
  2.  
  3. SPDY Enabled: true
  4. Use Alternate Protocol: true
  5. Force SPDY Always: false
  6. Force SPDY Over SSL: true
  7. Next Protocols: http/1.1,spdy/2
, , , ,
とりあえず付けておく無駄ではなかったなまぁまぁ読めたちょっと役に立ったかなかなり良かったかも (まだ評価されていません)
Loading...

■CentOS6.2環境に最新のphp5.3.10を導入するメモ
 CentOS6.2環境に最新のphpを導入するため試行錯誤したメモ。導入するリポジトリはIUS Community Projectのもの。同ProjectはPHP,MySQLの最新版をRH6系ディストリビューション向けに提供することを目的としている。現在本家のドキュメントと導入方法が結構異なっているのでメモしておく。

■IUSリポジトリの導入
 リポジトリインストール用のrpmパッケージが用意されていないので以下の手順で導入する。RH5系と違ってepelは必須になっていない模様。

  1. # vi /etc/yum.repos.d/ius.repo
  2. [ius]
  3. name=IUS Community Packages for Enterprise Linux 6 - $basearch
  4. #baseurl=http://dl.iuscommunity.org/pub/ius/stable/Redhat/6/$basearch
  5. mirrorlist=http://dmirr.iuscommunity.org/mirrorlist?repo=ius-el6&arch=$basearch
  6. failovermethod=priority
  7. enabled=1
  8. gpgcheck=1
  9. gpgkey=file:///etc/pki/rpm-gpg/IUS-COMMUNITY-GPG-KEY
  10.  
  11. # cd /etc/pki/rpm-gpg/
  12. # wget http://dl.iuscommunity.org/pub/ius/IUS-COMMUNITY-GPG-KEY
  13.  
  14. # yum update

■phpの入替え
 yumのreplaceプラグインを利用して一気に入替えを行う。

  1. # yum install yum-plugin-replace
  2. # yum replace php --replace-with php53u

これでphp5.3.10にリプレースされる。
インストール可能なrpmパッケージの一覧はここから参照可能。
http://dl.iuscommunity.org/pub/ius/stable/Redhat/6/

, , , ,
とりあえず付けておく無駄ではなかったなまぁまぁ読めたちょっと役に立ったかなかなり良かったかも (1 投票, 平均値/最大値: 3.00 / 5)
Loading...

■CommuniGate Proの稼働状況をmuninで監視する
 CommuniGate Proの稼働状態をmuninで監視するためのメモ。前記事の続き。CommuniGate Proでのsnmp取得設定ができていることを前提とする。

■サーバ設定
 snmpwalkを使用可能にする
 # yum install net-snmp-utils
 CGPから値が取得できることを確認する
 # snmpwalk -v 2c -c password servername .1.3.6.1.4.1.5678.2

■script作成から設置まで
 サンプルとしてCGPのスレッド数を取得するscriptを作成する
 # cd /usr/share/munin/plugins/
 以下のscriptを作成
 # vi cgp_threads

  1. #!/bin/sh
  2.  
  3. if [ "$1" = "autoconf" ]; then
  4.         if [ -x /usr/bin/snmpwalk ]; then
  5.                 echo yes
  6.                 exit 0
  7.         else
  8.                 echo no
  9.                 exit 1
  10.         fi
  11. fi
  12.  
  13. if [ "$1" = "config" ]; then
  14.  
  15.         # THREADWARNING=200
  16.  
  17.         echo 'graph_title CGP Active Threads'
  18.         echo "graph_args -l 0"
  19.         echo 'graph_vlabel CGP Active Threads'
  20.         echo 'graph_info This graph shows CGP Active Threads'
  21.         echo 'graph_category CGP'
  22.  
  23.         echo 'threads.label CGP Active Threads'
  24.         echo 'threads.draw LINE2'
  25.         echo "threads.warning $THREADWARNING"
  26.         echo "threads.info CGP Active Threads"
  27.  
  28.         exit 0
  29. fi
  30.  
  31.         echo -n "threads.value "
  32.         snmpwalk -v 2c -c password servername 1.3.6.1.4.1.5678.2.100.20 | awk '{ print $4 }'

 実行権を付与する
 # chmod +x cgp_threads
 値が取得できるか確認する
 # munin-run -servicedir /usr/share/munin/plugins/ cgp_threads
 値が取得できれば実行できるよう設定する
 # cd /etc/munin/plugins/
 # ln -s /usr/share/munin/plugins/cgp_threads cgp_threads

これで後はグラフが更新されるのを待てばよい。

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

■CommuniGate Proからsnmpで稼働状況取得
 CommuniGate Proの稼働状態をsnmpで取得するためのメモ。muninやzabbixなどの監視ツールで稼働状況を詳細に把握するためデータ取得を可能にする。

■サーバ設定
 CGPサーバ側でsnmpを有効にする(OSではなくCGPで)
 管理画面>設定>サービス>SNMP
 パスワードとトラップパスワードを設定する
 リスナーのリンクを開いてポートに161を指定する
 必要ならリモートIPアドレス制限に値を入力し制限をかける

■取得側設定
 CGPのsnmp出力はSNMPV2なので以下のコマンドで全パラメータが取得できる
 $ snmpwalk -v 2c -c password servername .1.3.6.1.4.1.5678.2

 MIB情報は以下より取得可能
 管理画面>モニター>統計>MIBのリンクをクリック

muninでグラフを作成するには、/usr/share/munin/plugins以下にあるsnmp関連のscriptを改造すればよいと思われる。

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