- >> IPアドレス管理サーバーの構築 【1】 考察
 - >> IPアドレス管理サーバーの構築 【2】 Debian GNU/Linuxのインストール
 - >> IPアドレス管理サーバーの構築 【3】 phpIPAM環境構築
 
必要なツール類をインストール
ツール類をインストールする前にパッケージ情報を最新にしておく。
    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に登録する必要があるらしいということがわかった。
      (↑ハマった部分)
監視スクリプトは下記のディレクトリにある
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を再起動する
- >> IPアドレス管理サーバーの構築 【1】 考察
 - >> IPアドレス管理サーバーの構築 【2】 Debian GNU/Linuxのインストール
 - >> IPアドレス管理サーバーの構築 【3】 phpIPAM環境構築
 
