Ver código fonte

Initial import

tags/v1.0
Ramiro de Zavalia 5 anos atrás
pai
commit
8f87d510f1
4 arquivos alterados com 152 adições e 2 exclusões
  1. 34
    2
      README.md
  2. 43
    0
      defaults/main.yml
  3. 58
    0
      tasks/main.yml
  4. 17
    0
      templates/librenms.conf.j2

+ 34
- 2
README.md Ver arquivo

@@ -1,3 +1,35 @@
# librenms
# Ansible role to deploy librenms on debian

ansible role to deploy librenms on debian
## Requirement

You need a debian OS (tested on debian 10). You will also need apache installed
on the same host and a mysql database.

## Variables (in defaults)

* **librenms_user** - default value: librenms
* **librenms_group** - default value: "{{librenms_user}}"
* **librenms_home** - default value: /opt/librenms
* **librenms_db_host** - default value: 127.0.0.1:3306
* **librenms_db_name** - default value: librenms
* **librenms_db_user** - default value: librenms
* **librenms_db_pass** - default value: xai6oa8va7mai7ChaeTu
* **librenms_fqdn** - default value: localhost
* **librenms_apache_template** - default value: librenms.conf.j2
* **librenms_cert_file** - default value: "/etc/ssl/certs/ssl-cert-snakeoil.pem"
* **librenms_key_file** - default value: "/etc/ssl/private/ssl-cert-snakeoil.key"
* **librenms_tls** - default value: yes
* **librenms_http_port** - default value: 443
* **librenms_version** - default value: master
* **librenms_deb_packages** - list of packages, go check defaults/main.yml

## Example playbook

Go an check the playbook directory

## Role philosophy

* KISS: Keep it simple Smart-Guy
* Only support what you need. No magic
* If you need to fix/troubleshoot or manual install, just go an check the task
and defaults directories. It should be easy to follow the steps

+ 43
- 0
defaults/main.yml Ver arquivo

@@ -0,0 +1,43 @@
---

librenms_user: librenms
librenms_group: "{{librenms_user}}"
librenms_home: /opt/librenms
librenms_db_host: 127.0.0.1:3306
librenms_db_name: librenms
librenms_db_user: librenms
librenms_db_pass: xai6oa8va7mai7ChaeTu
librenms_fqdn: localhost
librenms_apache_template: librenms.conf.j2
librenms_cert_file: "/etc/ssl/certs/ssl-cert-snakeoil.pem"
librenms_key_file: "/etc/ssl/private/ssl-cert-snakeoil.key"
librenms_tls: yes
librenms_http_port: 443
librenms_version: master

librenms_deb_packages:
- curl
- composer
- fping
- git
- graphviz
- imagemagick
- libapache2-mod-php7.3
- mtr-tiny
- nmap
- php7.3-cli
- php7.3-curl
- php7.3-gd
- php7.3-json
- php7.3-mbstring
- php7.3-mysql
- php7.3-snmp
- php7.3-xml
- php7.3-zip
- python-memcache
- python-mysqldb
- rrdtool
- snmp
- snmpd
- whois
- ssl-cert

+ 58
- 0
tasks/main.yml Ver arquivo

@@ -0,0 +1,58 @@
---

- name: install debian packages
apt:
name: "{{librenms_deb_packages}}"
state: present

- name: create librenms user
user:
name: "{{librenms_user}}"
comment: "LibreNMS system user"
shell: /bin/bash
password_lock: yes
home: "{{librenms_home}}"
group: www-data
system: yes

- name: clone git repo
git:
repo: https://github.com/librenms/librenms.git
dest: "{{librenms_home}}"
version: "{{librenms_version}}"
become: yes
become_user: "{{librenms_user}}"


- name: enable apache modules
apache2_module:
state: present
name: "{{item}}"
loop:
- rewrite
notify:
- restart apache

- name: deploy apache template
template:
src: "{{librenms_apache_template}}"
dest: /etc/apache2/sites-available/librenms.conf
notify:
- restart apache

- name: enablre librenms site
file:
src: /etc/apache2/sites-available/librenms.conf
dest: /etc/apache2/sites-enabled/librenms.conf
state: link
notify:
- restart apache

- name: configure snmpd
debug: msg="TBD"

- name: configure cron
debug: msg="TBD"

- name: configure logrotate
debug: msg="TBD"

+ 17
- 0
templates/librenms.conf.j2 Ver arquivo

@@ -0,0 +1,17 @@
<VirtualHost *:{{librenms_http_port>
DocumentRoot "{{librenms_home}}/html/"
ServerName "{{librenms_fqdn}}"

{% if librenms_tls %}
SSLEngine on
SSLCertificateFile "{{nextcloud_cert_file}}"
SSLCertificateKeyFile "{{nextcloud_key_file}}"
{% endif %}

AllowEncodedSlashes NoDecode
<Directory "{{librenms_home}}/html/">
Require all granted
AllowOverride All
Options FollowSymLinks MultiViews
</Directory>
</VirtualHost>

Carregando…
Cancelar
Salvar