This guide deploys BounCA as a PHP web application for certificate authority workflows.
- name: Install BounCA on Debian family
hosts: bounca_debian
become: true
vars:
bounca_web_root: /var/www/bounca
bounca_repo: "https://github.com/rlanvin/php-ldap-admin.git"
bounca_version: "master"
tasks:
- name: Install dependencies
ansible.builtin.apt:
update_cache: true
name:
- apache2
- php
- php-mbstring
- php-xml
- php-curl
- php-zip
- openssl
- git
state: present
- name: Clone application repository
ansible.builtin.git:
repo: "{{ bounca_repo }}"
dest: "{{ bounca_web_root }}"
version: "{{ bounca_version }}"
force: false
failed_when: false
- name: Set ownership for web root
ansible.builtin.file:
path: "{{ bounca_web_root }}"
state: directory
recurse: true
owner: www-data
group: www-data
- name: Enable and start Apache
ansible.builtin.systemd:
name: apache2
enabled: true
state: started
- name: Install BounCA on RHEL family
hosts: bounca_rhel
become: true
vars:
bounca_web_root: /var/www/html/bounca
bounca_repo: "https://github.com/rlanvin/php-ldap-admin.git"
bounca_version: "master"
tasks:
- name: Install dependencies
ansible.builtin.dnf:
name:
- httpd
- php
- php-mbstring
- php-xml
- php-cli
- php-zip
- openssl
- git
state: present
- name: Clone application repository
ansible.builtin.git:
repo: "{{ bounca_repo }}"
dest: "{{ bounca_web_root }}"
version: "{{ bounca_version }}"
force: false
failed_when: false
- name: Set ownership for web root
ansible.builtin.file:
path: "{{ bounca_web_root }}"
state: directory
recurse: true
owner: apache
group: apache
- name: Enable and start Apache
ansible.builtin.systemd:
name: httpd
enabled: true
state: started
ansible-playbook -i inventory.ini bounca-install.yml
bounca_debian.Beyond this playbook, we offer:
Contact our automation team: office@linux-server-admin.com