■mysql5.1.xで実現する日本語全文検索3種
 現在CentOSを利用している頻度が高いこともあって、mysqlの日本語全文検索にはmysql5.0系のTritonnプロジェクト版を利用することが多い。いずれmysql5.1系で日本語全文検索に対応しないといけないケースが出ると思うので、実現方法のメモ。

1) N-Gram (bi-gram) 全文検索プラグイン
 http://sites.google.com/site/mysqlbigram/home-j

2) MySQL full-text parser plugin collection
 http://sourceforge.net/apps/mediawiki/mysqlftppc/index.php?title=Home-j

3) groongaストレージエンジン
 http://www.mysql.gr.jp/mysqlml/mysql/msg/15373

たぶん1から順番に難易度が高くなる?
Tritonnプロジェクトの後継で高度な検索も実現できるgroongaストレージエンジンが、パフォーマンスや長期運用の観点からは面白そう。index作成更新が高速であり、MyISAMのテーブルロックする仕様をカバーできるという点でも、高頻度で書き込みやindex更新のあるSNS系プログラムでは、パフォーマンスの向上が期待できる。

8/18時点ではテストリリースということなので、安定するまでもうしばらく時間がかかりそうだが、継続してwatchすることにする。差し当たってUbuntu 10.04 LTS Serverで実験してみたいところ。

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

 □パフォーマンスチューニングのテクニック

  ・まずは状況把握
   原因の推測のための情報収集
   各種ツールの利用
   ボトルネックをひとつづつ潰す

  ・パフォーマンス指標
   スループット
   レスポンスタイム
   スケーラビリティ
   上記の組み合わせ

  ・スロークエリログの分析
   5.1からは0.x秒単位でログ指定が可能
   頻繁に記録されるslowログから対応する
   mysqldumpslowで統計処理して見極め
   クエリアナライザの利用(高機能版mysqldumpslow)
    MySQL Enterprise Monitor + MySQL Proxy
    Proxyでクエリと統計を収集、Monitorで記録分析表示

  ・EXPLAINで解析
   遅いクエリをチェックしていく
   EXPLAIN typeでALL、index、index_subqueryが出たら注意
   key_lenが大きすぎるとNG
   indexを使っていない場合にはつけてみる
    (テーブルにindex多すぎるとかえって遅くなるので注意)
   INサブクエリは遅いので、JOINで書き直す
   EXPLAIN Extraで以下の値が出たら注意
    Using temporary:indexを使う
    Using filesort:頻発よくない複合indexを検討
    Full scan on NULL key:値によってパーテショニング検討
    Using join buffer:index使ってないところにつける

  ・show profileで解析
   処理の順番を測定し処理毎の時間を出せる
   テスト環境など別のタスクのない状況で行う
   使い方
[code]    mysql> SET profiling=1;
    mysql> 解析したいクエリ実行
    mysql> SHOW PROFILE;[/code]
   履歴表示
[code]    mysql> SHOW PROFILES;
    mysql> SHOW PROFILE FOR 1; 何番目かの履歴
    mysql> SET profiling_history_size=100; 履歴保存数設定[/code]
   表示オプション
[code]    mysql> SHOW PROFILES ALL; 全表示
    CPU CPU使用率
    SWAP スワップしたかしないか など[/code]

  ・show statusで統計情報表示
   show session status 現在セッションの情報表示
   show global status サーバ全体の状況
   以下のように利用する
[code]    mysql> FLASH STATUS;
    mysql> SET profiling=1;
    mysql> 解析したいクエリ実行
    mysql> SHOW PROFILE;
    mysql> SHOW SESSION STATUS;
    mysql> SHOW GLOBAL STATUS;[/code]
   注意すべきパラメータ
    Create_tmp*;テンポラリ作成が多いとNG
    Handler_*;indexを使わない行アクセスが多いとNG
    Key_*:キャッシュミス率が高いときはNG
    Qcache_*:クエリキャッシュのヒット率が悪い時は無効に
    Select_*;遅いSELECTがわかる、FULL JOINが出ていたら無くす

  ・show innodb statusで分析
   CREATE TABLE innodb_monitor(a int) ENGINE INNODB; で有効
   再起動すると消える
   mysql> SHOW INNODB STATUS\G; とすると見やすい
   注意すべきパラメータ
    SEMAPHORE:ロック状況がわかる OS waitが多いとNG
    LOG:消費量がわかる
    BUFFER POOL AND MEMORY:ヒット率でサイズ調整必要
  ・クエリを書き換える
   検索条件がOR:index MergeがNG時はUNION DISTINCTで解決
   適合indexがない:マルチカラムの場合、左から順に指定必須
    1,2,3 の時 1,2と1,2,3は有効、1,3と2,3は無効
   JOINではLIMIT効かないので注意
   INサブクエリはJOINで書き直す

  ・テーブルデフラグ
   OPTIMIZE TABLEで解決
   連続データはパーテショニングしやすい(ログとか日付で連続する)
   パーテショニングしたデータはフラグメントしない、削除が高速

  ・パラメータチューニング
   innodb_buffer_pool_size;空きメモリの7割くらい割当する
    index以外もキャッシュされる
   innodb_log_file_size/innodb_log_file_in_group:INSERTが高速になる
    が128M程度でOK
   key_buffer_size:空きメモリの3割程度
    (MyISAMはindexしかキャッシュしない)
   セッションパラメータは256kbで十分 
    大きくても2Mくらいで(メモリ使いすぎる)
   
 □システム全体でパフォーマンス対策

  ・MySQLのバージョン
   5.0以上を利用する 5.0と5.1は8コアまでスケール可能(innoDB)

  ・ハードウェア
   64bitマシンを導入する(メモリ空間重要)
   ライトキャッシュ付きハードRAID推奨(キャッシュあればRAID5もOK)
   IOPSの高い構成を(SSDもあり!)

  ・OS
   64bit推奨になる
   LinuxではI/Oスケジューラに注意 noop deadline推奨
   noopはinnoDBで利用するのに適している
   I/Oキューの数値を上げる デフォルト128、10000?

  ・データベースエンジン
   innoDBはinsert bufferがあるのでログ等にも向く
   MyISAMはHDD性能に依存する 限界性能低い
    でもSSDならinnoDBより速くなる
   innoはHDDでもSSDでも限界性能があまり変化しない

  ・データベースパーテショニングを利用する
   アクセスする全てのインデックスがメモリ上にあれば高速に動作
   インデックスを細かくするためパーテショニングを使う(5.1以降必須)
   innoDBでもMyISAMでも効果がある

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

MyNETSの日記検索高速化(Tritonn導入)

2009年6月にUsagi-Projectに寄稿したもの。

日記データが膨大になってきて日記検索のI/Oがサーバ全体の足を引っ張るようになってきたので、検索の高速化をしてみました。
方法はmysqlを日本語全文検索対応のTritonnプロジェクト版に変更し、それに合わせて検索部分を修正します。

手元の日記データ37万件400Mくらいのc_diaryテーブルをPentiumM1.6GHzのマシンで検索したところ(検索クエリは後述)検索速度が15倍以上になりました。

 LIKE検索 平均5.3秒
 Tritonn検索 平均0.3秒

以下手順。

1)Tritonnインストール(CentOS5サーバの場合

まずは既存のDBを念のためバックアップ
[code]# mysqldump -u root -p mynets_db > dump.sql[/code]

mysqlを置き換えるためmysqlのインストールを確認
[code]# rpm -qa | grep -i mysql
mysql-5.0.45-7.el5[/code]

mysqlをremove
通常dovecotで利用されているので、dovecotを停止してから作業
[code]# service dovecot stop
# yum remove mysql[/code]

perl-DBIのインストールを確認
[code]# rpm -qa | grep -i perl-DBI
perl-DBI-1.52-1.fc6[/code]

最新のtritonn-1.0.12-mysql-5.0.67パッケージ群をダウンロード
[code]# mkdir download
# cd download/
# wget http://iij.dl.sourceforge.jp/tritonn/36448/MySQL-client-5.0.67-tritonn.1.0.12.i386.rpm
# wget http://iij.dl.sourceforge.jp/tritonn/36448/MySQL-devel-5.0.67-tritonn.1.0.12.i386.rpm
# wget http://iij.dl.sourceforge.jp/tritonn/36448/MySQL-server-5.0.67-tritonn.1.0.12.i386.rpm
# wget http://iij.dl.sourceforge.jp/tritonn/36448/MySQL-shared-5.0.67-tritonn.1.0.12.i386.rpm
# wget http://iij.dl.sourceforge.jp/tritonn/36448/mecab-0.97-tritonn.1.0.12.i386.rpm
# wget http://iij.dl.sourceforge.jp/tritonn/36448/mecab-ipadic-2.7.0.20070801-tritonn.1.0.12.i386.rpm
# wget http://iij.dl.sourceforge.jp/tritonn/36448/senna-1.1.4-tritonn.1.0.12.i386.rpm[/code]

以下の順番でインストール
[code]# rpm -ivh mecab-0.97-tritonn.1.0.12.i386.rpm
# rpm -ivh mecab-ipadic-2.7.0.20070801-tritonn.1.0.12.i386.rpm
# rpm -ivh senna-1.1.4-tritonn.1.0.12.i386.rpm
# rpm -ivh MySQL-shared-5.0.67-tritonn.1.0.12.i386.rpm
# rpm -ivh MySQL-client-5.0.67-tritonn.1.0.12.i386.rpm
# rpm -ivh MySQL-server-5.0.67-tritonn.1.0.12.i386.rpm
# rpm -ivh MySQL-devel-5.0.67-tritonn.1.0.12.i386.rpm[/code]

MySQLはインストール後すぐに起動するのでrootのパスを設定
[code]# /usr/bin/mysqladmin -u root password ‘rootpassword'[/code]

MySQLへのログイン確認
[code]# mysql -u root -p
Enter password:

Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 7
Server version: 5.0.67-modified MySQL Community Server (GPL) (portions (c) Tritonn Project)

Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the buffer.

mysql>[/code]

これでTritonnのインストール完了

入れ替え前のDBもたぶん大丈夫なはずだが、もし使えない時には新規にDB作成して、バックアップデータをリストアする
[code]# mysql -u root -p
mysql> CREATE DATABASE mynets_db DEFAULT CHARACTER SET utf8;
mysql> quit
# mysql -u root -p mynets_db < dump.sql[/code] 2)Tritonn用のindex作成
[code]# mysql -u root -p
mysql> use mynets_db;
mysql> ALTER TABLE c_diary ADD FULLTEXT fullindex USING NGRAM,SECTIONALIZE (subject, body);[/code]

件数が多いと相当時間がかかるのでじっと待つ
完了したらテスト検索してみる(testで検索)
[code]mysql> SELECT * FROM c_diary WHERE (public_flag = ‘public’ or public_flag = ‘open’) AND MATCH (subject, body) AGAINST (“test”) ORDER BY r_datetime DESC;[/code]

LIKE検索と時間を比較してみる
[code]mysql> SELECT * FROM c_diary WHERE (public_flag = ‘public’ or public_flag = ‘open’) AND (subject LIKE ‘%test%’ or body LIKE ‘%test%’) ORDER BY r_datetime DESC;[/code]

3)MyNETSの検索部分の修正

webapp/lib/db/read/diary.phpの新規日記検索の項目を以下のように修正

$s[code]elect = ‘SELECT *’;
$from = ‘ FROM ‘ . MYNETS_PREFIX_NAME . ‘c_diary’;
$where = ” WHERE (public_flag = ‘public’ or public_flag = ‘open’)”;

if ($keyword) {
//全角空白を半角に統一
$keyword = str_replace(‘ ’, ‘ ‘, $keyword);
//SQL Injection対策
$keyword = str_replace(‘\\’, ”, $keyword);
$keyword = str_replace(‘”‘, ”, $keyword);
$keyword = str_replace(‘;’, ”, $keyword);
$keyword = str_replace(‘)’, ”, $keyword);
$keyword = check_search_word($keyword);

$where .= ‘ AND MATCH (subject, body) AGAINST (“‘ .$keyword. ‘” IN BOOLEAN MODE)’;

}
$order = ” ORDER BY r_datetime DESC”;[/code]

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

mysqlデータベース障害対応手順

問題のあるテーブルを特定
/var/log/mysqld.log を確認

# mysqlcheck -u root -p -c -q -A
念のためデータベース全チェック。

# cd /var/lib/mysql/dbname/
# mysqld_multi stop 1 (1番のmysql停止)

通常のmysql停止コマンドは
# service mysqld stop
ここでは複数起動設定のためmysqld_multiを使用

CPU100%張り付き等でプロセスが終了してくれない場合には
# ps aux | grep mysql
プロセス番号を確認して強制終了
# kill -9 プロセス番号

# mv tablename.TMD tabelname.TMD.org
# myisamchk -v -q tablename.MYI

-qがダメなら-rで。
# myisamchk -v -r tablename.MYI

修復が終わったら確認

# mysqld_multi start 1
# mysqlcheck -u root -p -c -q -A

データに問題がなければ、念のためデータベースのdump
# mysqlqump -u root -p -e dbname > dbname.sql

以下のやり方もあるけど時間かかるのでオススメしない。
# mysql -u root -p
> use databasename
> check table tablename quick;
> repair no_write_to_binlog table tablename quick;

だめなら

> repair no_write_to_binlog table tablename use_frm;

長時間かかる。

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

mysqld複数起動設定

# cat /etc/my.cnf

[client]
#password = your_password
port = 3306
socket = /var/lib/mysql/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/mysql/mysql.sock
pid-file = /var/lib/mysql/host.pid
datadir = /var/lib/mysql/
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

# mysqld_multi start
# mysqld_multi stop

phpアプリのconfig.phpでの設定例

‘hostspec’ => ‘localhost:13306’,
 標準socketでない場合には
‘hostspec’ => ‘localhost:/var/lib/mysql2/mysql.sock2’,

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

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

# 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

起動時の設定を追加
元々のmysqldはオフに、mysqld_multiをオンに

# checkconfig mysqld off
# checkconfig mysqld_multi on

#ntsysv で確認

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

CentOS5サーバ設定のインストール手順

試験環境用のインストール手順

1)CentOS5のインストール

CentOS5.2install CDで起動

サーバ設定でインストール
webサーバとmailサーバのみ選択
php関連を選択
sendmailの代わりにpostfix選択

2)起動後、不要なサービスを停止

ipv6関連不要
selinuxはdisable
http/https/smtpのみFWオープン

起動サービスは以下に設定
 cpuspeed
 crond
 httpd
 iptables
 irqbalance
 network
 sendmail(最初はpostfixリストされない)
 readahead_early
 sshd
 syslog

3)起動後メンテナンス経路設定
rootでlogin
sshd設定変更

[code]# vi /etc/ssh/sshd_config[/code]

#PermitRootLogin yes を PermitRootLogin yes に変更(ローカル鯖)
#Port 22 を Port 10022 に変更

iptablesの修正

[code]# vi /etc/sysconfig/iptables[/code]

-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 10022 -j ACCEPT 行追加

サービスを再起動
[code]# service sshd restart
# service iptables restart[/code]

以下のコマンドでメンテマシンからアクセス
ssh -p 10022 root@サーバアドレス

4)サーバ設定を行う

sendmailをremove
[code]# yum remove sendmail[/code]

postfixを起動サービスで追加
[code]#ntsysv[/code]

必要ならproxy設定を追加
[code]# vi /etc/profile.d/proxy.csh

setenv http_proxy http://プロキシURL:ポート/
setenv HTTP_PROXY http://プロキシURL:ポート/

# vi /etc/profile.d/proxy.sh

export http_proxy=http://プロキシURL:ポート/
export HTTP_PROXY=http://プロキシURL:ポート/[/code]

yumによるアップデートの準備

EPELリポジトリ追加
[code]# wget http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-3.noarch.rpm
# rpm -ihv epel-release-5-3.noarch.rpm

# yum update[/code]

リストされたものをインストールし、念のため再起動

5)高機能メールサーバCommunigateProをインストール

phpアプリで必要なケースが多いのでpostfixを活かしたままCGPを有効にする
postfix側の設定変更
[code]# vi /etc/postfix/master.cf[/code]

smtp inet n – n – – smtpd

#smtp inet n – n – – smtpd

[code]# vi /etc/postfix/main.cf[/code]

mydestination = $myhostname, localhost.$mydomain, localhost

mydestination = localhost

追記
relayhost = 自IPアドレス

[code]# service postfix start[/code]

postfixがsmtpをLISTENしてないことを確認
[code]# lsof -i[/code]

最新版のCGPをダウンロードしてインストール
[code]# wget http://www.communigate.com/pub/CommuniGatePro/CGatePro-Li…
# rpm -ivh CGatePro-Linux.i386.rpm
# service CommuniGate start[/code]

CGPの管理画面にアクセスするためにiptableでポート追加
[code]# vi /etc/sysconfig/iptables[/code]

-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 8010 -j ACCEPT 行追加

[code]# service iptables restart[/code]

ブラウザでhttp://サーバIPアドレス:8010/へアクセスして設定
Coomunityライセンス下で5ユーザまで無料で利用できる

6)日本語全文検索対応mysql/Tritonnインストール

mysqlを置き換えるためmysqlがインストールされているか確認

[code]# rpm -qa | grep -i mysql
mysql-5.0.45-7.el5[/code]

mysqlをremove
[code]# yum remove mysql[/code]

perl-DBIのインストールを確認

[code]# rpm -qa | grep -i perl-DBI
perl-DBI-1.52-1.fc6[/code]

最新のtritonn-1.0.12-mysql-5.0.67パッケージ群をダウンロード

[code]# mkdir download
# cd download/
# wget http://iij.dl.sourceforge.jp/tritonn/36448/MySQL-client-5.0.67-tritonn.1.0.12.i386.rpm
# wget http://iij.dl.sourceforge.jp/tritonn/36448/MySQL-devel-5.0.67-tritonn.1.0.12.i386.rpm
# wget http://iij.dl.sourceforge.jp/tritonn/36448/MySQL-server-5.0.67-tritonn.1.0.12.i386.rpm
# wget http://iij.dl.sourceforge.jp/tritonn/36448/MySQL-shared-5.0.67-tritonn.1.0.12.i386.rpm
# wget http://iij.dl.sourceforge.jp/tritonn/36448/mecab-0.97-tritonn.1.0.12.i386.rpm
# wget http://iij.dl.sourceforge.jp/tritonn/36448/mecab-ipadic-2.7.0.20070801-tritonn.1.0.12.i386.rpm
# wget http://iij.dl.sourceforge.jp/tritonn/36448/senna-1.1.4-tritonn.1.0.12.i386.rpm [/code]

以下の順番でインストール

[code]# rpm -ivh mecab-0.97-tritonn.1.0.12.i386.rpm
# rpm -ivh mecab-ipadic-2.7.0.20070801-tritonn.1.0.12.i386.rpm
# rpm -ivh senna-1.1.4-tritonn.1.0.12.i386.rpm
# rpm -ivh MySQL-shared-5.0.67-tritonn.1.0.12.i386.rpm
# rpm -ivh MySQL-client-5.0.67-tritonn.1.0.12.i386.rpm
# rpm -ivh MySQL-server-5.0.67-tritonn.1.0.12.i386.rpm
# rpm -ivh MySQL-devel-5.0.67-tritonn.1.0.12.i386.rpm[/code]

MySQLはインストール後すぐに起動するのでrootのパスを設定

[code]# /usr/bin/mysqladmin -u root password ‘rootpassword'[/code]

MySQLへのログイン確認

[code]# mysql -u root -p
Enter password:

Welcome to the MySQL monitor. Commands end with ; or ¥g.
Your MySQL connection id is 7
Server version: 5.0.67-modified MySQL Community Server (GPL) (portions (c) Tritonn Project)

Type ‘help;’ or ‘¥h’ for help. Type ‘¥c’ to clear the buffer.

mysql>[/code]

これでTritonnのインストール完了

mysqlのサーバ設定をする 環境に合わせてcnfを選択
[code]# cp /usr/share/mysql/my-large.cnf /etc/my.cnf[/code]

utf8で使いたい場合には以下の行を各項目で追記
[mysqld]
default-character-set = utf8
[mysqldump]
default-character-set = utf8
[mysql]
default-character-set = utf8

サービス再起動で設定反映(mysqldでないことに注意)
[code]# service mysql restart[/code]

設定変更を確認
[code]# mysql -u root -p
mysql> status

Server characterset: utf8
Db characterset: utf8
Client characterset: utf8
Conn. characterset: utf8
…[/code]
となっていればOK

7)SNSサーバ(MyNETS)としての設定

MyNETSに必要なコンポーネントをインストール

[code]# yum install php-mcrypt php-mbstring php-gd php-mysql php-xmlrpc php-xml php-eaccelerator ImageMagick[/code]

httpd.conf編集

[code]# vi /etc/httpd/conf/httpd.conf[/code]

不要モジュールの無効化
munin用にステータス取得
他適宜必要に応じて。

試験サーバ用設定ファイル作成

[code]# vi /etc/httpd/conf.d/virtual.conf[/code]

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