phpIPAM を Docker イメージで導入する

目次

phpIPAM 概要

phpIPAM(アイパム)はその名のとおり、PHP 製の IP アドレス管理(IPAM)製品です。

  • LAMP
    要件 概要
    OS Linux
    Web Server Apache, Nginx
    DB MySQL
    Script PHP

情報元

  • 公式サイト

    phpIPAM IPAM IP address management software

    phpIPAM can be obtained from following sources:
    1.) Stable releases
    Latest official phpIPAM installation files can be obtaned from following sources:

    • GitHub - phpipam/phpipam: phpipam development repository https://github.com/phpipam/phpipam
    • phpipam download | SourceForge.net https://sourceforge.net/projects/phpipam/
  • Docker イメージ
    今回は Docker イメージで導入しています。
    上記「GitHub - phpipam/phpipam: phpipam development repository 」にファイルと導入方法がUPされています。

    GitHub - pierrecdn/phpipam: phpIPAM Docker image

    How to use this Docker image
    Mysql
    Run a MySQL database, dedicated to phpipam.
    Here, we store data on the host system under /my_dir/phpipam and use a specific root password.
    Phpipam
    We are linking the two containers and exposing the HTTP port.

    このDockerイメージの使い方
    Mysql
    phpipam専用のMySQLデータベースを実行します。
    ここでは、ホストシステムの下にデータを保存し/my_dir/phpipam、特定のrootパスワード {my-secret-pw} を使用します。
    Phpipam
    2つのコンテナーをリンクしてHTTPポートを公開しています。

phpIPAM 導入

指定URLのファイルをダウンロードするコマンド wget を使い、Git Hub のファイルを取得します。
対象のファイルは2つです(残りは LICENSE と Readme.md)。

  • Dockerfile
  • php.ini
# yum install wget
インストール:
  wget.x86_64 0:1.14-18.el7                                                     

# cd /tmp/
# wget https://raw.githubusercontent.com/pierrecdn/phpipam/master/Dockerfile
# wget https://raw.githubusercontent.com/pierrecdn/phpipam/master/php.ini

ビルド

ダウンロードしたのは Dockerfile(と php.ini)なので、ビルドして Docker イメージを作成します。
※Dockerfile はパッケージや設定情報を記載した Docker イメージ用の構成ファイルです。
※php.ini はビルド中に参照されるのでダウンロードしておきます。

  • docker build 構文
    docker build -t {Docker イメージ名} {Dockerfile が存在するディレクトリ}
# pwd
/tmp

# docker build -t phpipam:1 ./

Successfully built xxxxxxxxxxxx
Successfully tagged phpipam:1

コンテナ起動

docker run コマンドを使って Docker コンテナを起動します。

なお、初回起動時はローカルにイメージがないため、Docker Hub からイメージを pull(取得)してからコンテナを起動します。

ipam/mysql 起動

下記に「my-secret-pw」があるので任意で変更してください。

# docker run --name phpipam-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -v /my_dir/phpipam:/var/lib/mysql -d mysql:5.6
Unable to find image 'mysql:5.6' locally
5.6: Pulling from library/mysql

Status: Downloaded newer image for mysql:5.6

ipam 起動

下記に「my-secret-pw」があるので任意で変更してください。

# docker run -ti -d -p 80:80 -e MYSQL_ENV_MYSQL_ROOT_PASSWORD=my-secret-pw --name ipam --link phpipam-mysql:mysql pierrecdn/phpipam
Unable to find image 'pierrecdn/phpipam:latest' locally
latest: Pulling from pierrecdn/phpipam

Status: Downloaded newer image for pierrecdn/phpipam:latest

phpIPAM 起動

Git Hub に記載されている URL とは異なりました。

base on GitHub - pierrecdn/phpipam: phpIPAM Docker image

Browse to http://<ip>[:<specific_port>]/install/


  • http://<ip>[:<specific_port>]/install/

  • http://<ip>[:<specific_port>]/index.php?page=install

phpIPAM セットアップ

  • インストール方法選択
    1. New phpipam installation
      Select this option to install fresh instance of phpipam.
    2. Migrate phpipam installation
      Select this option to migrate phpipam database from another server. Place SQL dump from old server to directory db and name it MIGRATE.sql (db/MIGRATE.sql).
    3. Working installation
      Select this option if you have a working phpipam installation and this screen occured. Generally it means phpipam was unable to connnect to database. This will check for connection errors.

    1. phpipamの新しいインスタンスをインストールするには、このオプションを選択してください。
    2. 他のサーバーからphpipamデータベースを移行するには、このオプションを選択してください。古いサーバーからディレクトリdbにSQLダンプを置き、それにMIGRATE.sql(db / MIGRATE.sql)という名前を付けます。
    3. phpipamが正常にインストールされていて、この画面が表示された場合は、このオプションを選択してください。一般的にそれはphpipamがデータベースに接続できなかったことを意味します。これは接続エラーをチェックします。
  • 「New phpipam installation」選択時

    We are glad you decided to install phpipam. Before you can start process please:

    Edit settings in config.php file
    Create MySQL database for phpipam, you can do this three ways (select below)

    Before you start installation please visit phpipam installation website https://phpipam.net/documents/installation/ to get all documentation and to make sure all requirements for installation are met.

    phpipamをインストールすることにしました。あなたがプロセスを開始することができる前にしてください:

    config.phpファイルの設定を編集する
    phpipam用のMySQLデータベースを作成するには、この3つの方法があります(以下を選択)。

    インストールを始める前に、phpipamインストールウェブサイトhttps://phpipam.net/documents/installation/にアクセスして、すべてのドキュメントを入手し、インストールに関するすべての要件が満たされていることを確認してください。

  • DB セットアップ選択
    1. Automatic database installation
      phpipam installer will create database for you automatically.
    2. MySQL import instructions
      Install DB files with mysqlimport tool.
    3. Manual database installation
      Install database manually with SQL queries.

    1. 自動データベースインストール
      phpipamインストーラは自動的にデータベースを作成します。
    2. MySQLのインポート手順
      mysqlimportツールを使ってDBファイルをインストールします。
    3. 手動データベースインストール
      SQLクエリを使用してデータベースを手動でインストールします。
  • 「1. Automatic database installation」選択時

  • 設定例
Automatic database installation
MySQL username root
MySQL password {my-secret-pw}
MySQL database location mysql
MySQL database name phpipam
Show advanced options
Drop exisitng database [ ] Drop existing database if it exists
Create database [レ] Create new database
Create permissions [レ] Set permissions to tables

[install phpipam database] を押下。

問題なければ「Database installed successfully! 」が表示されるので、[Continue] を押下。

  • パスワード設定
  • 設定例
Postinstall configuration
Admin password (任意)
Site title (任意)
Site URL (任意 / ブランク可)

[Save settings] を押下。

問題なければ「Settings updated, installation complete!」が表示されるので [Proceed to login] を押下。
そのまま、上記で設定した id・パスワードで phpIPAM にログインできます。