2012年5月28日月曜日

2ch互換掲示板CGI

http://www.toshinari.net/

2012年5月26日土曜日

lighttpd + zabbixをDebian squeezeにインストール

aptで以下のパッケージをインストール
zabbix-agent #監視される側
zabbix-frontend-php #zabbixのWebインターフェイス
zabbix-server-mysql #zabbixのサーバー(監視する側)
lighttpdに以下を追記
alias.url += (
        "/zabbix" => "/usr/share/zabbix"
        )
なんかログインできなかったので以下のSQLを発行
update users set passwd=md5('hoge') where alias='Admin';
参考リンク
SQLのアップデートの仕方
マニュアル

2012年5月20日日曜日

HA構成のサーバー作るときに使うソフトメモ

複数のサーバーを同一の設定にする Puppet OSインストールを簡略化 kickstart データ同期 DRBD Heartbeat(Pacemaker) 生死監視

2012年5月7日月曜日

lighttpdでSSL設定

Debian(squeeze)でやってみた
1.モジュールの有効化
lighty-enable-mod ssl

2.認証局(CA)の作成
/usr/lib/ssl/misc/CA.sh -newca

最初はエンター
後は対話形式に適当に入力する
入力項目についてはここら辺を参照
A challenge passwordとAn optional company nameは飛ばした

3.サーバーの秘密鍵,CRTの作成
openssl genrsa -out server.key 2048
openssl req -new -days 365 -key server.key -out csr.pem

4.署名(CRT)ファイルの作成
openssl ca -in csr.pem -keyfile demoCA/private/cakey.pem -cert demoCA/cacert.pem -out crt.pem
エラーが出る場合は以下のようにindex.txtを空にする(ここら辺参照)
rm demoCA/index.txt
touch demoCA/index.txt

5. ファイルの設置
ファイルをvim等で適当に編集して
-----BEGIN RSA PRIVATE KEY-----
hogehogehogehoge.....
-----END RSA PRIVATE KEY-----
-----BEGIN CERTIFICATE-----
hogehogehogehoge.....
-----END CERTIFICATE-----
みたいになるようにする
あとは再起動でOK

参考リンク
13. SSL自己証明書
Apache/SSL自己証明書の作成とmod sslの設定
Webサーバ「lighttpd」でSSLを使うには ※鍵の作成→署名までを1コマンドでやってる
日本ベリサイン株式会社の解説ページ

2012年5月6日日曜日

LDAPの設定メモ

slapdをインストール

mozillaAbPersonAlpha.schemaを以下へコピーする
/etc/ldap/schema

phpldapadminをインストール
lighttpdのconfに以下を追加
# Alias for pa directory
alias.url += (
    "/pl" => "/usr/share/phpldapadmin",
)

パスワードを忘れたら
dpkg-reconfigure slapd

↓で内容の確認
slapcat

cn=admin...
で始まる行をメモして
phpldapadminにログイン

詳しくはこちら
/usr/share/doc/slapd
本体はこっち?
/usr/share/slapd

参考リンク
Gentoo Linuxな生活​/ThunderBirdアドレス帳をLDAPで悩む

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/