MENU
  • VPS(レンタルサーバ)比較
  • ITエンジニアの転職
  • IT技術入門(Engineers.LOG)
カテゴリー
  • IT関連 (623)
    • Bootstrap (2)
    • クラウド (4)
    • サーバー技術 (185)
    • ストレージ (7)
      • NetApp (7)
    • ネットワーク技術 (91)
      • Cisco (36)
      • Juniper (18)
      • 負荷分散装置 (17)
    • パソコン関連 (92)
      • MAC (25)
      • Windows (54)
    • プログラミング (154)
      • Ansible (11)
      • C言語 (23)
      • Python (111)
        • Django (20)
    • 仮想化 (88)
      • Docker (63)
      • VMware (23)
  • VPS (200)
    • ABLENET VPS (16)
    • Amazon Lightsail(VPS) (2)
    • ConoHaVPS (37)
    • mixhostVPS (4)
    • WebARENAIndigo (16)
    • XServerVPS (34)
    • お名前.com VPS (12)
    • さくらのVPS (24)
    • カゴヤクラウドVPS (13)
    • シンVPS (7)
  • レンタルサーバー (56)
    • エックスサーバー (38)
  • 光回線 (8)
  • 技術スキルアップ開発・学習 (7)
    • Envader (2)
    • RareTECH (2)
    • Udemy (3)
もう現役20年超えましたー。経験値ならだれにも負けないエンジニア技術ブログ
インフラエンジニアの技術LOG
  • VPS(レンタルサーバ)比較
  • ITエンジニアの転職
  • IT技術入門(Engineers.LOG)
インフラエンジニアの技術LOG
  • VPS(レンタルサーバ)比較
  • ITエンジニアの転職
  • IT技術入門(Engineers.LOG)
  1. ホーム
  2. IT関連
  3. サーバー技術
  4. IPアドレス管理ツール「phpipam」インストール(CentOS8)Dockerコンテナ構築手順

IPアドレス管理ツール「phpipam」インストール(CentOS8)Dockerコンテナ構築手順

2020 11/15
サーバー技術
2020年11月10日2020年11月15日

IPアドレス管理表をエクセルで管理するのはめんどくさくさい。該当のIPアドレスが何に使われているのか、使用されているのか、いないのか確認するのもめんどくさいと感じるエンジニアは多いはずです。

こんなローカルな管理やはやめてIPアドレス管理ツールはないかと調べていたところすごくオススメのツールを見つけ構築しました。

「phpipam」

IPアドレス管理もできるし、死活管理もできる。しかもどの用途で使われているかなど詳細な情報を入れることも可能です。
かなりオススメなツールなので構築手順を紹介します。

CentOSのバージョンは以下となります。

$ cat /etc/redhat-release 
CentOS Linux release 8.2.2004 (Core) 
目次
安くて高速!高性能VPSで快適開発!
最速5分でサーバー構築
>>>こちらをチェック

エンジニア必見! 技術力を伸ばすVPS徹底比較
>>>VPS比較

「phpipam」でIPアドレス管理を簡素化。Dockerコンテナで簡単インストール

phpipamをインストールするために事前にインストールを実行するフォルダを作成します。
私はルート直下に以下のフォルダを作成しました。

$ mkdir /docker/phpipam
$ cd /docker/phpipam/

次に作成したフォルダはいかに「docker-compose.yml」を作成します。
「docker-compose.yml」のコードは以下のサイトを参考にしています。

参考URL
phpipam/phpipam-www

以下コマンドでファイルを作成します。

$ vim docker-compose.yml

タイムゾーンは日本。アクセスポートは80で設定する様にします。
そのままコピペで貼り付けます。

version: '3'

services:
  phpipam-web:
    image: phpipam/phpipam-www:latest
    ports:
      - "80:80"
    environment:
      - TZ=Asia/Tokyo
      - IPAM_DATABASE_HOST=phpipam-mariadb
      - IPAM_DATABASE_PASS=my_secret_phpipam_pass
      - IPAM_DATABASE_WEBHOST=%
    restart: unless-stopped
    volumes:
      - phpipam-logo:/phpipam/css/images/logo
    depends_on:
      - phpipam-mariadb

  phpipam-cron:
    image: phpipam/phpipam-cron:latest
    environment:
      - TZ=Asia/Tokyo
      - IPAM_DATABASE_HOST=phpipam-mariadb
      - IPAM_DATABASE_PASS=my_secret_phpipam_pass
      - SCAN_INTERVAL=1h
    restart: unless-stopped
    depends_on:
      - phpipam-mariadb

  phpipam-mariadb:
    image: mariadb:latest
    environment:
      - MYSQL_ROOT_PASSWORD=my_secret_mysql_root_pass
    restart: unless-stopped
    volumes:
      - phpipam-db-data:/var/lib/mysql

volumes:
  phpipam-db-data:
  phpipam-logo:

firewallで「phpipam」へのアクセスを許可する

phpipamにアクセスするためのアクセスポートをfirewallで許可します。
今回は80番ポート(http)を指定しましたので以下で対象ポートを開放します。

事前確認では対象ポートが許可されていません

$ firewall-cmd --list-all
public (active)
  target: default
  icmp-block-inversion: no
  interfaces: ens192
  sources:
  services: cockpit dhcpv6-client ssh
  ports:
  protocols:
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:

httpサービスもしくはtcp80番ポートを許可する設定を実施します。

$ firewall-cmd --add-service=http --permanent
success

or

$ firewall-cmd --add-port=80/tcp --zone=public --permanent
success

設定を反映させるためにfirewallの再起動を実施します。

$ firewall-cmd --reload
success

再起動後、サービスもしくはポートが以下出力結果で許可されていることを確認します。

$ firewall-cmd --list-all
public (active)
  target: default
  icmp-block-inversion: no
  interfaces: ens192
  sources:
  services: cockpit dhcpv6-client http ssh
  ports: 80/tcp
  protocols:
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:

注意!「CentOS8」dockerコンテナで起動してもデータベースエラーが発生するので事前対応

CentOSでDockerコンテナ間の通信が必要となります。(今回はphpipamとデータベース間)
firewallで設定をしていない場合、以下の様なエラーが発生し、データベースへアクセスができません。

phpipamは起動しません。

Could not connect to database! SQLSTATE[HY000] [2002] Host is unreachable

そのため、コンテナ間通信をするためにNAPTを許可する設定を追加します。

$ firewall-cmd --add-masquerade --permanent
success
$ firewall-cmd --reload
success
$ firewall-cmd --list-all
public (active)
  target: default
  icmp-block-inversion: no
  interfaces: ens192
  sources:
  services: cockpit dhcpv6-client http ssh
  ports: 80/tcp
  protocols:
  masquerade: yes
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:

「phpipam」起動

上記設定が完了したら、「docker-compose」コマンドで「phpipam」を起動します。

$ docker-compose up -d
Pulling phpipam-mariadb (mariadb:latest)...
latest: Pulling from library/mariadb
6a5697faee43: Pull complete
ba13d3bc422b: Pull complete
a254829d9e55: Pull complete
2ee2cadd29fc: Pull complete
6915a184049d: Pull complete
5ca6ffdb5f56: Pull complete
1537f7bbef8b: Pull complete
5790e54322d1: Pull complete
ea98cb829471: Pull complete
9435498523fe: Pull complete
8f74422942d3: Pull complete
1a9f2d945b70: Pull complete
Digest: sha256:a1988653a7aa0b76a2f2034754bb25ebdcd9030fadc5118f9f837a197a803720
Status: Downloaded newer image for mariadb:latest
Pulling phpipam-cron (phpipam/phpipam-cron:latest)...
latest: Pulling from phpipam/phpipam-cron
188c0c94c7c5: Pull complete
e63f14530b46: Pull complete
2d235303011a: Pull complete
e8f4458d8a19: Pull complete
4fcfd6b825e3: Pull complete
Digest: sha256:eb9cae5054e5c43e12ceb231fda5b67e0e75eff9d3d7993381ed211635b4232f
Status: Downloaded newer image for phpipam/phpipam-cron:latest
Pulling phpipam-web (phpipam/phpipam-www:latest)...
latest: Pulling from phpipam/phpipam-www
188c0c94c7c5: Already exists
e63f14530b46: Already exists
2d235303011a: Already exists
e8f4458d8a19: Already exists
Digest: sha256:80bd20179f195f2b645449fae7c66864370b51ac59897d2c23faa4b5ed41955f
Status: Downloaded newer image for phpipam/phpipam-www:latest
Creating phpipam_phpipam-mariadb_1 ... done
Creating phpipam_phpipam-cron_1    ... done
Creating phpipam_phpipam-web_1     ... done

上記の様に正常に起動したら、「docker ps」コマンドで以下のコンテナが起動していることを確認します。

$ docker ps
CONTAINER ID        IMAGE                         COMMAND                  CREATED             STATUS              PORTS                NAMES
b566128154e0        phpipam/phpipam-www:latest    "/sbin/tini -- /bin/…"   2 days ago          Up 2 days           0.0.0.0:80->80/tcp   phpipam_phpipam-web_1
5cfd6aaa53a1        phpipam/phpipam-cron:latest   "/sbin/tini -- /bin/…"   2 days ago          Up 2 days           80/tcp               phpipam_phpipam-cron_1
a268385d8a04        mariadb:latest                "docker-entrypoint.s…"   2 days ago          Up 2 days           3306/tcp             phpipam_phpipam-mariadb_1

最後にブラウザ(chrom)を開き「phpipam」をインストールしたアドレスへアクセスします。

http:///

phpipamのトップページ(初期設定画面)が表示されたら完了です。

phpipamの初期設定は以下となります。

あわせて読みたい
「phpipam」IPアドレス管理初期設定手順 前回、CentOS8、DockerコンテナでIPアドレス管理ツール「phpipam」のインストール手順を紹介しました。 今回は「phpipam」におけるIPアドレス管理の初期設定を紹介しま...

以上が「phpipam」のインストール手順となります。

あわせて読みたい
サーバーエンジニアへの構築手順書 サーバエンジニアにおすすめの構築手順をまとめたページです。 サーバ初心者の方。じぶんも初心者なので、そっから目線で構築した設計手順書となっています。 ご興味の...
エンジニアスキルをアップする勉強法

ITエンジニアの開発・検証・学習としてインターネット上で専用のサーバ(VPS)を利用しましょう!
実務経験はVPSで学べます。

あわせて読みたい
現役エンジニアがおすすめするVPSレンタルサーバ比較(高速SSD限定) 格安VPS比較(2025年最新版)

サーバー技術
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする コメントをキャンセル

email confirm*

post date*

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)



検索
カテゴリー
新着記事
  • XServerVPS アニメ風 男の子 プログラミングをしている VPSを利用している 楽しそうにしている
    XServerVPSで証明書(SSL)を取得する方法
    2025年3月24日
    XServerVPS
  • レンタルサーバ アニメ風 女の子 楽しんでパソコンをしている 目がキラキラ
    WordPressがレンタルサーバよりVPSで利用する方がおすすめの理由
    2025年3月19日
    VPS
  • VPS レンタルサーバー アニメ風 女の子 プログラミングをしている VPSを利用している 楽しそうにしている
    VPSとクラウドの違いとは?初心者向けにわかりやすく解説
    2025年3月5日
    VPS
  • シンVPS アニメ風 女の子 パソコン プログラミングをしている VPSを利用している 楽しそうにしている
    シンVPSはWindows serverを利用できない。その理由と利用できるOSは?
    2025年3月4日
    シンVPS
  • シンVPS アニメ風 女の子 パソコン プログラミングをしている VPSを利用している 楽しそうにしている
    シンVPSでゲームを利用する環境はあるのか
    2025年3月4日
    シンVPS
  • シンVPS アニメ風 女の子 パソコン プログラミングをしている VPSを利用している 楽しそうにしている
    シンVPSのサイトの表示速度は他社に比べて早いのか?
    2025年3月4日
    シンVPS
目次
目次