summaryrefslogtreecommitdiffstats
path: root/doc/02-Installation.md
diff options
context:
space:
mode:
Diffstat (limited to 'doc/02-Installation.md')
-rw-r--r--doc/02-Installation.md83
1 files changed, 83 insertions, 0 deletions
diff --git a/doc/02-Installation.md b/doc/02-Installation.md
new file mode 100644
index 0000000..fe4b8e4
--- /dev/null
+++ b/doc/02-Installation.md
@@ -0,0 +1,83 @@
+# Installation
+
+## Requirements
+
+* PHP (>= 7.0)
+* Icinga Web 2 (>= 2.9)
+* Icinga Web 2 libraries:
+ * [Icinga PHP Library (ipl)](https://github.com/Icinga/icinga-php-library) (>= 0.8)
+ * [Icinga PHP Thirdparty](https://github.com/Icinga/icinga-php-thirdparty) (>= 0.10)
+* Icinga Web 2 modules:
+ * [Icinga PDF Export](https://github.com/Icinga/icingaweb2-module-pdfexport) (>= 0.10)
+* MySQL / MariaDB or PostgreSQL
+
+## Database Setup
+
+### MySQL / MariaDB
+
+The module needs a MySQL/MariaDB database with the schema that's provided in the `etc/schema/mysql.sql` file.
+
+Example command for creating the MySQL/MariaDB database. Please change the password:
+
+```
+CREATE DATABASE reporting;
+GRANT SELECT, INSERT, UPDATE, DELETE, DROP, CREATE VIEW, INDEX, EXECUTE ON reporting.* TO reporting@localhost IDENTIFIED BY 'secret';
+```
+
+After, you can import the schema using the following command:
+
+```
+mysql -p -u root reporting < schema/mysql.sql
+```
+
+## PostgreSQL
+
+The module needs a PostgreSQL database with the schema that's provided in the `etc/schema/postgresql.sql` file.
+
+Example command for creating the PostgreSQL database. Please change the password:
+
+```sql
+CREATE USER reporting WITH PASSWORD 'secret';
+CREATE DATABASE reporting
+ WITH OWNER reporting
+ ENCODING 'UTF8'
+ LC_COLLATE = 'en_US.UTF-8'
+ LC_CTYPE = 'en_US.UTF-8';
+```
+
+After, you can import the schema using the following command:
+
+```
+psql -U reporting reporting -a -f schema/postgresql.sql
+```
+
+## Module Installation
+
+1. Install it [like any other module](https://icinga.com/docs/icinga-web-2/latest/doc/08-Modules/#installation).
+Use `reporting` as name.
+
+2. Once you've set up the database, create a new Icinga Web 2 resource for it using the
+`Configuration -> Application -> Resources` menu. Make sure that you set the character set to `utf8mb4`.
+
+3. The next step involves telling the Reporting module which database resource to use. This can be done in
+`Configuration -> Modules -> reporting -> Backend`. If you've used `reporting` as name for the resource,
+you can skip this step.
+
+This concludes the installation. Now continue with the [configuration](03-Configuration.md).
+
+## Scheduler Daemon
+
+There is a daemon for generating and distributing reports on a schedule if configured:
+
+```
+icingacli reporting schedule run
+```
+
+This command schedules the execution of all applicable reports.
+
+You may configure this command as `systemd` service. Just copy the example service definition from
+`config/systemd/icinga-reporting.service` to `/etc/systemd/system/icinga-reporting.service` and enable it afterwards:
+
+```
+systemctl enable icinga-reporting.service
+```