オープンソース

一覧へ

3. KeaKeeperのインストール

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

3.1. KeaKeeperの入手と展開

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

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

以下のファイルをダウンロードしてください。
* KeaKeeper-{version}.tar.gz

ダウンロード後、KeaKeeperを展開します。

以下は、/var/www/配下にKeaKeeperのアーカイブを展開する例です。

# tar xzf keakeeper-{version}.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ディレクトリの権限変更

WEBサーバの実行ユーザから書き込みができるように権限を設定します。

本解説では、AlmaLinux9でApache HTTP Serverをインストールしているため、WEBサーバの実行ユーザは「apache」です。

KeaKeeperディレクトリの権限を変更します。

# chown -R apache:apache /var/www/keakeeper

3.3. KeaKeeperの設定

KeaKeeperの設定を行ないます。設定ファイルは以下のパスに存在しています。
/var/www/keakeeper/config/application.ini

下記は設定例です。

[i18n]
lang = 'ja_JP'

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

[search]
leasemax = 5
hostmax = 5
poolmax = 10
pagelinks = 10

[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が指定できます。
[search]セクション
項目名 解説
leasemax リース情報検索時の最大結果表示数を指定します
hostmax ホスト予約検索時の結果表示数を指定します
poolmax 貸出IPアドレスの範囲の一覧画面での結果表示数を指定します
pagelinks ページング処理で、ページのリンクの表示数を指定します。
[db]セクション
項目名 解説
host DBの接続先ホストを指定します。IPアドレスまたはドメインで指定します。
driver DBのドライバを指定します。現在はmysqlのみ対応しています。
port DBのポート番号を指定します。
database DBの名前を指定します。
user DBの接続ユーザを指定します。
password DBのユーザパスワードを指定します。
[log]セクション
項目名 解説
facility Syslogのファシリティを指定します。
prog Syslogタグを指定します。
[path]セクション
項目名 解説
login[]

ログインページのパスを、WEBサーバのドキュメントルールからの相対パスで指定します。

WEBサーバのドキュメントルートとログインページが同一の場合は、「/index.php」を指定します。

ログインページが、「WEBサーバのドキュメントルート + /keakeeper/index.php」の場合は、「/keakeeper/index.php」を指定します。

[api]セクション
項目名 解説
server 接続先を指定します。
dhcpv4backup Keaのkea-dhcp4.confをバックアップするファイルのパスを指定します。
dhcpv6backup Keaのkea-dhcp6.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サーバのドキュメントルートとして設定する場合は、以下のように設定します。

本解説では、AlmaLinux9のApache HTTP Serverのドキュメントルート「/var/www/html」を、「/var/www/keakeeper/public」に変更します。

# vi /etc/httpd/conf/httpd.conf
:
:
:
#DocumentRoot "/var/www/html"
DocumentRoot "/var/www/keakeeper/public"

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

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

# systemctl reload httpd.service

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

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

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

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

# vi /etc/httpd/conf.d/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を変更します。

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

3.6. SELinuxの調整

SELinuxが有効な環境では、KeaKeeprを動作させるためのSELinuxの調整が必要になります。

なおSElinuxの調整は、Kea本体やKeaKeeperのインストール先によって、調整内容が変化します。

以下の例を参考に、自身の環境に合わせて設定を行ってください。

# dnf install setools-console
# setsebool -P httpd_can_network_connect_db on
# setsebool -P httpd_can_network_connect on
# semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/keakeeper/lock(/.*)?'
# semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/keakeeper/view/compiled(/.*)?'
# semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/keakeeper/tmp(/.*)?'
# semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/keakeeper?'
# semanage fcontext -a -t httpd_sys_rw_content_t '/etc/kea/backupdir(/.*)?'

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

3.7. 接続確認

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

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

下記のようにログイン画面が表示されることを確認してください。

また以下のユーザID・パスワードでログインできることを確認してください。

  • ユーザID: admin
  • パスワード: admin
ログイン画面
一覧へ