Project ID: 270


Build for pre-release testing

Installation Instructions

=Custom in Fedora/EPEL=

==Pinger files==

Since /tmp is not a good place to spool files, the pinger files shall now reside in /var/lib/zabbixsrv/tmp. This directory is automatically created and proxy and server configuration files are changed accordingly from 2.0.8 on.

==Web configuration==

Web configuration resides in /etc/zabbix/web. The configuration file can be created manually or by walking through the frontend setup tool, as soon as your httpd configuration allows. The directory also contains maintenance.inc.php!

==Log files==

Log files are located in /var/log/zabbix for the agent and /var/log/zabbixsrv. for server and proxy.

==Where's my Flash watch?==

It's not included in Fedora! Fedora's policy does not allow to include blobs: https://support.zabbix.com/browse/ZBX-4794

==No htaccess files==

Fedora ships an Apache configuration file instead. This solutions performs better and is easier to maintain.

==Two users and groups==

There's a certain security risk involved, running agent and proxy/server as the same user. This package therefore introduces an additional zabbixsrv user, used for proxy and server. Please check the permissions of your scripts and group memberships, if necessary.

==Using the Alternatives system instead of conflicting sub-packages==

You can now install Zabbix proxies or servers compiled for different database back-ends on the same system. While this is not intended to happily switch back and forth, it allows you to:

  • Stop the daemon
  • "Run alternatives --config zabbix-server" or "alternatives --config zabbix-proxy"
  • Make your choice
  • If you're using systemd, run systemctl reload
  • Adjust the configuration file
  • Start the daemon
  • In some cases you have to use "restart" instead of "start". The reason is not yet clear to me.

"Alternatives" considers the first installed implementation of server or proxy as default, respectively.

Don't forget to reconfigure the front-end when you switch the server to a different DB implementation!

==How to run multiple instances of a Zabbix daemon with init scripts==

If you want to run multiple instances on the same host, do the following:

  • Copy or symlink the init scripts
  • Create a file of the same name as the new init script in /etc/sysconfig
  • Define CFG_FILE="</path/to/daemon_config_file>" in this file
  • Create the file defined as CFG_FILE and adjust settings; in particular:
  • DB settings if you set up multiple instances of server and proxy daemons; IMPORTANT: Two daemons using the same database at the same time could act destructive!
  • PidFile
  • ListenPort and/or ListenIP, if you plan for simultaneous operation; Don't forget to review your firewall settings!
  • LogFile, if you don't use syslog
  • Optionally run the following to register the new instance as a service and start it up automatically: chkconfig --add <init_script_name> chkconfig <init_script_name> on
  • service <init_script_name> start

==Configuration changes==

Zabbix 2.0/2.2 place configuration files directly in /etc. Symlinks preserve compatibility. maintenance.inc.php moved from /usr/share/zabbix/conf to /etc/zabbix/web.

==Media scripts and external scripts==

The directories for external scripts and media scripts have moved to /var/lib/zabbixsrv. Symlinks preserve compatibility.

/var/lib/zabbix is now intended for scripts run by the agent. Please move your server or proxy scripts to /var/lib/zabbixsrv. Be sure to check permissions and ownership.

==No Java bridge==

The Zabbix Java bridge can not be included now, due to legal issue with one of the modules (json). See https://support.zabbix.com/browse/ZBX-4800 and feel free to vote on it.

==No SQLite front-end or server implementation==

Sadly it doesn't work with how Fedora's/EPEL's PHP is compiled.


The settings necessary for you vary, depending on how you set up your system/s. Most of the time, the only adjustments necessary should be on the machine that holds the frontend:

#Allow to connect the frontend to a database by other means than sockets setsebool -P httpd_can_network_connect_db 1

#Allow the frontend to create a connection to the server listening port #That's the check the frontend uses to see whether the server is running. #This option effectively supersedes the previous setsebool -P httpd_can_network_connect 1

Using sebools is a somewhat coarse method of allowing things. A more fine-grained approach for the latter would be to grab an actual avc denial from the audit log, pipe it through audit2allow, put it in a module package and load that:

echo "avc: denied { name_connect } for pid=20619 comm="httpd" dest=10051 scontext=system_u:system_r:httpd_t:s0 tcontext=system_u:object_r:zabbix_port_t:s0 tclass=tcp_socket" | audit2allow -M zabbix_conn_httpd; sudo semodule -i zabbix_conn_httpd.pp

If you're using ping from the frontend:

echo "avc: denied { setpgid } for pid=31880 comm="zabbix_server_p" scontext=system_u:system_r:zabbix_t:s0 tcontext=system_u:system_r:zabbix_t:s0 tclass=process" | audit2allow -M zabbix_ping_frontend; sudo semodule -i zabbix_ping_frontend.pp

=Additional packaging changes in Fedora/EPEL since 2.0=

==Zabbix 2.2 conflicts 1.8 and 2.0==

Please see the below section for the reason!

==Agent init script/unit file name== For the sake of consistency between distributions, the agent init script, respectively the systemd unit file, was renamed to zabbix-agentd -- mind the trailing "d"! Symlinks with the old names are in place. Keep in mind, if you created a configuration file in /etc/sysconfig, the sourced file must the name of the init script you invoke! Consequently, if you decide to use zabbix-agentd in the future, copy or symlink this file.

==zabbixsrv now has its own user group==

zabbixsrv used to be a member of the zabbix user group. Completely fresh installations will create the zabbixsrv group and assign it as the primary group. If the user zabbixsrv already exists (upgrade from 2.0), the user group is replaced.

==Log and lock file locations, group membership==

All logs used to be in /var/log/zabbix. With zabbixsrv having its own user group, the logs are now split between /var/log/zabbix for the agent and /var/log/zabbixsrv for server and proxy.

=Additional packaging changes in Fedora/EPEL since 1.8=

==Zabbix 2.0 packages conflict Zabbix 1.8; 2.2 conflicts 1.8 and 2.0==

This measure was taken because this major version introduces various database schema changes. A silent update would render Zabbix non-operational and possibly break the database. Besides that, Zabbix 2.0/2.2 server only works with the respective major versions of servers and proxies. Distributed setups must therefore be updated at the same time to keep working.

http://www.zabbix.com/documentation/2.0/manual/appendix/compatibility http://www.zabbix.com/documentation/2.2/manual/appendix/compatibility

=Guide for upgrading to 2.2 from 2.0=

https://www.zabbix.com/documentation/2.2/manual/installation/upgrade https://www.zabbix.com/documentation/2.2/manual/installation/upgrade_notes_220

Be sure to read the upgrades notes of the latest minor release too!

  • Review all rpmnew and rpmsave files; merge where necessary
  • Review permissions, ownerships and group memberships for zabbixsrv
  • Migrate server and proxy logs to the new location, if you want
  • Back up the Zabbix database (really!)
  • Remove custom database changes, if any
  • Make sure the database user has sufficing permissions (ALTER TABLE, DROP INDEX, DROP TABLE, ...)
  • Start the server
  • Check the server log for progress and possible errors The schema conversion should finish within minutes or hours

=Guide for upgrading to 2.0 from 1.8=


Be sure to read the upgrades notes of the latest minor release too!

The below should be the relevant steps, picked from http://www.zabbix.com/documentation/2.0/manual/installation/upgrade

  • Review all rpmnew and rpmsave files; merge where necessary
  • Review permissions, ownerships and group memberships for zabbixsrv
  • Back up the Zabbix database (really!)
  • Remove custom database changes, if any
  • Make sure the database user has sufficing permissions (ALTER TABLE, DROP INDEX, DROP TABLE, ...)
  • Run the fitting database update script/s
  • The scripts can run very long, depending on the content of your database and your hardware;
  • Check the output of the script for errors

Volker Fröhlich volker27@gmx.at Jan 5 2013

Active Releases

The following unofficial repositories are provided as-is by owner of this project. Contact the owner directly for bugs or issues (IE: not bugzilla).

Release Architectures Repo Download
EPEL 6 i386 (0)*, x86_64 (0)* EPEL 6 (138 downloads)

* Total number of packages downloaded in the last seven days.