October DealsAmazon USOctober deal check: compare before you payAmazon US: current deals, useful picks and tech finds.Check DealsClean PCRecommendedOne scan can reveal what keeps slowing WindowsLook for cleanup and repair opportunities.Run ScanOctober DealsAmazon USDeal season is back - check today's better picksAmazon US: current deals, useful picks and tech finds.See Picks×
Skip to content
VGSources
Blog

How to Self-Host phpIPAM for IP Address Management on a VPS

A practical guide to self-hosting phpIPAM 1.8.2 on a VPS, covering native and Docker deployments, PHP and database requirements, HTTPS proxy headers, discovery capabilities, API automation and tested backups.
Length11 min Posted Quest giverVGSources Team

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Self-hosting phpIPAM 1.8.2 on a VPS gives you a browser-based inventory of subnets, addresses, VLANs and related IPAM objects without sending that data to a hosted service. The reliable deployment sequence is: prepare a supported web and database stack, install the phpIPAM files, create config.php, initialize the database, finish the web installer, publish the application over HTTPS, and establish tested backups.

Choose a native Nginx/Apache installation when you want the fewest moving parts on a single VPS. Choose Docker when packaging and repeatable upgrades matter more, provided you run the separate frontend and cron roles correctly and preserve their database and persistent volumes. The current requirements and release information are maintained in the phpIPAM documentation index.

As an Amazon Associate I earn from qualifying purchases.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

What phpIPAM does and what this VPS must provide

phpIPAM is an open-source web IP address management application. It tracks address utilization and relationships such as sections, subnets, folders and VLANs through a web interface and a REST API. The documentation index lists release 1.8.2 and current installation guidance; use that guidance rather than old blog posts that describe earlier minimum versions (official documentation index).

A VPS deployment has four logical layers:

  • Web layer: Apache with PHP or Nginx with PHP-FPM serves the application.
  • PHP layer: the interpreter and required extensions run the web UI, scans and API.
  • Database layer: MySQL-compatible storage holds the IPAM data.
  • Operations layer: HTTPS termination, scheduled jobs, backups, monitoring and access control keep the service usable.

You can place all layers on one VPS for a small installation or put the database on a separate host. In either case, restrict the database listener and credentials so only the application host can connect.

#1 Best Overall
Sale
Gaoye Blue Light Blocking Glasses
  • BLUE LIGHT BLOCKING GLASSES: Our blue light glasses for women boast UV400 protection, blocking harmful blue rays from computer screens. With these bluelight glasses women, you can enjoy gaming, reading, or watching TV with no worries of eye strain.
  • EYE RELIEF: Our blue light glasses are engineered to reduce blurry vision or strain caused by prolonged screen time. These womens blue light glasses aid in better sleep by preventing blue light from disrupting your natural sleep cycle, helping you fall asleep faster and enjoy a more restful night's sleep, making them the perfect christmas present.
  • COMFORTABLE: Crafted from durable material, our trendy blue light glasses for woman or blue light glasses men ensure long-lasting comfort. The high-transmittance lenses accessories, gamer gifts for men, help keep your eyes relaxed. Perfect stocking stuffers, gifts for gamers men, christmas gifts for men, halloween costumes.
  • LIGHTWEIGHT: These clear blue light glasses feature a lightweight frame, meaning they’ll stay comfy for long-term wear. Perfect as blue blockers glasses for women or mens blue light glasses, these non-prescription fake glasses for men can be worn throughout the day. The blue light blocking glasses women feature polycarbonate HD lenses, which are anti-reflective and restore true color.
  • WORRY-FREE PURCHASE: If you experience any issues, our support team is ready to assist you quickly. These are the perfect costume glasses for cosplay dressing up.

Native installation or Docker?

Both approaches are supported. The trade-off is operational rather than feature-based: a native install uses the VPS distribution’s web server, PHP packages and service manager, while Docker packages the application runtime but still needs a database and durable storage.

Decision point Native Nginx/Apache Docker
Operational complexity Fewer layers on one VPS, but you maintain host PHP, extensions, web-server configuration and service upgrades. Application packaging is consistent, but you maintain Docker, networks, volumes, environment files and container lifecycle.
Upgrade method Pull the new application code, review configuration and run the release’s upgrade steps while keeping host packages compatible. Pull and deploy a tested image; keep the database and persistent volumes outside the disposable container.
Isolation phpIPAM shares the host’s PHP and web-server environment. The frontend and cron processes are packaged separately from the host runtime.
Backups Back up the MySQL database plus configuration files and any uploaded or otherwise persistent application data. Back up the MySQL database and every Docker volume or bind mount required by the chosen deployment; an image alone is not a backup.
Reverse proxy Terminate TLS in Nginx or Apache, or place another proxy in front of the web server. Terminate TLS in a proxy and forward traffic to the frontend container; preserve the correct URL base and forwarded-header policy.
Network discovery The host’s PHP/CLI process can use the required networking functions when permissions and extensions are present. The frontend and cron containers need NET_ADMIN and NET_RAW for ping and SNMP functions. Kubernetes deployments also need allowPrivilegeEscalation=true for those capabilities.

Docker’s maintained layout uses a phpipam-www frontend container and a separate phpipam-cron container. You may load-balance multiple frontend replicas, but run only one cron container so scheduled work is not duplicated (official Docker image documentation).

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Prerequisites and version requirements

Web server and PHP

The official installation guide supports Apache2 with PHP or Nginx with PHP-FPM. Install PHP through your distribution and verify that the web-server user can read the application directory and write only where phpIPAM requires it. The documented extension set includes:

  • PDO and PDO MySQL
  • Sessions and sockets
  • OpenSSL
  • GMP
  • LDAP
  • crypt
  • SimpleXML and JSON
  • gettext and filter
  • mbstring
  • PEAR
  • pcntl and PHP CLI when scanning is required

Package names differ between distributions, so check each module with your operating system’s PHP module tool and confirm the CLI and FPM versions match. A missing extension usually appears as an installer error or as a feature that fails only when scanning, LDAP authentication or API requests are used.

Database compatibility

The installation guide’s legacy requirement text says MySQL 5.1 or newer, but current repository guidance supersedes that minimum for modern releases. MySQL 5.7.7 or newer is mandatory for utf8mb4 from phpIPAM 1.6.0 onward. MySQL 8.0 or newer, or MariaDB 10.2.1 or newer, is highly recommended for common-table-expression support (phpIPAM repository compatibility guidance). Confirm the actual server version before importing the schema.

Rank #2
Windex Gaming Cleaning Wipes, Pre-Moistened Wipes to Instantly Clean all Gaming Gear and Electronics, Resealable Packaging for a Freshness Lock, 25 count (Pack of 1)
  • WINDEX GAMING WIPES: effortlessly clean all your gaming gear and gaming electronics in one easy step with our new Windex Gaming Wipes
  • AMMONIA FREE: our ammonia-free formula is safe to use on all of your favorite gaming equipment like consoles, headsets, controllers, screens, keyboards, and more
  • PRE-MOISTENED WIPES: each wipe instantly removes dust, dirt, and stubborn smudges and fingerprints leaving a streak-free shine
  • ANTI-STATIC: great for cleaning and wiping down your gaming gear and electronics leaving behind no visible residue
  • COMPACT RESEALABLE PACKAGE: store your pack of Windex Gaming Wipes anywhere in your home for whenever a quick and easy wipedown is needed

Network and access prerequisites

  • A DNS name that resolves to the VPS, or a controlled internal name for private use.
  • Firewall rules allowing HTTPS to the proxy or web server and database traffic only from the application host.
  • SSH or console access with enough privilege to install packages, create a database and configure services.
  • A backup destination outside the VPS, preferably encrypted and access-controlled.
  • A plan for administrator authentication, least-privilege database credentials and secret storage.

Install phpIPAM natively on the VPS

1. Prepare the host and web root

Patch the VPS, set its time zone and hostname, then install Apache2 with PHP or Nginx with PHP-FPM. Create a dedicated web root for phpIPAM rather than placing unrelated applications in the same directory. Keep the application owner and web-server group intentional, and do not make the entire tree world-writable.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Enable URL rewriting in the web server. The REST API requires rewriting, and incorrect rewrite rules commonly produce 404 responses for API endpoints even when the login page works (REST API documentation).

2. Obtain the application code

Download a tagged release or clone the official repository from the phpIPAM project repository. Keep the release under version control or retain the release archive so you can identify exactly what is running. Do not overwrite a working installation blindly; read the release notes and preserve your configuration before upgrading.

3. Create and edit config.php

Inside the phpIPAM directory, copy config.dist.php to config.php. Set the database host, database name, database user, database password and the application’s base path or URL setting. The base path must match how the web server exposes phpIPAM: an installation at the domain root and one under a subdirectory require different values.

Store the file with restrictive permissions. The database account should be dedicated to phpIPAM and granted only the permissions needed for its schema and normal operation. Do not reuse a server administrator account or place the password in a publicly readable web directory.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Rank #3
Sale
LISEN Cell Phone Stand Phone Holder for Desk, Office Decor Gadgets for Men
  • Ergonomic & Adjustable Design: Fight "text neck" and improve your posture. Designed for comfort, it offers an adjustable height (7.1in-8.5in) (1.4in adjustable range) and angle (5°-85°) Please note: cell phone stand is only 9 inches tall—the length of a standard pencil
  • Without blocking subtitles Perfect for office desk Tiktok Face Time Zoom video—this is the ultimate kitchen desk essential for phones! Perfect viewing experience while reducing neck back strain, A must-have for gamers streamers desk, and anyone who values both style and support!
  • Sleek & Stable Design fits Otterbox Case: Say goodbye to bent cables, tangles, and tip-overs! LISEN’s stylish adjustable desk phone holder features a built-in charging hole and smart cable management, keeping your phone secure and your workspace clutter-free cool gadgets for men
  • ANTI-SLIP DESIGN free hands: The under 10.00 items easy gadgets back and the bottom of this kitchen essentials for women are fully covered by anti-skid silicone, which LISEN stand up desk decor can provide maximum protection device from any scratches and slides
  • Your Perfect Viewing Companion:If your product arrives damaged or breaks within 365 days, reach out to LISEN for a quick and hassle-free solution. Struggling with assembly, like tightening the screw? We’ve got your back! Your experience matters to us. (Product including: phone Holder stand*1, screw*1, hexagon screwdriver*1, specification*1)

4. Create the database and initialize the schema

Create an empty database using the character set and collation appropriate for your supported MySQL or MariaDB version, then create the dedicated user and grant it access to that database. Import db/SCHEMA.sql from the application tree, or leave the schema creation to the browser installer if you prefer the guided route. Whichever route you choose, record the database name and credentials in config.php and verify that the PHP process can connect before troubleshooting the web UI.

5. Complete the browser installer

  1. Open the configured HTTPS URL in a browser.
  2. Enter the database connection details if the schema was not imported manually.
  3. Allow the installer to create or validate the schema and initial settings.
  4. Create the first administrator account with a unique, long password.
  5. Confirm that the selected base path, timezone and URL produce working links and static assets.
  6. Sign in and create a non-administrator test account so you can verify permissions safely.

After the first successful login, disable the installation helper. Leaving an installer endpoint available gives an attacker an unnecessary way to alter configuration or initialize a database.

6. Configure the virtual host

Point the Apache document root or Nginx server block at the phpIPAM directory, pass PHP requests to the matching PHP-FPM pool when using Nginx, and enable the rewrite rules required by the application. Test the home page, a subnet view, a deliberately unauthorized page and an API URL. Review the web-server error log and PHP-FPM log before changing permissions if a request fails.

Deploy with Docker

Use the two official roles correctly

The maintained image separates the web frontend from scheduled work. Run one or more phpipam-www containers behind your reverse proxy. Run exactly one phpipam-cron container. Multiple cron replicas can execute the same scheduled task more than once, causing duplicate scans or other race conditions.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Rootless Docker is unsupported for this image. If you use Kubernetes, grant the networking capabilities required for discovery and set allowPrivilegeEscalation=true; otherwise ping and SNMP functions will not have the privileges they need.

Rank #4
Ledagic IC+RGBW USB Powered Led Light Bar with App & Remote Control, 2 Pack
  • Easy Installation: Our gaming lights have been designed to enhance your entertainment experience. Simply position the led light bar next to your TV or game console to create a game room environment with ease. They come with USB power and a 60 inch cord for direct mounting and mobility
  • Audio Syncing & Extensive Mode: The built-in high-sensitivity music sensor allows you to sync the TV led lights to your favorite music. Lights react and move to the beat of music, film and game audio, creating an incredible immersive sound and light experience – and all without the need for an additional hub. You can choose from 64+ patterns, including strobe, illusion, jump, energy, gradient, running, chasing, fluttering mode etc. Each mode can be applied to different scenes
  • 64+ Chasing IC+RGB & W Effect: The independent control design of IC+RGB and white all-in-one multifunctional rgbw led bar lights monitor backlight allows you to easily switch the led lights for desk between IC+RGB and white to enjoy a variety of lighting effects, you can choose white lighting mode with high brightness for better illumination when working, etc. Choose IC+RGB lighting mode when you need to create an entertaining atmosphere for the light show, 16 million colours of Color changing rgb light bar let you dance to the beat and create a dynamic party atmosphere
  • Dynamic and Dimmable Lights: 1%-full brightness free brightness adjustment gives you the flexibility to adjust dimmable led light bar for room decorations or a variety of occasions
  • USB Powered: USB light bars for room can be powered by powernank, usb charger, TV, Monitor, laptop PC mainframe, making behind TV led lighting bar easy to install in any location.TV led lights are powered by the TV usb interface / PC mainframe, can be turned on/off synchronously with TV / PC

Provide configuration and secrets

The image accepts environment variables for database and application settings. For production, prefer the corresponding *_FILE variables so passwords are read from mounted secret files rather than exposed in process listings or a compose file. Keep the database outside the disposable frontend container and attach a persistent volume or bind mount for every application path the image documents as stateful (Docker image configuration reference).

A deployment manifest should define the database host, port, name, user and password source; the public URL or base path; the frontend service; the single cron service; health checks; and restart policies. Put the proxy and containers on a private network, expose only the proxy’s HTTPS port, and restrict database connectivity to that network.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Initialize, then lock the installer

  1. Start the database and frontend services with the required environment variables or secret files.
  2. Open the frontend through the proxy and complete the web installer.
  3. Verify login, subnet creation and any required discovery function.
  4. Set IPAM_DISABLE_INSTALLER=1 in the frontend configuration and restart the affected container.
  5. Start the single cron container and inspect its logs for a successful scheduled run.

For an upgrade, pull the intended image version, back up the database and persistent volumes, recreate the frontend and cron containers, and run any database migration required by that release. Keep the previous image available for rollback, but do not roll back application code across an untested database migration without a restoration plan.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Publish phpIPAM safely over HTTPS

Terminate TLS at the right layer

Use a valid certificate and redirect plain HTTP to HTTPS. TLS may terminate in Nginx or Apache on the VPS, or in a dedicated reverse-HTTPS proxy in front of the Docker frontend. Ensure the proxy forwards the original scheme and host so generated links, cookies and redirects remain HTTPS.

Trust forwarded headers only from your proxy

When phpIPAM is behind a reverse proxy, set $trust_x_forwarded_headers = true in config.php only when that proxy strips or overwrites client-supplied forwarding headers. The project specifically warns that these headers must be filtered or overwritten to prevent abuse and login-loop problems (phpIPAM repository reverse-proxy guidance).

Best Value
Sale
HUANUO FlowLift™ Dual Monitor Stand, Fully Adjustable Gaming Monitor Desk Mount for 13–32″ Computer Screens, Full Motion VESA 75x75/100x100 with C-Clamp & Grommet Base, Each Arm Holds 4.4 to 19.8 lbs
  • Compatible with Wide Screens - To ensure compatibility with the dual monitor mount, your each monitor must meet three conditions at the same time: First, computer screens size range: 13 to 32 inches. Second, screen weight range: 4.4 to 19.8 lbs. Third, the back of the monitor screen must have VESA mounting holes with a pitch of 75x75mm or 100x100mm.
  • Regarding the compatibility with desks - Your desk must meet three conditions at the same time: First, desk material: Only wooden desks are recommended, plastic or glass desks cannot be used. Second, desk thickness range: 0.59" - 3.54". Third, the bottom of the desk should not have any cross beams or panels, as this will interfere with installation. We recommend carefully checking that your desk and monitors meets all above conditions before purchasing.
  • Dual C-Clamp Hold - Worried your dual monitors might wobble or slip? Our upgraded base uses a larger platform plus a dual C-clamp structure to lock the dual monitor arm firmly to your desk. Each arm safely keeps your screens steady while you type, click and game—no shaking, no sliding, just a clean and secure setup you can trust every day. It also provides Grommet Mounting installation choice, both options ensure stable and secure fixation for your 0.59" - 3.54" desk.
  • Full-Motion Adjustment For Comfortable View - Pull the screen closer when you’re deep in a spreadsheet, push it back to watch videos, or rotate to portrait for coding — moving everything smoothly with just one hand. The monitor stand offers +85°/-50° tilt, ±90° swivel and 360° rotation. Raise your monitor up to 15.75″ to support a healthy sitting posture. Whether you’re working from home, gaming through the night, or switching between video calls and documents, getting the screens to your natural line of sight helps relieve neck, shoulder and back strain so you can stay focused longer with less fatigue.
  • Keep Your Desk Organized: By lifting both screens off the desktop, this dual monitor stand opens up valuable space for your keyboard, notebook, docking station or a simple, clutter-free work area. Built-in cable management guides wires along the arms, keeping cords out of sight and out of the way. Enjoy a tidy, modern workstation that looks as good as it feels to use.

Filter or replace all of the following at the trusted proxy:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
  • X_FORWARDED_FOR
  • X_FORWARDED_HOST
  • X_FORWARDED_PORT
  • X_FORWARDED_PROTO
  • X_FORWARDED_SSL
  • X_FORWARDED_URI

Never accept these values directly from an internet client and then tell phpIPAM to trust them. Test a normal login, an expired session, a redirect from HTTP to HTTPS and a request containing a deliberately forged forwarding header.

Backups, restoration and routine operations

Back up the database every day

The installation guide gives a daily mysqldump schedule and an example of deleting dump files older than 10 days (official installation guide). Treat that retention as an example, not a universal policy. A practical job should:

  1. Run with a dedicated backup credential and produce a timestamped dump.
  2. Compress and encrypt the dump before it leaves the VPS.
  3. Copy it to storage in a different failure domain.
  4. Alert when the job, upload or encryption step fails.
  5. Apply a retention period that matches your recovery-point and compliance needs.

Back up everything that is stateful

For a native deployment, include the database and the production config.php, while excluding secrets from unencrypted archives. For Docker, include the database plus every persistent application volume or bind mount required by the image. Container layers and a compose file without their data do not restore an IPAM installation.

Test restoration, not just backup creation

At regular intervals, restore a dump into a separate test database or isolated phpIPAM instance. Confirm that users can log in, subnet records and permissions are present, and scheduled jobs can run. Record the restore time and any manual steps. A backup that has never been restored is an unverified assumption, not a recovery plan.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Monitor the service

  • Watch disk usage, database growth, certificate expiry and VPS memory.
  • Alert on failed cron runs, failed backup jobs and repeated PHP-FPM or container restarts.
  • Review authentication logs and proxy logs for unusual requests.
  • Patch the operating system, PHP, database and phpIPAM release on a defined schedule.

Use the REST API for controlled automation

phpIPAM exposes a REST API with authentication, authorization, encrypted-request options and controllers for sections, subnets, folders, VLANs and other IPAM objects (official REST API documentation). URL rewriting must work before API calls will function reliably.

Create narrowly scoped API credentials, store them in a secret manager or protected automation environment, and avoid embedding them in source control or job output. Start with read-only calls, validate the returned object identifiers, and test bulk changes against a non-production instance. Add idempotency checks to provisioning scripts so a retried job does not create duplicate objects or overwrite a manually corrected address.

Troubleshooting by symptom

Symptom Likely cause What to check
Installer reports missing modules A required PHP extension is absent from the web or CLI runtime. Compare enabled modules for PHP-FPM/Apache and CLI; install the missing PDO MySQL, mbstring, LDAP, GMP, sockets, XML, JSON, gettext, PEAR or other documented module.
Database connection fails Wrong host, port, credentials, grant or PHP database driver. Test the same credentials from the VPS, verify the user is allowed from the application host, and confirm the server meets the current MySQL/MariaDB guidance.
CSS, links or redirects point to the wrong place The base path or forwarded scheme/host is inconsistent. Match the phpIPAM base setting to the virtual host or subdirectory and review proxy handling of X_FORWARDED_HOST, X_FORWARDED_PROTO and X_FORWARDED_URI.
API endpoints return 404 URL rewriting is disabled or the proxy is not passing the request to the application. Enable the Apache rewrite module or the equivalent Nginx rules, then test a simple API route through the same public URL.
Ping or SNMP discovery fails in Docker The container lacks raw-socket and network-administration capabilities. Grant NET_RAW and NET_ADMIN; on Kubernetes also set allowPrivilegeEscalation=true. Confirm the cron role, not an unintended second replica, performs scheduled scans.
Login loops behind a proxy Client-controlled forwarded headers or a mismatch between HTTP and HTTPS. Strip and overwrite every documented forwarded header at the proxy, enable trust only for that sanitized proxy path, and verify TLS termination and cookie scheme.
Scheduled work runs twice More than one cron container or scheduler is active. Keep one phpIPAM cron container and disable duplicate host timers or replicas.

A production-readiness checklist

  • phpIPAM 1.8.2 or the intended supported release is recorded, with its upgrade notes.
  • The PHP web and CLI runtimes have the documented extensions.
  • The database meets the current utf8mb4 and common-table-expression recommendations.
  • The application uses a dedicated, least-privilege database account.
  • The correct base path and URL rewrite behavior have been tested.
  • HTTPS is enforced and certificates are monitored.
  • Forwarded headers are sanitized before phpIPAM trusts them.
  • The installer helper is disabled with IPAM_DISABLE_INSTALLER=1 after setup, or otherwise removed from exposure.
  • Docker deployments run one cron container and grant discovery capabilities only when needed.
  • Daily encrypted backups leave the VPS, failures alert someone, and a recent restore has succeeded in isolation.
  • API credentials are scoped, secret and tested against a non-production instance.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

Leave a Reply

Your email address will not be published. Required fields are marked *

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

More quests from Patch Notes

  1. How to Set Up a RedM (RDR2) Server in 2026: License Key, txAdmin and server.cfg, Step by StepBlog11min
  2. Best RedM (RDR2) Server Hosting in 2026: Comparing Four Hosts on Slots, Memory and PriceBlog10min
  3. How to Host a Mindustry Server in 2026: server-release.jar, Port 6567 and the Commands That MatterBlog7min
Recommended PC Tool
Recommended PC Tool
Crashes, No Sound, or Screen Glitches?Free driver scan
Windows Errors? Fix Them Before They SpreadFree repair scan

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.