- >> IPアドレス管理サーバーの構築 【1】 考察
- >> IPアドレス管理サーバーの構築 【2】 Debian GNU/Linuxのインストール
- >> IPアドレス管理サーバーの構築 【3】 phpIPAM環境構築
必要なツール類をインストール
ツール類をインストールする前にパッケージ情報を最新にしておく。
1 | root@debian-phpipam: /tmp # apt-get update |
標準エディタのviだとカーソルキーが動作しない(意図しない文字が勝手に入力されてしまう)のでVimエディタを導入する。
1 | root@debian-phpipam: /tmp # apt-get install vim |
NTPクライアントをインストールする
1 | root@debian-phpipam: /tmp # apt-get install ntp |
時刻合わせ(NTP)の設定を行う
デフォルトではpool.ntp.orgのntpサーバーを参照しているが変更する場合は/etc/ntp.confファイルを編集する
pool.ntp.orgについてlaunch
1 2 3 4 5 6 7 8 9 10 11 | root@debian-phpipam: /tmp # vim /etc/ntp.conf (中略) # pool.ntp.org maps to about 1000 low-stratum NTP servers. Your server will # pick a different set every time it starts up. Please consider joining the # pool: <http://www.pool.ntp.org/join.html> server 0.debian.pool.ntp.org iburst # 任意のntpサーバーに変更する server 1.debian.pool.ntp.org iburst server 2.debian.pool.ntp.org iburst server 3.debian.pool.ntp.org iburst |
サービスの起動・停止などの管理を行うツール(sysv-rc-conf)をインストールする
1 2 | root@debian-phpipam: /tmp # apt-get install sysv-rc-conf root@debian-phpipam: /tmp # sysv-rc-conf ← 試しにsysv-rc-confを起動してみる |
phpIPAMにて必要となる為、fpingをインストールする
1 | root@debian-phpipam: /tmp # apt-get install fping |
apache2をインストールし設定ファイルを編集する
apache2をインストール
1 | root@debian-phpipam: /tmp # apt-get install apache2 |
apache2.confを編集する
1 2 | root@debian-phpipam: /tmp # cd /etc/apache2 root@debian-phpipam: /etc/apache2 # vim apache2.conf |
(変更前)
1 2 3 4 5 | <Directory /var/www/ > Options Indexes FollowSymLinks AllowOverride None Require all granted < /Directory > |
(変更後)
1 2 3 4 5 | <Directory /var/www/ > Options Indexes FollowSymLinks AllowOverride All Require all granted < /Directory > |
mod_rewrite を有効化しapache2を再起動
1 2 3 4 5 | 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をインストール
1 | root@debian-phpipam: /etc/apache2 # apt-get install mysql-server |
インストール中にMySQLのルートパスワードを設定する
MySQLの設定ファイルを編集する
/etc/mysql/my.cnf
1 2 | root@debian-phpipam: /etc/apache2 # cd /etc/mysql root@debian-phpipam: /etc/mysql # vim my.cnf |
[mysqld]セクションに追記
1 2 3 4 | [mysqld] character- set -server=utf8 #文字コードにUTF-8を指定 skip-character- set -client-handshake #クライアントの文字コードを無視する設定 default-storage-engine=INNODB #ストレージエンジンにINNODBを指定 |
[mysqldump]セクションに追記
1 2 | [mysqldump] default-character- set =utf8 #文字コードにUTF-8を指定 |
[mysql]セクションに追記
1 2 | [mysql] default-character- set =utf8 #文字コードにUTF-8を指定 |
別端末からMySQLに接続する必要がある場合には[mysqld]セクションのbind-addressを編集する必要がある
1 2 3 4 | [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を再起動する
1 | root@debian-phpipam: /etc/mysql # service mysql restart |
php5をインストールし設定ファイルを編集する
php5をインストール
1 | root@debian-phpipam: /etc/mysql # apt-get install php5 libapache2-mod-php5 php-pear php5-gmp php5-mysql |
/etc/php5/apache2/php.iniを編集する
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | 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
1 2 3 4 5 | 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ファイルを削除しておく
1 2 3 4 | 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に変更する。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | 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を再起動する
1 | root@debian-phpipam: /tmp # service apache2 restart |
ブラウザにてhttp://(phpIPAMサーバーのIP)/index.phpへアクセスすると。。
設定ファイルが無いと怒られる。
/var/www/html/config.dist.php ファイルをconfig.phpにリネームする。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | 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に登録する必要があるらしいということがわかった。
(↑ハマった部分)
監視スクリプトは下記のディレクトリにある
1 2 3 4 5 6 7 8 9 10 | 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分に実行する。
1 2 3 4 5 6 7 8 9 | 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環境構築