diff --git a/zabbix-repo/files/zabbix.gpg b/zabbix-repo/files/zabbix.gpg
new file mode 100644
index 0000000000000000000000000000000000000000..d814e63d58dc1a8fb9a823c7e4eca32f24bcc463
--- /dev/null
+++ b/zabbix-repo/files/zabbix.gpg
@@ -0,0 +1,49 @@
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+Version: GnuPG v1.4.10 (GNU/Linux)
+
+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
+ui+/5ZJHakC67t5OgbMas3Hz4Q==
+=HHRW
+-----END PGP PUBLIC KEY BLOCK-----
diff --git a/zabbix-server/files/zabbix-partition.sql b/zabbix-server/files/zabbix-partition.sql
new file mode 100644
index 0000000000000000000000000000000000000000..44b8d2946b07a1c225a2530bd02aeeb0f907ce8d
--- /dev/null
+++ b/zabbix-server/files/zabbix-partition.sql
@@ -0,0 +1,37 @@
+-- http://www.dasm.cz/clanek/zabbix-postgresql-a-table-partitioning
+
+CREATE SCHEMA IF NOT EXISTS partitions AUTHORIZATION zabbix;
+
+CREATE OR REPLACE FUNCTION zbx_history_partition() RETURNS TRIGGER AS $$
+DECLARE
+	parttable TEXT;
+	startdate INT;
+	enddate INT;
+BEGIN
+	-- Figure out the partition table name
+	parttable := TG_TABLE_NAME || to_char(to_timestamp(NEW.clock), 'YYYYMM');
+	-- Try inserting data to the partition
+	EXECUTE 'INSERT INTO partitions.' || parttable || ' SELECT ($1).*' USING NEW;
+	RETURN NULL;
+	-- If the partition does not exist
+	EXCEPTION WHEN undefined_table THEN
+	-- Calculate the start and end dates for the respective day
+	startdate := EXTRACT(epoch FROM date_trunc('month', to_timestamp(NEW.clock)));
+	enddate := EXTRACT(epoch FROM date_trunc('month', to_timestamp(NEW.clock) + '1 month'::INTERVAL));
+	-- Create new partition with indexes, constraints and all the stuff from parent table and add also the clock check
+	EXECUTE 'CREATE TABLE partitions.' || parttable || ' (LIKE ' || TG_TABLE_NAME || ' INCLUDING ALL, CHECK (clock >= ' || startdate || ' AND clock < ' || enddate || ')) INHERITS (' || TG_TABLE_NAME || ')';
+	-- Retry inserting to the newly created partition
+	EXECUTE 'INSERT INTO partitions.' || parttable || ' SELECT ($1).*' USING NEW;
+	RETURN NULL;
+END
+$$ LANGUAGE plpgsql;
+
+CREATE TRIGGER tg_history_before_insert BEFORE INSERT ON history FOR EACH ROW EXECUTE PROCEDURE zbx_history_partition();
+CREATE TRIGGER tg_history_uint_before_insert BEFORE INSERT ON history_uint FOR EACH ROW EXECUTE PROCEDURE zbx_history_partition();
+CREATE TRIGGER tg_history_str_before_insert BEFORE INSERT ON history_str FOR EACH ROW EXECUTE PROCEDURE zbx_history_partition();
+CREATE TRIGGER tg_history_text_before_insert BEFORE INSERT ON history_text FOR EACH ROW EXECUTE PROCEDURE zbx_history_partition();
+CREATE TRIGGER tg_history_log_before_insert BEFORE INSERT ON history_log FOR EACH ROW EXECUTE PROCEDURE zbx_history_partition();
+CREATE TRIGGER tg_trends_before_insert BEFORE INSERT ON trends FOR EACH ROW EXECUTE PROCEDURE zbx_history_partition();
+CREATE TRIGGER tg_trends_uint_before_insert BEFORE INSERT ON trends_uint FOR EACH ROW EXECUTE PROCEDURE zbx_history_partition();
+
+
diff --git a/zabbix-server/handlers/main.yml b/zabbix-server/handlers/main.yml
index 53871342f754f3d7fd514fbdc58d4319d837900d..cb79185f4f3761b2fb75a981b20ee0c132a97079 100644
--- a/zabbix-server/handlers/main.yml
+++ b/zabbix-server/handlers/main.yml
@@ -3,3 +3,7 @@
 - name: restart zabbix server
   service: name=zabbix-server state=restarted
 
+- name: restart postgres
+  service: name=postgresql state=restarted
+  delegate_to: "{{ zabbix_db_host }}"
+
diff --git a/zabbix-server/tasks/main.yml b/zabbix-server/tasks/main.yml
index edc349cb70795e3c7f5fd0b4f600e80e6d95f75b..bc26348740f86a2e2b43b6c01f1b705a1cd6af4a 100644
--- a/zabbix-server/tasks/main.yml
+++ b/zabbix-server/tasks/main.yml
@@ -1,16 +1,111 @@
 ---
 
+# recommends install postgres database and snmpd services
 - name: ensure the server package is installed
-  apt: name=zabbix-server-pgsql state=latest
+  apt: name=zabbix-server-pgsql state=latest install_recommends=no
   notify:
     - restart zabbix server
   tags:
     - packages
     - zabbix
 
-# TODO configure database connection
-# TODO initialize database using (local?) sql files
-# TODO configure completely
+- name: ensure proper configuration of the server
+  template: src=zabbix_server.conf.j2 dest=/etc/zabbix/zabbix_server.conf
+  notify:
+    - restart zabbix server
+  tags:
+    - config
+    - zabbix
+
+- name: ensure the zabbix user has a home directory
+  file: path=/var/lib/zabbix state=directory owner=zabbix group=zabbix
+  tags:
+    - config
+    - zabbix
+
+- name: ensure the zabbix user has a pgpass file
+  template: src=pgpass.j2 dest=/var/lib/zabbix/.pgpass owner=zabbix group=zabbix mode=0600
+  tags:
+    - config
+    - database
+    - zabbix
+
+- name: ensure there is the parition optimization sql file
+  copy: src=zabbix-partition.sql dest=/usr/share/doc/zabbix-server-pgsql/zabbix-partition.sql
+  tags:
+    - database
+    - zabbix
+
+- name: ensure we have a user on the database server
+  postgresql_user: name="{{ zabbix_db_user }}" password="{{ zabbix_db_password }}" state=present role_attr_flags=NOSUPERUSER,NOCREATEDB
+  become: yes
+  become_user: postgres
+  delegate_to: "{{ zabbix_db_host }}"
+  tags:
+    - database
+    - zabbix
+
+- name: ensure we have a database on the database server
+  postgresql_db: name="{{ zabbix_db_name }}" owner="{{ zabbix_db_user  }}" state=present
+  become: yes
+  become_user: postgres
+  delegate_to: "{{ zabbix_db_host }}"
+  tags:
+    - database
+    - zabbix
+
+- name: ensure our user has the necessary privileges for the database
+  postgresql_privs: database="{{ zabbix_db_name }}" roles="{{ zabbix_db_user }}" privs=ALL state=present type=database
+  become: yes
+  become_user: postgres
+  delegate_to: "{{ zabbix_db_host }}"
+  tags:
+    - database
+    - zabbix
+
+- name: ensure the database server listens on the external interface
+  replace: dest=/etc/postgresql/9.4/main/postgresql.conf regexp="#listen_addresses = 'localhost'" replace="listen_addresses = '*'"
+  notify:
+    - restart postgres
+  delegate_to: "{{ zabbix_db_host }}"
+  tags:
+    - database
+    - zabbix
+
+- name: ensure the database server allows connections from the server
+  lineinfile: dest=/etc/postgresql/9.4/main/pg_hba.conf insertafter="host    all             all             127.0.0.1/32            md5" line="host    {{ zabbix_db_name }}          {{ zabbix_db_user }}          {{ ansible_fqdn }} md5" state=present
+  notify:
+    - restart postgres
+  delegate_to: "{{ zabbix_db_host }}"
+  tags:
+    - database
+    - zabbix
+
+- meta: flush_handlers
+
+- name: apply database schema
+  shell: zcat /usr/share/doc/zabbix-server-pgsql/create.sql.gz | psql -h {{ zabbix_db_host }} -U {{ zabbix_db_user }} -w -d {{ zabbix_db_name }} && touch /var/lib/zabbix/.db_schema_created
+  args:
+    creates: /var/lib/zabbix/.db_schema_created
+  become: yes
+  become_user: zabbix
+  notify:
+    - restart zabbix server
+  tags:
+    - database
+    - zabbix
+
+- name: apply database schema optimization
+  shell: psql -h {{ zabbix_db_host }} -U {{ zabbix_db_user }} -w -d {{ zabbix_db_name }} -f /usr/share/doc/zabbix-server-pgsql/zabbix-partition.sql && touch /var/lib/zabbix/.db_schema_optimized
+  args:
+    creates: /var/lib/zabbix/.db_schema_created
+  become: yes
+  become_user: zabbix
+  notify:
+    - restart zabbix server
+  tags:
+    - database
+    - zabbix
 
 - name: ensure the server is enabled and running
   service: name=zabbix-server state=running enabled=yes
diff --git a/zabbix-server/templates/pgpass.j2 b/zabbix-server/templates/pgpass.j2
new file mode 100644
index 0000000000000000000000000000000000000000..043dfcf17400ca3f79cd35d57b208ddd8061cdd4
--- /dev/null
+++ b/zabbix-server/templates/pgpass.j2
@@ -0,0 +1 @@
+{{ zabbix_db_host }}:5432:{{ zabbix_db_name }}:{{ zabbix_db_user }}:{{ zabbix_db_password }}
diff --git a/zabbix-server/templates/zabbix_server.conf.j2 b/zabbix-server/templates/zabbix_server.conf.j2
new file mode 100644
index 0000000000000000000000000000000000000000..f92c4f67e49a6a5c5fa72f52d6f4254677e5a9d0
--- /dev/null
+++ b/zabbix-server/templates/zabbix_server.conf.j2
@@ -0,0 +1,649 @@
+# This is a configuration file for Zabbix server daemon
+# To get more information about Zabbix, visit http://www.zabbix.com
+
+############ GENERAL PARAMETERS #################
+
+### Option: ListenPort
+#	Listen port for trapper.
+#
+# Mandatory: no
+# Range: 1024-32767
+# Default:
+# ListenPort=10051
+
+### Option: SourceIP
+#	Source IP address for outgoing connections.
+#
+# Mandatory: no
+# Default:
+# SourceIP=
+
+### Option: LogType
+#	Specifies where log messages are written to:
+#		system  - syslog
+#		file    - file specified with LogFile parameter
+#		console - standard output
+#
+# Mandatory: no
+# Default:
+# LogType=file
+
+### Option: LogFile
+#	Log file name for LogType 'file' parameter.
+#
+# Mandatory: no
+# Default:
+# LogFile=
+
+LogFile=/var/log/zabbix/zabbix_server.log
+
+### Option: LogFileSize
+#	Maximum size of log file in MB.
+#	0 - disable automatic log rotation.
+#
+# Mandatory: no
+# Range: 0-1024
+# Default:
+# LogFileSize=1
+
+LogFileSize=0
+
+### Option: DebugLevel
+#	Specifies debug level:
+#	0 - basic information about starting and stopping of Zabbix processes
+#	1 - critical information
+#	2 - error information
+#	3 - warnings
+#	4 - for debugging (produces lots of information)
+#	5 - extended debugging (produces even more information)
+#
+# Mandatory: no
+# Range: 0-5
+# Default:
+# DebugLevel=3
+
+### Option: PidFile
+#	Name of PID file.
+#
+# Mandatory: no
+# Default:
+# PidFile=/tmp/zabbix_server.pid
+
+PidFile=/var/run/zabbix/zabbix_server.pid
+
+### Option: DBHost
+#	Database host name.
+#	If set to localhost, socket is used for MySQL.
+#	If set to empty string, socket is used for PostgreSQL.
+#
+# Mandatory: no
+# Default:
+# DBName=localhost
+
+DBHost={{ zabbix_db_host }}
+
+### Option: DBName
+#	Database name.
+#	For SQLite3 path to database file must be provided. DBUser and DBPassword are ignored.
+#
+# Mandatory: yes
+# Default:
+# DBName=
+
+DBName={{ zabbix_db_name }}
+
+### Option: DBSchema
+#	Schema name. Used for IBM DB2 and PostgreSQL.
+#
+# Mandatory: no
+# Default:
+# DBSchema=
+
+### Option: DBUser
+#	Database user. Ignored for SQLite.
+#
+# Mandatory: no
+# Default:
+# DBUser=
+
+DBUser={{ zabbix_db_user }}
+
+### Option: DBPassword
+#	Database password. Ignored for SQLite.
+#	Comment this line if no password is used.
+#
+# Mandatory: no
+# Default:
+# DBPassword=
+
+DBPassword={{ zabbix_db_password }}
+
+### Option: DBSocket
+#	Path to MySQL socket.
+#
+# Mandatory: no
+# Default:
+# DBSocket=/tmp/mysql.sock
+
+### Option: DBPort
+#	Database port when not using local socket. Ignored for SQLite.
+#
+# Mandatory: no
+# Range: 1024-65535
+# Default (for MySQL):
+# DBPort=3306
+
+DBPort=5432
+
+############ ADVANCED PARAMETERS ################
+
+### Option: StartPollers
+#	Number of pre-forked instances of pollers.
+#
+# Mandatory: no
+# Range: 0-1000
+# Default:
+# StartPollers=5
+
+### Option: StartIPMIPollers
+#	Number of pre-forked instances of IPMI pollers.
+#
+# Mandatory: no
+# Range: 0-1000
+# Default:
+# StartIPMIPollers=0
+
+### Option: StartPollersUnreachable
+#	Number of pre-forked instances of pollers for unreachable hosts (including IPMI and Java).
+#	At least one poller for unreachable hosts must be running if regular, IPMI or Java pollers
+#	are started.
+#
+# Mandatory: no
+# Range: 0-1000
+# Default:
+# StartPollersUnreachable=1
+
+### Option: StartTrappers
+#	Number of pre-forked instances of trappers.
+#	Trappers accept incoming connections from Zabbix sender, active agents and active proxies.
+#	At least one trapper process must be running to display server availability and view queue
+#	in the frontend.
+#
+# Mandatory: no
+# Range: 0-1000
+# Default:
+# StartTrappers=5
+
+### Option: StartPingers
+#	Number of pre-forked instances of ICMP pingers.
+#
+# Mandatory: no
+# Range: 0-1000
+# Default:
+# StartPingers=1
+
+### Option: StartDiscoverers
+#	Number of pre-forked instances of discoverers.
+#
+# Mandatory: no
+# Range: 0-250
+# Default:
+# StartDiscoverers=1
+
+### Option: StartHTTPPollers
+#	Number of pre-forked instances of HTTP pollers.
+#
+# Mandatory: no
+# Range: 0-1000
+# Default:
+# StartHTTPPollers=1
+
+### Option: StartTimers
+#	Number of pre-forked instances of timers.
+#	Timers process time-based trigger functions and maintenance periods.
+#	Only the first timer process handles the maintenance periods.
+#
+# Mandatory: no
+# Range: 1-1000
+# Default:
+# StartTimers=1
+
+### Option: StartEscalators
+#	Number of pre-forked instances of escalators.
+#
+# Mandatory: no
+# Range: 0-100
+# Default:
+# StartEscalators=1
+
+### Option: JavaGateway
+#	IP address (or hostname) of Zabbix Java gateway.
+#	Only required if Java pollers are started.
+#
+# Mandatory: no
+# Default:
+# JavaGateway=
+
+### Option: JavaGatewayPort
+#	Port that Zabbix Java gateway listens on.
+#
+# Mandatory: no
+# Range: 1024-32767
+# Default:
+# JavaGatewayPort=10052
+
+### Option: StartJavaPollers
+#	Number of pre-forked instances of Java pollers.
+#
+# Mandatory: no
+# Range: 0-1000
+# Default:
+# StartJavaPollers=0
+
+### Option: StartVMwareCollectors
+#	Number of pre-forked vmware collector instances.
+#
+# Mandatory: no
+# Range: 0-250
+# Default:
+# StartVMwareCollectors=0
+
+### Option: VMwareFrequency
+#	How often Zabbix will connect to VMware service to obtain a new data.
+#
+# Mandatory: no
+# Range: 10-86400
+# Default:
+# VMwareFrequency=60
+
+### Option: VMwarePerfFrequency
+#	How often Zabbix will connect to VMware service to obtain performance data.
+#
+# Mandatory: no
+# Range: 10-86400
+# Default:
+# VMwarePerfFrequency=60
+
+### Option: VMwareCacheSize
+#	Size of VMware cache, in bytes.
+#	Shared memory size for storing VMware data.
+#	Only used if VMware collectors are started.
+#
+# Mandatory: no
+# Range: 256K-2G
+# Default:
+# VMwareCacheSize=8M
+
+### Option: VMwareTimeout
+#	Specifies how many seconds vmware collector waits for response from VMware service.
+#
+# Mandatory: no
+# Range: 1-300
+# Default:
+# VMwareTimeout=10
+
+### Option: SNMPTrapperFile
+#	Temporary file used for passing data from SNMP trap daemon to the server.
+#	Must be the same as in zabbix_trap_receiver.pl or SNMPTT configuration file.
+#
+# Mandatory: no
+# Default:
+# SNMPTrapperFile=/tmp/zabbix_traps.tmp
+
+### Option: StartSNMPTrapper
+#	If 1, SNMP trapper process is started.
+#
+# Mandatory: no
+# Range: 0-1
+# Default:
+# StartSNMPTrapper=0
+
+### Option: ListenIP
+#	List of comma delimited IP addresses that the trapper should listen on.
+#	Trapper will listen on all network interfaces if this parameter is missing.
+#
+# Mandatory: no
+# Default:
+# ListenIP=0.0.0.0
+
+# ListenIP=127.0.0.1
+
+### Option: HousekeepingFrequency
+#	How often Zabbix will perform housekeeping procedure (in hours).
+#	Housekeeping is removing outdated information from the database.
+#	To prevent Housekeeper from being overloaded, no more than 4 times HousekeepingFrequency
+#	hours of outdated information are deleted in one housekeeping cycle, for each item.
+#	To lower load on server startup housekeeping is postponed for 30 minutes after server start.
+#	With HousekeepingFrequency=0 the housekeeper can be only executed using the runtime control option.
+#	In this case the period of outdated information deleted in one housekeeping cycle is 4 times the
+#	period since the last housekeeping cycle, but not less than 4 hours and not greater than 4 days.
+#
+# Mandatory: no
+# Range: 0-24
+# Default:
+# HousekeepingFrequency=1
+
+### Option: MaxHousekeeperDelete
+#	The table "housekeeper" contains "tasks" for housekeeping procedure in the format:
+#	[housekeeperid], [tablename], [field], [value].
+#	No more than 'MaxHousekeeperDelete' rows (corresponding to [tablename], [field], [value])
+#	will be deleted per one task in one housekeeping cycle.
+#	SQLite3 does not use this parameter, deletes all corresponding rows without a limit.
+#	If set to 0 then no limit is used at all. In this case you must know what you are doing!
+#
+# Mandatory: no
+# Range: 0-1000000
+# Default:
+# MaxHousekeeperDelete=5000
+
+### Option: SenderFrequency
+#	How often Zabbix will try to send unsent alerts (in seconds).
+#
+# Mandatory: no
+# Range: 5-3600
+# Default:
+# SenderFrequency=30
+
+### Option: CacheSize
+#	Size of configuration cache, in bytes.
+#	Shared memory size for storing host, item and trigger data.
+#
+# Mandatory: no
+# Range: 128K-8G
+# Default:
+# CacheSize=8M
+
+### Option: CacheUpdateFrequency
+#	How often Zabbix will perform update of configuration cache, in seconds.
+#
+# Mandatory: no
+# Range: 1-3600
+# Default:
+# CacheUpdateFrequency=60
+
+### Option: StartDBSyncers
+#	Number of pre-forked instances of DB Syncers.
+#
+# Mandatory: no
+# Range: 1-100
+# Default:
+# StartDBSyncers=4
+
+### Option: HistoryCacheSize
+#	Size of history cache, in bytes.
+#	Shared memory size for storing history data.
+#
+# Mandatory: no
+# Range: 128K-2G
+# Default:
+# HistoryCacheSize=16M
+
+### Option: HistoryIndexCacheSize
+#	Size of history index cache, in bytes.
+#	Shared memory size for indexing history cache.
+#
+# Mandatory: no
+# Range: 128K-2G
+# Default:
+# HistoryIndexCacheSize=4M
+
+### Option: TrendCacheSize
+#	Size of trend cache, in bytes.
+#	Shared memory size for storing trends data.
+#
+# Mandatory: no
+# Range: 128K-2G
+# Default:
+# TrendCacheSize=4M
+
+### Option: ValueCacheSize
+#	Size of history value cache, in bytes.
+#	Shared memory size for caching item history data requests.
+#	Setting to 0 disables value cache.
+#
+# Mandatory: no
+# Range: 0,128K-64G
+# Default:
+# ValueCacheSize=8M
+
+### Option: Timeout
+#	Specifies how long we wait for agent, SNMP device or external check (in seconds).
+#
+# Mandatory: no
+# Range: 1-30
+# Default:
+# Timeout=3
+
+Timeout=4
+
+### Option: TrapperTimeout
+#	Specifies how many seconds trapper may spend processing new data.
+#
+# Mandatory: no
+# Range: 1-300
+# Default:
+# TrapperTimeout=300
+
+### Option: UnreachablePeriod
+#	After how many seconds of unreachability treat a host as unavailable.
+#
+# Mandatory: no
+# Range: 1-3600
+# Default:
+# UnreachablePeriod=45
+
+### Option: UnavailableDelay
+#	How often host is checked for availability during the unavailability period, in seconds.
+#
+# Mandatory: no
+# Range: 1-3600
+# Default:
+# UnavailableDelay=60
+
+### Option: UnreachableDelay
+#	How often host is checked for availability during the unreachability period, in seconds.
+#
+# Mandatory: no
+# Range: 1-3600
+# Default:
+# UnreachableDelay=15
+
+### Option: AlertScriptsPath
+#	Full path to location of custom alert scripts.
+#	Default depends on compilation options.
+#
+# Mandatory: no
+# Default:
+# AlertScriptsPath=${datadir}/zabbix/alertscripts
+
+AlertScriptsPath=/usr/lib/zabbix/alertscripts
+
+### Option: ExternalScripts
+#	Full path to location of external scripts.
+#	Default depends on compilation options.
+#
+# Mandatory: no
+# Default:
+# ExternalScripts=${datadir}/zabbix/externalscripts
+
+ExternalScripts=/usr/lib/zabbix/externalscripts
+
+### Option: FpingLocation
+#	Location of fping.
+#	Make sure that fping binary has root ownership and SUID flag set.
+#
+# Mandatory: no
+# Default:
+# FpingLocation=/usr/sbin/fping
+
+FpingLocation=/usr/bin/fping
+
+### Option: Fping6Location
+#	Location of fping6.
+#	Make sure that fping6 binary has root ownership and SUID flag set.
+#	Make empty if your fping utility is capable to process IPv6 addresses.
+#
+# Mandatory: no
+# Default:
+# Fping6Location=/usr/sbin/fping6
+
+Fping6Location=/usr/bin/fping6
+
+### Option: SSHKeyLocation
+#	Location of public and private keys for SSH checks and actions.
+#
+# Mandatory: no
+# Default:
+# SSHKeyLocation=
+
+### Option: LogSlowQueries
+#	How long a database query may take before being logged (in milliseconds).
+#	Only works if DebugLevel set to 3, 4 or 5.
+#	0 - don't log slow queries.
+#
+# Mandatory: no
+# Range: 1-3600000
+# Default:
+# LogSlowQueries=0
+
+LogSlowQueries=3000
+
+### Option: TmpDir
+#	Temporary directory.
+#
+# Mandatory: no
+# Default:
+# TmpDir=/tmp
+
+### Option: StartProxyPollers
+#	Number of pre-forked instances of pollers for passive proxies.
+#
+# Mandatory: no
+# Range: 0-250
+# Default:
+# StartProxyPollers=1
+
+### Option: ProxyConfigFrequency
+#	How often Zabbix Server sends configuration data to a Zabbix Proxy in seconds.
+#	This parameter is used only for proxies in the passive mode.
+#
+# Mandatory: no
+# Range: 1-3600*24*7
+# Default:
+# ProxyConfigFrequency=3600
+
+### Option: ProxyDataFrequency
+#	How often Zabbix Server requests history data from a Zabbix Proxy in seconds.
+#	This parameter is used only for proxies in the passive mode.
+#
+# Mandatory: no
+# Range: 1-3600
+# Default:
+# ProxyDataFrequency=1
+
+### Option: AllowRoot
+#	Allow the server to run as 'root'. If disabled and the server is started by 'root', the server
+#	will try to switch to the user specified by the User configuration option instead.
+#	Has no effect if started under a regular user.
+#	0 - do not allow
+#	1 - allow
+#
+# Mandatory: no
+# Default:
+# AllowRoot=0
+
+### Option: User
+#	Drop privileges to a specific, existing user on the system.
+#	Only has effect if run as 'root' and AllowRoot is disabled.
+#
+# Mandatory: no
+# Default:
+# User=zabbix
+
+### Option: Include
+#	You may include individual files or all files in a directory in the configuration file.
+#	Installing Zabbix will create include directory in /usr/local/etc, unless modified during the compile time.
+#
+# Mandatory: no
+# Default:
+# Include=
+
+# Include=/usr/local/etc/zabbix_server.general.conf
+# Include=/usr/local/etc/zabbix_server.conf.d/
+# Include=/usr/local/etc/zabbix_server.conf.d/*.conf
+
+### Option: SSLCertLocation
+#	Location of SSL client certificates.
+#	This parameter is used only in web monitoring.
+#
+# Mandatory: no
+# Default:
+# SSLCertLocation=${datadir}/zabbix/ssl/certs
+
+### Option: SSLKeyLocation
+#	Location of private keys for SSL client certificates.
+#	This parameter is used only in web monitoring.
+#
+# Mandatory: no
+# Default:
+# SSLKeyLocation=${datadir}/zabbix/ssl/keys
+
+### Option: SSLCALocation
+#	Override the location of certificate authority (CA) files for SSL server certificate verification.
+#	If not set, system-wide directory will be used.
+#	This parameter is used only in web monitoring and SMTP authentication.
+#
+# Mandatory: no
+# Default:
+# SSLCALocation=
+
+####### LOADABLE MODULES #######
+
+### Option: LoadModulePath
+#	Full path to location of server modules.
+#	Default depends on compilation options.
+#
+# Mandatory: no
+# Default:
+# LoadModulePath=${libdir}/modules
+
+### Option: LoadModule
+#	Module to load at server startup. Modules are used to extend functionality of the server.
+#	Format: LoadModule=<module.so>
+#	The modules must be located in directory specified by LoadModulePath.
+#	It is allowed to include multiple LoadModule parameters.
+#
+# Mandatory: no
+# Default:
+# LoadModule=
+
+####### TLS-RELATED PARAMETERS #######
+
+### Option: TLSCAFile
+#	Full pathname of a file containing the top-level CA(s) certificates for
+#	peer certificate verification.
+#
+# Mandatory: no
+# Default:
+# TLSCAFile=
+
+### Option: TLSCRLFile
+#	Full pathname of a file containing revoked certificates.
+#
+# Mandatory: no
+# Default:
+# TLSCRLFile=
+
+### Option: TLSCertFile
+#	Full pathname of a file containing the server certificate or certificate chain.
+#
+# Mandatory: no
+# Default:
+# TLSCertFile=
+
+### Option: TLSKeyFile
+#	Full pathname of a file containing the server private key.
+#
+# Mandatory: no
+# Default:
+# TLSKeyFile=