オープンソースなシステム管理フレームワーク Func
第2回 Funcのインストールと設定・起動
今回はFuncのインストールと設定,起動から,簡単な動作確認の方法までを解説します。
なお,Funcは最近のRed Hat系Linux以外では動作しないようですので,以下の解説も最近のRed Hat系Linuxを前提としています。
Funcのインストール
第1回で解説したように,Funcにはcertmasterとminionという2つの役割が存在しますが,インストール手順はどちらの場合でも同じです。
Fedora 7/8でのインストール
Fedora 7/8であれば,updatesリポジトリにFuncのRPMパッケージが存在しますので,yumで簡単にインストールできます。
$ sudo yum -y install func
Fedora 7/8以外のRed Hat系Linuxでのインストール
Fedora 7/8用のRPMパッケージはnoarchなので,他のディストリビューションでもそのまま利用できそうですが,Pythonのバージョンが異なるとライブラリのインストールパスが異なり,そのままではインストールできませんので,RPMパッケージが用意されていないディストリビューションでは,people.fedoraproject.org上にある,Michael DeHaan氏のサイトからSRPMファイルを入手して,RPMパッケージをリビルドし,インストールします。
まずはSRPMからリビルドするために必要なパッケージをインストールします。
$ sudo yum -y install rpm-build python-devel python-setuptools
次にFuncのSRPMファイルを取得し,RPMパッケージをリビルドします。
$ wget http://people.fedoraproject.org/~mdehaan/files/func/func-0.17-1.src.rpm
$ sudo rpmbuild --rebuild func-0.17-1.src.rpm
最後に,Funcの実行に必要なパッケージのインストールと,Func本体をインストールします。
$ sudo yum -y install pyOpenSSL
$ sudo rpm -ivh /usr/src/redhat/RPMS/noarch/func-0.17-1.noarch.rpm
Funcの起動
certmasterの起動
certmasterの起動には特に設定は必要ありません。以下のコマンドを実行することですぐに起動できます。
$ sudo /sbin/chkconfig certmaster on
$ sudo /etc/init.d/certmaster start
minionの起動
minionを起動するには,まず/etc/func/minion.confを変更する必要があります。certmasterパラメータに,certmasterとなっているホストを指定してください。それ以外は特に変更する必要はありません。
# configuration for minions
[main]
log_level = DEBUG
certmaster = certmaster.example.org
cert_dir = /etc/pki/func
acl_dir = /etc/func/minion-acl.d
設定変更が完了したら,funcdを起動します。
$ sudo /sbin/chkconfig funcd on
$ sudo /etc/init.d/funcd start
Funcでの通信にはSSL証明書での認証が必要であり,funcdをはじめて起動する時には,certmasterに対して証明書の署名リクエストが発生します。certmaster側では証明書へ署名するために,以下のようにコマンドを実行します。
// 証明書リクエスト元ホストの確認
$ sudo certmaster-ca --list
client.example.org
// 証明書リクエストへの署名
$ sudo certmaster-ca --sign client.example.org
/var/lib/func/certmaster/csrs/client.example.org.csr signed - cert located at /var/lib/func/certmaster/certs/client.example.org.cer
これでFuncを利用するための準備が完了です。
Funcの動作確認
certmaster上で以下のようにfuncコマンドを実行することで,Funcが正常に動作しているかどうか確認します。
$ sudo func "*" list_minions
['https://client.example.org:51234']
client.example.org
0
上のように,minionとなっているホストが表示されれば正常に動作しています。minionが複数ある場合には,以下のように複数のminionが表示されます。
$ sudo func "*" list_minions
['https://client0.example.org:51234', 'https://client1.example.org:51234']
client0.example.org
client1.example.org
0
Funcを活用するための第一歩は,funcコマンドを使いこなすことです。次回はfuncコマンドの利用方法について,詳細に解説する予定です。
オープンソースなシステム管理フレームワーク Func
- 第5回 Funcモジュールの作り方
- 第4回 Pythonプログラムからのモジュール実行
- 第3回 funcコマンドの使用方法
- 第2回 Funcのインストールと設定・起動
- 第1回 シンプルで拡張性の高いシステム管理フレームワークFuncの概要

