<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	>

<channel>
	<title>dorakenのFreeBSDサーバ管理日記</title>
	<atom:link href="http://www.hayate.mobi/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://www.hayate.mobi</link>
	<description>FreeBSDの備忘録をかねたサーバ管理日記</description>
	<pubDate>Sat, 23 May 2009 09:11:36 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7.1</generator>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>TurbolinuxでDRBDインストール</title>
		<link>http://www.hayate.mobi/?p=178</link>
		<comments>http://www.hayate.mobi/?p=178#comments</comments>
		<pubDate>Sat, 23 May 2009 09:05:36 +0000</pubDate>
		<dc:creator>doraken</dc:creator>
		
		<category><![CDATA[Linux]]></category>

		<category><![CDATA[コラム]]></category>

		<guid isPermaLink="false">http://www.hayate.mobi/?p=178</guid>
		<description><![CDATA[Turbolinux 11 serverでDRBDのインストールに成功しました。これから色々とテストを行って実験して行くことになるのですが忘れるといやなので取り急ぎメモとして残します。
debianやCentなどでパッケ [...]]]></description>
			<content:encoded><![CDATA[<p>Turbolinux 11 serverでDRBDのインストールに成功しました。これから色々とテストを行って実験して行くことになるのですが忘れるといやなので取り急ぎメモとして残します。</p>
<p>debianやCentなどでパッケージが存在しますので、DRBDの為にわざわざTurbolinuxを使用する必要はないとかもしれませんが商用のパッケージという縛りかつlinuxかつコストパフォーマンスを考えていくとTurboになったという経緯があります。</p>
<p>ではインストールを開始していきます。あ、DRBDのバージョンは2009年5月23日現在で最新の8.3.1を利用します。事前に<br />
・<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: 'Century','serif'; mso-bidi-font-size: 11.0pt; mso-fareast-font-family: 'ＭＳ 明朝'; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: JA; mso-bidi-language: AR-SA" lang="EN-US">gcc-c++</span><br />
・kernel-source<br />
・flex<br />
のインストールをturbo+などを利用してインストールして下さい。ここではインストールされているとして作業を進めていきます。またパッケージが存在しないので当然ですがソースコードからインストールを行っていきます。<br />
インストールは大きく分けて<br />
・カーネルのモジュール作成<br />
・DRBDコンパイル&amp;&amp;インストール<br />
という2ステップが必要です。CentOSではカーネルのソースコードをインストールしただけでカーネルモジュールが存在しているようなので最初のステップは無視できます。Turbolinuxなどのモジュールが存在しないlinuxでは、ここで紹介するステップを踏んでいくことでインストールが可能だと思います。</p>
<p>では最初のステップ、カーネルのモジュール作成から開始しましょう。当然ですがroot権限が必要です。suでrootユーザになって下さいね。<br />
Turbolinuxは［/usr/src/linux］にソースが存在します。［make mrproper］にて環境を初期化して［SetupKernelSource.sh i686］で設定ファイル(<code>.config</code>)を作成、モジュールを作成します。</p>
<p># cd /usr/src/linux<br />
# make mrproper<br />
# ./SetupKernelSource.sh i686<br />
# make modules</p>
<p>上記コマンドを実行、エラーが発生しなければモジュール作成が完了です。次にDRBDをインストールします。技術評論社、24時間365日サーバ／インフラを支える技術などを読むとなるべく最新版を使用すべきと紹介されていましたので最新バージョンを利用しました。（安定版は8.0系のようです。ですので8.0系を利用するのも有りだと考えています。）ソースコードはいつも通り[/usr/local/src]を利用することにします。<br />
最新版は<a href="http://oss.linbit.com/drbd/" target="_blank">http://oss.linbit.com/drbd/</a>を確認してみて下さい。</p>
<p># wget <a href="http://oss.linbit.com/drbd/8.3/drbd-8.3.1.tar.gz">http://oss.linbit.com/drbd/8.3/drbd-8.3.1.tar.gz</a><br />
# tar xvzf drbd-8.3.1.tar.gz<br />
# cd /usr/local/src/drbd-8.3.1<br />
# make clean all KDIR=/usr/src/linux<br />
# make KDIR=/usr/src/linux<br />
# make install<br />
# mv /etc/drbd.conf /etc/drbd.conf.ORG</p>
<p>ポイントはKDIRオプションを用いてソースコード場所をmake時に指定することでしょうか。また設定ファイルは削除せずに上記の通り違う名前で保存しておいて、参考にするとよいでしょう。</p>
<p>設定は時間があって自分なりの検証が終わったらアップしたいと思いますが何時になるか（笑）</p>
<p>【番外編】Turbolinuxを触ってみての感想<br />
少し触った感じではブート時のサービス起動の少なさと言い、デフォルトでインストールされるパッケージと言い、なかなか考えられているなぁと思いました。でも<br />
・popt-develパッケージが存在しない（keepalivedのインストールに必要、結局ソースコードからインストールしてしまいました。バージョン８の時代には存在したみたいなんだけど。）<br />
・dovecotがない（確かにまだまだこなれていない部分がありますが、通常の使い方では十分だと思うんだけどな。）<br />
・情報が少ない（昔は吸気系加圧器か赤い帽子かと言われていたのに）<br />
・yumなどのコマンドラインから使用しやすいパッケージ管理ツールがない（Turbo+も良いとは思うんだけど、パッケージが探しにくい。パッケージ名を検索できるようになったら、もっと使い勝手があがると思います）<br />
という欠点が目につい来ました。でもでも最大の欠点は<br />
・カーネルのビルドは出来てもinstallが出来なかった（なぜ！？）<br />
点です。いや、多分間違いなく自分がなにか致命的なミスをしているか、何かだと思いますからTurbolinuxそれ自体は悪くないです。でも何が原因か分からないんですよね。。。。。。<br />
今の所サポートが必要な状況に追い込まれていないので、サポートがどうかなどの判断ができません。なのでいろんな意味で判断は保留なのですが、超個人的意見をいえばTurbolinuxは商用で有れば次も使いたいと思ってます。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.hayate.mobi/?feed=rss2&amp;p=178</wfw:commentRss>
		</item>
		<item>
		<title>qmail＋vpopmai＋ClamAV+SpamAssassin＋simscanでメールサーバ構築[インストール編]</title>
		<link>http://www.hayate.mobi/?p=155</link>
		<comments>http://www.hayate.mobi/?p=155#comments</comments>
		<pubDate>Sun, 03 May 2009 06:01:39 +0000</pubDate>
		<dc:creator>doraken</dc:creator>
		
		<category><![CDATA[FreeBSD]]></category>

		<category><![CDATA[mail]]></category>

		<guid isPermaLink="false">http://www.hayate.mobi/?p=155</guid>
		<description><![CDATA[メールサーバの運営って難しいですよね？SPAM攻撃にさらされますし、ちょっとした設定ミスでメールの受け取りや送信が出来なくなるし、受信が出来なくなるだけならまだしもSPAM発信基地となってしまう可能性もあるわけです。その [...]]]></description>
			<content:encoded><![CDATA[<p>メールサーバの運営って難しいですよね？SPAM攻撃にさらされますし、ちょっとした設定ミスでメールの受け取りや送信が出来なくなるし、受信が出来なくなるだけならまだしもSPAM発信基地となってしまう可能性もあるわけです。そのため高額なメールアプライアンスサーバーいろんな場所で活躍しています。</p>
<p>しかしながら個人用途でそのような専用の機器はなかなか利用出来ません。ですがFreeBSDやLinuxでも「がんばれば！」負けないくらいのメールサーバが構築出来るハズ、と自分を励ましつつ構築・運営を行ってきました。そこでせっかくですから自分なりのノウハウというかメールサーバ構築方法を公開？したいと思います。</p>
<p>今回の構築に当たって使用するソフトウェアは<br />
qmail＋vpopmai＋ClamAV+SpamAssassin＋simscan<br />
を利用します。最近ではpostfixを用いてサーバ構築を行っているのですが今回は過去経緯よりqmailを用います。もう一点、自分がvpopmailが好きであるという理由も大きいのですが。</p>
<p>まずqmailの弱点を考えてみましょう。自分が考えるqmailの弱点は、</p>
<p>その１ ・指定されたメールアドレスを有するユーザがサーバ上に存在するかしないかにかかわらず<br />
        「とりあえず」 受け取ってしまう。<br />
       ・受け取ったメールに対してエラーメールを発信してしまう。<br />
　　   ・SPAMの場合、偽装された送り主にエラーメールが送られてしまう。<br />
その２ ・double bounce (ダブルバウンス)が #@[] という不正なメールアドレスで送信される。<br />
その３ ・メール1つに対してTCP接続/切断が1回起こる。<br />
その４ ・同一ドメインに対して何度も接続/切断が発生する。<br />
その５ ・同一ドメインに対する同時接続数の制限がない。<br />
その６ ・SMTP Auth に非対応<br />
その７ ・TLS 非対応<br />
その８ ・IPv6 非対応</p>
<p>特に問題なのが１で、qmailサーバでディクショナリーアタックを受けるとサーバのCPUパワーを空費し、バウンズ不可能な不達通知メールでキュー溢れをおこしてしまいます。実際、過去何回か痛い目を見ました。。。。。</p>
<p>そこで現在のネット環境に合わせて</p>
<p>・SUBMISSIONポートによるメール送信をサポート。<br />
・SUBMISSION利用時はSMTP認証を必須。<br />
・POP before SMTPをサポート［25番ポート利用時］<br />
・アカウント管理はmysqlで行う。<br />
・ドメイン単位でのSPAMフィルタ及びウィルスチェックの利用可否設定<br />
・ディクショナリーアタック対策</p>
<p>以上の機能をサポート出来るようにインストール及びソフトウェア設定を行っていきます。オリジナルのqmailでは対応していなのでパッチを当てて機能拡張を行います。その３とその４とその５、及びその８の弱点は今回は無視することとします。</p>
<p>それでは当てるパッチの紹介です。</p>
<p>qmail-1.03.errno.patch<br />
glibc-2.3.1以降に対応するためのパッチ。FreeBSDでは不要だが念のため。</p>
<p>netqmail-1.05-09-msp.patch<br />
RFC2476に従ってSUBMISSIONポートを使用するためのパッチ。</p>
<p>netqmail-qregex-20040601-vrt.patch<br />
qregex-20040601とvalidrcpttoを併用できるように修正されたパッチ。validrcptto ファイルにも正規表現を使えるように拡張されており、今回の肝になるパッチ。Stray Penguin様のサイト（<a title="http://www.asahi-net.or.jp/~AA4T-NNGK/index.html" href="http://www.asahi-net.or.jp/~AA4T-NNGK/index.html" target="_blank">http://www.asahi-net.or.jp/~AA4T-NNGK/index.html</a>）で公開されているのを発見しまして、このたび有り難く使用することにしました。本当に感謝しています。<br />
（qregex-20040601・・・・・badmailfromというファイルを用いてfromヘッダで通知されたメールアドレスを判定、リストにメールアドレスが存在した場合にメール受け取りを拒否するが、そのリストの記入に正規表現が利用できるようにしたパッチ。badmailtoファイルにtoヘッダで通知されたメールアドレスの場合受け取りを拒否出来るようにもなる。むろん正規表現が利用可能）<br />
（validrcptto・・・・・メールサーバでメールを受け取るユーザをvalidrcpttoファイルに記載、記載がないユーザの場合はメールの受け取りを拒否するためのパッチ。今回利用するパッチを使った場合、正規表現が利用可能になる。）</p>
<p>qmail-date-localtime.patch<br />
Received などの行の時刻をローカルタイムにするパッチ。</p>
<p>qmailqueue-patch<br />
境変数QMAILQUEUEを使えるようにするパッチ。simscanでウィルス判定及びSPAM判定を行うため<br />
に必要です。</p>
<p>netqmail-1.05-smtpd-auth-0.31.patch<br />
SMTP認証機能を追加します。 オリジナルのパッチではqmail-smtpd-auth-0.31 を解凍するとできる base64.c, base64.h, README.auth を qmail のソースdir にコピーしてからパッチを行うのですが、一つ一つ当てていくのは大変なのでStray Penguin様のサイトで配布されている、いきなりパッチだけで済むパッチを利用させて頂きます。</p>
<p>FreeBSDで元々あたるパッチ<br />
sendmail-flagf.patch<br />
qmail 付属の sendmail ラッパーを、&#8221;-f&#8221; オプションで呼んだ時に sendmail 同様に From:ヘッダを設定するように修正するパッチ</p>
<p>qmail-103.patch<br />
DNSに関するUDPパケットが512バイトを超えると処理できなくなる問題の修正パッチ</p>
<p>patch-qmail-1.03-rfc2821.diff<br />
RFC2821 に準拠するようにするパッチ。挨拶時(接続直後とHELO)が結果コード 5xx の場合、永続エラーにしたり、挨拶時(接続直後とHELO)エラーの場合、複数の MX があるなら別の MX を試すようにするらしいです。</p>
<p>事前準備として必要とするパッチをダウンロードしましょう。パッチダウンロード用のフォルダは［/root/qmail-patch］とします。</p>
<p># mkdir /root/qmail-patch<br />
# cd /root/qmail-patch</p>
<p># fetch <a href="http://pub.kaone.net/public/qmail-1.03.errno.patch">http://pub.kaone.net/public/qmail-1.03.errno.patch</a><br />
# fetch <a href="http://www.ksknet.net/sample/qmail-date-localtime.patch">http://www.ksknet.net/sample/qmail-date-localtime.patch</a><br />
# fetch <a href="http://www.qmail.org/qmailqueue-patch">http://www.qmail.org/qmailqueue-patch</a><br />
# fetch <a href="http://www.aripollak.com/files/netqmail-1.05-09-msp.patch.txt">http://www.aripollak.com/files/netqmail-1.05-09-msp.patch.txt</a><br />
# fetch <a href="http://www.asahi-net.or.jp/~AA4T-NNGK/codes/netqmail-qregex-20040601-vrt.patch">http://www.asahi-net.or.jp/~AA4T-NNGK/codes/netqmail-qregex-20040601-vrt.patch</a><br />
# fetch <a href="http://www.asahi-net.or.jp/~AA4T-NNGK/codes/netqmail-1.05-smtpd-auth-0.31.patch">http://www.asahi-net.or.jp/~AA4T-NNGK/codes/netqmail-1.05-smtpd-auth-0.31.patch</a><br />
# mv netqmail-1.05-09-msp.patch.txt netqmail-1.05-09-msp.patch</p>
<p> </p>
<p>早速、portsを利用してインストールを行っていきましょう。パッチを当ててインストールを行うためにいつもの「make install」ではなく「make patch」コマンドを実行します。<br />
また、コマンド実行時にオプション選択を聞いてきますが「RCDLINK」、つまりリンクを自動で作成するオプション以外はすべて無効にして下さい。一つ一つ手でパッチを当てていきます。</p>
<p># cd /usr/ports/mail/qmail<br />
# make patch</p>
<p>上記コマンドを実行すると、qmailのソースコードとFreeBSD標準で適応されるパッチをダウンロード、workフォルダに解凍されソースにパッチが適応された状態で中断します。<br />
一つ一つパッチを適応していくこととします。</p>
<p> </p>
<p># cd work/qmail-1.03/<br />
# patch -p1 &lt; /root/qmail-patch/netqmail-1.05-09-msp.patch<br />
# patch -p1 &lt; /root/qmail-patch/qmail-date-localtime.patch<br />
# patch -p1 &lt; /root/qmail-patch/netqmail-qregex-20040601-vrt.patch<br />
# patch -p1 &lt; /root/qmail-patch/qmailqueue-patch<br />
# patch -p1 &lt; /root/qmail-patch/qmail-1.03.errno.patch<br />
portsに展開されたファイルへのパッチの適用が終わったら、コンパイルとインストールを続けて行います。</p>
<p># cd ../..<br />
# make<br />
# make install</p>
<p>インストールが完了したら下記の通りコマンドを入力してsendamilを無効に、qmailを有効にします。<br />
その後「make clean」を実行しましょう。</p>
<p># /var/qmail/scripts/enable-qmail<br />
# make clean</p>
<p>SUBMISSION用のqmailをビルドします。作業フォルダは[/root/qmail-1.03]とします。上記手順でqmailのインストールを行った場合［/usr/ports/distfiles］配下にqmail用のソースがダウンロードされていますのでそのまま利用します。<br />
# cd /root/<br />
# tar xvzf /usr/ports/distfiles/qmail/qmail-1.03.tar.gz<br />
# cd qmail-1.03/<br />
# patch -p1 &lt; /root/qmail-patch/netqmail-1.05-09-msp.patch<br />
# patch -p1 &lt; /root/qmail-patch/qmail-date-localtime.patch<br />
# patch -p1 &lt; /usr/ports/distfiles/qmail/patch-qmail-1.03-rfc2821.diff<br />
# patch -p1 &lt; /usr/ports/distfiles/qmail/qmail-103.patch<br />
# patch -p1 &lt; /root/qmail-patch/netqmail-1.05-smtpd-auth-0.31.patch</p>
<p>FreeBSDのportsインストールでqmailのインストールを行った場合、「qnofiles」というグループが作成されています。なのでFreeBSD環境に合わせてグループ名を下記の通り書き換えます。</p>
<p># cp conf-groups conf-groups.org<br />
# ee conf-groups</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
qmail    ←1行目<br />
nofiles  ←2行目<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
       ↓<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
qmail    ←1行目<br />
qnofiles ←2行目<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</p>
<p>書き換えが完了したらビルド及びインストールを行います。</p>
<p># make<br />
# cp -i qmail-smtpd /var/qmail/bin/qmail-smtpd-submission</p>
<p>以上でqmailのインストールは完了しました。続いてウィルスチェックソフトやSPAMフィルターのインストール、POP3サーバのインストール等々、必要とするソフトをインストールしていきます。ここからは手作業でのパッチ当てがないので（多分）幾分、作業が楽です。</p>
<p>最初に「tcpserver」のインストールを行います。tcpserver はqmailを実行するのに使用します。<br />
# cd /usr/ports/sysutils/ucspi-tcp/<br />
# make install clean<br />
ウィルスチェックの為、ClamAV のインストールを行います。<br />
# cd /usr/ports/security/clamav<br />
# make install clean</p>
<p>SPAMフィルターのインストールを行います。<br />
# cd /usr/ports/japanese/p5-Mail-SpamAssassin<br />
# make<br />
# make install clean</p>
<p>オプションは下記の通りです。<br />
WITH_AS_ROOT=true<br />
WITH_SPAMC=true<br />
WITHOUT_SACOMPILE=true<br />
WITHOUT_DKIM=true<br />
WITH_SSL=true<br />
WITH_GNUPG=true<br />
WITHOUT_MYSQL=true<br />
WITHOUT_PGSQL=true<br />
WITH_RAZOR=true<br />
WITHOUT_SPF_QUERY=true<br />
WITHOUT_RELAY_COUNTRY=true</p>
<p> </p>
<p># cd /usr/ports/mail/simscan<br />
# make install clean</p>
<p>オプションは下記の通りです。<br />
WITH_CLAMAV=true<br />
WITH_RIPMIME=true<br />
WITH_SPAMD=true<br />
WITHOUT_USER=true<br />
WITH_DOMAIN=true<br />
WITH_ATTACH=true<br />
WITHOUT_DROPMSG=true<br />
WITHOUT_PASSTHRU=true<br />
WITH_HEADERS=true</p>
<p>インストールが完了と同時にspamassassin作業用のディレクトリを作成します。FreeBSDではユーザーnobodyのホームディレクトリが&#8221;/nonexistent/&#8221;に設定されています。しかしながら実際にはそんなディレクトリは存在しません。単にログインさせないユーザーのホームディレクトリという意味で使用しているようです。（nonexistentは実在しないという意味ですし）</p>
<p>そのままSpamAssassinを実行するとエラーが出ますので下記のようにディレクトリを作成してspamassassinプログラムが読み書き出来るようにディレクトリに権限を付与します。</p>
<p>（ちなみにCentOS5.3ではユーザーnobodyのホームディレクトリは［/］、つまりドキュメントルートに設定されてました。よってLinuxでは下記のディレクトリを作成しなくとも動作可能と思われます）</p>
<p># mkdir /nonexistent/<br />
# mkdir /nonexistent/.spamassassin/<br />
# chown -R simscan:spamd /nonexistent/.spamassassin</p>
<p> </p>
<p>引き続きvpopmail　のインストールを行います。</p>
<p>vpopmailのセットアップですが、下記２つの要件に対応出来るように設定します。</p>
<p>・アカウント管理にmysqlを利用する<br />
・POP before SMTP が利用できるようにする</p>
<p>ただし現在のインターネット環境を考えるに、SUBMISSION＋SMTP認証をためらう理由が見あたらないことから新規にメールサーバを構築する場合は［POP before SMTP］は利用できないようにすべきでしょう。自分が管理しているサーバは過去の経緯よりどうしてもサポートしなければならないのでサポートするようにしているだけです。</p>
<p>また、mysqlの利用も一般ユーザが利用する位で有れば使用しない方が良いかもしれませんね。ここら辺は一長一短だとは思いますが。。。。。ただ、SMTP認証はmysqlを利用した環境でしか自分はチェックしていません。</p>
<p>MySQLにてユーザ管理を行うために、当然ですがmysqlのインストールが必要です。サクッとインストールを行いましょう。<br />
# cd /usr/ports/databases/mysql50-server/<br />
# make WITH_CHARSET=utf8 WITH_XCHARSET=all<br />
# make install clean</p>
<p>続いてvpopmailをインストールします。APOPを利用出来るようにするのとドメインごとにクォータ制御を行うので下記のようなmakeを発行、インストールを行います。<br />
# cd /usr/ports/mail/vpopmail<br />
# make WITH_MYSQL=yes WITH_CLEAR_PASSWD=yes WITH_DOMAIN_QUOTAS=yes<br />
# make install clean</p>
<p>[mysqlを利用しない場合　: makeのみ］<br />
[POP before SMTPを利用しない場合 : make WITHOUT_ROAMING=yes]<br />
[APOPを利用する場合 : make WITH_CLEAR_PASSWD=yes]<br />
[ドメイン単位でquotaを行う場合 : make WITH_DOMAIN_QUOTAS=yes]</p>
<p>以上でソフトウェアのインストールが完了しました。</p>
<p>引き続き、ソフトウェアの設定が必要ですが、まずはインストールそのものは上記手順にて完了です。</p>
<p>設定編は時間を見計らって後日記載したいと思います。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.hayate.mobi/?feed=rss2&amp;p=155</wfw:commentRss>
		</item>
		<item>
		<title>MaxloginsでSSH不正アクセス対策</title>
		<link>http://www.hayate.mobi/?p=150</link>
		<comments>http://www.hayate.mobi/?p=150#comments</comments>
		<pubDate>Sun, 08 Feb 2009 09:47:10 +0000</pubDate>
		<dc:creator>doraken</dc:creator>
		
		<category><![CDATA[FreeBSD]]></category>

		<guid isPermaLink="false">http://www.hayate.mobi/?p=150</guid>
		<description><![CDATA[謹賀新年のコメントをPOSTしてからはや一ヶ月。そろそろ更新しなきゃな～～と思ってましたが身近な後輩から
「dorakenさん、謹賀新年から1ヶ月も更新されてないっすよ～～、早く更新して下さいよ♪(*￣ー￣)ｖ」
という [...]]]></description>
			<content:encoded><![CDATA[<p>謹賀新年のコメントをPOSTしてからはや一ヶ月。そろそろ更新しなきゃな～～と思ってましたが身近な後輩から</p>
<p>「dorakenさん、謹賀新年から1ヶ月も更新されてないっすよ～～、早く更新して下さいよ♪(*￣ー￣)ｖ」</p>
<p>という突っ込みが。</p>
<p>「・・・・・・・・　(￣ ￣；) うーん 時間がねぇ」と思いつつもさすがにこのまま放置というわけにも行かないので今回は小技にあたるSSHアタック対策の一つ、MaxloginsでSSH不正アクセス対策を行ってみたいと思います。</p>
<p>このソフトを使うと何が出来るかというと「<span style="color: #ff0000;"><strong>パスワードを規定回数間違えたIPアドレスからのアクセスを一定時間アクセス禁止にする</strong></span>」事が可能です。過去に紹介した<a href="http://www.hayate.mobi/?p=11" target="_self">日本国内からSSH</a>と<a href="http://www.hayate.mobi/?p=13" target="_self">sshでログインできるユーザーを決めましょう</a>と併せて対策を行うことでFreeBSD単体で強固な対策が可能になります。出来ればルータでアクセスできるIPアドレスを制限したり、ポート番号を変更したりなどの対策を施せばベストなのですけどね。</p>
<p>Maxloginsはperlで記述されています。オフシャルサイトを見ると「Tested under Perl 5.8.4 and 5.6.1, and FreeBSD 4.7.」と記載がありますのでperl5であればLinuxであっても問題なく使用可能と思います。dorakenはFreeBSD6.4Rで使用しています。</p>
<p>rootでログインした後、オフシャルサイトからプログラム本体をダウンロードするところから始めまてインストール及び調整を行っていきましょう。ディレクトリは何処を使用しても問題有りません。dorakenは「/root」フォルダ直下にダウンロードしました。</p>
<p>fetch <a href="http://www.teamits.com/resources/maxlogins.txt">http://www.teamits.com/resources/maxlogins.txt</a></p>
<p> </p>
<p>次にダウンロードしたプログラムを［/usr/local/bin］にコピーして、syslogからmaxlogins.plを読み出し、利用できるように調整します。</p>
<p># cp maxlogins.txt /usr/local/bin/maxlogins.pl<br />
# chown root:wheel /usr/local/bin/maxlogins.pl<br />
# chmod 750 /usr/local/bin/maxlogins.pl<br />
# vi /etc/syslog.conf<br />
auth.info;authpriv.info /var/log/auth.log       # 元々記述されている<br />
auth.info;authpriv.info |exec /usr/local/bin/maxlogins.pl  # 上記直下に追記する。</p>
<p>最後に［/etc/hosts.allow］にmaxloginsで書き出しされたIPをブロックする設定を記述します。ローカルホストからのログインは常に有効にしたいので下記のようにループバックアドレスの直下に起きましょう。</p>
<p>＃ vi /etc/hosts.allow<br />
sshd : 127.0.0.1 : allow<br />
sshd : /var/log/maxlogins : deny</p>
<p>最後にsyslogdの再起動を行ってmaxlogins.plがsyslogdから自動的に呼ばれる設定を有効にします。</p>
<p># killall -HUP syslogd</p>
<p>以上で対策は完了しました。dorakenは最初に説明したとおり、日本国内からのSSHアクセス以外はすべて不許可の設定にしていますので</p>
<p>sshd : 127.0.0.1 : allow<br />
sshd : 常に許可したい接続IPアドレス : allow<br />
sshd : /var/log/maxlogins : deny<br />
sshd : 日本国内のIPアドレス : allow<br />
sshd : ALL : deny</p>
<p>になっています。つまりlocalhostと自分が使用しているプライベートIPアドレスは何があってもSSH接続を許可、maxloginsに記述されたIPはすべてアクセス禁止、日本国内からのアクセスは（基本的に）許可、それ以外は禁止、という設定です。</p>
<p>maxloginsは何日アクセスを禁止するか、何回パスワード認証に失敗したらアクセス禁止IPとするかなどを決めることが可能ですが、それらは後日追記したいと思います。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.hayate.mobi/?feed=rss2&amp;p=150</wfw:commentRss>
		</item>
		<item>
		<title>謹賀新年</title>
		<link>http://www.hayate.mobi/?p=145</link>
		<comments>http://www.hayate.mobi/?p=145#comments</comments>
		<pubDate>Sun, 04 Jan 2009 08:15:58 +0000</pubDate>
		<dc:creator>doraken</dc:creator>
		
		<category><![CDATA[コラム]]></category>

		<guid isPermaLink="false">http://www.hayate.mobi/?p=145</guid>
		<description><![CDATA[　あけましておめでとうございます。去年から始めたこのブログサイトですが、ちょっとづつでも良いので今年も最低1ヶ月に1回は更新していきたいと考えております。また本年からはソフトウェア関連だけでなくPCやサーバに関連した、自 [...]]]></description>
			<content:encoded><![CDATA[<p>　あけましておめでとうございます。去年から始めたこのブログサイトですが、ちょっとづつでも良いので今年も最低1ヶ月に1回は更新していきたいと考えております。また本年からはソフトウェア関連だけでなくPCやサーバに関連した、自分が感じたり考えたりしたことなども、このブログに記載したいと考えてます。　で、新年らしく今年の目標をここに書き込みして自分の退路？を断ちたいとめました。</p>
<p style="text-align: center;"><strong><span style="color: #ff0000;">★<span style="color: #000000;">本年の目標：Ｒｕｂｙでなにかソフトを一つ作る</span>★</span></strong></p>
<p style="text-align: left;"><span style="color: #000000;">dorakenの仕事は自己紹介に記載したとおりですが、最近は仕事で出張していることが多く、なかなか時間も取れません。けれども、がんばって一つでいいからソフトを作りたいなぁっと。最近Rubyが元はやされているのでめちゃめちゃ興味がありますし、いっちょがんばってみるかなぁっと思いまして。</span></p>
<p style="text-align: left;"><span style="color: #000000;">　宣言しただけで年末になって「何も出来へんかった～～（泣）」にならないよう、がんばっていきます。</span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.hayate.mobi/?feed=rss2&amp;p=145</wfw:commentRss>
		</item>
		<item>
		<title>ZABBIX設定・メール送信内容をカスタマイズ</title>
		<link>http://www.hayate.mobi/?p=111</link>
		<comments>http://www.hayate.mobi/?p=111#comments</comments>
		<pubDate>Fri, 02 Jan 2009 12:16:30 +0000</pubDate>
		<dc:creator>doraken</dc:creator>
		
		<category><![CDATA[FreeBSD]]></category>

		<category><![CDATA[zabbix]]></category>

		<guid isPermaLink="false">http://www.hayate.mobi/?p=111</guid>
		<description><![CDATA[　zabbixで監視しているサーバでサービスがダウンしたりした場合、E-Mailでメッセージが送信できます。が、標準のメッセージは分かりづらいです。また細かく細かく設定できますし日本語でメールを送信する方法も雑誌で紹介さ [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;">　zabbixで監視しているサーバでサービスがダウンしたりした場合、E-Mailでメッセージが送信できます。が、標準のメッセージは分かりづらいです。また細かく細かく設定できますし日本語でメールを送信する方法も雑誌で紹介されていますがdoraken的には、いつ、どのような時に、どんな場所でメールを受け取るか分かりませんので、どんな環境でもメールの内容が確認できるように英語でメッセージを受け取りたいと考えてました。</p>
<p>　下記設定はサービスがダウンしたときには「サービス名 server is down on ［サーバ名］: Failure Report!」、回復したときには「Trouble retuen Report: サービス名 server is down on サーバ名」という件名でメールを送信します。</p>
<p style="text-align: center;">サービスがダウンした時のメール設定<br />
<a href="http://www.hayate.mobi/wp-content/uploads/2009/01/send-down-message.jpg"><img class="size-medium wp-image-113 aligncenter" title="send-down-message" src="http://www.hayate.mobi/wp-content/uploads/2009/01/send-down-message-300x201.jpg" alt="send-down-message" width="300" height="201" /></a></p>
<p style="text-align: center;">サービスが回復した時のメール設定<br />
<a href="http://www.hayate.mobi/wp-content/uploads/2009/01/send-up-message.jpg"><img class="size-medium wp-image-115 aligncenter" title="send-up-message" src="http://www.hayate.mobi/wp-content/uploads/2009/01/send-up-message-300x202.jpg" alt="send-up-message" width="300" height="202" /></a></p>
<p style="text-align: left;">注意点としてはNewConditionにてターゲットを設定したときに「追加」ボタンをおして設定を確定することでしょうか？あと、E-mailアドレスの設定などありますがそれらはまた今度。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.hayate.mobi/?feed=rss2&amp;p=111</wfw:commentRss>
		</item>
		<item>
		<title>Linuxでもzabbix  (Server編)</title>
		<link>http://www.hayate.mobi/?p=90</link>
		<comments>http://www.hayate.mobi/?p=90#comments</comments>
		<pubDate>Sat, 27 Dec 2008 08:31:09 +0000</pubDate>
		<dc:creator>doraken</dc:creator>
		
		<category><![CDATA[Linux]]></category>

		<category><![CDATA[zabbix]]></category>

		<guid isPermaLink="false">http://www.hayate.mobi/?p=90</guid>
		<description><![CDATA[最近はLinuxでの仕事が増えてきて、自宅のサーバは全然かまってあげてません。最低限のメンテナンス位かなぁ。FreeBSD6.4-RELEASEも公開されているから色々と試したいし、シェルスプリクトもいくつか公開したいし [...]]]></description>
			<content:encoded><![CDATA[<p>最近はLinuxでの仕事が増えてきて、自宅のサーバは全然かまってあげてません。最低限のメンテナンス位かなぁ。FreeBSD6.4-RELEASEも公開されているから色々と試したいし、シェルスプリクトもいくつか公開したいし、ページデザインも見直してPC系のコラムが書けるようにしたいし（インストールの紹介は新しくページを作ってHTMLで見やすくしたいなぁ、シェルスプリクトなページも作りたいし。）、でも時間がない上に古いノートを（液晶に2本の筋がはいってる）がんばって使っている今の現状ではいかんともしがたいのです。</p>
<p>とまぁ、愚痴はここまで、さくさくとインストールを行っていきましょう（笑）。　基本的にはFreeBSDのportsを用いたインストールと大きく変わりません。またいくつかのディストリビューションではrpmなどのバイナリが提供されています。ただ仕事で利用した<a href="http://www.jp.redhat.com/" target="_blank">Red Hat Enterprise Linux 5</a>では残念ながらrpm提供されていなかったためソースコードからインストールを行います。事前に</p>
<p>・mysql5.0<br />
・php<br />
・apache<br />
・net-snmp-devel（SNMPを利用する場合）</p>
<p>のインストールを行っておいてください。rpmコマンドを利用するよりもyumを利用したほうが依存関係をしらべて必要なパッケージも同時インストールされるので簡単です。</p>
<p>例：）yum -y install net-snmp-devel</p>
<p>では、さくさくとインストールを進めていきましょう。Agent編と同様に作業用のディレクトリは 【/usr/local/src】 とします。インストール時にrootになるのが正しいとは思いますが、今回も最初からrooユーザで作業します。またインストールを行うバージョンは1.4.6です。（なるべく最新のバージョンを利用しましょう）　apacheのDocumentrootは「/var/www/html」とします。zabbixフォルダを作成して「<a href="http://IP">http://IP</a>アドレス/zabbix」でデータが閲覧できるように設定します。</p>
<p>■zabbix_serverのインストール<br />
# cd /usr/local/src/<br />
# wget <a href="http://nchc.dl.sourceforge.net/sourceforge/zabbix/zabbix-1.4.6.tar.gz">http://nchc.dl.sourceforge.net/sourceforge/zabbix/zabbix-1.4.6.tar.gz</a><br />
# tar xvzf zabbix-1.4.6.tar.gz<br />
# cd zabbix-1.4.6<br />
# ./configure &#8211;enable-server &#8211;with-mysql &#8211;with-net-snmp<br />
# make<br />
# make install</p>
<p>次にzabbixユーザとグループをシステムに追加しましょう。</p>
<p># groupadd zabbix<br />
# useradd -g zabbix -s /sbin/nologin zabbix</p>
<p>ここからmysqlにデータベースを追加して、php.iniなどを調整します。</p>
<p>■mysqlにデータベースを作成<br />
# mysql -u root -p PASSWORD<br />
# create database zabbix</p>
<p>■テーブルを作成<br />
# cd /usr/local/src/zabbix-1.4.6/create/schema/<br />
# cat mysql.sql | mysql -u root zabbix<br />
# cd ../data/<br />
# cat data.sql | mysql -u root zabbix<br />
# cat images_mysql.sql | mysql -u root zabbix</p>
<p>■php.iniの設定<br />
/etc/php.ini<br />
max_execution_time = 300<br />
date.timezone=&#8221;Asia/Tokyo&#8221;</p>
<p>■zabbixの設定前準備<br />
# mkdir /etc/zabbix<br />
# cp /usr/local/src/zabbix-1.4.6/misc/conf/zabbix_server.conf /etc/zabbix/<br />
# mkdir /var/run/zabbix<br />
# mkdir /var/log/zabbix<br />
# chown zabbix:zabbix /var/run/zabbix<br />
# chown zabbix:zabbix /var/log/zabbix<br />
# mkdir /var/www/html/zabbix<br />
# cp -a /usr/local/src/zabbix-1.4.6/frontends/php/* /var/www/html/zabbix/<br />
# chown -R root:root /var/www/html/zabbix</p>
<p>■zabbixサーバの設定<br />
# vi /etc/zabbix/zabbix_server.conf<br />
～～～変更内容～～～<br />
PidFile=/var/run/zabbix/zabbix_server.pid<br />
LogFile=/var/log/zabbix/zabbix_server.log<br />
DBName=zabbix        &lt;- 適宜変更のこと<br />
DBUser=zabbix        &lt;- 適宜変更のこと<br />
DBPassword=zabbix    &lt;- 適宜変更のこと<br />
～～～～～～～～～～</p>
<p> </p>
<p>最後に起動ファイルを準備します。fedora用のファイルがありますのでAgent編と同様に流用します。</p>
<p>■自動起動スプリクトの修正<br />
# cp /usr/local/src/zabbix-1.4.6/misc/init.d/fedora/core/zabbix_server /etc/init.d/<br />
# vi /etc/init.d/zabbix_agentd</p>
<p>～～修正内容（抜粋）～～～～～～～～～～～～～～～～～<br />
FULLPATH=$BASEDIR/sbin/$BINARY_NAME<br />
BASEDIR=/usr/local<br />
PIDFILE=/var/run/zabbix/$BINARY_NAME.pid<br />
～～～～～～～～～～～～～～～～～～～～～～～～～～</p>
<p>以上で設定は完了しました。chkconfigなどで起動時に自動起動されるように設定して起動確認を行いましょう。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.hayate.mobi/?feed=rss2&amp;p=90</wfw:commentRss>
		</item>
		<item>
		<title>Linuxでもzabbix  (Agent編)</title>
		<link>http://www.hayate.mobi/?p=84</link>
		<comments>http://www.hayate.mobi/?p=84#comments</comments>
		<pubDate>Tue, 23 Dec 2008 06:56:55 +0000</pubDate>
		<dc:creator>doraken</dc:creator>
		
		<category><![CDATA[Linux]]></category>

		<category><![CDATA[zabbix]]></category>

		<guid isPermaLink="false">http://www.hayate.mobi/?p=84</guid>
		<description><![CDATA[　しばらく忙しくて更新が出来ていませんでしたが、やっと時間が取れたので忘れないうちにLinuxでzabbixのインストール方法を紹介したいと思います。
　自分が思うに基本的にLinuxでのソフトウェアインストールはrpm [...]]]></description>
			<content:encoded><![CDATA[<p>　しばらく忙しくて更新が出来ていませんでしたが、やっと時間が取れたので忘れないうちにLinuxでzabbixのインストール方法を紹介したいと思います。</p>
<p>　自分が思うに基本的にLinuxでのソフトウェアインストールはrpm等のFreeBSDでいう<span style="font-size: x-small;">Packagesを利用してWindowsアップデートのような自動アップデートツールを利用してアップデートを行い、rpmで用意されていないツールを利用する場合にソースコードからインストールして運用する、が正しい運用方法のような気がしています。ですので各ディストリビューションでrpm等が提供されている場合はそちらを利用してください。</span></p>
<p>今回は<a href="http://www.jp.redhat.com/" target="_blank">Red Hat Enterprise Linux 5</a>にてソースコードよりインストールを行います。作業用のディレクトリは 【/usr/local/src】 です。インストール時にrootになるのが正しいとは思いますが、今回は最初からrooユーザで作業します。下記の通り、一気にコンパイル&amp;&amp;インストールを行いましょう。この記事を書いている時の最新バージョンである1.4.6を利用します。適時バージョンは確認を行ってください。（※しかし最近のdorakenの仕事はRed Hatを利用することが多くなってきました）</p>
<p># cd /usr/local/src/<br />
# wget <a href="http://nchc.dl.sourceforge.net/sourceforge/zabbix/zabbix-1.4.6.tar.gz">http://nchc.dl.sourceforge.net/sourceforge/zabbix/zabbix-1.4.6.tar.gz</a><br />
# tar xvzf zabbix-1.4.6.tar.gz<br />
# cd zabbix-1.4.6<br />
# ./configure &#8211;enable-agent<br />
# make<br />
# make install</p>
<p>以上でエージェントは 【/usr/local/sbin】 にインストールされました。ここからは設定ファイルおよび起動ファイルを修正していきます。基本的にFreeBSDで設定したとおりですが「zabbix」ユーザとグループを作成すること、起動ファイルを一部修正することが必要です。</p>
<p>最初にzabbixユーザとグループをシステムに追加しましょう。</p>
<p>groupadd zabbix<br />
useradd -g zabbix -s /sbin/nologin zabbix</p>
<p><span style="font-family: Century;">次に 【zabbix_agentd.conf】 を環境に合わせて修正していきます。zabbix_agentd.confのサンプルファイルをコピーして適宜修正していくこととします。</span></p>
<p><span style="FONT-SIZE: 10.5pt; FONT-FAMILY: Century; mso-bidi-font-size: 11.0pt; mso-fareast-font-family: 'ＭＳ 明朝'; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: JA; mso-bidi-language: AR-SA" lang="EN-US">mkdir /etc/zabbix<br />
cp /usr/local/src/zabbix-1.4.6/misc/conf/zabbix_agentd.conf /etc/zabbix/<br />
vi /etc/zabbix/zabbix_agentd.conf</span></p>
<p> ～～修正内容（抜粋）～～～～～～～～～～～～～～～～～<br />
# ServerのIPを編集します。<br />
Server=xx.xx.xx.xx<br />
（※注意事項:この時zabbixサーバーのzabbix_server.confに記述したIPと同じIPを記述しないとうまくデータ取得ができません。。）</p>
<p># エージェントを動作させるサーバのHostnameを記載します。<br />
Hostname=xxxxxx</p>
<p>#ListenIPのコメントを外して自分のIPを記述します。<br />
ListenIP=xx.xx.xx.xx<br />
（※注意事項：この時後々zabbix上で設定するIPと異なっているとうまくデータ取得ができません。）</p>
<p># pidファイルの場所を/var/runに配置します。<br />
PidFile=/var/run/zabbix/zabbix_agentd.pid</p>
<p># ログファイルの場所を/var/logに配置します。<br />
LogFile=/var/log/zabbix/zabbix_agentd.log<br />
～～～～～～～～～～～～～～～～～～～～～～～～～～</p>
<p>最後に起動ファイルを準備します。fedora用のファイルがありますので、これを流用することとします。</p>
<p>cp /usr/local/src/zabbix-1.4.6/misc/init.d/fedora/core/zabbix_agentd /etc/init.d/<br />
vi /etc/init.d/zabbix_agentd</p>
<p>～～修正内容（抜粋）～～～～～～～～～～～～～～～～～<br />
FULLPATH=$BASEDIR/sbin/$BINARY_NAME<br />
BASEDIR=/usr/local<br />
PIDFILE=/var/run/zabbix/$BINARY_NAME.pid<br />
～～～～～～～～～～～～～～～～～～～～～～～～～～</p>
<p>変更点は 【/usr/local/sbin】 配下にzabbixがインストールされているのでFULLPATHの指定を 「bin -&gt;sbin」に修正、pidfileの保存ディレクトリを「/var/run/zabbix」に修正した。の2点です。修正が完了したらエージェント起動を行うために最終調整を行いましょう。</p>
<p>chmod 755 /etc/init.d/zabbix_agentds<br />
mkdir /var/run/zabbix<br />
mkdir /var/log/zabbix<br />
chown zabbix:zabbix /var/run/zabbix/<br />
chown zabbix:zabbix /var/log/zabbix/</p>
<p>上記、起動準備が整ったらエージェントを起動してみます。<br />
/etc/init.d/zabbix_agentd start</p>
<p>以上で設定は完了しました。自動で起動を行う場合はchkconfigで自動起動設定を行って下さい。今回の場合は下記のようになります。</p>
<p>chkconfig &#8211;add zabbix_agentd<br />
chkconfig zabbix_agentd on</p>
]]></content:encoded>
			<wfw:commentRss>http://www.hayate.mobi/?feed=rss2&amp;p=84</wfw:commentRss>
		</item>
		<item>
		<title>FreeBSDでOMRON BX50Fを使用する</title>
		<link>http://www.hayate.mobi/?p=74</link>
		<comments>http://www.hayate.mobi/?p=74#comments</comments>
		<pubDate>Sun, 26 Oct 2008 13:26:36 +0000</pubDate>
		<dc:creator>doraken</dc:creator>
		
		<category><![CDATA[FreeBSD]]></category>

		<guid isPermaLink="false">http://www.hayate.mobi/?p=74</guid>
		<description><![CDATA[　サーバ管理を行っていると電源管理はさけて通れませんよね。企業で使用する分には高額なUPSが使用できたり自家発電機がはいっているサーバルームへサーバを設置したりできますが一個人で、さらには趣味で使用しているサーバにそんな [...]]]></description>
			<content:encoded><![CDATA[<p>　サーバ管理を行っていると電源管理はさけて通れませんよね。企業で使用する分には高額なUPSが使用できたり自家発電機がはいっているサーバルームへサーバを設置したりできますが一個人で、さらには趣味で使用しているサーバにそんなお金はかけません。なので一般に流通しているUPSより、</p>
<p>要件１ 価格が安いこと<br />
要件２ 長寿命バッテリを搭載していること<br />
要件３ FreeBSDで使用できること</p>
<p>という要件を満たす商品を購入＆セットアップしてみました。入手しやすく出来る限りコンパクトサイズなUPSであれば言うこと無いなぁと思っていたところ期待通りのUPSを発見、それが今回紹介する<a href="http://www.omron.co.jp/ped-j/product/ups/bx35-50f/bx35-50f.htm" target="_blank">OMRON BX50F</a>です。<a href="http://www.ongs.co.jp/index.html" target="_blank">有限会社オングス様</a>よりFreeBSD用のシャットダウンアプリケーションが無償で公開されています。ソフトウェアは<a href="http://www.ongs.co.jp/products/omronupsd/index.html" target="_blank">ここより</a>ダウンロードできます。最初にHPでライセンスを確認してくださいね。</p>
<p># fetch <a href="http://www.ongs.co.jp/products/omronupsd/omronupsd-0.3.1-F6R-amd64.tbz">http://www.ongs.co.jp/products/omronupsd/omronupsd-0.3.1-F6R-amd64.tbz</a><br />
# pkg_add omronupsd-0.3.1-F6R-amd64.tbz</p>
<p>上記２ステップでUPSの導入は完了です。導入完了したらソフトの設定を行って自動起動設定を有効にしましょう。</p>
<p># cp /usr/local/etc/omronupsd/omronupsd.conf.sample /usr/local/etc/omronupsd/omronupsd.conf<br />
# vi /usr/local/etc/omronupsd/omronupsd.conf</p>
<p># vi /etc/rc.conf<br />
omronupsd_enable=&#8221;YES&#8221;<br />
omronupsd_devices=&#8221;BZ&#8221;<br />
omronupsd_BZ_flags=&#8221;-D&#8221;<br />
omronupsd_BZ_conf=&#8221;/usr/local/etc/omronupsd/omronupsd.conf&#8221;<br />
omronupsd_BZ_pid=&#8221;/var/run/omronupsd.pid&#8221;</p>
<p># /usr/local/etc/rc.d/omronupsd.sh start</p>
<p>上記で設定が完了します。設定も特に迷うところなく行えると思いますので一つだけ自分なりの設定方法を。こちらのシャットダウンソフトは下記の通りシャットダウンコマンドを使用できます。</p>
<p># 通常のシャットダウンコマンドを指定します。<br />
shutdown_cmd=/sbin/shutdown -p now<br />
# 緊急時のシャットダウンコマンドを指定します。<br />
em_shutdown_cmd=/sbin/halt -p</p>
<p>シャットダウン時に実行したいバッチ処理を記述したシェルスプリクトを、実行するように設定できます。最近はVMware ESXi にはまっているせいもあり、どのように転用できるかを考えているので良い運用方法なぞを思いついたら紹介したいと思います。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.hayate.mobi/?feed=rss2&amp;p=74</wfw:commentRss>
		</item>
		<item>
		<title>Linuxでテープバックアップ</title>
		<link>http://www.hayate.mobi/?p=55</link>
		<comments>http://www.hayate.mobi/?p=55#comments</comments>
		<pubDate>Sun, 19 Oct 2008 04:33:55 +0000</pubDate>
		<dc:creator>doraken</dc:creator>
		
		<category><![CDATA[Linux]]></category>

		<category><![CDATA[mysql]]></category>

		<guid isPermaLink="false">http://www.hayate.mobi/?p=55</guid>
		<description><![CDATA[　しばらく前に「サーバに内蔵されているシングルテープドライブを利用したいんだけど」と相談されました。普通に考えると商用ソフトであるCA ARCserve Backupの使用を進めたりするのですが諸般の事情によりｍｔ を利 [...]]]></description>
			<content:encoded><![CDATA[<p>　しばらく前に「サーバに内蔵されているシングルテープドライブを利用したいんだけど」と相談されました。普通に考えると商用ソフトである<a href="http://www.ca.com/jp/products/product.aspx?id=4536" target="_blank">CA ARCserve Backup</a>の使用を進めたりするのですが諸般の事情により<span style="font-size: x-small; color: #008080;"><span style="color: #000000;"><strong>ｍｔ</strong> を利用することにしました。</span></span></p>
<p>　お客様が利用されているのは　<span style="font-size: x-small;">Red Hat Enterprise Linux　、CDを確認すると</span><span style="font-size: x-small;">の三枚目に「</span>mt-st-0.9b-2.2.2.i386.rpm」を見つけましたのでこちらをインストールして利用することとにします。サクっとCDをマウントrpmインストールを行いましょう。</p>
<p># rpm -ihv mt-st-0.9b-2.2.2.i386.rpm</p>
<p>でインストールを行うとmtコマンドが利用できるようになります。コマンドの使用方法は他のホームページを参照してもらうとしまして、bashスクリプトで<a href="http://www.hayate.mobi/sample_data/bk_manager.sh">マネージャーもどき</a>・<a href="http://www.hayate.mobi/sample_data/backup_script.sh">バックアップ</a>・<a href="http://www.hayate.mobi/sample_data/restoring_script.sh">リストア</a>する3本のスクリプトを作成しました。</p>
<p>　バックアップするシェルスクリプトとは、バックアップする対象フォルダは「/var/www」と「/etc」、あとはmysqlのdb名を指定して（ここではtest_data）バックアップするときに必要なrootアカウントのパスワードを設定（ここではroot_passとしましょう）、「/root/backup/latest/」へバックアップデータをまとめてテープで圧縮、その後「日付+tar.gz」でまとめたら「/root/backup/latest/」フォルダを削除、7日分の「日付+tar.gz」ファイルより古いファイルは削除するという設計にしています。さらに金曜日はテープが自動的にイジェクトされるようにしてみました。</p>
<p>　リストアスクリプトは「/root/restoring」フォルダへデータをリストアするという設計です。</p>
<p>　マネージャスクリプトはドライブの状態確認したり、テープの内容を消去したり、リストアスクリプトやバックアップスクリプトを実行したりします。またバックアップはcrontabで毎日決まった時間に起動するようにします。bashスプリクトで配列変数を使用していますのでバックアップしたいmysqlデータベースを追加していくだけでバックアップ可能です。</p>
<p>　このスプリクトは少し改変するだけで色々と転用方法があると思います。このデータベースバックアップ方法には欠点もあるので、内容を理解して使用してくださいね。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.hayate.mobi/?feed=rss2&amp;p=55</wfw:commentRss>
		</item>
		<item>
		<title>ちょっとした小技</title>
		<link>http://www.hayate.mobi/?p=54</link>
		<comments>http://www.hayate.mobi/?p=54#comments</comments>
		<pubDate>Mon, 29 Sep 2008 12:38:12 +0000</pubDate>
		<dc:creator>doraken</dc:creator>
		
		<category><![CDATA[FreeBSD]]></category>

		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://www.hayate.mobi/?p=54</guid>
		<description><![CDATA[小技 その１
サーバ管理をしていているとroot宛のメールを自分がメインで使用しているメールアドレスへ転送したくなってきますよね？なのでエイリアス設定を行って転送されるように設定しましょう。
エイリアス設定は標準MTA（ [...]]]></description>
			<content:encoded><![CDATA[<p><strong>小技 その１</strong></p>
<p>サーバ管理をしていているとroot宛のメールを自分がメインで使用しているメールアドレスへ転送したくなってきますよね？なのでエイリアス設定を行って転送されるように設定しましょう。</p>
<p>エイリアス設定は標準MTA（sendmail）の場合、「/etc/mail」フォルダ内にある「aliases」ファイルで設定を行います。設定を行った後は.dbファイルを更新する必要がありますので、ディレクトリチェンジを行ってからファイル編集を行いましょう。</p>
<p>%cd /etc/mail/<br />
%vi aliases</p>
<p>テキストファイルをエディタで開くと１７行目付近に</p>
<p># root&#8217;s email from here.<br />
root: メールアドレス</p>
<p>という記述があると思います。「root: 」の行に転送したいメールアドレスを記述してファイルセーブ＆エディタを終了してください。その後</p>
<p>%make</p>
<p>コマンドを発行して.dbファイルを更新、設定を有効にします。以上でメール転送設定が完了しました。</p>
<p> </p>
<p><strong>小技 その２</strong></p>
<p>findってとっても便利なコマンドですよね。でも使い方がちょっと難しいと思いませんか？自分が良く迷うのは「-mtime」 や「-mmin 」の「+、-」の部分です。もう一つカレントディレクトリ以下を検索する方法と指定のディレクトリのみ検索したい場合の切り分けですね。パスにピリオド（.）を使用するとカレントディレクトリ以下を検索するという意味になります。なので下記のようなコマンドを発行すると</p>
<p># 7日以上前のカレントディレクトリ以下にあるファイルを検索する<br />
find . -mtime +7<br />
# 7日前(7*24h - 8*24h)のカレントディレクトリ以下にあるファイルを検索する<br />
find . -mtime  7<br />
# 7日以内のカレントディレクトリ以下にあるファイルを検索する<br />
find . -mtime -7</p>
<p>ちなみに「/tmp」フォルダ内にある７日以上前のファイルを一気に削除を行い対場合は「find /tmp -mtime +7 <span class="pun">-</span><span class="kwd">exec</span><span class="pln"> rm </span><span class="pun">-</span><span class="pln">f </span><span class="pun">{}</span><span class="pln"> </span><span class="pun">\;」のような使い方になります。</span></p>
<p><span class="pun">その他、便利な小技があればちょっとずつ公開していきたいと思います。逆にこのようにコマンドを利用すれば便利だよって技があれば是非是非教えてくださいね。</span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.hayate.mobi/?feed=rss2&amp;p=54</wfw:commentRss>
		</item>
	</channel>
</rss>
