muninをインストール / PostgreSQLでActiveDirectory認証
投稿日: 2007年07月10日 更新日: 2017年07月22日
muninをインストール
Redhat Linux Enterprise Linux 4にmuninをインストール。
まずはrrdtoolに必要なライブラリをインストール。
# up2date libart_lgpl-devel
# up2date libpng-devel
# up2date freetype-devel
rrdtool本体をインストール
# tar xvfz rrdtool-1.2.23.tar.gz
# cd rrdtool-1.2.23
# ./configure
# make
# make install
perl用のRRDモジュールとライブラリをインストール。RRDs.pmのコピー先は自身なし。
# ln -s /usr/local/rrdtool-1.2.23/lib/perl/5.8.5/i386-linux-thread-multi/auto/RRDs/RRDs.so /usr/lib/
# cp /usr/local/src/rrdtool-1.2.23/bindings/perl-shared/RRDs.pm \
/usr/local/rrdtool-1.2.23/lib/perl/5.8.5/i386-linux-thread-multi/
mumin用ユーザとグループを作成。
# groupadd -g 4949 munin
# useradd -u 4949 -g munin -m -s/sbin/nologin munin
必要なperlモジュールをインストール。
# cpan install Time::HiRes
# cpan install HTML::Template
# cpan install Net::SNMP
muminクライアントをインストール。
# tar zxvf munin_1.2.5.tar.gz
# cd munin-1.2.5
# make install-main
muminノードをインストール。今回はクライアント/ノードが同一のマシン。
# cpan install Net::Server::Fork
# make install-node install-node-plugins
# /opt/munin/sbin/munin-node-configure --shell | sh
# cp dists/redhat/munin-node.rc /etc/init.d/munin-node
# echo '*/5 * * * * munin /opt/munin/bin/munin-cron 2>&1' > /etc/cron.d/munin
Apacheの設定。
/usr/local/apache2/conf/httpd.conf
---
ExtendedStatus On
<VirtualHost *:80>
(...中略...)
<Location /server-status>
SetHandler server-status
Order Deny,Allow
Deny from all
Allow from 127.0.0.1
</Location>
Alias /munin/ "/opt/munin/var/www/"
(...中略...)
</VirtualHost>
---
Apacheの設定を反映。
# /etc/init.d/apache restart
参考サイト
PostgreSQLでActiveDirectory認証
PostgreSQLでActiveDirectory認証するためのメモ。
技術的には8.2.0から対応しているLDAP認証を使った。ActiveDirectoryのパスワードを使ってPostgreSQLにアクセスできる。
PostgreSQLに–with-ldapオプションを付けて再コンパイルする。–with-pam/–with-krb5はAD認証だけなら必要ないが、後でPAMとKerberos認証も試したいのでも付けておく。
make distclean
./configure --with-pam --with-ldap --with-krb5
make
make install
pg_hba.confに下記のように記述。
host all all 192.168.1.0/24 ldap "ldap://ad.example.net/dc=example,dc=net"
接続ユーザは「hoge@example.net」のようになる。このユーザはPostgreSQLにも存在している必要があるため、登録しておく。
createuser hoge@example.net
あとはクライアントから接続する。Windows経由でODBC接続と、psqlコマンドを使ったリモート接続で確認。
PostgreSQLサーバを192.168.1.2と仮定すると下記のような感じで接続できる。
psql -h 192.168.1.2 -U hoge@example.net template0
あとがき
- PAM経由でLDAP認証する方法もあるが失敗した。
- どうせActiveDirectory使うならKerberos認証使えばSSO(シングルサインオン)みたいなことができると思う。
参考文書
名前:宮内 はじめ
Code for Nagoya名誉代表
E2D3名古屋支部長
プログラマーです。GISやデータビズが好きです。このサイトは宮内の個人的なメモです。