Recent Posts

Archives

Blog Ranking

Favorite

ExchangeRate

Update: 2012-05-21 12:00
by ロイター

 

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ライブラリに比べ、軽量且つ高速である。

jQuery日本語リファレンス

↓役に立ったと思ったら・・・
人気ブログランキング

 

Topics: WebProgramming, javascript | No Comments »

 

セマフォ(Semaphore)とは

By admin | 3 月 10, 2009

 

ざっくりと言うと、Linuxで使われる排他制御のしくみのこと。
(Linux以外でも使ってるかもしれませんが)

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

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

↓役に立ったと思ったら・・・
人気ブログランキング

 

Topics: Terminology | No Comments »

 

« Previous Entries Next Entries »