You can support us by downloading this article as PDF from the Link below. Download the guide as PDF

The objective of this guide is to help you Install and Configure phpIPAM on Ubuntu 20.04/18.04 & Debian 10 Linux distribution. phpIPAM is an open-source php-based web IP address management application (IPAM). Its goal is to provide light, modern and useful IP address management. phpIPAM uses MySQL database backend and jQuery libraries, Ajax and HTML5/CSS3 features.

phpIPAM has the following features:

  •  IPv4/IPv6 IP address management
  •  Section / Subnet management
  •  Automatic free space display for subnets
  •  Visual subnet display
  •  Automatic subnet scanning / IP status checks
  •  PowerDNS integration
  •  NAT support
  • VLAN management
  • VRF management
  • IPv4 / IPv6 calculator
  • IP database search
  • E-mail notifications
  • Custom fields support
  • Translations
  • Changelogs
  •  RACK management
  • Domain authentication (AD, LDAP, Radius)
  • Per-group section/subnet permissions
  • Device/device types management
  • RIPE subnets import
  • XLS / CVS subnets import
  • IP request module
  • REST API
  • Locations module

Install phpIPAM on Ubuntu 20.04/18.04 / Debian 10 Linux

phpIPAM has a number of dependencies that we need to install before we can install and configure phpIPAM. These are:

  1. MySQL / MariaDB server
  2. php / php-fpm for nginx
  3. php modules
  4. Apache / nginx web server

Step 1: Install MariaDB  Server

Use the following guide to install MariaDB server:

Install MariaDB on Ubuntu 18.04 and CentOS 7

Install MariaDB on Debian 10

How To Install MariaDB Server on Ubuntu 20.04 (Focal Fossa)

Once the database installation and setup is complete, create a database for phpipam user:

$ sudo mysql -u root -p

CREATE DATABASE phpipam;
GRANT ALL ON phpipam.* TO [email protected] IDENTIFIED BY 'StrongDBPassword';
FLUSH PRIVILEGES;
QUIT;

Step 2: Install PHP and required modules

Next phase is the installation of php and required modules. Run the following commands:

sudo apt update 
sudo apt -y install php php-{mysql,curl,gd,intl,pear,imap,memcache,pspell,tidy,xmlrpc,mbstring,gmp,json,xml,fpm}

Step 3: Install phpIPAM on Debian 10 / Ubuntu 20.04/18.04 LTS

We’ll download phpIPAM from Github. Install git first:

sudo apt -y install git

Clone phpIPAM code from github

sudo git clone --recursive https://github.com/phpipam/phpipam.git /var/www/html/phpipam

Change to clone directory.

cd /var/www/html/phpipam

You can also download phpipam from official Sourceforge repository and extract it to your web server directory.

Step 4: Configure phpIPAM on Ubuntu 20.04/18.04 / Debian 10

Change your working directory to /var/www/html/phpipam and copy config.dist.php to config.php, then edit it.

cd /var/www/html/phpipam
sudo cp config.dist.php config.php

Edit the file to configure database credentials as added on Step 1:

$ sudo vim config.php
/**
* database connection details
******************************/
$db['host'] = 'localhost';
$db['user'] = 'phpipam';
$db['pass'] = 'StrongDBPassword';
$db['name'] = 'phpipam';
$db['port'] = 3306;

Option 1: Using Nginx Web server

Install nginx using the command:

sudo systemctl stop apache2 && sudo systemctl disable apache2
sudo apt -y install nginx

Configure nginx:

sudo vim /etc/nginx/conf.d/phpipam.conf

Add content:

Ubuntu 20.04:

server {
    # root directory
    root   /var/www/html;

    # phpipam
    location /phpipam/ {
        try_files $uri $uri/ /phpipam/index.php;
        index index.php;
    }
    # phpipam - api
    location /phpipam/api/ {
        try_files $uri $uri/ /phpipam/api/index.php;
    }

    # php-fpm
    location ~ \.php$ {
        fastcgi_pass   unix:/run/php/php7.4-fpm.sock;
        fastcgi_index  index.php;
        try_files      $uri $uri/ index.php = 404;
        include        fastcgi_params;
    }
 }

Ubuntu 18.04:

server {
    # root directory
    root   /var/www/html;

    # phpipam
    location /phpipam/ {
        try_files $uri $uri/ /phpipam/index.php;
        index index.php;
    }
    # phpipam - api
    location /phpipam/api/ {
        try_files $uri $uri/ /phpipam/api/index.php;
    }

    # php-fpm
    location ~ \.php$ {
        fastcgi_pass   unix:/run/php/php7.2-fpm.sock;
        fastcgi_index  index.php;
        try_files      $uri $uri/ index.php = 404;
        include        fastcgi_params;
    }
 }

Debian 10:

server {
    # root directory
    root   /var/www/html;

    # phpipam
    location /phpipam/ {
        try_files $uri $uri/ /phpipam/index.php;
        index index.php;
    }
    # phpipam - api
    location /phpipam/api/ {
        try_files $uri $uri/ /phpipam/api/index.php;
    }

    # php-fpm
    location ~ \.php$ {
        fastcgi_pass   unix:/run/php/php7.3-fpm.sock;
        fastcgi_index  index.php;
        try_files      $uri $uri/ index.php = 404;
        include        fastcgi_params;
    }
 }

Change ownership of the /var/www/ directory to www-data user and group.

sudo chown -R www-data:www-data /var/www/html
sudo systemctl restart nginx

Option 2: Using Apache Web Server

If you would like to use Apache web server, first install it using:

sudo systemctl stop nginx && sudo systemctl disable nginx
sudo apt -y install apache2
sudo a2enmod rewrite
sudo systemctl restart apache2

Install apache php module:

sudo apt -y install libapache2-mod-php php-curl php-xmlrpc php-intl php-gd

Add Apache phpipam configuration:

<VirtualHost *:80>
    ServerAdmin [email protected]
    DocumentRoot "/var/www/html/phpipam"
    ServerName phpipam.computingforgeeks.com
    ServerAlias www.phpipam.computingforgeeks.com
    <Directory "/var/www/html/phpipam">
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>
    ErrorLog "/var/log/apache2/phpipam-error_log"
    CustomLog "/var/log/apache2/phpipam-access_log" combined
</VirtualHost>

Restart Apache server for changes to be made.

sudo systemctl restart apache2

Step 5: Finish phpIPAM Installation on Ubuntu 20.04/18.04 / Debian 10

Start the installation process by visiting http://domain.com, replace domain.com with your valid domain name. The URL could also be http://domain.com/phpipam or IP Address instead of DNS name depending on your configuration.

On the first page, Select “New phpipam installation

Since we had created a database, we’ll go with “MySQL import instructions“.

This will output the command to import the SQL file.

sudo mysql -u root -p phpipam < /var/www/html/phpipam/db/SCHEMA.sql

For Automatic database installation, set like below.

On successful installation, you should get the admin login page, log in with credentials set above.

The default Login credentials are:

Username: admin
Password: ipamadmin

You’re prompted to change the admin password on the first login.

You have successfully installed phpIPAM on Debian 10 / Ubuntu 18.04 Linux system.

Similar guides:

How to Install NetBox on Ubuntu 18.04 LTS

How To Install phpIPAM on CentOS 8 / RHEL 8

How to install RackTables on Ubuntu 18.04 / Ubuntu 16.04 LTS

How to Install Wiki.js on Ubuntu 18.04 / CentOS 7

You can support us by downloading this article as PDF from the Link below. Download the guide as PDF