必要なツール類をインストール
ツール類をインストールする前にパッケージ情報を最新にしておく。
root@debian-phpipam:/tmp# apt-get update
標準エディタのviだとカーソルキーが動作しない(意図しない文字が勝手に入力されてしまう)のでVimエディタを導入する。
root@debian-phpipam:/tmp# apt-get install vim
NTPクライアントをインストールする
root@debian-phpipam:/tmp# apt-get install ntp
時刻合わせ(NTP)の設定を行う
デフォルトではpool.ntp.orgのntpサーバーを参照しているが変更する場合は/etc/ntp.confファイルを編集する
pool.ntp.orgについてlaunch
サービスの起動・停止などの管理を行うツール(sysv-rc-conf)をインストールする
root@debian-phpipam:/tmp# apt-get install sysv-rc-conf
root@debian-phpipam:/tmp# sysv-rc-conf ← 試しにsysv-rc-confを起動してみる
phpIPAMにて必要となる為、fpingをインストールする
root@debian-phpipam:/tmp# apt-get install fping
apache2をインストールし設定ファイルを編集する
apache2をインストール
root@debian-phpipam:/tmp# apt-get install apache2
apache2.confを編集する
root@debian-phpipam:/tmp# cd /etc/apache2
root@debian-phpipam:/etc/apache2# vim apache2.conf
(変更前)
(変更後)
mod_rewrite を有効化しapache2を再起動
root@debian-phpipam:/etc/apache2# a2enmod rewrite
Enabling module rewrite.
To activate the new configuration, you need to run:
service apache2 restart
root@debian-phpipam:/etc/apache2# service apache2 restart
MySQLをインストールし設定ファイルを編集する
MySQLをインストール
root@debian-phpipam:/etc/apache2# apt-get install mysql-server
インストール中にMySQLのルートパスワードを設定する
MySQLの設定ファイルを編集する
/etc/mysql/my.cnf
root@debian-phpipam:/etc/apache2# cd /etc/mysql
root@debian-phpipam:/etc/mysql# vim my.cnf
[mysqld]セクションに追記
[mysqld]
character-set-server=utf8 #文字コードにUTF-8を指定
skip-character-set-client-handshake #クライアントの文字コードを無視する設定
default-storage-engine=INNODB #ストレージエンジンにINNODBを指定
[mysqldump]セクションに追記
[mysqldump]
default-character-set=utf8 #文字コードにUTF-8を指定
[mysql]セクションに追記
[mysql]
default-character-set=utf8 #文字コードにUTF-8を指定
別端末からMySQLに接続する必要がある場合には[mysqld]セクションのbind-addressを編集する必要がある
[mysqld]
# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
bind-address = 127.0.0.1 #デフォルトでは自身のサーバーからのみアクセス可能。
MySQLを再起動する
root@debian-phpipam:/etc/mysql# service mysql restart
php5をインストールし設定ファイルを編集する
php5をインストール
root@debian-phpipam:/etc/mysql# apt-get install php5 libapache2-mod-php5 php-pear php5-gmp php5-mysql
/etc/php5/apache2/php.iniを編集する
root@debian-phpipam:/etc/mysql# cd /etc/php5/apache2
root@debian-phpipam:/etc/php5/apache2# vim php.ini
(~中略~)
;;;;;;;;;;;;;;;;;;;
; Module Settings ;
;;;;;;;;;;;;;;;;;;;
[CLI Server]
; Whether the CLI web server uses ANSI color coding in its terminal output.
cli_server.color = On
[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
;date.timezone =
date.timezone = Asia/Tokyo ←タイムゾーンの設定を追加する
phpIPAMをインストールする
phpIPAMをダウンロードする
今回はgithubよりphpIPAM1.2をダウンロード(2016/2/11時点の最新Ver)
https://github.com/phpipam/launch
root@debian-phpipam:/etc/php5/apache2# cd /tmp
root@debian-phpipam:/tmp# wget --no-check-certificate https://github.com/phpipam/phpipam/archive/1.2.tar.gz
root@debian-phpipam:/tmp# ls
1.2.tar.gz
root@debian-phpipam:/tmp# tar xvf 1.2.tar.gz
phpIPAMのソースファイルをapacheの仮想ディレクトリへコピーする
今回はapache2のデフォルトディレクトリである/var/www/html/以下にコピー
事前にapache2のデフォルトindex.htmlファイルを削除しておく
root@debian-phpipam:/tmp# rm /var/www/html/index.html
root@debian-phpipam:/tmp# ls
1.2.tar.gz phpipam-1.2
root@debian-phpipam:/tmp# cp -rf ./phpipam-1.2/* /var/www/html/
/var/www/html/以下のファイルのオーナーをwww-dataに変更する。
root@debian-phpipam:/var/www/html# chown www-data:www-data -R *
root@debian-phpipam:/var/www/html# ls -l
合計 64
-rwxr-xr-x 1 www-data www-data 110 2月 11 15:58 INSTALL.txt
-rwxr-xr-x 1 www-data www-data 2455 2月 11 15:58 README
-rwxr-xr-x 1 www-data www-data 105 2月 11 15:58 UPDATE
drwxr-xr-x 4 www-data www-data 4096 2月 11 15:58 api
drwxr-xr-x 14 www-data www-data 4096 2月 11 15:58 app
-rwxr-xr-x 1 www-data www-data 2761 2月 11 15:58 config.php
drwxr-xr-x 3 www-data www-data 4096 2月 11 15:58 css
drwxr-xr-x 3 www-data www-data 4096 2月 11 15:58 db
drwxr-xr-x 11 www-data www-data 4096 2月 11 15:58 functions
-rwxr-xr-x 1 www-data www-data 10057 2月 11 15:58 index.php
drwxr-xr-x 2 www-data www-data 4096 2月 11 15:58 install
drwxr-xr-x 3 www-data www-data 4096 2月 11 15:58 js
drwxr-xr-x 2 www-data www-data 4096 2月 11 15:58 misc
drwxr-xr-x 2 www-data www-data 4096 2月 11 15:58 upgrade
apache2を再起動する
root@debian-phpipam:/tmp# service apache2 restart
ブラウザにてhttp://(phpIPAMサーバーのIP)/index.phpへアクセスすると。。
設定ファイルが無いと怒られる。
/var/www/html/config.dist.php ファイルをconfig.phpにリネームする。
root@debian-phpipam:/tmp# cd /var/www/html
root@debian-phpipam:/var/www/html# ls -l
合計 64
-rwxr-xr-x 1 root root 110 2月 11 15:58 INSTALL.txt
-rwxr-xr-x 1 root root 2455 2月 11 15:58 README
-rwxr-xr-x 1 root root 105 2月 11 15:58 UPDATE
drwxr-xr-x 4 root root 4096 2月 11 15:58 api
drwxr-xr-x 14 root root 4096 2月 11 15:58 app
-rwxr-xr-x 1 root root 2761 2月 11 15:58 config.dist.php
drwxr-xr-x 3 root root 4096 2月 11 15:58 css
drwxr-xr-x 3 root root 4096 2月 11 15:58 db
drwxr-xr-x 11 root root 4096 2月 11 15:58 functions
-rwxr-xr-x 1 root root 10057 2月 11 15:58 index.php
drwxr-xr-x 2 root root 4096 2月 11 15:58 install
drwxr-xr-x 3 root root 4096 2月 11 15:58 js
drwxr-xr-x 2 root root 4096 2月 11 15:58 misc
drwxr-xr-x 2 root root 4096 2月 11 15:58 upgrade
root@debian-phpipam:/var/www/html# mv config.dist.php config.php
root@debian-phpipam:/var/www/html#
改めてブラウザにてhttp://(phpIPAMサーバーのIP)/index.phpへアクセスする
この画面が出ればインストール完了
後はブラウザの指示に従いphpIPAMの設定を行う。
通常は[1 Automatic database installation]で問題ない。
MySQLへアクセスする為にusername及びpasswordを入力する。
[Install phpipam database]をクリックする。
[Database installed successfully!]と出れば完了。
続いて[Continue]をクリック。
[phpIPAM]のAdminのパスワードを設定する。
パスワードはあまりに短いと怒られるので8文字以上を設定する。
[Save Settings]をクリックする。
続いて[Proceed to login]をクリックする。
phpIPAMのログイン画面が表示される。
先ほど設定したadmin及びパスワードにてログイン出来るかを確認する。
phpIPAMのダッシュボード画面
インストール直後はサンプルのデータが入力されているので不要であれば削除する。
phpIPAMで出来ること
ネットワークセグメント毎にIPアドレスの管理を行うことが出来る。
また設定したセグメント配下のサーバー及びネットワーク機器に対してのPingによる死活監視、及び新たにネットワークに接続された機器を発見することも出来る。(ネットワークスキャン)
赤枠のオプションを[Yes]にするとチェックを行う。
Pingによる死活監視やネットワークのスキャンに関してはLinuxのcron機能により実現しているので、これらの機能を利用する場合はcrontabファイルにスクリプトを登録する必要がある。
余談:
上記オプションを[Yes]に設定しても、待てど暮らせどチェックを行っている様子がないのであらためて公式サイトを調べると、、、どうやら監視スクリプトをcronに登録する必要があるらしいということがわかった。
(↑ハマった部分)
詳しくは公式サイトを参照launch
監視スクリプトは下記のディレクトリにある
root@debian-phpipam:/var/www/html# cd ./functions/scripts
root@debian-phpipam:/var/www/html/functions/scripts#
root@debian-phpipam:/var/www/html/functions/scripts# ls -l
合計 40
-rw-r--r-- 1 www-data www-data 10967 2月 11 15:58 discoveryCheck.php #スキャン
-rw-r--r-- 1 www-data www-data 1810 2月 11 15:58 find_untranslated_files.php
-rwxr-xr-x 1 www-data www-data 15039 2月 11 15:58 pingCheck.php #ping監視
-rw-r--r-- 1 www-data www-data 3653 2月 11 15:58 reset-admin-password.php
-rw-r--r-- 1 www-data www-data 3643 2月 11 15:58 resolveIPaddresses.php
root@debian-phpipam:/var/www/html/functions/scripts#
crontabにスクリプトを登録する。
下記の例ではpingCheck(ping監視)は15分毎に、discoveryCheck(スキャン)は毎時5分に実行する。
root@debian-phpipam:/var/www/html/functions/scripts# cd /etc
root@debian-phpipam:/etc# vim crontab
(~中略~)
*/15 * * * * root /usr/bin/php5 /var/www/html/functions/scripts/pingCheck.php
5 * * * * root /usr/bin/php5 /var/www/html/functions/scripts/discoveryCheck.php
root@debian-phpipam:/etc# service cron restart #cronを再起動する