# TODO
-# - initscript for zabbix-agent-standalone
-# - missing zabbix_agentd.conf, zabbix_trapperd.conf
-# see http://www.zabbix.com/manual_install_server.php
+# - initscript for zabbix-agent-standalone and zabbix-server
#
# Conditional build:
%bcond_with pgsql # enable PostgreSQL support (by default use mysql)
-#
+%bcond_with oracle # enable Oracle support (by default use mysql)
+
Summary: zabbix - network monitoring software
-Summary(pl): zabbix - oprogramowanie do monitorowania sieci
+Summary(pl.UTF-8): zabbix - oprogramowanie do monitorowania sieci
Name: zabbix
-Version: 1.0
-Release: 0.12
+Version: 1.1.7
+Release: 1
License: GPL v2+
Group: Networking/Admin
Source0: http://dl.sourceforge.net/zabbix/%{name}-%{version}.tar.gz
-# Source0-md5: e83a3b92f13942081ed2f3fe3f3084d8
+# Source0-md5: ac24ab58ef1a985c1e2a5217386d5dba
Source1: %{name}-agent.inetd
-Source2: %{name}-trapper.inetd
+Source2: %{name}-apache.conf
URL: http://zabbix.sourceforge.net/
%{!?with_pgsql:BuildRequires: mysql-devel}
BuildRequires: net-snmp-devel
+BuildRequires: openldap-devel >= 2.4.6
BuildRequires: openssl-devel >= 0.9.7d
%{?with_pgsql:BuildRequires: postgresql-devel}
BuildRequires: rpmbuild(macros) >= 1.268
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%define _sysconfdir /etc/%{name}
-%define htmldir /home/services/httpd/html/%{name}
+%define _appdir %{_datadir}/%{name}
+%define _webapps /etc/webapps
+%define _webapp %{name}
%description
zabbix is software that monitors numerous parameters of a network and
-the servers on that network. zabbix is a useful tool for monitoring
+the servers on that network. It is a useful tool for monitoring
the health and integrity of servers. zabbix uses a flexible
notification mechanism that allows users to configure email based
alerts for virtually any event. All monitored parameters are stored in
trapping. All zabbix reports and statistics, as well as configuration
parameters, are accessed through a web-based front end.
-%description -l pl
-zabbix to oprogramowanie do monitorowania licznych parametrów sieci i
-serwerów sieciowych. zabbix jest przydatny przy monitorowaniu
-dzia³ania serwerów. zabbix korzysta z elastycznego mechanizmu
-powiadamiania, który pozwala u¿ytkownikom konfigurowaæ powiadamianie
-poczt± elektroniczn± dla praktycznie wszelkich zdarzeñ. Monitorowane
-parametry s± przechowywane w bazie danych. zabbix oferuje, w oparciu o
-przechowywane dane, ¶wietne raportowanie i funkcje wizualizacji.
-zabbix wspiera zarówno odpytywanie, jak i pu³apkowanie. Dostêp do
-wszystkich raportów i statystyk zabbiksa jest mo¿liwy poprzez
-interfejs oparty o WWW.
-
-%package frontend-php
-Summary: PHP frontend for zabbix
-Summary(pl): Interfejs PHP dla zabbiksa
-Group: Networking/Admin
-Requires: php
-Requires: php-gd
-%{!?with_pgsql:Requires: php-mysql}
-%{?with_pgsql:Requires: php-pgsql}
-Requires: webserver = apache
-
-%description frontend-php
-This package provides web based (PHP) frontend for zabbix.
-
-%description frontend-php -l pl
-Ten pakiet dostarcza napisany w PHP frontend dla zabbiksa.
+%description -l pl.UTF-8
+zabbix to oprogramowanie do monitorowania licznych parametrów sieci i
+serwerów sieciowych. Jest przydatny przy monitorowaniu działania
+serwerów. Jorzysta z elastycznego mechanizmu powiadamiania, który
+pozwala użytkownikom konfigurować powiadamianie pocztą elektroniczną
+dla praktycznie wszelkich zdarzeń. Monitorowane parametry są
+przechowywane w bazie danych. W oparciu o przechowywane dane zabbix
+oferuje świetne raportowanie i funkcje wizualizacji. Wspiera zarówno
+odpytywanie jak i pułapkowanie. Dostęp do wszystkich raportów i
+statystyk zabbiksa jest możliwy poprzez interfejs oparty o WWW.
%package agent-inetd
Summary: inetd agent for zabbix
-Summary(pl): Wersja inetd agenta zabbiksa
+Summary(pl.UTF-8): Wersja inetd agenta zabbiksa
Group: Networking/Admin
Requires: %{name} = %{version}-%{release}
Requires: inetdaemon
%description agent-inetd
This package provides inetd version of zabbix agent.
-%description agent-inetd -l pl
+%description agent-inetd -l pl.UTF-8
Ten pakiet dostarcza agenta zabbiksa dla inetd.
%package agent-standalone
Summary: Standalone agent for zabbix
-Summary(pl): Wersja wolnostoj±ca agenta zabbiksa
+Summary(pl.UTF-8): Wersja wolnostojąca agenta zabbiksa
Group: Networking/Admin
Requires: %{name} = %{version}-%{release}
Obsoletes: zabbix-agent-inetd
%description agent-standalone
-This package provides standalone version of zabbix agent.
+This package provides standalone (recommended) version of zabbix agent.
-%description agent-standalone -l pl
-Ten pakiet dostarcza wolnostoj±cej wersji agenta zabbiksa.
+%description agent-standalone -l pl.UTF-8
+Ten pakiet dostarcza wolnostojącej (zalecanej) wersji agenta zabbiksa.
-%package suckerd
-Summary: sucker daemon for zabbix
-Summary(pl): Demon sucker dla zabbiksa
+%package frontend-php
+Summary: PHP frontend for zabbix
+Summary(pl.UTF-8): Interfejs PHP dla zabbiksa
Group: Networking/Admin
-Requires: %{name} = %{version}-%{release}
-%{!?with_pgsql:Requires: mysql}
-%{?with_pgsql:Requires: postgresql}
+Requires: php(gd)
+%{!?with_pgsql:Requires: php-mysql}
+%{?with_pgsql:Requires: php-pgsql}
+Requires: webapps
+Requires: webserver = apache
+Requires: webserver(php)
-%description suckerd
-This package provides the sucker daemon for zabbix.
+%description frontend-php
+This package provides web based (PHP) frontend for zabbix.
-%description suckerd -l pl
-Ten pakiet zawiera demona sucker dla zabbiksa.
+%description frontend-php -l pl.UTF-8
+Ten pakiet dostarcza napisany w PHP frontend dla zabbiksa.
-%package trapper-inetd
-Summary: inetd trapper for zabbix
-Summary(pl): Wersja inetd programu pu³apkuj±cego zabbiksa
+%package get
+Summary: Program retrieving data from zabbix agent
+Summary(pl.UTF-8): Program odpytujÄcy agenta zabbiksa
Group: Networking/Admin
-Requires: %{name} = %{version}-%{release}
-Requires: inetdaemon
-Obsoletes: zabbix-trapper-standalone
-%description trapper-inetd
-This package provides inetd version of zabbix trapper.
+%description get
+This package provides a program retrieving data from zabbix agent.
-%description trapper-inetd -l pl
-Ten pakiet zawiera program pu³apkuj±cy zabbiksa dla inetd.
+%description get -l pl.UTF-8
+Ten pakiet zawiera program odpytujÄcy agenta zabbiksa.
-%package trapper-standalone
-Summary: Standalone trapper for zabbix
-Summary(pl): Wersja wolnostoj±ca programu pu³apkuj±cego zabbiksa
+%package sender
+Summary: Zabbix sender
+Summary(pl.UTF-8): Program zawiadamiający zabbiksa
Group: Networking/Admin
-Requires: %{name} = %{version}-%{release}
-Obsoletes: zabbix-trapper-inetd
-%description trapper-standalone
-This package provides standalone version of zabbix trapper.
+%description sender
+This package provides the zabbix sender.
-%description trapper-standalone -l pl
-Ten pakiet zawiera wolnostoj±c± wersjê programu pu³apkuj±cego
-zabbiksa.
+%description sender -l pl.UTF-8
+Ten pakiet zawiera program zawiadamiający zabbiksa.
-%package sender
-Summary: zabbix's sender
-Summary(pl): Program zawiadamiaj±cy zabbiksa
+%package server
+Summary: Zabbix server
+Summary(pl.UTF-8): Serwer zabbiksa
Group: Networking/Admin
+Requires: %{name} = %{version}-%{release}
+Obsoletes: %{name}-suckerd
+Obsoletes: %{name}-trapper-inetd
+Obsoletes: %{name}-trapper-standalone
-%description sender
-This package provides the zabbix sender.
+%description server
+This package provides the zabbix server.
-%description sender -l pl
-Ten pakiet zawiera program zawiadamiaj±cy zabbiksa.
+%description server -l pl.UTF-8
+Ten pakiet zawiera serwer zabbiksa.
%prep
%setup -q
%configure \
%{!?with_pgsql:--with-mysql} \
%{?with_pgsql:--with-pgsql} \
- --with-net-snmp
+ %{?with_oracle:--with-oracle} \
+ --enable-server \
+ --enable-agent \
+ --with-net-snmp \
+ --with-ldap \
+# --with-ucd-snmp=DIR \
%{__make}
%install
rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT{%{_sysconfdir},/etc/sysconfig/rc-inetd,%{_sbindir},%{htmldir}}
+install -d $RPM_BUILD_ROOT{%{_sysconfdir},/etc/{sysconfig/rc-inetd,webapps/%{_webapp}},%{_appdir}}
-install bin/zabbix_* $RPM_BUILD_ROOT%{_sbindir}
-install misc/conf/* $RPM_BUILD_ROOT%{_sysconfdir}
-cp -r frontends/php/* $RPM_BUILD_ROOT%{htmldir}
+%{__make} install \
+ DESTDIR=$RPM_BUILD_ROOT
+install misc/conf/zabbix_{a*,s*} $RPM_BUILD_ROOT%{_sysconfdir}
+cp -r frontends $RPM_BUILD_ROOT%{_appdir}
+mv -f $RPM_BUILD_ROOT%{_appdir}/frontends/php/include/db.inc.php $RPM_BUILD_ROOT%{_webapps}/%{_webapp}
+ln -s %{_webapps}/%{_webapp}/db.inc.php $RPM_BUILD_ROOT%{_appdir}/frontends/php/include
install %{SOURCE1} $RPM_BUILD_ROOT/etc/sysconfig/rc-inetd/zabbix-agent
-install %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/rc-inetd/zabbix-trapper
+install %{SOURCE2} $RPM_BUILD_ROOT%{_webapps}/%{_webapp}/apache.conf
+install %{SOURCE2} $RPM_BUILD_ROOT%{_webapps}/%{_webapp}/httpd.conf
%clean
rm -rf $RPM_BUILD_ROOT
+%triggerin frontend-php -- apache1 < 1.3.37-3, apache1-base
+%webapp_register apache %{_webapp}
+
+%triggerun frontend-php -- apache1 < 1.3.37-3, apache1-base
+%webapp_unregister apache %{_webapp}
+
+%triggerin frontend-php -- apache < 2.2.0, apache-base
+%webapp_register httpd %{_webapp}
+
+%triggerun frontend-php -- apache < 2.2.0, apache-base
+%webapp_unregister httpd %{_webapp}
+
%pre
%groupadd -g 111 zabbix
%useradd -d / -u 111 -g zabbix -c "Zabbix User" -s /bin/false zabbix
Running these should be fine in most cases:
%if %{with pgsql}
psql -c 'create database zabbix'
- zcat %{_docdir}/%{name}-%{version}/create/pgsql/schema.sql.gz | psql zabbix
+ zcat %{_docdir}/%{name}-%{version}/create/postgresql/schema.sql.gz | psql zabbix
zcat %{_docdir}/%{name}-%{version}/create/data/data.sql.gz | psql zabbix
+ zcat %{_docdir}/%{name}-%{version}/create/data/images_pgsql.sql.gz | psql zabbix
%else
mysqladmin create zabbix
zcat %{_docdir}/%{name}-%{version}/create/mysql/schema.sql.gz | mysql zabbix
zcat %{_docdir}/%{name}-%{version}/create/data/data.sql.gz | mysql zabbix
+ zcat %{_docdir}/%{name}-%{version}/create/data/images.sql.gz | mysql zabbix
%endif
%{?TODO:You also need zabbix-agent. install zabbix-agent-standalone %or zabbix-agent-inetd.}
EOF
%service -q rc-inetd reload
fi
-%post trapper-inetd
-%service -q rc-inetd reload
-
-%postun trapper-inetd
-if [ "$1" = 0 ]; then
- %service -q rc-inetd reload
-fi
-
%files
%defattr(644,root,root,755)
-%doc doc/Zabbix\ Manual.pdf AUTHORS NEWS README ChangeLog create upgrades bin/ZabbixW32.exe
+%doc AUTHORS FAQ NEWS README ChangeLog create upgrades bin/ZabbixW{32,64}.exe
%attr(750,root,zabbix) %dir %{_sysconfdir}
-
-%files frontend-php
-%defattr(644,root,root,755)
-%dir %{htmldir}
-%{htmldir}/*.php
-%{htmldir}/*.css
-%{htmldir}/audio
-%{htmldir}/images
-
-%dir %{htmldir}/include
-%attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{htmldir}/include/db.inc.php
-%{htmldir}/include/.htaccess
-%{htmldir}/include/classes.inc.php
-%{htmldir}/include/config.inc.php
-%{htmldir}/include/defines.inc.php
+%dir %{_appdir}
+%dir %{_appdir}/frontends
%files agent-inetd
%defattr(644,root,root,755)
%attr(640,root,zabbix) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/zabbix_agent.conf
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/rc-inetd/zabbix-agent
-%attr(755,root,root) %{_sbindir}/zabbix_agent
+%attr(755,root,root) %{_bindir}/zabbix_agent
%files agent-standalone
%defattr(644,root,root,755)
%attr(640,root,zabbix) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/zabbix_agentd.conf
-%attr(755,root,root) %{_sbindir}/zabbix_agentd
+%attr(755,root,root) %{_bindir}/zabbix_agentd
-%files suckerd
+%files frontend-php
%defattr(644,root,root,755)
-%attr(640,root,zabbix) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/zabbix_suckerd.conf
-%attr(755,root,root) %{_sbindir}/zabbix_suckerd
+%attr(750,root,http) %dir %{_webapps}/%{_webapp}
+%attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_webapps}/%{_webapp}/*
+%{_appdir}/frontends/php
-%files trapper-inetd
+%files get
%defattr(644,root,root,755)
-%attr(640,root,zabbix) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/zabbix_trapper.conf
-%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/rc-inetd/zabbix-trapper
-%attr(755,root,root) %{_sbindir}/zabbix_trapper
+%attr(755,root,root) %{_bindir}/zabbix_get
-%files trapper-standalone
+%files sender
%defattr(644,root,root,755)
-%attr(640,root,zabbix) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/zabbix_trapperd.conf
-%attr(755,root,root) %{_sbindir}/zabbix_trapperd
+%attr(755,root,root) %{_bindir}/zabbix_sender
-%files sender
+%files server
%defattr(644,root,root,755)
-%attr(755,root,root) %{_sbindir}/zabbix_sender
+%attr(640,root,zabbix) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/zabbix_server.conf
+%attr(755,root,root) %{_bindir}/zabbix_server