2010/04/20

IPad

IPadなう -- Post From My iPhone

2010/03/13

Hobbit(Xymon)による監視

Hobbitはサーバ監視システムです。
平易なWebインタフェースから様々な監視が可能です。

  • サーバの死活
  • HTTPやDNS等のネットワークサービスが提供されているか
  • CPU・メモリ・ディスク使用量が閾値を越えていないか
  • 特定のプロセスが起動しているか

詳しくはXymon監視を参照してください。

apt設定

自宅サーバ運用のため、パッケージのアップグレードの自動化を行う。
要件は以下の通り。
  • 毎日、自動でsafe-upgradeを行う
  • 変更点があればメールする。
  1. apt-listchangesのインストール・設定

    apt-listchangesは、upgradeしたパッケージの変更点をお知らせしてくれるツールです。

    # インストール
    sudo aptitude install apt-listchanges
    # debconfの設定
    sudo dpkg-reconfigure -plow apt-listchanges
    
    dpkg-reconfigureで生成される設定ファイルは以下の通り
    cat /etc/apt/listchanges.conf
    
    [apt]
    frontend=mail
    email_address=something@gmail.com
    confirm=0
    save_seen=/var/lib/apt/listchanges.db
    which=news
    
  2. cron-aptのインストール・設定
    cron-aptは自動的にパッケージのアップグレードをするツールです。
    #インストール
    sudo aptitude install cron-apt
    # 設定ファイルの編集
    sudo vim /etc/cron-apt/config
    
    #実行するAPTのフロントエンドをapt-getからaptitudeに変更
    APTCOMMAND=/usr/bin/aptitude
    #upgradeに失敗した場合のメール送信先を指定
    MAILTO="something@gmail.com"
    
    # ダウンロード時のオプションを変更
    sudo vim /etc/cron-apt/action.d/3-download
    # アップグレードのの実行時間を毎日6時に変更(デフォルト4時)
    sudo vim /etc/cron.d/cron-apt
    

2010/03/06

urllib2覚え書き

PythonでURLを開くためのライブラリ、urllib2の基本的な使い方。

import urllib2
import cookielib

# HTTPをデバッグするよ
hh = urllib2.HTTPHandler(debuglevel=1)

# cookie使うよ
cj = cookielib.Cookiejar()
ch = urllib2.HTTPCookieProcessor(cj)

# HandlerからOpenDirectorのインスタンスを作るよ
opener = urllib2.build_opener(hh, ch)
# リクエストを投げます。
response = opener.open("http://www.google.com")
HTTPのデバッグメッセージが表示されます。
send: 'GET / HTTP/1.1\r\nAccept-Encoding: identity\r\nHost: www.google.com\r\nConnection: close\r\nUser-Agent: Python-urllib/2.6\r\n\r\n'
reply: 'HTTP/1.1 302 Found\r\n'
header: Location: http://www.google.co.jp/
header: Cache-Control: private
header: Content-Type: text/html; charset=UTF-8
header: Set-Cookie: PREF=ID=55d8e36ff2405b35:TM=1267881221:LM=1267881221:S=s-dUz3PaXx2rz40i; expires=Mon, 05-Mar-2012 13:13:41 GMT; path=/; domain=.google.com
header: Set-Cookie: NID=32=uP3EE_427CJw3vwUzgLNoAvxq2-rIeUY6aOIx_OwsOunNgldmmy6wUt0Pf7H4vJY4M9n93u_vJOjZXSNgBEY72j7cOptu9TyhnECS8tBkCcV0HQHjO_QZV-XGN-H0j9N; expires=Sun, 05-Sep-2010 13:13:41 GMT; path=/; domain=.google.com; HttpOnly
header: Date: Sat, 06 Mar 2010 13:13:41 GMT
header: Server: gws
header: Content-Length: 221
header: X-XSS-Protection: 0
header: Connection: close
send: 'GET / HTTP/1.1\r\nAccept-Encoding: identity\r\nHost: www.google.co.jp\r\nConnection: close\r\nUser-Agent: Python-urllib/2.6\r\n\r\n'
reply: 'HTTP/1.1 200 OK\r\n'
header: Date: Sat, 06 Mar 2010 13:13:41 GMT
header: Expires: -1
header: Cache-Control: private, max-age=0
header: Content-Type: text/html; charset=Shift_JIS
header: Set-Cookie: PREF=ID=9a0ca1a13152625e:TM=1267881221:LM=1267881221:S=pUQco5Mj4NSXKzgF; expires=Mon, 05-Mar-2012 13:13:41 GMT; path=/; domain=.google.co.jp
header: Set-Cookie: NID=32=M4YEeDAGj6VRt7TukiVq4lcQgsizbAvFjtK_9BXq7VB_1N-NsEy5jOvIhGBn83NPV6gHiVSTN5wUxQzZugbSyH11g-mUH1aGMZRxgsD2f_yl2fYxtkU6BzjiP-WFt24q; expires=Sun, 05-Sep-2010 13:13:41 GMT; path=/; domain=.google.co.jp; HttpOnly
header: Server: gws
header: X-XSS-Protection: 0
header: Transfer-Encoding: chunked
header: Connection: close
レスポンスを確認。
print response.read()

2010/03/03

x86-64のサーバでqmailを起動しようすると、tcpserverがエラーを吐く。

tcpserver: fatal: temporarily unable to figure out IP address for 0.0.0.0: file does not exist
解決法:

touch /etc/dnsrewrite

参考:
旧・予定は未定であって決定ではない:tcpserver: fatal: temporarily unable to figure out IP address for 0.0.0.0: file does not exist

2010/02/23

configureにroot権限が必要とかふざけているんじゃないの?

vpopmailのインストール

./configure --enable-roaming-users --disable-clear-passwd
 --enable-relay-clear-minutes=10 --enable-tcpserver-file=/home/vpopmail/etc/tcp.smtp
 --enable-logging=y

configure: WARNING: === vpopmail must be configured as root. ===
configure: WARNING: === please switch to the root user and  ===
configure: WARNING: === run ./configure. Thanks ===
configure: error: aborted.

な、なにこれ。

qmailインストール

めもめもめーも

参考:qmail のある暮らし

cd /usr/local/src

# アーカイブ取得 
curl -O http://qmail.org/netqmail-1.06.tar.gz
curl -O http://www.asahi-net.or.jp/~AA4T-NNGK/codes/netqmail-qregex-20040601-vrt.patch
curl -O http://www.ksknet.net/sample/qmail-date-localtime.patch

tar zxf netqmail-1.06.tar.gz
cd netqmail-1.06

# パッチ 
patch -p1 < ../qmail-date-localtime.patch
patch -p1 < ../netqmail-qregex-20040601-vrt.patch

# ビルド
make it man
# インストール
sudo make setup check