CentOS 5サーバ環境の整備
出典: Wiki@browncat.org
デスクトップ、サーバ共通の項目はCentOS 5設定メモへ。
目次 |
[編集] postfixのインストール
CentOSは標準でsendmailがインストールされるのでより設定が楽なpostfixに入れ替えます。
sudo yum install postfix sudo alternatives --config mta postfixを選択 #設定の反映。以下のようにサービスを停止・開始かCentOSを再起動 sudo /etc/rc.d/init.d/sendmail stop sudo /etc/rc.d/init.d/postfix start
少し古い情報ですが、インストール後の設定の参考に。 Postfixの設定メモ
[編集] 起動時にXを立ち上げない
サーバで使用する場合、GUIは余り必要がないので必要なときのみ起動するようにします。
vi /etc/inittab id:5:initdefault: => id:3:initdefault: と変更
[編集] とりあえずな開発環境など
CentOSはサーバでインストールした場合開発環境がインストールされないようなのでとりあえず以下のものを入れます。
yum install gcc kernel-devel php-devel httpd-devel ruby irb ruby-devel
[編集] MovableTypeのインストール
CentOSに特化した話ではない感じですが、とりあえず動作させた時の設定のメモです。
[編集] 普通にインストール
yum install perl-XML-libXML ImageMagick-perl perl -MCPAN -eshell ....質問に答える > install Crypt::DSA .... 依存関係を入れる
後は普通に入れる。
[編集] MovableTypeをFastCGIで高速化
- FastCGI本家 -- http://www.fastcgi.com/
- Apache2.2対応パッチ -- http://kokogiko.net/m/archives/001775.html
両方をダウンロード。
tar xvfz mod_fastcgi-2.4.2.tar.gz cd mod_fastcgi-2.4.2 patch -p1 < ../../patch.txt make top_dir=/usr/lib/httpd sudo make install
以下の内容で/etc/httpd/conf.d/fastcgi.conf等という名前でファイル作成
LoadModule fastcgi_module modules/mod_fastcgi.so AddHandler fastcgi-script .fcgi FastCGIConfig -maxClassProcesses 4 -minProcesses 1 FastCgiIpcDir /tmp/fcgi
apache再起動
/etc/init.d/httpd restawrt
後はMovableType。MTのCGIディレクトリに入る。
cp mt.cgi mt.fcgi vi mt-config.cgi AdminScript mt.cgiとなっているところをmt.fcgiに変更 http:/hoghoge/mt/mt.fcgiにアクセスしてみる
[編集] xcacheでphpを高速化
APCやeAcceleratorなどと同類。phpの出力をキャッシュして高速化するソフト。
php5に対応していることと、新しめなので使ってみます。1-10倍ほど高速化と謳われていますが、性能検証しておられるサイトPHP/Optimizer - Linux Tipsなどを見る限りeAccelとほぼ同性能。20~30%程度の高速化が行えるようです。
開発元 -- http://trac.lighttpd.net/xcache/
yum install libevent-devel 後は展開して phpize ./configure --enable-xcache make make install cp xcache.ini /etc/php.d/ vi /etc/php.d/xcache.ini
とりあえずxcache.iniのモジュールのパスを設定し、xcache.sizeを64Mなどにしてhttpdを再起動したら有効になる模様。
[編集] MediaWiki
ほぼそのままインストールでOKでした。 前は1.5.xでしたが、1.9.xにアップグレード。
- データベースをダンプ
- 新しいDBに入れる
- configにアクセス
- 半自動でアップデート
pngのアップロードに失敗します。 解決策はLocalSettings.phpに
$wgEnableUploads = true;
$wgFileExtensions = array('png', 'jpg', 'jpeg', 'gif', 'txt', 'zip');
$wgVerifyMimeType = false;
ただし$wgVerifyMimeType無効化はイマイチ。phpのFileinfoを入れるのが正解ぽい。後日。
http://www.mediawiki.org/wiki/Manual:FAQ#How_do_I_enable_uploading.3F
[編集] VMware Serverのインストール
特に問題なくインストール完了。とりあえず手順を。
- vmware.comから以下のファイルをダウンロード
- VMware Server for Linux (rpm)
- VMware Server Linux client package (zip)
本体のインストール
yum -y install kernel-devel rpm -ivh VMware-server-1.0.3-44356.i386.rpm vmware-config.pl -c ... いろいろ聞いてくるので答える。ライセンスキーも入れる。
サーバコンソールインストール
zipを解凍 rpm -ivh VMware-server-console-1.0.3-44356.i386.rpm vmware-config-server-console.pl
[編集] apacheログの長期保存
/var/log以下に記録される各種ログファイルはデフォルトでは一週間に一回ローテートされ4週分まで保存する設定になっています。 しかし、これではwebのアクセス解析などには短いので延ばす設定をします。
エディタで以下の太字の部分を追加。例では約1年分。ディスクが許すならもっと大きくてもいいと思います。私は1000にしています。
vi /etc/logrotate.d/httpd
/var/log/httpd/*log {
rotate 55
missingok
notifempty
sharedscripts
postrotate
/bin/kill -HUP `cat /var/run/httpd.pid 2>/dev/null` 2> /dev/null || true
endscript
}
[編集] sshdのアクセス制御
sshはリモートからのアクセスにとても便利ですが、ひとたびログインされてしまうと甚大な被害が発生してしまいます。それだけに標的とされるサービスです。外部にさらされるサーバであれば/var/log/secureを見てみるとかなりな頻度でアタックが来ているかもしれません。(eg. grep Invalid /var/log/secure)
これを守るにはパスワードをわかりにくくすることなどももちろんですが、TCP/IPベースのアクセス制御で接続を拒否することで安全性が高まります。sshdは/etc/hosts.allow, /etc/hosts.denyで制御可能です。
許可・拒否の判定は基本的に以下の順で行われます。
- /etc/hosts.allowにある => 許可
- /etc/hosts.denyにある => 拒否
- それ以外 => 許可
ファイルの書式の簡単な説明(他にもたくさんありますので詳細は"man hosts.allow"をご覧下さい)
/etc/hosts.allow -- サーバ名:許可するクライアントリスト(ALLで全て) sshd: IPアドレス IP範囲(XX.YY.ZZ.) IP範囲2(XX.YY.ZZ.AA/BB.CC.DD.EE) サーバ(hoge.com) ドメイン(.hoge.com) /etc/hosts.deny -- サーバ名:拒否するクライアントリスト(ALLで全て) sshd: IPアドレス IP範囲(XX.YY.ZZ.) IP範囲2(XX.YY.ZZ.AA/BB.CC.DD.EE) サーバ(hoge.com) ドメイン(.hoge.com)
私のところでは以下のような感じです。
/etc/hosts.allow sshd: 自分の使うサーバやアドレス、ドメインなど /etc/hosts.deny sshd: ALL
基本はほとんどを閉じてしまい、使うところを足していく方法にしています。
