そういえばISPをso-netに変えてからSMTPの設定変更してなかったのでメモ。
まずは /etc/postfix/main.cf に以下を追記。
relayhost = [mail.so-net.ne.jp]:587
smtp_sasl_type = cyrus
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/so-net_password
smtp_sasl_security_options = noanonymous
smtp_sasl_mechanism_filter = PLAIN
/etc/postfix/so-net_passwordはこんな感じ。
[mail.so-net.ne.jp]:587 @.so-net.ne.jp:
$ sudo chmod 640 /etc/postfix/so-net_password
$ sudo postmap /etc/postfix/so-net_password
$ sudo /etc/init.d/postfix restart
でおk。あとはメール送信のテストする。
echo test | mail *****@gmail.com
これでメールが送られていれば成功。

Postfix実用ガイド
著者/訳者:Kyle D. Dent
出版社:オライリージャパン( 2004-08-15 )
大型本 ( 307 ページ )
Webサーバがちゃんと立ち上がったかどうか、URLにアクセスしてチェックしたいので。
wget -o /dev/null -O - http://twitter.com/ > /dev/null
if [ $? -eq 0 ] ; then
echo "OK"
else
echo "Failure!!"
fi
な感じかなぁ。
sshで ~/.ssh/known_hosts にないマシンにアクセスする場合
The authenticity of host 'your-host (127.0.0.1)' can't be established.
RSA key fingerprint is 7f:cd:9a:d8:1d:9a:47:3b:97:e7:8e:c3:81:c8:2e:97.
Are you sure you want to continue connecting (yes/no)?
と聞かれます。社内用のサーバなどの場合、そんなに厳しく接続先のマシンをチェックしなくてもよいのであれば、sshクライアント側の ~/.ssh/config に下記の設定を書くことでこれを聞かれないようにできます。
host 192.168.1.*
StrictHostKeyChecking no
~/.ssh/config ファイルのパーミッションは 600 じゃないと怒られるので
$ chmod 600 ~/.ssh/config
としておきます。これで大量のサーバに最初に初めてssh接続した時の “yes” を入力するだけの簡単な仕事から解放されます!
最近このブログの置き場所を自宅サーバからlinodeに移しました。それにあたってサーバの設定ファイルを git リポジトリで管理して linode に同期するようにしてみました。今日はそんなことをつらつらと書いてみたいと思います。
まず、なぜにサーバの設定ファイルをバージョン管理する必要があるのか、ということですが
- ファイルを任意の時点の状態に簡単に戻すことができる
- いつどんな修正をしたのか簡単に見れる
というのがメリットだと思ってます。あと、自分の場合はGitリポジトリがあるディレクトリを丸ごとバックアップ取っているので、リポジトリで管理しておくと自動的にバックアップされるというのがメリットとしてあります。色々熟考されて作られた設定ファイルは大事な財産だったりします。
Gitリポジトリの構成
僕は以下のような構成でGitリポジトリに設定ファイルを置いています。
savacan
|
`-- napoli.lampetty.net
|
`-- files
`-- etc
|-- apache2
| |-- error-document.conf
| |-- icon.conf
| |-- language.conf
| |-- log-env.conf
| `-- mod_php.conf
|-- init.d
| |-- mysql
| |-- reverse_proxy_nginx
| `-- svscan
|-- logrotate.d
| `-- reverse_proxy_nginx
|-- my.cnf
`-- nginx
|-- htpasswd
|-- mime.types
`-- reverse_proxy_nginx.conf
TOPレベルの”savacan” というのは適当につけた名前ですが(*1)、簡単に解説するとこんな感じでしょうか。
- savacan配下にサーバ毎に napoli.lampetty.net のようなディレクトリを用意
- その下の files ディレクトリに設定ファイルを置く
- 設定ファイルは実際にサーバに置くパスと同じものに
そして、この files 配下のファイルをサーバに rsync して、各ファイルの symlink を張るスクリプトを書いています。symlink を張るという形を取ることで、サーバにアップすれば最新のファイルに置き換わるのが良いところかなぁと。あと実際にサーバ上に配置するパス通りに管理しておくのもわかりやすくて気に入っています。また、おそらく様々な用途のサーバがあるような環境だと、savacan配下に作るディレクトリは”db_master”,”reverse_proxy” のような役割にしておいて、db_master/files 配下のファイルはマスタDBサーバにrsyncする、みたいな運用にすればいいのかなと思っています。
最近は puppet も盛り上がってますし、puppet 使えば幸せになれることも多々あると思いますが(*2)、シンプルに運用したいのであればこのぐらいでもいいのかなぁと思っています。
- *1)サーバ管理 -> 鯖管 -> savacan
- *2)ファイルの権限設定したい場合とか
コメント