<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	>

<channel>
	<title>ボクの覚え書き - CentOSでサーバ構築</title>
	<atom:link href="http://memo.funny-k.com/feed" rel="self" type="application/rss+xml" />
	<link>http://memo.funny-k.com</link>
	<description>サーバー構築やプログラミングの覚え書き</description>
	<pubDate>Fri, 29 May 2009 04:37:50 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7.1</generator>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>logrotateでApacheのログローテート</title>
		<link>http://memo.funny-k.com/archives/208</link>
		<comments>http://memo.funny-k.com/archives/208#comments</comments>
		<pubDate>Fri, 29 May 2009 04:34:15 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Apache]]></category>

		<category><![CDATA[CentOS]]></category>

		<category><![CDATA[Server]]></category>

		<guid isPermaLink="false">http://memo.funny-k.com/?p=208</guid>
		<description><![CDATA[
Apacheのログファイルのローテート。
今までは自分でスクリプトを作って、cronに登録してやってました。


こんな感じ。
　&#8212;&#8211;
　YMD=`env TZ=JST+15 date &#8216;+%Y%m%d&#8217;`
　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
　&#8212;&#8211;


あんまりスマートじゃないような気がする。
ということで、logrotateを使うことにしました。


ローテートしたいログの設定ファイルを/etc/logrotate.d/内に作成。
　&#8212;&#8211;
　/usr/local/apache2/logs/access_log {
　　daily
　　rotate 30
　　dateext
　　create 0644 root root


　　postrotate
　　　/usr/local/apache2/bin/apachectl graceful &#62; /dev/null 2&#62;&#038;1
　　endscript
　}


　/usr/local/apache2/logs/error_log {
　　daily
　　rotate 30
　　dateext
　　create 0644 root root


　　postrotate
　　　/usr/local/apache2/bin/apachectl graceful &#62; /dev/null 2&#62;&#038;1
　　endscript
　}
　&#8212;&#8211;


『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にログファイル名と日付が保存されるだけで、ローテートはされない。
　&#8212;&#8211;
　&#8221;/usr/local/apache2/logs/access_log&#8221; 2009-5-29
　&#8221;/usr/local/apache2/logs/error_log&#8221; 2009-5-29
　&#8212;&#8211;


日付の部分を1日前（今回は『daily』なので1日。周期によってここは変える。）に書き換える。


これで完了。
デフォルトだと、AM04:02にローテートされます。


↓役に立ったと思ったら・・・


　
]]></description>
		<wfw:commentRss>http://memo.funny-k.com/archives/208/feed</wfw:commentRss>
		</item>
		<item>
		<title>CentOSでUSB外付けHDD(NTFS)をマウント</title>
		<link>http://memo.funny-k.com/archives/201</link>
		<comments>http://memo.funny-k.com/archives/201#comments</comments>
		<pubDate>Fri, 22 May 2009 04:04:36 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[CentOS]]></category>

		<guid isPermaLink="false">http://memo.funny-k.com/?p=201</guid>
		<description><![CDATA[
サーバのディスク容量を増やすために、USB接続の外付けHDDを買いました。

デフォルトでFAT32でフォーマットされているたで、
Windowsマシンに接続してNTFSにフォーマットしなおしました。


で、サーバにUSB接続。


dmesgでデバイスを確認


　# dmesg
　&#8212;&#8211;
　・
　・
　sdd: sdd1
　・
　・
　&#8212;&#8211;


マウント用ディレクトリを作成し、マウント


　# mkdir /mnt/usb
　# mount -t ntfs /dev/sdd1 /mnt/usb


・・・失敗。
どうやらNTFSフォーマットのディスクをマウントするには「ntfs-3g」というパッケージが必要らしい。


　# yum install ntfs-3g


再度マウント


　# mount -t ntfs-3g /dev/sdd1 /mnt/usb


何かWARNINGが出たけど、一応マウントできているようです。


↓役に立ったと思ったら・・・


　
　

追記


この時試したサーバはコレでマウントできたけど、別のサーバでやってみたらアレもコレも足りないと言われてしまった。
引き続き調べて手順を固めよう。
]]></description>
		<wfw:commentRss>http://memo.funny-k.com/archives/201/feed</wfw:commentRss>
		</item>
		<item>
		<title>CentOSでe-mobile接続</title>
		<link>http://memo.funny-k.com/archives/199</link>
		<comments>http://memo.funny-k.com/archives/199#comments</comments>
		<pubDate>Tue, 19 May 2009 13:54:58 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[CentOS]]></category>

		<guid isPermaLink="false">http://memo.funny-k.com/?p=199</guid>
		<description><![CDATA[
e-mobileの端末「D02HW」を入手。
ひょんなことから、Linuxマシンで接続することになったので、その手順をまとめておきます。


OSはCentOS5.3です。


専用のモデムドライバをダウンロードしてインストール。
『make info』コマンドでmakeの使用方法が確認できます。
ボクの環境だと『make install_fedora』です。


　# wget http://oozie.fm.interia.pl/src/huawei.tar.bz2
　# tar xvfj ./huawei.tar.bz2
　# cd ./huawei
　# make install_fedora


設定ファイルをコピー、編集します。
　# cat /etc/wvdial-huawei.conf &#62;&#62; /etc/wvdial.conf
　# vi /etc/wvdial.conf
　&#8212;&#8212;&#8212;-
　Phone = *99***1#
　Username = em
　Password = em
　&#8212;&#8212;&#8212;-


これで設定完了。
「D02HW」を接続し、ダイアルコマンド実行。


　# wvdial


つながりました。


↓役に立ったと思ったら・・・


　
]]></description>
		<wfw:commentRss>http://memo.funny-k.com/archives/199/feed</wfw:commentRss>
		</item>
		<item>
		<title>Xenでブリッジ追加</title>
		<link>http://memo.funny-k.com/archives/197</link>
		<comments>http://memo.funny-k.com/archives/197#comments</comments>
		<pubDate>Wed, 22 Apr 2009 06:15:27 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[CentOS]]></category>

		<category><![CDATA[Server]]></category>

		<category><![CDATA[Xen]]></category>

		<guid isPermaLink="false">http://memo.funny-k.com/?p=197</guid>
		<description><![CDATA[
NICが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
　&#8212;&#8212;&#8212;-
　#!/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 &#8216;Unknown command: &#8216; ${OP}
　　echo &#8216;Valid commands are: start, stop, status&#8217;
　　exit 1
　esac
　&#8212;&#8212;&#8212;-


あとはXenを再起動。
　# /etc/init.d/xend restart


ifconfigで見てみると、「xenbr1」が出来ています。


ココが参考になります。
Xen環境で仮想ネットワークを構築


↓役に立ったと思ったら・・・


　
]]></description>
		<wfw:commentRss>http://memo.funny-k.com/archives/197/feed</wfw:commentRss>
		</item>
		<item>
		<title>SVNクライアント(RapidSVN)インストール</title>
		<link>http://memo.funny-k.com/archives/191</link>
		<comments>http://memo.funny-k.com/archives/191#comments</comments>
		<pubDate>Fri, 17 Apr 2009 08:42:34 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[svn]]></category>

		<guid isPermaLink="false">http://memo.funny-k.com/?p=191</guid>
		<description><![CDATA[
CentOSをクライアントとしてちょっと使ってます。


で、SVNのクライアントソフト(RapidSVN)を入れたので、その手順をメモ。
当然パッケージでインストールです。


標準パッケージには入っていないので、リポジトリを追加します。
monitをインストールしたときに追加したのと同じリポジトリにあるので、追加手順はこちらを参照。
Monitでサーバ監視(1)


リポジトリの追加が完了したらインストール。


　# yum install rapidsvn –-enablerepo=rpmforge


以上。


↓役に立ったと思ったら・・・


　
]]></description>
		<wfw:commentRss>http://memo.funny-k.com/archives/191/feed</wfw:commentRss>
		</item>
		<item>
		<title>NTPサーバ構築</title>
		<link>http://memo.funny-k.com/archives/189</link>
		<comments>http://memo.funny-k.com/archives/189#comments</comments>
		<pubDate>Wed, 15 Apr 2009 09:59:35 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[CentOS]]></category>

		<category><![CDATA[Server]]></category>

		<guid isPermaLink="false">http://memo.funny-k.com/?p=189</guid>
		<description><![CDATA[
まずインストール。
　# yum install ntp


次に設定。
ローカルエリアからの同期を許可と、同期先NTPサーバの指定。
　# cp /etc/ntp.conf /etc/ntp.conf.org
　# vi /etc/ntp.conf
　&#8212;&#8211;
　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
　&#8212;&#8211;


一度手動で同期をとっておく。
ntpdate ntp.nict.jp


ntpのサービスを起動。当然自動起動。


/etc/init.d/ntpd start
chkconfig ntpd on


ntpq -pで確認
NTPサーバの先頭に「*」か「+」が表示されていれば同期完了


     remote           refid      st t when poll reach  [...]]]></description>
		<wfw:commentRss>http://memo.funny-k.com/archives/189/feed</wfw:commentRss>
		</item>
		<item>
		<title>Subversion+WebDAV+Tracでバージョン管理(プロジェクト管理)</title>
		<link>http://memo.funny-k.com/archives/184</link>
		<comments>http://memo.funny-k.com/archives/184#comments</comments>
		<pubDate>Sat, 28 Mar 2009 04:46:44 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[CentOS]]></category>

		<category><![CDATA[Server]]></category>

		<category><![CDATA[svn]]></category>

		<guid isPermaLink="false">http://memo.funny-k.com/?p=184</guid>
		<description><![CDATA[
ボクはいくつかのサイトを運営しています。
運営上、何かと不便なことが出てきたので、バージョン管理を入れることにしました。


有名どころのsubversionを使います。
外出時でも使えるようにしたいのでwebdavと組み合わせます。


「trac」というプロジェクト管理ツールがあるということなので、ついでにそれもいれます。


まずはsubversionとwebdavのインストール。


　# yum install mod_dav_svn


これだけで必要なものは全てインストールされます。


次はtracのインストール。
本家サイトにはソースしか置いてませんが、yumでインストールする方法がありました。


　# vi /etc/yum.repos.d/deg.repo
　&#8212;&#8211;
　[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
　&#8212;&#8211;


　# yum install mod_python
　# yum install trac &#8211;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 &#8216;init repository layout (trunk,tags,branches)&#8217;
　# chown -R apache.apache /var/proj/svn/hogehoge
　# htpasswd -c /var/proj/.htpasswd kimura


Apacheの設定をします。


　# vi /etc/httpd/conf.d/subversion.conf
　&#8212;&#8212;&#8212;-
　&#60;Location /svn&#62;
　　DAV [...]]]></description>
		<wfw:commentRss>http://memo.funny-k.com/archives/184/feed</wfw:commentRss>
		</item>
		<item>
		<title>pearで携帯の画面サイズ取得</title>
		<link>http://memo.funny-k.com/archives/178</link>
		<comments>http://memo.funny-k.com/archives/178#comments</comments>
		<pubDate>Thu, 26 Mar 2009 09:40:50 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[PHP]]></category>

		<category><![CDATA[mobile]]></category>

		<guid isPermaLink="false">http://memo.funny-k.com/?p=178</guid>
		<description><![CDATA[
携帯サイトをつくろうと思い立ちました。


写真画像の表示がメインのコンテンツです。


当然、端末の画面サイズに合わせて写真もリサイズして表示したい。


各キャリアのサイトにあるスペック一覧のデータをシコシコとテキストファイルに書いて・・・、というやり方では新機種が出るたびに更新作業をしなければいけないので却下。


で、いろいろと調べると、pearに「Net_UserAgent_Mobile」なんてものがあるそうです。


さっそくインストール。


　# pear install -f Net_UserAgent_Mobile
(2009/03/26時点でBETA版なので「-f」が必要)


サンプルのソースを書いてみる。
　&#8212;&#8211;
　require_once(&#8221;Net/UserAgent/Mobile.php&#8221;);


　$agent = &#038;Net_UserAgent_Mobile::factory();
　if($agent-&#62;isDoCoMo()){
　　echo &#8220;docomoだよ&#8221;;
　}
　elseif($agent-&#62;isVodafone()){
　　echo &#8220;softbankだよ&#8221;;
　}
　elseif($agent-&#62;isEZweb()){
　　echo &#8220;auだよ&#8221;;
　}
　else{
　　echo &#8220;それ以外だよ&#8221;;
　}


　$disp = $agent-&#62;getDisplay()
　$dispsize = $disp-&#62;getSize();
　echo &#8220;横は&#8221; . $dispsize[0] . &#8220;で、縦は&#8221; . $dispsize[1] . &#8220;だよ&#8221;;
　&#8212;&#8211;


OK。縦横とれた。
これは便利だ。


ただ、DoCoMoは端末リスト(XMLファイル)を別途用意しないといけないらしい。インストールされたソースを見ると、たしかに機種情報がベタ書きしてある。これでは最新機種に対応できないね。


このXMLファイルもコマンド一発でつくれるらしい。
CPANのHTTP-MobileAgentにmakexmldocomomapというのがあって、こいつを動かすとサクッと作れるそうです。


ではインストール。
いろいろ足りないのがあって結構てこずった。


　# cpan
　cpan&#62; install HTTP::MobileAgent
　cpan&#62; install XML::SAX::Expat
　cpan&#62; install XML::Simple
　cpan&#62; install HTML::TableExtract
　cpan&#62; install WWW::MobileCarrierJP


インストール完了。
よし、早速やってみよう。


・・・と思ったら


あれ


makexmldocomomapが見つからない。


小一時間探してこんなところに見つけました。


/root/.cpan/build/HTTP-MobileAgent-0.27/bin/makexmldocomomap


で、これを実行すると、


画面にズラズラとXMLが表示される。
お、標準出力じゃん。


　# /root/.cpan/build/HTTP-MobileAgent-0.27/bin/makexmldocomomap &#62; DoCoMoMap.xml


これでOK。


さっきのサンプルソースに1行追加。
　&#8212;&#8211;
　$_SERVER["DOCOMO_MAP"] = &#8220;/path/DoCoMoMap.xml&#8221;;
　&#8212;&#8211;


完璧です。


あとはこのXMLが定期的に更新されるようにしてやれば言うことなしです。


参考URL
Net_UserAgent_Mobileを使って、携帯端末の情報を取得
PEAR::Net_UserAgent_Mobile 3G対応携帯判別(ケータイ判別)
DoCoMoマップ利用 PEAR::Net_UserAgent_Mobile_DoCoMoDisplayMap


↓役に立ったと思ったら・・・


　
]]></description>
		<wfw:commentRss>http://memo.funny-k.com/archives/178/feed</wfw:commentRss>
		</item>
		<item>
		<title>jQueryとは</title>
		<link>http://memo.funny-k.com/archives/176</link>
		<comments>http://memo.funny-k.com/archives/176#comments</comments>
		<pubDate>Sat, 14 Mar 2009 08:48:50 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[WebProgramming]]></category>

		<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://memo.funny-k.com/?p=176</guid>
		<description><![CDATA[
jQueryとは、JavaScriptライブラリの1つ。
ライブラリの有名どころでprototype.jsライブラリというものもある。


jQueryはファイルサイズが小さく、prototype.jsライブラリに比べ、軽量且つ高速である。


jQuery日本語リファレンス


↓役に立ったと思ったら・・・


　
]]></description>
		<wfw:commentRss>http://memo.funny-k.com/archives/176/feed</wfw:commentRss>
		</item>
		<item>
		<title>セマフォ(Semaphore)とは</title>
		<link>http://memo.funny-k.com/archives/174</link>
		<comments>http://memo.funny-k.com/archives/174#comments</comments>
		<pubDate>Tue, 10 Mar 2009 04:43:44 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Terminology]]></category>

		<guid isPermaLink="false">http://memo.funny-k.com/?p=174</guid>
		<description><![CDATA[
ざっくりと言うと、Linuxで使われる排他制御のしくみのこと。
(Linux以外でも使ってるかもしれませんが)


↓この辺が詳しくて分かりやすいかも。


セマフォ とは：ITpro
オペレーティング・システム講座  並行プロセス
セマフォ


↓役に立ったと思ったら・・・


　
]]></description>
		<wfw:commentRss>http://memo.funny-k.com/archives/174/feed</wfw:commentRss>
		</item>
	</channel>
</rss>

