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で高速化

両方をダウンロード。

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

基本はほとんどを閉じてしまい、使うところを足していく方法にしています。

ナビゲーション
Ads