2012年5月5日土曜日

BIND9の設定

  1. インストール
  2. apt-get install bind9
  3. 正引きの設定
  4. named.conf.local
    zone "test" {
        type master;
        file "/etc/bind/db.test";
    };
    
    db.test
    $TTL    1D
    @       IN      SOA     dns.test. root.hoge. (
                             20120505       ; Serial
                             604800         ; Refresh
                              86400         ; Retry
                            2419200         ; Expire
                             604800 )       ; Negative Cache TTL
    ;
    @       IN      NS      dns.test.
    main            IN      A               192.168.0.2
    vista           IN      A               192.168.0.3
    dns             IN      A               192.168.0.4
    note            IN      CNAME           dns.test.
    jitaku          IN      A               192.168.0.11
    
  5. 逆引きの設定
  6. named.conf.local
    zone "0.168.192.in-addr.arpa" {
            type master;
            file "/etc/bind/db.testrev";
    };
    
    db.testrev
    $TTL    1D
    @       IN      SOA     dns.test. root.hoge. (
                             20120505       ; Serial
                             604800         ; Refresh
                              86400         ; Retry
                            2419200         ; Expire
                             604800 )       ; Negative Cache TTL
    ;
    @       IN      NS      dns.test.
    ;
    2                       IN      PTR             main.test.
    3                       IN      PTR             vista.test.
    4                       IN      PTR             note.test.
    11                      IN      PTR             jitaku.test.
    
  7. セカンダリDNS設定
  8. セカンダリDNSの設定は以下のようにする これでプライマリからゾーン転送されてくる
    named.conf.local
    zone "hoge.jp" {
        type slave;
        file "/tmp/db.hoge";
        masters { 123.123.123.123; };
    };
    
    ゾーン転送(完全転送:AXFR)をエミュレートするには
    nslookup
    server ns.example.co.jp
    ls example.co.jp
    
    digでも出来る
    dig @ns.example.co.jp example.co.jp axfr
    
    http://www.atmarkit.co.jp/fsecurity/rensai/iprotect01/iprotect01.html
  9. その他Tips
  10. フォワーダ設定
    named.conf.options
    forwarders {
        210.130.1.1;
        210.130.0.1;
        8.8.8.8;
        8.8.4.4;
    };
    
    chacheファイルの在り処
    /var/cache/bind/named_dump.db
    
    chacheのクリア
    rndc flush
    
    時間は秒数以外も指定できる
    W 週
    D 日
    H 時間
    M 分
    
    http://kajuhome.com/tips/tips_04_002.shtml
参考リンク http://www.atmarkit.co.jp/flinux/index/indexfiles/index-linux.html#bind8

vimでコマンドをファイル中に書くことができる

その名もモードライン
:h modeline

2012年4月22日日曜日

mysqlのtips

*AUTO_INCREMENTの値をリセットする
ALTER TABLE hogetable AUTO_INCREMENT = 1;

http://www.programming-magic.com/20071126231401/

*列の追加
alter table log add date date after id;

http://www.programming-magic.com/20071004015528/

*列の削除
alter table log drop date;

(logテーブルからdateカラム削除)
http://www.programming-magic.com/20071023000012/

2012年4月15日日曜日

nagios3でのパッシブチェックについて

nagios3でのパッシブチェックは外部コマンドファイル(External Commands)に書き込むことで実現するチェックした結果を名前付パイプ(/var/lib/nagios3/rw/nagios.cmd)に書き込むことでnagios3が拾う

  1. 以下のようなスクリプトを用意する
  2. #!/bin/sh
    echocmd="/bin/echo"
    CommandFile="/var/lib/nagios3/rw/nagios.cmd"
    datetime=`date +%s`
    cmdline="[$datetime] PROCESS_SERVICE_CHECK_RESULT;$1;$2;$3;$4"
    `$echocmd $cmdline >> $CommandFile`
    
  3. cronか何かで以下のようにスクリプトを叩く
  4. 引数は4つで最初からホスト名、サービス名、ステータス、メッセージの順でサービス名はservice_descriptionで指定したもの
    ./result.sh localhost HTTP 2 "DOWN MESSAGE"

HOSTのパッシブチェックは以下のようなコマンドで
#!/bin/sh
echocmd="/bin/echo"
CommandFile="/var/lib/nagios3/rw/nagios.cmd"
datetime=`date +%s`
cmdline="[$datetime] PROCESS_HOST_CHECK_RESULT;$1;$2;$3"
`$echocmd $cmdline >> $CommandFile`
こう叩く
./host.sh localhost 0 "OK"


参考リンク
Nagios 3翻訳プロジェクト External Commands
Passive Checks

nagios3で外部コマンドを初期化するには?

nagios3のWebインターフェイス等で行ったステータスを初期化するには /var/lib/nagios3/retention.dat を削除すればOK

2012年4月13日金曜日

lighttpd+nagios3



 lighttpd+nagios3を試してみた

  1. インストール
  2. apt-get install nagios3
  3. CGI設定
  4. /etc/lighttpd/lighttpd.conf
      alias.url += (
              "/nagios3/stylesheets" => "/etc/nagios3/stylesheets" ,
              "/cgi-bin/nagios3" => "/usr/lib/cgi-bin/nagios3",
              "/nagios3/cgi-bin" => "/usr/lib/cgi-bin/nagios3",
              "/nagios3" => "/usr/share/nagios3/htdocs"
              )
    
      $HTTP["url"] =~ "^/nagios3/cgi-bin|^/cgi-bin/nagios3" {
          cgi.assign = ( "" => "" )
              auth.require                 = (
                      "" =>
                      (
                       "method"  => "basic",
                       "realm"   => "nagios",
                       "require" => "user=nagiosadmin"
                      )
    
                  )
      }
    
  5. /etc/nagios3/nagios.cfg
  6. check_external_commands=1
    
  7. パーミッション
  8. # dpkg-statoverride --update --add nagios www-data 2710 /var/lib/nagios3/rw
    # dpkg-statoverride --update --add nagios nagios 751 /var/lib/nagios3
    

参考リンク
http://d.hatena.ne.jp/rx7/20070319/p3
http://d.hatena.ne.jp/turutosiya/20090403/p2
http://d.hatena.ne.jp/ksaito11/20090311/1236725318

2012年3月24日土曜日

bloggerの問題を報告するには?

以下のリンクからどうぞ
悩んでいたクイック編集が出ない問題も載ってた

理由は分からないけど以下のリンクで.jpにリダイレクトされなくなる
http://rdt17.blogspot.com/ncr

2012年3月23日金曜日

Ruby on Railsのインストール

必要なパッケージのインストール

適当に以下のパッケージをインストール
build-essential imagemagick zlib1g-dev libssl-dev libreadline-dev libmagick-dev libmagickcore-dev
libmagickwand-dev sqlite3 libsqlite3-dev automake bison mysql-server mysql-client libmysqld-dev libmysqlclient-dev libcurl4-openssl-dev
libapr1-dev libaprutil1-dev libxslt-dev libxml2-dev
※この時点ではRubyは入れない

RVMのインストール

RVMはRubyのバージョンのスイッチとか簡単に出来るので便利
公式サイトどおりに以下のコマンドですぐインストールされる
curl -L get.rvm.io | bash -s stable
source ~/.rvm/scripts/rvm

Rubyのインストール

rvm install ruby
rvm list
rvm use 1.9.3 --default

必要なGemインストール

gem install bundler
gem install rails
gem install unicron

その他の設定

あとJavaScriptエンジンが足りないとか起こられたら こちらを参照して設定する
Gemfileに以下を追記
gem 'execjs'
gem 'therubyracer'
rails new hoge
cd hoge
rails server

2012年3月21日水曜日

perlのワンライナーでファイルの一括リネーム

メモしておく
以下の例はファイルの拡張子を残して連番にする例

リネーム前確認
perl -le 'for(@ARGV){$n=$o=$_;$n=~s/.+(\..+)/sprintf("%04d$1",++$i)/e;print "$o => $n"}' *

リネーム
perl -le 'for(@ARGV){$n=$o=$_;$n=~s/.+(\..+)/sprintf("%04d$1",++$i)/e;rename $o,$n}' *

2012年3月19日月曜日

github使ってみた

今更だけどgithub使ってみたときのメモ
とりあえず初期設定は下記参考リンク見ながらやればOK

以下はリポジトリの作成→アップロードまで簡易版のメモ
  1. gitの設定
  2. 名前とe-mailを設定
    git config --global user.name "Firstname Lastname"
    git config --global user.email "your_email@youremail.com"
    
    githubのユーザーIDとアクセストークンの設定 ※アクセストークンはAccount Settings→左メニューのAccount Settingsで見れる
    git config --global github.user username
    git config --global github.token 0123456789yourf0123456789token
    
  3. sshの設定
  4. .ssh/configに以下を書いておく
    Host github.com
            User git
            Hostname github.com
            IdentityFile ~/.ssh/YOUR_PRIVATE_KEY
    
  5. リポジトリの作成
  6. githubにログインして"New Repository"を押せばOK
  7. リポジトリにpush
  8. mkdir repname
      cd repname
      git init
      touch README
      git add README
      git commit -m 'first commit'
      git remote add origin git@github.com:yourid/repname.git
      git push -u origin master
    

感想
コマンドから簡単にWebのホスティングサービスにアップロードできるのは超便利
ただし、非公開のリポジトリは無料ユーザーでは作れないので注意すること


リポジトリの削除はこちらに書いてある通り、リポジトリを開いてAdminから行える 参考リンク
github 超入門
github もうちょい入門
http://help.github.com/win-set-up-git/

2012年3月14日水曜日

CUI(テキストベース)のメッセンジャー

CUIでメッセが出来たらいいなーと思って探してみた

centerim
finch

参考リンク
http://techno-st.net/2009/02/18/cui-im.html
http://d.hatena.ne.jp/goth_wrist_cut/20080128/1201484704

2012年3月11日日曜日

HDDが故障したときにやったこと

/dev/sddが故障を検地 (S.M.A.R.T)

まずはsmartのセルフテストをやってみる
smartctl -t long /dev/sdd

badblocksでHDDをチェック
今回は読み込みチェックだけやった
badblocks -s -v /dev/hda
書き込みチェックもやるなら↓
badblocks -s -v -n /dev/hda
-s 進捗状況表示
-v 詳細表示
-n 非破壊テスト
http://nabe.blog.abk.nu/0245

ファイルシステムが壊れてそうなら
fsck
を使うこと

2012年3月9日金曜日

dwmのキーマップの変更

ソースをダウンロードしてから
makeする

apt-get source dwm

以下のとおり変更
#define MODKEY Mod1Mask
↓
#define MODKEY Mod4Mask

static const char *termcmd[]  = { "uxterm", NULL };
↓
static const char *termcmd[]  = { "x-terminal-emulator", NULL };

make
あとは出来たdwmをフォルダに突っ込めばOK

参考リンク
http://wiki.mma.club.uec.ac.jp/clear/dwm

2012年3月1日木曜日

mysqlを使ってみる

インストールはmysql-clientとmysql-serverを入れればOK

mysqlへの接続
mysql -u root -p

DB一覧の表示
show databases;

databasesの切り替え
use データベース名

テーブルの表示
show tables;

phpmyadminへのログイン
http://192.168.0.1/phpmyadmin/

バックアップ
mysqldump --user=root --password=hoge --all-databases > /tmp/mysql.dump

リストア
mysql -u root -phoge < /tmp/mysql.dump

2012年2月5日日曜日

Catalyst+lighttpd+fastcgiで動かしてみる

Catalyst+lighttpd+fastcgiで動かす場合の設定メモ
今回は下の図のように動かす
Catalystはスタンドアロンで動かすほうが早い気がする
bin-path指定で動かす場合はこちらを参照


  1. conf編集
  2. /etc/lighttpd/conf-enabled/10-fastcgi.confを編集 今回のサーバーではlighttpdは普通のWebサーバーとして使っているので、ポートで切り分ける以下を追加 あとserver.port文を消す
    $SERVER["socket"] == "192.168.0.4:5000" {
          #server.port               = 5000
          fastcgi.server = (
              "" => (  # the extension is empty because we want to match on any extension
                  "myserver1" => (
                      "host" => "192.168.0.4",
                      "port" => 5001,
                      "check-local" => "disable"
                  )
              )
          )
      }
      $SERVER["socket"] == "192.168.0.4:4000" {
      }
    
  3. Catalystの起動
  4. ポート越しにやりとりするからパーミッションとかは適当でOK
    script/helloworld_fastcgi.pl --listen 192.168.0.4:5001 --keeperr 2
    
  5. デーモン化する
  6. /etc/init.dにスクリプトを書けば自動起動する こちらを参考に適当にスクリプト書けばOK



参考リンク
Deploying Catalyst Applications
Deploying Catalyst applications with lighttpd and FastCGI
/etc/init.dに作った起動スクリプトのリンク設定とか
Configuration File Syntax