オープンソース

next up previous contents
Next: 4. KeaKeeperの使い方 Up: KeaKeeper Previous: 2. KeaKeeperを利用するために


3. KeaKeeperのインストール

本章では、KeaKeeperのインストール・設定方法について解説します。

3.1 KeaKeeperの入手と展開

KeaKeeperは、OSDNのKeakeeperプロジェクトのダウンロードページから入手することができます。

https://github.com/designet-inc-oss/KeaKeeper

以下のファイルをダウンロードしてください。

kerkeeper-version.tar.gz

ダウンロード後、KeaKeeperを展開します。
以下は、/var/www/配下にKeaKeeperのアーカイブを展開する例です。

# tar xzf keakeeper-*.tar.gz -C /var/www/

上記のように展開した場合、展開後のディレクトリ構成は表のようになります。
本マニュアルでは、これを前提に解説を進めます。

KeaKeeperのディレクトリ構成
ディレクトリ/ファイル名 解説
/var/www/keakeeper KeaKeeperのルートディレクトリ
/var/www/keakeeper/public 公開ディレクトリ
/var/www/keakeeper/config 設定ディレクトリ
/var/www/keakeeper/view/tmpl 画面テンプレートディレクトリ
/var/www/keakeeper/locale 言語ファイル配置ディレクトリ
/var/www/keakeeper/class ライブラリディレクトリ
/var/www/keakeeper/baseclass ライブラリディレクトリ
/var/www/keakeeper/vendor サードパーティライブラリ
/var/www/keakeeper/db 認証テーブル用SQL格納ディレクトリ

3.2 画面テンプレートディレクトリの権限変更

画面テンプレートの配置ディレクトリの権限を変更します。 KeaKeeperは、内部的にSmartyを利用しています。
Smartyの仕様として、テンプレートファイルを読み込んだ後、テンプレートのキャッシュを作成します。そのため、キャッシュを作成するディレクトリに、WEBサーバの実行ユーザから書き込みができるように権限を設定します。

本解説では、CentOS7標準のApache HTTP Serverをインストールしているため、WEBサーバの実行ユーザは「apache」です。キャッシュディレクトリのオーナをapacheに変更します。

# chown apache /var/www/keakeeper/view/compiled/

3.3 KeaKeeperの設定

KeaKeeperの設定を行ないます。設定ファイルは以下のパスに存在しています。

/var/www/keakeeper/config/application.ini

下記は設定例です。

設定例
[i18n]
lang = 'ja_JP'

[conf]
pathdhcp4 = '/etc/kea/kea-dhcp4.conf'
pathdhcp6 = '/etc/kea/kea-dhcp6.conf'

[session]
timeout = 86400
cookie = 'PEnrargei019nrwu8'
path = '/'
domain = ''
secure = false
httponly = false

[search]
leasemax = 5
hostmax = 5

[db]
driver = 'mysql'
host = '127.0.0.1'
port = 3306
database = 'kea'
user = 'keauser'
password = 'password'

[log]
facility = 'local0'
prog = 'keakeeper'

[path]
login[] = '/'
login[] = '/index.php'

[api]
server = 'http://127.0.0.1:8080'
dhcpv4backup = '/etc/kea/backupdir/kea-dhcp4.conf.backup'
dhcpv6backup = '/etc/kea/backupdir/kea-dhcp6.conf.backup'
dhcpv4lock = '/etc/kea/lockdir/kea-dhcp4.conf.lock'
dhcpv6lock = '/etc/kea/lockdir/kea-dhcp6.conf.lock'

各設定の意味は以下の通りです。

18nセクション
項目名 解説
lang 表示言語を指定します。現在はja_JP/en_USが指定できます。

confセクション
項目名 解説
pathdhcp4 DHCPv4サービスの設定ファイルのパスを指定します。
pathdhcp6 DHCPv6サービスの設定ファイルのパスを指定します。

sessionセクション
項目名 解説
timeout ログインセッションのタイムアウトまでの時間を指定します
cookie ブラウザに保存するCookieの名前を指定します
path cookieを適用するURLのパスを指定します
domain cookieを適用するドメインを指定します
secure cookieのセキュアフラグを指定します
httponly cookieのhttponlyフラグを指定します

searchセクション
項目名 解説
leasemax リース情報検索時の最大結果表示数を指定します
hostmax ホスト予約検索時の結果表示数を指定します

dbセクション
項目名 解説
host DBの接続先ホストを指定します。IPアドレスまたはドメインで指定します。
driver DBのドライバを指定します。現在はmysqlのみ対応しています。
port DBのポート番号を指定します。
database DBの名前を指定します。
user DBの接続ユーザを指定します。
password DBのユーザパスワードを指定します。

logセクション
項目名 解説
facility Syslogのファシリティを指定します。
prog Syslogタグを指定します。

pathセクション
項目名 解説
login[] ログインページとみなすURLのパス。この項目に指定した値は、ログイン画面として扱われ、認証無しで表示可能になります。

本解説では、KeaKeeperの公開ディレクトリをそのままWEBサーバのドキュメントルートとして設定するため、URLとしてはhttp://example.com/やhttp://example.com/index.phpでログインページが表示されます。このため、上記設定例では/と/index.phpを指定しています。

一方でエイリアスの設定などで、パスが変化することもあります。http://example.com/keakeeper/などがログインページとなる場合は以下のように設定します。

login[] = "/keakeeper/";
login[] = "/keakeeper/index.php";

apiセクション
項目名 解説
server 接続先を指定します。
dhcpv4backup Keaのkea-dhcp4.confをバクアップするファイルのパスを指定します。
dhcpv6backup Keaのkea-dhcp4.confをバクアップするファイルのパスを指定します。
dhcpv4lock ロックファイルのパス(v4)を指定します。
dhcpv6lock ロックファイルのパス(V6)を指定します。

3.4 認証テーブルの設定

DBサーバに、KeaKeeperが利用する認証テーブルを作成します。 テーブルの作成は、KeaKeeperのソースアーカイブに含まれるauth.sqlファイルをインポートして行ないます。 以下はインポート例です

設定例
# mysql -u keauser -p kea < /var/www/keakeeper/db/auth.sql

3.5 WEBサーバの設定変更

3.5.1 ドキュメントルートとして配置する場合

KeaKeeperをWEBサーバのドキュメントルートとして設定する場合は、以下のように設定します。 本解説では、CentOS7のApache HTTP Serverのドキュメントルート「/var/www/html」を、「/var/www/keakeeper/public」に変更します。

設定例
# DocumentRoot "/var/www/html"
DocumentRoot "/var/www/keakeeper/public"

#<Directory "/var/www/html">
<Directory "/var/www/keakeeper/public">

最後にWEBサーバをリロードします。

# systemctl reload httpd.service

3.5.2 エイリアスとして配置する場合

KeaKeeperをWEBサーバのエイリアスとして設定する場合は、以下のように設定します。 本解説では、エイリアス設定として「/var/www/keakeeper/public」を「http://***/keakeeper」にマッピングします。 また/etc/httpd/conf.d/keakeeper.confとして設定ファイルを配置することを想定しています。

keakeeper.conf設定例
Alias /keakeeper /var/www/keakeeper/public

<Directory "/var/www/keakeeper/public">
require all granted
</Directory>

次にWEBサーバをリロードします。

# systemctl reload httpd.service

最後にKeaKeeperのapplication.iniを変更します。

application.ini設定例
[path]
login[] = '/keakeeper/'
login[] = '/keakeeper/index.php'

3.6 SELinuxの調整

SELinuxが有効な環境では、KeaKeeprを動作させるためのSELinuxの調整が必要になります。 以下のように、policycoreutils-pythonパッケージをインストールして、 ファイルコンテキストとブーリアンの設定を行ってください。


なおSElinuxの調整は、Kea本体やKeaKeeperのインストール先によって、調整内容が変化します。自身の環境に合わせて設定を行ってください。

# yum install policycoreutils-python
# semanage fcontext -a -t httpd_cache_t '/var/www/keakeeper/view/compiled(/.*)?'
# restorecon /var/www/keakeeper/view/compiled
# setsebool -P httpd_can_network_connect_db on

以上でインストールは完了です。

3.7 接続確認

keakeeperを設定したURLにブラウザでアクセスしてください。

http://ドメイン or IPアドレス/


下記のようにログイン画面が表示されることを確認してください。 また以下のユーザID・パスワードでログインできることを確認してください。

  • ユーザID: admin
  • パスワード: admin

図: ログ設定メニュー画面
Image login


next up previous contents
Next: 4. KeaKeeperの使い方 Up: KeaKeeper Previous: 2. KeaKeeperを利用するために

2023年11月27日