Server
« Previous EntrieslogrotateでApacheのログローテート
金曜日, 5 月 29th, 2009Apacheのログファイルのローテート。
今までは自分でスクリプトを作って、cronに登録してやってました。
こんな感じ。
—–
YMD=`env TZ=JST+15 date ‘+%Y%m%d’`
cp /usr/local/apache2/logs/access_log /usr/local/apache2/logs/access_log_${YMD}.log
cp /usr/local/apache2/logs/error_log /usr/local/apache2/logs/error_log_${YMD}.log
cp /dev/null /usr/local/apache2/logs/access_log
cp /dev/null /usr/local/apache2/logs/error_log
/usr/local/apache2/bin/apachectl graceful
—–
あんまりスマートじゃないような気がする。
ということで、logrotateを使うことにしました。
ローテートしたいログの設定ファイルを/etc/logrotate.d/内に作成。
—–
/usr/local/apache2/logs/access_log {
daily
rotate 30
dateext
create 0644 root root
postrotate
/usr/local/apache2/bin/apachectl graceful > /dev/null 2>&1
endscript
}
/usr/local/apache2/logs/error_log {
daily
rotate 30
dateext
create 0644 root root
postrotate
/usr/local/apache2/bin/apachectl graceful > /dev/null 2>&1
endscript
}
—–
『daily』は毎日。ここは他に『weekly』『monthly』などもある。
『rotate 30』は30世代分を残す。
『dateext』はローテートされたファイル名に日付をつける。
『create 0644 root root』は新規ログファイルを指定のパーミッション・ユーザ・グループで作成する。
『postrotate~endscript』はローテート後に実行するコマンド。ここではApacheをgracefulします。
最後にlogrotateを手動で実行。
# /usr/sbin/logrotate /etc/logrotate.d/hogehoge
初回は/var/lib/logrotate.statusにログファイル名と日付が保存されるだけで、ローテートはされない。
—–
”/usr/local/apache2/logs/access_log” 2009-5-29
”/usr/local/apache2/logs/error_log” 2009-5-29
—–
日付の部分を1日前(今回は『daily』なので1日。周期によってここは変える。)に書き換える。
これで完了。
デフォルトだと、AM04:02にローテートされます。
↓役に立ったと思ったら・・・
Xenでブリッジ追加
水曜日, 4 月 22nd, 2009NICが2つあるときに、eth1(2つ目?)をDomUで使うときは、Dom0側でブリッジしてやらないといけない。
ということで、eth1のブリッジ「xenbr1」を作成します。
Xen起動時に実行されるスクリプト/etc/xen/scripts/network-bridgeをリネームします。
# cd /etc/xen/scripts
# cp ./network-bridge ./network-bridge.xen
新たに同名のファイルを作成します。
# vi ./network-bridge
———-
#!/bin/sh
set -e
OP=$1
shift
script=/etc/xen/scripts/network-bridge.xen
case ${OP} in
start)
$script start vifnum=0 bridge=xenbr0 netdev=eth0
$script start vifnum=1 bridge=xenbr1 netdev=eth1
;;
stop)
$script stop vifnum=0 bridge=xenbr0 netdev=eth0
$script stop vifnum=1 bridge=xenbr1 netdev=eth1
;;
status)
$script status vifnum=0 bridge=xenbr0 netdev=eth0
$script status vifnum=1 bridge=xenbr1 netdev=eth1
;;
*)
echo ‘Unknown command: ‘ ${OP}
echo ‘Valid commands are: start, stop, status’
exit 1
esac
———-
あとはXenを再起動。
# /etc/init.d/xend restart
ifconfigで見てみると、「xenbr1」が出来ています。
ココが参考になります。
Xen環境で仮想ネットワークを構築
↓役に立ったと思ったら・・・
NTPサーバ構築
水曜日, 4 月 15th, 2009まずインストール。
# yum install ntp
次に設定。
ローカルエリアからの同期を許可と、同期先NTPサーバの指定。
# cp /etc/ntp.conf /etc/ntp.conf.org
# vi /etc/ntp.conf
—–
restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap
server 0.centos.pool.ntp.org
server 1.centos.pool.ntp.org
server 2.centos.pool.ntp.org
↓
server -4 ntp.nict.jp
server -4 ntp.nict.jp
server -4 ntp.nict.jp
—–
一度手動で同期をとっておく。
ntpdate ntp.nict.jp
ntpのサービスを起動。当然自動起動。
/etc/init.d/ntpd start
chkconfig ntpd on
ntpq -pで確認
NTPサーバの先頭に「*」か「+」が表示されていれば同期完了
remote refid st t when poll reach [...]
Subversion+WebDAV+Tracでバージョン管理(プロジェクト管理)
土曜日, 3 月 28th, 2009ボクはいくつかのサイトを運営しています。
運営上、何かと不便なことが出てきたので、バージョン管理を入れることにしました。
有名どころのsubversionを使います。
外出時でも使えるようにしたいのでwebdavと組み合わせます。
「trac」というプロジェクト管理ツールがあるということなので、ついでにそれもいれます。
まずはsubversionとwebdavのインストール。
# yum install mod_dav_svn
これだけで必要なものは全てインストールされます。
次はtracのインストール。
本家サイトにはソースしか置いてませんが、yumでインストールする方法がありました。
# vi /etc/yum.repos.d/deg.repo
—–
[dag]
name=Dag RPM Repository for Redhat EL4
baseurl=http://apt.sw.be/redhat/el$releasever/en/$basearch/dag
gpgcheck=1
enabled=0
gpgkey=http://dag.wieers.com/packages/RPM-GPG-KEY.dag.txt
—–
# yum install mod_python
# yum install trac –enablerepo=dag
tracはpythonで実装されているので一緒にmod_pythonもインストールします。
続いて、tracの日本語化。
これはyumではできません。
# wget http://www.i-act.co.jp/project/products/downloads/Trac-0.11.2.1.ja1.zip
# unzip ./Trac-0.11.2.1.ja1.zip
# cd ./Trac-0.11.2.1.ja1
# python setup.py install
インストール完了です。
それではSubversionのリポジトリを作成します。
プロジェクト名を「hogehoge」、ディレクトリを「/var/proj/svn」とします。
Apacheからファイルの読み書きができるようにパーミッションを変更、Basic認証でアクセス制限もかけます。
# mkdir /var/proj
# mkdir /var/proj/svn
# svnadmin create /var/proj/svn/hogehoge
# svn mkdir file:///var/proj/svn/hogehoge/trunk file:///var/proj/svn/hogehoge/tags file:///var/proj/svn/hogehoge/branches -m ‘init repository layout (trunk,tags,branches)’
# chown -R apache.apache /var/proj/svn/hogehoge
# htpasswd -c /var/proj/.htpasswd kimura
Apacheの設定をします。
# vi /etc/httpd/conf.d/subversion.conf
———-
<Location /svn>
DAV [...]
XenのDomainUで時刻同期
金曜日, 3 月 6th, 2009Xenのバーチャルサーバ(DomainU)の時計がずれていたので、ntpdateで時刻同期をとりました。
# ntpdate www.xxx.yyy.zzz
5 Mar 23:22:45 ntpdate[7860]: step time server www.xxx.yyy.zzz offset -209.707158 sec
よし。
ん?
あれ?
同期できてない。
・・・なぜ?
いろいろ調べてみたところ、どうやらXenの仕様で、Domain0からしか時刻を更新できないらしい。
ただ、Domain0で時刻を合わせていれば、DomainUも正確な時刻を得ることができるとのこと。
なるほど。
で、一応DomainU側での制御もできるらしい。
カーネルパラメータ「xen.independent_wallclock」の値を『1』にすればいい。
# sysctl xen.independent_wallclock=1
もしくは
# echo 1 > /proc/sys/xen/independent_wallclock
うん、今度は同期できました。
↓役に立ったと思ったら・・・
« Previous Entries

