0

cactiを使う

サーバー監視用にcactiをインストールしたのでその時のメモ。
閾値を超えたらメールを送信とかできるんだろうけどそれはやってない。

下記のyumでcactiに必要なものをインストール。
yum install cacti
yum install net-snmp-libs
yum install net-snmp-utils

ログの保存とかにmySQLを使います。
専用のユーザーを作成してsqlが予め用意されているのでそれをインポートする形。
mysqladmin -u root -p create cacti
mysql -u root -p cacti < /usr/share/doc/cacti-0.8.7b/cacti.sql mysql -u root -p mysql

GRANT ALL ON cacti.* TO cactiuser IDENTIFIED BY 'hoge';
flush privileges;

作成したDB情報をconfig.phpに書き込みます。
vim /usr/share/cacti/include/config.php
$database_type = "mysql";
$database_default = "cacti";
$database_hostname = "localhost";
$database_username = "cactiuser";
// $database_password = "cactiuser";
$database_password = "hoge";
$database_port = "3306";

yumで入れるとcronがコメントアウトされた状態で書き込まれているので少し修正。
vim /etc/cron.d/cacti
#*/5 * * * * cacti /usr/bin/php /usr/share/cacti/poller.php > /dev/null 2>&1

# 面倒なんでrootで
*/5 * * * * root /usr/bin/php /usr/share/cacti/poller.php > /dev/null 2>&1

パーミッションを設定
chmod 777 /var/lib/cacti/rra

管理はブラウザから行うのでhttpdまわりも弄る。
IDパスワードでの認証もあるのでリモートアドレスの認証は省く
vim /etc/httpd/conf.d/cacti.conf

Alias /cacti/ /var/www/cacti/
<Directory /var/www/cacti/>
DirectoryIndex index.php
Options -Indexes
AllowOverride all
# order deny,allow
# deny from all
# allow from 127.0.0.1
AddType application/x-httpd-php .php
php_flag magic_quotes_gpc on
php_flag track_vars on
</Directory>

これでコンソール上の設定は完了。
あとはブラウザでhttp://(インストールしたサーバー)/cacti/にアクセスしたらまたまたインストーラーが出現します。
キャプチャをとってないけどすべて「next」とかで無事インストール完了。

0

.sshのパーミッション

2ヶ月ぶりのエントリーです。
wish2009もせっかく参加したのにタイミングを逃して何も書かずじまい。
最近は備忘録はevernoteであったりtwitterに残してます。
いつもならevernoteに残しておくようなしょうもないネタが.sshのパーミッション。
パスワードを聞かれずsshでログインする時に利用する鍵認証。
下記の通りにパーミッションを設定しておかないとパスワードを聞かれる。

  1. /home/hoge/.sshはパーミッションを700にしておく。
  2. /home/hoge/.ssh/authorized_keysはパーミッションを600にしておく。
  3. /home/hogeのパーミッションも755にしておく。

普段は意識することなかったけれど、/home/hogeのパーミッションをとある事情で770にしていたところ鍵認証でログインできず嵌ってしまいました。
しかもこの手の問題はログインに失敗してるわけではないのでエラーログにもでない。

というどうでもいいことをevernoteに貯め込んでます。

そういえば今年もLL温泉があります。
12月4日(金)から6日(日)で場所は去年と同じ大分に湯布院です。

0

PHPのタイムゾーン

しらんかった。
phpのdate関数がアメリカの時間を取得していたので、てっきりec2に突っ込んだfedoraのタイムゾーンがアメリカだからと思い込み下記のような修正を行いました。
# mv /etc/localtime /etc/localtime.org
# ln -s /usr/share/zoneinfo/Asia/Tokyo /etc/localtime

これでfedoraのタイムゾーンが変わったからいけると思ったけどそれでも無理。

で調べるとphp.iniを修正するとのこと。
date.timezone=”Asia/Tokyo”

これで無事、日本時間が取得できます。

0

外部からpostgreSQLへの接続

外部からpostgreSQLへの接続はデフォルトで禁止されています。
これを許可するの方法はmySQLと大きく違います。
2つのconfigファイルを編集する必要があります。
1./var/lib/pgsql/data/pg_hba.confをに下記を追記

host all all 0.0.0.0/0 password crypt
すべてのIPから接続可能、但しパスワード認証を要求

2./var/lib/pgsql/data/postgresql.confを編集
listen_addresses = 'localhost'

listen_addresses = '*'
 
#port = 5432

port = 5432

で再起動したら完了。
ちなみにこの設定は前回のmacのpostgreSQLのインストールの件とは別でfedoraにインストールした時のメモ

0

ssh+svnとかssh鍵認証

svnサーバーに接続する際、ポートを22以外になってる場合、接続元(作業サーバー)のconfigファイルを弄る必要あり
# vi /home/www/.subversion/config
[tunnels]
hoge=ssh -p 2222

hogeがいわば変数みたいな役割してるので下記のような記述でチェックアウトします。
# svn co svn+hoge://root@foo.com/var/www/svn/project

これだと、1ファイルだけとかならいいけど、複数のファイルの場合はパスワードを一々聞かれるのが煩わしくなります。
そのような時、SSH鍵認証を使います。
SSH鍵認証とは、秘密鍵と公開鍵の2つの鍵を使ってパスフレーズを暗号化/復号化する認証方式です。

秘密鍵と公開鍵の発行登録のログです。
■01 作業サーバー(192.168.24.30)
[root@01 tmp]# ssh-keygen -t rsa
[root@01 tmp]# scp /root/.ssh/id_rsa.pub root@192.168.24.31:/root/.ssh/

■02 SVNサーバー(192.168.24.31)
[root@02 ~]# cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys

■01 作業サーバー(192.168.24.30)
[root@01 tmp]# svn co svn+hoge://root@foo.com/var/www/svn/project
(パスワードを求められなくなる)

以下、いつも忘れるのでメモ
「入る方が秘密鍵を持つ」
この場合、作業サーバー。
「入られる方がその公開鍵を持つ」
この場合、SVNサーバー。

ポートを変えてsshでログインする場合は
ssh -p 2222(pは小文字)

ポートを変えてscpでログインする場合は
scp -P 2222(Pは大文字)

0

fedora core逝く

パソ歴10年にして初めて電源が入らないという事態に陥りました。
本日ハードディスクを増設したばかりのfedora coreの入ったマシンがうんともすんともいわなくなりました。
原因はまだわからないけど、電源が入らないということでおそらく電源ユニットかマザーボード。
メールサーバーに使ったりや大事なデータも入ってるマシンなので復旧させることに。
HDは無事なので、今回の家庭内ネットワーク再構築の後に引退してもらおうと思ってたwindowsマシンが転がってたので、それにfedoraの入ったHDを繋いでその場を凌ぐことにしました。

しかし、こういうものは一筋縄にはいかないものでfedoraが起動途中にこんなメッセージがでて止まってしまう始末。
(Repair filesystem)1#

直前のメッセージをみると増設したセカンダリのHDを繋げてないからマウントできないよーみたいなことをいってるっぽい。
(serial ATAに繋ぐケーブルがないため繋げてなかったのです。)
起動時のマウントを解除すべくfstabを開く。
#vi f/etc/stab

で、/dev/sdaの記述のあるところをコメントアウトしたけど、なぜかreadonlyで保存できない。。
fstabを無理矢理読み書きできるようにマウントしなおし。
(Repair filesystem) # mount -o rw,remount /
すると保存できるようになるので、保存して再起動。

とりあえず、無事復旧。
さて、壊れたパソコンはどうしたものか。
電源ユニットの故障かマザーボードの故障かわからないのでパーツを買い換えることも怖いな。

0

fedora core5にハードディスク増設

重い腰を上げて自宅のfedora core5にハードディスクを増設しました。
serial ATAの500Gを買い設置しようとしたらserialATAにつなぐ電源がない。。。
セカンダリ用に予備があるものと思い込んでた自分が悪いけどショック。
近所のtwo topで従来のHDD用4ピン電源コネクタを変換し、シリアルATA電源コネクタにするケーブルってのがあったのでそれを購入。

ハードの設置は簡単。
その後のfedoraでフォーマットとかが初めてだったのでドキドキしたけどここを参考に無事完了。

想定外だったのが普通プライマリーが/dev/sdaとなるところ、うちのはプライマリが/dev/sdbで追加したセカンダリが/dev/sdaとなってました。
ちなみに参考元はultra ATAなのでhdaやhdbの表記です。
自分なりにまとめようかと思ったけど事件がおこったため中止。

0

postfixでバーチャルドメインの設定

最近取得したドメインは、postfix+SMTP認証で動かしていますが、以前はqmail+vpopmail+pop before SMTPという形でした。
さすがに後者の構成は時代に乗り遅れてるのですべてpostfixに移行することにしました。
久々にメールアドレスを発行しようとしたら、ちょっと忘れてることがあったので備忘録に。

postfixの基本的な設定は完了していて、もういくつかのドメインいくつかのメールアドレスで稼働しています。
そこに新たに追加する作業でした。

まずは、/etc/postfix/main.cfに追加したいドメインを一行に記述。
virtual_alias_domains = aaa.net,bbb.net,ccc.com,ddd.net

これをこんな感じにしててかなりはまりました。
理由はもくよくわからないけど、これでもccc.comまでは動く。しかしddd.netは動かない。
動かないといってローカルで送受信はできます。
外部から送られてこない現象でした。
virtual_alias_domains = aaa.net
virtual_alias_domains = bbb.net
virtual_alias_domains = ccc.com
virtual_alias_domains = ddd.net

次にメールアドレスを追加します。
メールアドレスとIDは/etc/postfix/virtualに記述しておきます。
二つとも任意のものなので適当に。
hoge@aaa.net aaahoge
hoge@bbb.net bbbhoge
hoge@ccc.net ccchoge
hoge@ddd.net dddhoge

これを以下のコードで実際に反映させる。
postmap /etc/postfix/virtual

IDは決めただけでは実体がありません。そのID名のunixユーザーを生成しなければなりません。
# useradd -s /sbin/nologin aaahoge
そしてパスワードをを設定。
# passwd aaahoge

あとは、postfixを再起動してOK
/etc/init.d/postfix restart

たまにしかしないこういう作業はメモしておかないと絶対忘れますね。