NTPサーバ構築
By admin | 4 月 15, 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 delay offset jitter
==============================================================================
+ntp-b2.nict.go. .NICT. 1 u 49 64 37 11.757 16.981 5.094
*ntp-a3.nict.go. .NICT. 1 u 49 64 37 10.012 14.464 7.025
+ntp-a2.nict.go. .NICT. 1 u 48 64 37 9.997 24.639 7.031
LOCAL(0) .LOCL. 10 l 50 64 37 0.000 0.000 0.001
Topics: CentOS, Server | No Comments »
Subversion+WebDAV+Tracでバージョン管理(プロジェクト管理)
By admin | 3 月 28, 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 svn
SVNParentPath /var/proj/svn
# Limit write permission to list of valid users.
<LimitExcept GET PROPFIND OPTIONS REPORT>
# Require SSL connection for password protection.
# SSLRequireSSL
AuthType Basic
AuthName “Authorization Realm”
AuthUserFile /var/proj/svn/.htpasswd
Require valid-user
</LimitExcept>
</Location>
———-
# /etc/init.d/httpd graceful
ブラウザでアクセスして『Revision 1:/』と表示されればOKです。
http://xxxxxxxxxxxxx/svn/hogehoge
次は、Tracのプロジェクトを作成します。
プロジェクト用のディレクトリを「/var/proj/trac」とします。
trac-adminコマンドの後いろいろと聞かれます。
プロジェクト名は「hogehoge」としておきます。
データベースはsqliteを使用するのでそのままエンター。
リポジトリタイプもデフォルトのsubversionでいいのでそのままエンター。
リポジトリのパスは先ほど作成したものを指定します。
Apacheで処理するのでパーミッションを変更しておきます。
# mkdir /var/proj/trac
# trac-admin /var/proj/trac/hogehoge initenv
Project Name [My Project]> hogehoge
Database connection string [sqlite:db/trac.db]>
Repository type [svn]>
Path to repository [/path/to/repos]> /var/proj/svn/hogehoge
# chown -R apache.apache /var/proj/trac/hogehoge
Apacheの設定をします。
# vi /etc/httpd/conf.d/trac.conf
———-
<Location /trac>
SetHandler mod_python
#PythonDebug On
PythonInterpreter main_interpreter
PythonHandler trac.web.modpython_frontend
PythonOption TracEnvParentDir /var/proj/trac
PythonOption TracUriRoot /trac
AuthType Basic
AuthName “Trac”
AuthUserFile “/var/proj/.htpasswd”
Require valid-user
</Location>
#<LocationMatch “/trac/.*/login”>
# AuthType Basic
# AuthName “trac”
# AuthUserFile “/var/proj/svn/.htpasswd”
# Require valid-user
#</LocationMatch>
———-
# /etc/init.d/httpd graceful
ブラウザでアクセスして確認します。
http://xxxxxxxxxxxxx/trac/hogehoge
subversionのクライアントは「TortoiseSVN」がいいかな。
インストール方法と日本語化はこちらを参照。
↓
TortoiseSVNのインストールと設定
Topics: CentOS, Server, svn | No Comments »
pearで携帯の画面サイズ取得
By admin | 3 月 26, 2009
携帯サイトをつくろうと思い立ちました。
写真画像の表示がメインのコンテンツです。
当然、端末の画面サイズに合わせて写真もリサイズして表示したい。
各キャリアのサイトにあるスペック一覧のデータをシコシコとテキストファイルに書いて・・・、というやり方では新機種が出るたびに更新作業をしなければいけないので却下。
で、いろいろと調べると、pearに「Net_UserAgent_Mobile」なんてものがあるそうです。
さっそくインストール。
# pear install -f Net_UserAgent_Mobile
(2009/03/26時点でBETA版なので「-f」が必要)
サンプルのソースを書いてみる。
—–
require_once(”Net/UserAgent/Mobile.php”);
$agent = &Net_UserAgent_Mobile::factory();
if($agent->isDoCoMo()){
echo “docomoだよ”;
}
elseif($agent->isVodafone()){
echo “softbankだよ”;
}
elseif($agent->isEZweb()){
echo “auだよ”;
}
else{
echo “それ以外だよ”;
}
$disp = $agent->getDisplay()
$dispsize = $disp->getSize();
echo “横は” . $dispsize[0] . “で、縦は” . $dispsize[1] . “だよ”;
—–
OK。縦横とれた。
これは便利だ。
ただ、DoCoMoは端末リスト(XMLファイル)を別途用意しないといけないらしい。インストールされたソースを見ると、たしかに機種情報がベタ書きしてある。これでは最新機種に対応できないね。
このXMLファイルもコマンド一発でつくれるらしい。
CPANのHTTP-MobileAgentにmakexmldocomomapというのがあって、こいつを動かすとサクッと作れるそうです。
ではインストール。
いろいろ足りないのがあって結構てこずった。
# cpan
cpan> install HTTP::MobileAgent
cpan> install XML::SAX::Expat
cpan> install XML::Simple
cpan> install HTML::TableExtract
cpan> install WWW::MobileCarrierJP
インストール完了。
よし、早速やってみよう。
・・・と思ったら
あれ
makexmldocomomapが見つからない。
小一時間探してこんなところに見つけました。
/root/.cpan/build/HTTP-MobileAgent-0.27/bin/makexmldocomomap
で、これを実行すると、
画面にズラズラとXMLが表示される。
お、標準出力じゃん。
# /root/.cpan/build/HTTP-MobileAgent-0.27/bin/makexmldocomomap > DoCoMoMap.xml
これでOK。
さっきのサンプルソースに1行追加。
—–
$_SERVER["DOCOMO_MAP"] = “/path/DoCoMoMap.xml”;
—–
完璧です。
あとはこのXMLが定期的に更新されるようにしてやれば言うことなしです。
参考URL
Net_UserAgent_Mobileを使って、携帯端末の情報を取得
PEAR::Net_UserAgent_Mobile 3G対応携帯判別(ケータイ判別)
DoCoMoマップ利用 PEAR::Net_UserAgent_Mobile_DoCoMoDisplayMap
Topics: PHP, mobile | No Comments »
jQueryとは
By admin | 3 月 14, 2009
jQueryとは、JavaScriptライブラリの1つ。
ライブラリの有名どころでprototype.jsライブラリというものもある。
jQueryはファイルサイズが小さく、prototype.jsライブラリに比べ、軽量且つ高速である。
Topics: WebProgramming, javascript | No Comments »
セマフォ(Semaphore)とは
By admin | 3 月 10, 2009
ざっくりと言うと、Linuxで使われる排他制御のしくみのこと。
(Linux以外でも使ってるかもしれませんが)
↓この辺が詳しくて分かりやすいかも。
セマフォ とは:ITpro
オペレーティング・システム講座 並行プロセス
セマフォ
Topics: Terminology | No Comments »
« Previous Entries Next Entries »


