--- - name: install debian packages apt: name: "{{librenms_deb_packages}}" state: present - name: create librenms group group: name: "{{librenms_group}}" state: present system: yes - name: create librenms user user: name: "{{librenms_user}}" comment: "LibreNMS system user" shell: /sbin/nologin password_lock: yes home: "{{librenms_home}}" group: "{{librenms_group}}" system: yes - name: add apache user to librenms group user: name: www-data groups: "{{librenms_group}}" append: yes - name: download librenms unarchive: src: "https://github.com/librenms/librenms/archive/{{librenms_version}}.zip" dest: /tmp remote_src: yes creates: "/tmp/librenms-{{librenms_version}}/README.md" become: yes become_user: "{{librenms_user}}" - name: move librenms to its home copy: remote_src: yes src: "/tmp/librenms-{{librenms_version}}/" dest: "{{librenms_home}}" become: yes become_user: "{{librenms_user}}" - name: set directory owner file: dest: "{{librenms_home}}" owner: "{{librenms_user}}" group: "{{librenms_group}}" mode: 0770 - name: Set the appropriate permissions file: path: "{{librenms_home}}" owner: "{{librenms_user}}" group: "{{librenms_group}}" mode: g+w recurse: true - name: Set the appropriate acl acl: path: "{{librenms_home}}/{{item}}" etype: group permissions: rwx recursive: true default: true state: present loop: - rrd - logs - storage - bootstrap/cache/ - name: clean tmp debug: msg="TBD" - name: run composer command: ./scripts/composer_wrapper.php install --no-dev args: chdir: "{{librenms_home}}" creates: "{{librenms_home}}/composer.phar" become: yes become_user: "{{librenms_user}}" - name: setup config file template: src: config.php.j2 dest: "{{librenms_home}}/config.php" owner: "{{librenms_user}}" group: "{{librenms_group}}" - name: setup database command: php build-base.php args: chdir: "{{librenms_home}}" become: true become_user: "{{librenms_user}}" - name: create admin account command: php adduser.php {{librenms_admin_user}} {{librenms_admin_pass}} 10 args: chdir: "{{librenms_home}}" become: true become_user: "{{librenms_user}}" - name: enable apache modules apache2_module: state: present name: "{{item}}" loop: - rewrite - ssl notify: - restart apache - name: deploy apache template template: src: "{{librenms_apache_template}}" dest: /etc/apache2/sites-available/librenms.conf notify: - restart apache - name: enable librenms site file: src: /etc/apache2/sites-available/librenms.conf dest: /etc/apache2/sites-enabled/librenms.conf state: link notify: - restart apache - name: setup cron and logrotate copy: src: "{{librenms_home}}/{{ item.src }}" dest: "{{item.dest}}" remote_src: true loop: - { src: librenms.nonroot.cron, dest: /etc/cron.d/librenms } - { src: misc/librenms.logrotate, dest: /etc/logrotate.d/librenms } - name: make scripts exec file: path: "{{item}}" mode: "0555" loop: - /opt/librenms/cronic - /opt/librenms/discovery.php - /opt/librenms/alerts.php - /opt/librenms/billing-calculate.php - /opt/librenms/check-services.php - /opt/librenms/daily.sh - /opt/librenms/poll-billing.php - /opt/librenms/discovery-wrapper.py - /opt/librenms/poller-wrapper.py - /opt/librenms/poller.php - name: configure snmpd debug: msg="TBD"