Getting started
By default phpIPAM is installed on a separate system account "phpipam"
,
in /srv/www/phpipam/
subdirectory and will be accessible on
https://ipam.<domain>/
. debops.nginx and debops.php roles are used
to configure the required environment.
Example inventory
You can install phpIPAM on a host by adding it to
[debops_service_phpipam]
group in your Ansible inventory:
[debops_service_phpipam]
hostname
Example playbook
Here's an example playbook which uses debops.phpipam
role to install
DokuWiki:
---
- name: Manage phpIPAM service
collections: [ 'debops.debops', 'debops.roles01',
'debops.roles02', 'debops.roles03' ]
hosts: [ 'debops_service_phpipam' ]
become: True
environment: '{{ inventory__environment | d({})
| combine(inventory__group_environment | d({}))
| combine(inventory__host_environment | d({})) }}'
pre_tasks:
- name: Apply keyring configuration for php environment
import_role:
name: 'keyring'
vars:
keyring__dependent_apt_keys:
- '{{ php__keyring__dependent_apt_keys }}'
- '{{ nginx__keyring__dependent_apt_keys }}'
- '{{ mariadb__keyring__dependent_apt_keys }}'
tags: [ 'role::keyring', 'skip::keyring', 'role::php', 'role::nginx', 'role::mariadb' ]
- name: Prepare php environment
import_role:
name: 'php'
tasks_from: 'main_env'
tags: [ 'role::php', 'role::php:env', 'role::logrotate' ]
roles:
- role: apt_preferences
tags: [ 'role::apt_preferences', 'skip::apt_preferences' ]
apt_preferences__dependent_list:
- '{{ php__apt_preferences__dependent_list }}'
- '{{ nginx__apt_preferences__dependent_list }}'
- role: cron
tags: [ 'role::cron', 'skip::cron' ]
- role: logrotate
tags: [ 'role::logrotate', 'skip::logrotate' ]
logrotate__dependent_config:
- '{{ php__logrotate__dependent_config }}'
- role: python
tags: [ 'role::python', 'skip::python', 'role::mariadb' ]
python__dependent_packages3:
- '{{ mariadb__python__dependent_packages3 }}'
- '{{ nginx__python__dependent_packages3 }}'
python__dependent_packages2:
- '{{ mariadb__python__dependent_packages2 }}'
- '{{ nginx__python__dependent_packages2 }}'
- role: php
tags: [ 'role::php', 'skip::php' ]
php__dependent_packages:
- '{{ phpipam__php__dependent_packages }}'
php__dependent_pools:
- '{{ phpipam__php__dependent_pools }}'
when: (phpipam__mode is defined and 'webui' in phpipam__mode)
- role: ferm
tags: [ 'role::ferm', 'skip::ferm' ]
ferm__dependent_rules:
- '{{ nginx__ferm__dependent_rules }}'
- role: nginx
tags: [ 'role::nginx', 'skip::nginx' ]
nginx__dependent_servers:
- '{{ phpipam__nginx__dependent_servers }}'
nginx__dependent_upstreams:
- '{{ phpipam__nginx__dependent_upstreams }}'
when: (phpipam__mode is defined and 'webui' in phpipam__mode)
- role: mariadb
tags: [ 'role::mariadb', 'skip::mariadb' ]
mariadb__dependent_users:
- '{{ phpipam__mariadb__dependent_users }}'
- role: phpipam
tags: [ 'role::phpipam', 'skip::phpipam' ]
Post-install steps
When Ansible is finished, you need to finish the configuration by opening the
https://ipam.<domain>
page. There you will be able to finish
the installation process.
You can then login and configure it using the administrative interface.