アーカイブ

‘SysAdmin’ カテゴリーのアーカイブ

自宅サーバからso-netのSMTPにリレーする

2011 年 6 月 12 日 コメントはありません

そういえば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 ページ )


カテゴリー: SysAdmin タグ:

Linuxで容量の大きいディレクトリを調べる

2011 年 4 月 10 日 コメントはありません
# du -m /home | sort -nr | head -5

で容量の大きいディレクトリTOP5調べられる。

カテゴリー: Linux, SysAdmin タグ: ,

wgetでURLにアクセスできるか簡易的にチェックする

2011 年 2 月 17 日 コメントはありません

Webサーバがちゃんと立ち上がったかどうか、URLにアクセスしてチェックしたいので。

wget -o /dev/null -O - http://twitter.com/ > /dev/null
if [ $? -eq 0 ] ; then
    echo "OK"
else
    echo "Failure!!"
fi

な感じかなぁ。

仕事に使えるLinuxシェルスクリプト~bashで作る実用サンプル41

著者/訳者:千葉 真人

出版社:日経BP社( 2004-11-25 )

単行本 ( 381 ページ )


カテゴリー: Linux, SysAdmin タグ: ,

sshで初回ログイン時に”The authenticity of host ‘host’ can’t be established…”を聞かれないようにする設定

2010 年 11 月 30 日 コメントはありません

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” を入力するだけの簡単な仕事から解放されます!

カテゴリー: SysAdmin タグ:

サーバの設定ファイルの管理方法

2010 年 6 月 20 日 コメントはありません

最近このブログの置き場所を自宅サーバからlinodeに移しました。それにあたってサーバの設定ファイルを git リポジトリで管理して linode に同期するようにしてみました。今日はそんなことをつらつらと書いてみたいと思います。

まず、なぜにサーバの設定ファイルをバージョン管理する必要があるのか、ということですが

  1. ファイルを任意の時点の状態に簡単に戻すことができる
  2. いつどんな修正をしたのか簡単に見れる

というのがメリットだと思ってます。あと、自分の場合は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)ファイルの権限設定したい場合とか

プロのための Linuxシステム構築・運用技術 (Software Design plus)

著者/訳者:中井 悦司

出版社:技術評論社( 2010-12-22 )

大型本 ( 264 ページ )


カテゴリー: SysAdmin タグ: