2011年4月30日土曜日

ddclientでキャッシュが邪魔して更新されない件

どうやらキャッシュを参照して前回と同じIPなら更新しない仕様みたい
更新日が30日以上の間隔が空いてるなら更新するみたいだけど、待ってられないので
こんなスクリプトをcronに登録しておいた
#!/bin/bash
CACHE_FILE="/var/cache/ddclient/ddclient.cache"
NOW_IP=`host hogehoge.net | cut -f 4 -d' '`
echo "now   ip is $NOW_IP"
CACHE_IP=`cat $CACHE_FILE | tail -1 | cut -f 5 -d, | cut -f 2 -d= `
echo "cache ip is $CACHE_IP"

if [ "$NOW_IP" = "$CACHE_IP" ] ; then
        echo "IP check OK"
else
        echo "IP check NG"
        rm $CACHE_FILE
fi


過去記事
ddclientでワーニングが出る問題
ddclientでDynDNSのIPをアップデートしてみようか

nmapでサーバーの生存確認をする

自分の家のサーバー構成は前回話した感じになっている
(DNSを切り替えることでつながる先をスイッチしている)
自宅のサーバーが落ちるときにDynDNSを更新してレンタルサーバーに向くようにしているけど、これが結構失敗したりするので、レンタルサーバー側でも定期的に監視するようにした。
監視は以下の手順で行う

1.まずDNSで名前を引いて自分(レンタルサーバー側)に向いているか自宅に向いているか調べる
→自分に向いていたら問題ないので処理終了
→自宅に向いていたら2へ

2.自宅のサーバーのメールポートにコネクションが張れるか確認
→張れたら問題なく稼動しているので処理終了
→駄目なら自宅鯖が落ちてると判断しDynDNSを更新してDNSを自分に向かせる

以上の処理をcronに登録して1時間置きにやってみる
nmapでスキャンするときには-PNと-sTをつけるのがポイント
-PN → 自宅のルーターはpingに反応しないのでホストの生存確認は不要
-sT → ルーターからNAPT環境だとステルススキャン(-sS)はうまくいかなかった
nmap hogehoge.net -p 25 -v -PN -sT

あとは適当にスクリプトを組む
#!/usr/bin/perl
use strict;
use warnings;

#################################
# LOG
my $LOG="/var/log/hogelog";
#################################


my @result = `nmap hogehoge.net -p 25 -PN -sT`;

if ( join("",@result) =~/25\/tcp\s+open\s+smtp/ ){
        system "logger 'JITAKU MAIL IS LIVE!!'" and die $!;
        logadd (@result);
}
else {
        system "logger 'JITAKU MAIL IS DEAD!!'" and die $!;
        my @ddc=`ddclient -verbose -ip 123.123.123.123`;
        logadd (@ddc);
}


sub logadd {
        my @data=@_;
        open (WR,">>$LOG") or die $!;
        print WR @data;
        close WR;
}

参考リンク
nmap日本語man

2011年4月25日月曜日

DTIのVPSにPukiWikiをインストール

必要なのはphp5オンリーなので楽
  1. ダウンロード
  2. 公式サイトからダウンロード 今回は「pukiwiki-1.4.7_notb_utf8.tar.gz」を選択 こちらは以下のコマンドで展開すればパーミッションの設定を省けるので良い
    tar xvzpf pukiwiki-1.4.7_notb_utf8.tar.gz
  3. インストール
  4. 基本的には ここ に書いてある通りやればOK md5値は以下のようにして算出できる
    echo -n 'pass' | md5sum 
    この値を設定すればOK 上記例だとこんな感じ
    $adminpass = '{x-php-md5}1a1dc91c907325c69271ddf0c944bc72'
  5. 個別設定
  6. その他個人の設定はお好みで
    アップロードサイズの変更
    vi plugin/attach.inc.php
    ここを参考にして アップロードサイズ上限を16MBに変更した(19行目付近)
     // Max file size for upload on script of PukiWikiX_FILESIZE
     define('PLUGIN_ATTACH_MAX_FILESIZE', (16 * 1024 * 1024)); // default: 1MB
     
    ※ただしphp.iniの制限に引っかかっていたら意味ないので見直すこと→詳しくはこちら

    はてなマークを消す方法
    以下のようにnowikinameを1に変更する
      $nowikiname = 1;
     
その他
ユーザ制御・アクセス制御
QAユーザー認証
セキュリティQA

2011年4月18日月曜日

よく使うCGIスクリプト

無料で使えてとても助かってる

フォトアルバム
pipipiga
UTF-8用のファイルとか用意していてくれる
http://popilol.lolipop.jp/NiconicoPHP/

Fuploader
FLASHで出来てる アップローダ
100Mまでアップロード可能
http://www.yumemaboroshi.net/cgi4905/

UTF-8+LFへの変換は
nkf -w8 -Lu ファイル名
でOK

wikiはPukiWikiが設置が簡単で良いと思う

2011年4月17日日曜日

lighttpdでアクセス制御

こんな感じで指定すると
/upload配下以外はユーザー認証が必要
     $HTTP["url"] !~ "^/upload" {
     auth.require                 = (
                   "" =>
                                    (
                    "method"  => "basic",
                    "realm"   => "wolzone",
                    "require" => "valid-user"
                                      )

                                  )
  }

参考リンク
lighttpdの記述方法
lighttpdのmod_auth使用方法

2011年4月12日火曜日

ターミナルが256色をサポートしているかテストするには?

http://vimwiki.net/?tips%2F70
↑の256colors2.plっていうスクリプトを動かせばよいらしい

2011年4月11日月曜日

bug.nを試してみた

前回Dwmにはまったので
Windowsでも出来ないか探してみたらあった
bug.nというらしい

使い方はLinuxの時とほぼ同じ
※(Winは左Windowsキー)

アクティブウィンドウの切り替え
Win+↑
Win+↓

ウィンドウのリサイズ
Win+←
Win+→

ウィンドウのクローズ
Win+c

分割の縦横切り替え
Win+Ctrl+Tab

タイトルバーの表示非表示
Win+Shift+d

ウィンドウの入れ替え
Win+Shift+Enter

マスターウィンドウの左右切り替え
Win+Ctrl+Enter

よく分からないけどレイアウトの変更
Win+Ctrl+←
Win+Ctrl+→


タスクバーの表示非表示
Win+Space

bug.nの終了
Win+Shift+q

参考リンク
http://sourceforge.jp/projects/tilingwm/wiki/FrontPage

Linuxで使える軽い画像ビューワ

使いやすくて軽い画像ビューワー

xzgv

というらしい
画像フォルダで
xzgv *
で起動して

shift-z ファイル一覧表示
z Windowsにフィット
Space 次の画像へ
b 前の画像へ
矢印キー 画像を任意の方向へスクロール
s 画像をズームイン
S 画像をズームアウト

mirage

基本はマウスで出来る
F2で画像をリネームできるのがポイント

Dwmのステータスバーと壁紙を変更してみる

デフォルトのステータスバーはあまりにそっけないので変更してみた
下記参考リンクを参照すれば分かると思うけど
Dwmの上のバーの右上はxsetroot -nameで示される名前を表示しているので
~/.xsessionrcにこんな感じのスクリプトを書いてやる
※.xsessionrcはXのセッション開始時に読み込まれる詳しくは/etc/X11/Xsession参照

~/.xsessionrc
#!/bin/bash
xsetroot -solid DarkSlateBlue
hsetroot -full /usr/share/lxde/wallpapers/block.jpg
while true
        do
        DATE=`date +"%Y/%m/%d %H:%M"`
        xsetroot -name "$DATE" || exit
        sleep 30s
done &

xsetroot は背景色の設定(ここでは下の行で壁紙を設定してるから意味無いけど・・・)
hsetroot が壁紙の設定hsetroot をインストールする必要はある

参考リンク
ステータスバーの変更について

参考記事
xsessionrcのプロセス制御

Debianのデスクトップ環境をDwmに変更してみた

軽量と言われるLXDEだけどやはり10年前のノートPCだと重いと感じてきたので変更する
変更するのはウィンドウマネージャのDwm

インストールはaptとかでさくっとできるはず
デフォルトのMod1キーはAltキーなのでいつもAltキーが必要です
起動して左上に表示されている1~9の数字は仮想デスクトップでここではタグと呼びます
基本操作は以下のとおり

uxtermの起動
Alt+Shift+Return

ウィンドウ間のフォーカスを切り替え
Alt+j
Alt+k

ウィンドウのサイズ変更
Alt+h
Alt+l

フォーカスされているウィンドウを閉じる
Alt+Shift+c

6番目のタグへ移動
Alt+6

全てのタグを選択(全ウィンドウが表示されます)
Alt+0

現在フォーカスされているウィンドウを4番目のタグへ移動
Alt+Shift+4

ウィンドウの入れ替え
Alt+Return

前回選択してたタグへ移動
Alt+Tab

上のバーの表示/非表示切り替え
Alt+b

ウィンドウをタイル表示(重ならないように配置)
Alt+t

フローティングレイアウト表示へ(重なって表示)
Alt+f
※Alt押しながらマウスで移動できます

常に最大化表示(ひとつのウィンドウが最大化表示)
Alt+m

Dwmを終了
Alt+Shift+q

その他詳しいことは
man dwm

ステータスバーを変えるにはこちら

参考リンク
http://sourceforge.jp/projects/tilingwm/wiki/FrontPage

2011年4月3日日曜日

コンソールの表示行を変更する

stty rows 56
こんな感じで打てば
表示される行数を変更できる

ただ
どうやって起動時に設定するかが課題


参考リンク
sttyのほかの使い方
起動時に有効にする方法?

2011年4月2日土曜日

こことかここに書いてあるけど
debian-volatileはsqueezeになってから無くなったらしい

 deb http://ftp.debian.org/debian squeeze-updates main
にすればいいみたい

DebianにOperaをインストール

このとおりやれば出来た

/etc/apt/sources.listにリポジトリを追加
deb http://deb.opera.com/opera squeeze non-free

以下のコマンドを実行
aptitude update
wget -O - http://deb.opera.com/archive.key | apt-key add -
aptitude update
aptitude install opera


apt-keyについては
以下を参照
基本的にはapt-key updateでいいはず
http://debian.fam.cx/index.php?AptGet#secapt