You've already forked macports-ports
mirror of
https://github.com/macports/macports-ports.git
synced 2026-07-12 18:20:25 -07:00
zabbix: agent and reorganized; drop server/frontend. (#32699)
* updated zabbixN-agent and reorganized; drop server/frontend. * zabbix-agent: Fix deps. (pcre/pcre2 change with 7.4)
This commit is contained in:
@@ -0,0 +1,194 @@
|
||||
# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
|
||||
|
||||
PortSystem 1.0
|
||||
|
||||
name zabbix-agent
|
||||
revision 0
|
||||
categories net
|
||||
maintainers {eborisch @eborisch} openmaintainer
|
||||
|
||||
license AGPL-3
|
||||
|
||||
description An open source application and network monitor
|
||||
|
||||
long_description Zabbix is the ultimate open source availability and \
|
||||
performance monitoring solution. Zabbix offers advanced \
|
||||
monitoring, alerting, and visualization features today \
|
||||
which are missing in other monitoring systems, even some \
|
||||
of the best commercial ones.
|
||||
|
||||
# Point to the latest LTS version
|
||||
set LTS 7
|
||||
|
||||
array set VERSIONS {
|
||||
"" 0
|
||||
4 4.0.99
|
||||
5 5.0.99
|
||||
7 7.0.26
|
||||
74 7.4.10
|
||||
#8 8.0.0
|
||||
}
|
||||
|
||||
set zver [regsub -all {[^\d]} ${subport} {}]
|
||||
version $VERSIONS(${zver})
|
||||
set zbranch [regsub {\.[\drcalphbet]+$} ${version} {}]
|
||||
|
||||
distname zabbix-${version}
|
||||
|
||||
livecheck.url \
|
||||
https://www.zabbix.com/download_sources
|
||||
homepage http://www.zabbix.com/
|
||||
master_sites \
|
||||
https://cdn.zabbix.com/zabbix/sources/stable/${zbranch}
|
||||
|
||||
dist_subdir zabbix${zver}
|
||||
|
||||
switch $zver {
|
||||
7 {
|
||||
livecheck.regex "zabbix-(7\\.0\\.\[0-9\]+).tar.gz"
|
||||
checksums \
|
||||
rmd160 a66b7574cd6651b4a88e75d473c66f564e9552b1 \
|
||||
sha256 3c27a97b52c75e2eccfa43dec5e3fd7d52876f5fdd94172495b025ec9f2a13a8 \
|
||||
size 46875037
|
||||
}
|
||||
74 {
|
||||
livecheck.regex "zabbix-(7\\.4\\.\[0-9\]+).tar.gz"
|
||||
checksums \
|
||||
rmd160 56d88cfbe9f5f3ebdc2fae83691d736bca1e178f \
|
||||
sha256 8557600b93666f2f89b108e9998977740e08ec35f2a025da30b760822e966bfa \
|
||||
size 43527563
|
||||
}
|
||||
8 {
|
||||
livecheck.regex "zabbix-(8\\.0\\.\[0-9\]+).tar.gz"
|
||||
checksums \
|
||||
rmd160 f137f75b30adc1c2ba3aa93c53896c67f8778970 \
|
||||
sha256 d4828f04526f7f8a3110c812d90574a9457ce3520e2350516c6a6b6c788be5b3 \
|
||||
size 60892700
|
||||
}
|
||||
}
|
||||
|
||||
subport zabbix4-agent {replaced_by zabbix${LTS}-agent}
|
||||
subport zabbix5-agent {replaced_by zabbix${LTS}-agent}
|
||||
subport zabbix7-agent {conflicts zabbix74-agent zabbix8-agent}
|
||||
subport zabbix74-agent {conflicts zabbix7-agent zabbix8-agent}
|
||||
#subport zabbix8-agent {conflicts zabbix74-agent zabbix7-agent}
|
||||
|
||||
# Alert any users just in case. Remove 05/2027
|
||||
subport zabbix4 {PortGroup obsolete 1.0}
|
||||
subport zabbix4-frontend {PortGroup obsolete 1.0}
|
||||
subport zabbix5 {PortGroup obsolete 1.0}
|
||||
subport zabbix5-frontend {PortGroup obsolete 1.0}
|
||||
|
||||
if {${name} eq ${subport}} {
|
||||
# Install the latest LTS version if requested.
|
||||
replaced_by zabbix${LTS}-agent
|
||||
distfiles
|
||||
supported_archs noarch
|
||||
# Make sure this port doesn't do anything else
|
||||
build {}
|
||||
destroot {}
|
||||
} else {
|
||||
patchfiles log_and_pid_locations.patch
|
||||
|
||||
depends_lib-append port:libiconv \
|
||||
port:libevent
|
||||
universal_variant no
|
||||
|
||||
use_autoconf yes
|
||||
|
||||
configure.args \
|
||||
--bindir=${prefix}/bin/zabbix \
|
||||
--sbindir=${prefix}/sbin/zabbix \
|
||||
--datadir=${prefix}/share/zabbix \
|
||||
--libexecdir=${prefix}/libexec/zabbix \
|
||||
--localstatedir=${prefix}/var/zabbix \
|
||||
--sysconfdir=${prefix}/etc/zabbix${zver} \
|
||||
--enable-agent \
|
||||
--enable-ipv6 \
|
||||
--with-libevent=${prefix} \
|
||||
--without-openssl
|
||||
|
||||
variant ssl description "Enable SSL" {
|
||||
depends_lib-append port:openssl
|
||||
configure.args-replace --without-openssl --with-openssl=${prefix}
|
||||
}
|
||||
|
||||
if {$zver == 7} {
|
||||
configure.args-append --with-libpcre=${prefix}
|
||||
depends_lib-append port:pcre
|
||||
} else {
|
||||
configure.args-append --with-libpcre2=${prefix}
|
||||
depends_lib-append port:pcre2
|
||||
}
|
||||
|
||||
#configure.ldflags-append -lresolv
|
||||
|
||||
long_description-append "\n * ${subport} provides a local monitoring agent."
|
||||
startupitem.create yes
|
||||
startupitem.name zabbix${zver}-agentd
|
||||
startupitem.executable \
|
||||
${prefix}/sbin/zabbix/zabbix_agentd \
|
||||
-c ${prefix}/etc/zabbix${zver}/zabbix_agentd.conf
|
||||
startupitem.pidfile auto ${prefix}/var/run/zabbix/zabbix_agentd.pid
|
||||
startupitem.logfile ${prefix}/var/log/zabbix/zabbix_agentd.launch
|
||||
|
||||
# Revisit when in better shape on OSX; currently missing many items.
|
||||
#if {$zver >= 6} {
|
||||
# depends_build-append port:go
|
||||
# configure.args-append --enable-agent2
|
||||
# build.env-append GOPATH=${worksrcpath}/src/zabbix
|
||||
#}
|
||||
|
||||
add_users zabbix group=zabbix
|
||||
|
||||
post-patch {
|
||||
reinplace "s|%%PREFIX%%|${prefix}|" \
|
||||
conf/zabbix_agentd.conf
|
||||
reinplace "s|/usr/local/etc|${prefix}/etc/zabbix${zver}|" \
|
||||
conf/zabbix_agentd.conf
|
||||
}
|
||||
|
||||
destroot.keepdirs \
|
||||
${destroot}${prefix}/etc/zabbix${zver}/zabbix_agentd.conf.d \
|
||||
${destroot}${prefix}/var/run/zabbix \
|
||||
${destroot}${prefix}/var/log/zabbix
|
||||
|
||||
post-destroot {
|
||||
# Copy sample agent .conf files
|
||||
xinstall -m 755 -d \
|
||||
${destroot}${prefix}/etc/zabbix${zver}/zabbix_agentd.conf.d
|
||||
xinstall -m 755 ${worksrcpath}/conf/zabbix_agentd.conf \
|
||||
${destroot}${prefix}/etc/zabbix${zver}/zabbix_agentd.conf.sample
|
||||
|
||||
# Don't overwrite user settings on each install
|
||||
delete ${destroot}${prefix}/etc/zabbix${zver}/zabbix_agentd.conf
|
||||
foreach dname {run log} {
|
||||
xinstall -d -m 755 ${destroot}${prefix}/var/${dname}/zabbix
|
||||
}
|
||||
}
|
||||
|
||||
post-activate {
|
||||
foreach dname {run log} {
|
||||
system "chown -R zabbix:zabbix ${prefix}/var/${dname}/zabbix"
|
||||
}
|
||||
}
|
||||
|
||||
notes "
|
||||
#### ZABBIX${zver} agent installation:
|
||||
|
||||
1) Edit the sample .conf file ${prefix}/etc/zabbix${zver}/zabbix_agentd.conf.sample
|
||||
(rename & omit .sample)
|
||||
|
||||
Set the following variable to the IP address of your ZABBIX server to\
|
||||
allow it access to the agent. (Alternatively ServerActive for active checks.)
|
||||
|
||||
Server=x.x.x.x
|
||||
|
||||
|
||||
2) Set zabbix_agentd to run at system boot
|
||||
|
||||
sudo port load zabbix${zver}-agent
|
||||
|
||||
####
|
||||
"
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
--- conf/zabbix_agentd.conf.orig 2016-02-16 14:03:55.000000000 -0600
|
||||
+++ conf/zabbix_agentd.conf 2016-02-16 14:08:16.000000000 -0600
|
||||
@@ -10,6 +10,10 @@
|
||||
# Default:
|
||||
# PidFile=/tmp/zabbix_agentd.pid
|
||||
|
||||
+# MACPORTS CONFIG. PLEASE ONLY EDIT IF YOU KNOW WHAT YOU ARE DOING
|
||||
+PidFile=%%PREFIX%%/var/run/zabbix/zabbix_agentd.pid
|
||||
+# END MACPORTS CONFIG
|
||||
+
|
||||
### Option: LogType
|
||||
# Specifies where log messages are written to:
|
||||
# system - syslog
|
||||
@@ -27,7 +31,7 @@
|
||||
# Default:
|
||||
# LogFile=
|
||||
|
||||
-LogFile=/tmp/zabbix_agentd.log
|
||||
+LogFile=%%PREFIX%%/var/log/zabbix/zabbix_agentd.log
|
||||
|
||||
### Option: LogFileSize
|
||||
# Maximum size of log file in MB.
|
||||
@@ -1,487 +0,0 @@
|
||||
# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
|
||||
|
||||
PortSystem 1.0
|
||||
PortGroup active_variants 1.1
|
||||
|
||||
name zabbix4
|
||||
revision 2
|
||||
categories net
|
||||
maintainers {eborisch @eborisch} openmaintainer
|
||||
|
||||
# https://github.com/zabbix/zabbix/commit/eeeb4c8756
|
||||
license {GPL-2+ OpenSSLException}
|
||||
|
||||
description An open source application and network monitor
|
||||
|
||||
long_description Zabbix is the ultimate open source availability and \
|
||||
performance monitoring solution. Zabbix offers advanced \
|
||||
monitoring, alerting, and visualization features today \
|
||||
which are missing in other monitoring systems, even some \
|
||||
of the best commercial ones.
|
||||
|
||||
array set VERSIONS {
|
||||
4 4.0.41
|
||||
5 5.0.24
|
||||
#6 6.0.1 # Haven't had a chance to test yet.
|
||||
}
|
||||
|
||||
set zver [regsub -all {[^\d]} ${subport} {}]
|
||||
version $VERSIONS(${zver})
|
||||
set zbranch [regsub {\.[\drc]+$} ${version} {}]
|
||||
|
||||
distname zabbix-${version}
|
||||
livecheck.name zabbix
|
||||
|
||||
livecheck.url \
|
||||
https://www.zabbix.com/download_sources
|
||||
homepage http://www.zabbix.com/
|
||||
master_sites \
|
||||
https://cdn.zabbix.com/zabbix/sources/stable/${zbranch}
|
||||
|
||||
dist_subdir zabbix${zver}
|
||||
|
||||
if {$zver == 4} {
|
||||
livecheck.regex "zabbix-(4\\.0\\.\[0-9\]+).tar.gz"
|
||||
checksums \
|
||||
rmd160 968d21baaa20a8927d19699fa6efcce2faa41793 \
|
||||
sha256 362139c1e52680501059a38251dadf3dc692da2e14c7defe095649cfa483baad \
|
||||
size 17641873
|
||||
}
|
||||
|
||||
if {$zver == 5} {
|
||||
livecheck.regex "zabbix-(5\\.0\\.\[0-9\]+).tar.gz"
|
||||
checksums \
|
||||
rmd160 b3e4baed42ba5f5f23f8aa7afab7057b01411bb8 \
|
||||
sha256 79e5740ea5038cf52072fe7c3eaa033511f473b896029cef442b2920fd6eac79 \
|
||||
size 21296805
|
||||
}
|
||||
|
||||
if {$zver == 6} {
|
||||
livecheck.regex "zabbix-(6\\.0\\.\[0-9\]+).tar.gz"
|
||||
checksums \
|
||||
rmd160 1c763ee59a26004a6c0dec863e6beaa730bf281e \
|
||||
sha256 2dd92383cc169ce8b8cbbe660ed656e5d6b5b75bf4936743b8a9d59cdfcf3af1 \
|
||||
size 32974585
|
||||
}
|
||||
|
||||
patchfiles log_and_pid_locations.patch
|
||||
|
||||
universal_variant no
|
||||
|
||||
# LTS Versions
|
||||
subport zabbix4 {conflicts zabbix5 zabbix6}
|
||||
subport zabbix4-agent {conflicts zabbix5-agent zabbix6-agent}
|
||||
subport zabbix4-frontend {conflicts zabbix5-frontend zabbix6-frontend}
|
||||
|
||||
subport zabbix5 {conflicts zabbix4 zabbix6}
|
||||
subport zabbix5-agent {conflicts zabbix4-agent zabbix6-agent}
|
||||
subport zabbix5-frontend {conflicts zabbix4-frontend zabbix6-frontend}
|
||||
|
||||
#subport zabbix6 {conflicts zabbix4 zabbix5}
|
||||
#subport zabbix6-agent {conflicts zabbix4-agent zabbix5-agent}
|
||||
#subport zabbix6-frontend {conflicts zabbix4-frontend zabbix5-frontend}
|
||||
|
||||
proc isFlavor {desc subp} {
|
||||
return [expr {[string first ${desc} ${subp}] >= 0}]
|
||||
}
|
||||
|
||||
configure.args --bindir=${prefix}/bin/zabbix \
|
||||
--sbindir=${prefix}/sbin/zabbix \
|
||||
--libexecdir=${prefix}/libexec/zabbix \
|
||||
--datadir=${prefix}/share/zabbix \
|
||||
--sysconfdir=${prefix}/etc/zabbix${zver} \
|
||||
--localstatedir=${prefix}/var/zabbix \
|
||||
--with-gnutls=${prefix} \
|
||||
--enable-ipv6 \
|
||||
--with-libevent=${prefix} \
|
||||
--with-libpcre=${prefix}
|
||||
|
||||
configure.ldflags-append -lresolv
|
||||
|
||||
if {![isFlavor frontend ${subport}]} {
|
||||
startupitem.create yes
|
||||
depends_lib-append port:libiconv \
|
||||
path:lib/pkgconfig/gnutls.pc:gnutls \
|
||||
port:pcre \
|
||||
port:libevent
|
||||
}
|
||||
|
||||
if {[isFlavor agent ${subport}]} {
|
||||
long_description-append "\n * ${subport} provides a local monitoring agent."
|
||||
conflicts-append zabbix3-agent
|
||||
startupitem.name zabbix${zver}-agentd
|
||||
startupitem.executable \
|
||||
${prefix}/sbin/zabbix/zabbix_agentd \
|
||||
-c ${prefix}/etc/zabbix${zver}/zabbix_agentd.conf
|
||||
startupitem.pidfile auto ${prefix}/var/run/zabbix/zabbix_agentd.pid
|
||||
startupitem.logfile ${prefix}/var/log/zabbix/zabbix_agentd.launch
|
||||
|
||||
configure.args-append --enable-agent
|
||||
|
||||
# Revisit if/when upstream supports building on OSX
|
||||
#if {$zver == 44} {
|
||||
# configure.args-append --enable-agent2
|
||||
# build.env-append GOPATH=${worksrcpath}/src/zabbix
|
||||
#}
|
||||
|
||||
destroot.keepdirs \
|
||||
${destroot}${prefix}/etc/zabbix${zver}/zabbix_agentd.conf.d \
|
||||
${destroot}${prefix}/var/run/zabbix \
|
||||
${destroot}${prefix}/var/log/zabbix
|
||||
} elseif {[isFlavor frontend ${subport}]} {
|
||||
long_description-append "\n * ${subport} provides the web (PHP) frontend."
|
||||
supported_archs noarch
|
||||
platforms any
|
||||
depends_run-append port:apache2
|
||||
|
||||
variant nls description "Include translation files." {
|
||||
}
|
||||
|
||||
if { [vercmp $version 5.0.0 ] < 0 } {
|
||||
set phplist {php56 php74}
|
||||
} else {
|
||||
set phplist {php74}
|
||||
}
|
||||
|
||||
foreach php "${phplist}" {
|
||||
variant ${php} description "Use ${php}" "
|
||||
depends_run-append port:${php} \
|
||||
port:${php}-apache2handler \
|
||||
port:${php}-gd \
|
||||
port:${php}-gettext \
|
||||
port:${php}-mbstring \
|
||||
port:${php}-sockets
|
||||
"
|
||||
}
|
||||
|
||||
if {![variant_isset php56] && ![variant_isset php74]} {
|
||||
default_variants +php74
|
||||
}
|
||||
use_configure no
|
||||
build {}
|
||||
# Kept in post-destroot sections below for consistency
|
||||
destroot {}
|
||||
} else {
|
||||
long_description-append "This port provides the central server component."
|
||||
conflicts-append zabbix3
|
||||
|
||||
depends_build-append port:pkgconfig
|
||||
depends_lib-append port:curl \
|
||||
port:OpenIPMI \
|
||||
path:lib/libssl.dylib:openssl \
|
||||
port:libssh2 \
|
||||
port:libxml2 \
|
||||
port:net-snmp \
|
||||
port:zlib
|
||||
|
||||
depends_run-append port:fping
|
||||
|
||||
configure.args-append --enable-server \
|
||||
--with-libcurl=${prefix}/bin/curl-config \
|
||||
--with-net-snmp \
|
||||
--with-openipmi=${prefix} \
|
||||
--with-ssh2=${prefix} \
|
||||
--with-libxml2=${prefix}/bin/xml2-config\
|
||||
--with-zlib=${prefix}
|
||||
|
||||
startupitem.name zabbix${zver}-server
|
||||
startupitem.start ${prefix}/sbin/zabbix/zabbix_server
|
||||
set pidfile ${prefix}/var/run/zabbix/zabbix_server.pid
|
||||
# Gracefully wait up to two minutes for zabbix to shut down / clean up
|
||||
startupitem.stop \
|
||||
"let x=120; while /usr/bin/pkill -u zabbix -F ${pidfile}; \
|
||||
do sleep 1; let x--; \[ \$x -le 0 \] && break; done"
|
||||
startupitem.logfile ${prefix}/var/log/zabbix/zabbix_server.launch
|
||||
startupitem.netchange yes
|
||||
|
||||
# This *increases* the values if needed, but otherwise leaves them alone.
|
||||
startupitem.init \
|
||||
{bump() { [ `sysctl -n $1` -lt $2 ] && sysctl $1=$2 ; } } \
|
||||
"bump kern.sysv.shmall 32768 && bump kern.sysv.shmmax 134217728"
|
||||
|
||||
destroot.keepdirs \
|
||||
${destroot}${prefix}/etc/zabbix${zver}/zabbix_server.conf.d \
|
||||
${destroot}${prefix}/var/run/zabbix${zver} \
|
||||
${destroot}${prefix}/var/log/zabbix
|
||||
|
||||
variant full_server description {
|
||||
Dependencies for a complete server (w/DB) are installed.
|
||||
} {}
|
||||
|
||||
variant frontend description {Include frontend PHP files / deps} {
|
||||
depends_run-append port:zabbix${zver}-frontend
|
||||
}
|
||||
|
||||
default_variants-append +frontend
|
||||
}
|
||||
|
||||
if {![isFlavor agent ${subport}]} {
|
||||
# Logic for database backends. Needed for -frontend and -server
|
||||
# Items are "display name" "port name" "config arg" "php interface"
|
||||
array set DBLIST {
|
||||
mysql57 {"MySQL 5.7" mysql57 \
|
||||
mysql=${prefix}/lib/mysql57/bin/mysql_config mysql}
|
||||
mariadb105 {"MariaDB 10.5" mariadb-10.5 \
|
||||
mysql=${prefix}/lib/mariadb-10.5/bin/mysql_config mysql}
|
||||
pgsql13 {"PostgreSQL 13.x" postgresql13 \
|
||||
postgresql=${prefix}/lib/postgresql13/bin/pg_config postgresql}
|
||||
}
|
||||
|
||||
set DBLIST_KEYS [lsort [array names DBLIST]]
|
||||
|
||||
foreach dbitem $DBLIST_KEYS {
|
||||
set this_key [lsearch -exact $DBLIST_KEYS $dbitem]
|
||||
set conf_list [lreplace $DBLIST_KEYS $this_key $this_key]
|
||||
set prms $DBLIST($dbitem)
|
||||
|
||||
variant $dbitem description \
|
||||
"Use [lindex ${prms} 0] for server database" \
|
||||
conflicts {*}${conf_list} "
|
||||
|
||||
set ::ZDB [lindex ${prms} 1]
|
||||
set ::DBFILES [lindex ${prms} 3]
|
||||
set ::MYSQL_MODE [string equal [lindex ${prms} 3] mysql]
|
||||
configure.args-append --with-[lindex ${prms} 2]
|
||||
|
||||
if {[isFlavor frontend ${subport}]} {
|
||||
if { [vercmp $version 5.0.0 ] < 0 } {
|
||||
if {[variant_isset php56]} {
|
||||
depends_run-append \
|
||||
port:php56-[lindex ${prms} 3]
|
||||
}
|
||||
}
|
||||
|
||||
if {[variant_isset php74]} {
|
||||
depends_run-append \
|
||||
port:php74-[lindex ${prms} 3]
|
||||
}
|
||||
} else {
|
||||
depends_lib-append port:[lindex ${prms} 1]
|
||||
require_active_variants port:zabbix${zver}-agent ${dbitem}
|
||||
}
|
||||
"
|
||||
}
|
||||
|
||||
if {![variant_isset mysql57] &&
|
||||
![variant_isset mariadb105] &&
|
||||
![variant_isset pgsql13]} {
|
||||
default_variants +mysql57
|
||||
}
|
||||
}
|
||||
|
||||
post-extract {
|
||||
if {[string first - ${subport}] == -1} {
|
||||
if { ${MYSQL_MODE} == 1 &&
|
||||
[variant_isset full_server] } {
|
||||
set repstr "s|# DBSocket=|"
|
||||
append repstr "DBSocket=${prefix}/var/run/${ZDB}/mysqld.sock|"
|
||||
reinplace ${repstr} ${worksrcpath}/conf/zabbix_server.conf
|
||||
}
|
||||
}
|
||||
set repstr "s|# FpingLocation=/usr/sbin/fping|"
|
||||
append repstr "FpingLocation=${prefix}/sbin/fping|"
|
||||
reinplace ${repstr} ${worksrcpath}/conf/zabbix_server.conf
|
||||
}
|
||||
|
||||
post-patch {
|
||||
reinplace "s|%%PREFIX%%|${prefix}|" \
|
||||
conf/zabbix_agentd.conf conf/zabbix_server.conf
|
||||
reinplace "s|/usr/local/etc|${prefix}/etc/zabbix${zver}|" \
|
||||
conf/zabbix_agentd.conf conf/zabbix_server.conf
|
||||
}
|
||||
|
||||
add_users zabbix group=zabbix
|
||||
|
||||
post-destroot {
|
||||
if {[isFlavor agent ${subport}]} {
|
||||
####### AGENT #######
|
||||
# Copy sample agent .conf files
|
||||
xinstall -m 755 -d \
|
||||
${destroot}${prefix}/etc/zabbix${zver}/zabbix_agentd.conf.d
|
||||
xinstall -m 755 ${worksrcpath}/conf/zabbix_agentd.conf \
|
||||
${destroot}${prefix}/etc/zabbix${zver}/zabbix_agentd.conf.sample
|
||||
|
||||
# Don't overwrite user settings on each install
|
||||
delete ${destroot}${prefix}/etc/zabbix${zver}/zabbix_agentd.conf
|
||||
} elseif {[isFlavor frontend ${subport}]} {
|
||||
# Copy the front end files
|
||||
set fedir ${destroot}${prefix}/share/zabbix/frontends
|
||||
file mkdir ${fedir}
|
||||
if {$zver >= 5} {
|
||||
file copy ${worksrcpath}/ui/ ${fedir}/php
|
||||
} else {
|
||||
file copy ${worksrcpath}/frontends/php/ ${fedir}
|
||||
}
|
||||
|
||||
system -W ${fedir} "find . -type f -name *.po -delete"
|
||||
|
||||
if {![variant_isset nls]} {
|
||||
system -W ${fedir}/php/locale \
|
||||
"find . -type f -name *.mo ! -path */en_US/* -delete"
|
||||
reinplace "/display/s/true/false/" \
|
||||
${fedir}/php/include/locales.inc.php
|
||||
reinplace "/en_US/s/false/true/" \
|
||||
${fedir}/php/include/locales.inc.php
|
||||
}
|
||||
|
||||
# Set permissions for etc (protect passwords) and the frontend
|
||||
system "chown -R www:www ${destroot}${prefix}/share/zabbix/frontends/*"
|
||||
} else {
|
||||
####### SERVER #######
|
||||
# Copy sample server and agent .conf files
|
||||
xinstall -m 755 -d \
|
||||
${destroot}${prefix}/etc/zabbix${zver}/zabbix_server.conf.d
|
||||
|
||||
# Don't overwrite user settings on each install
|
||||
move ${destroot}${prefix}/etc/zabbix${zver}/zabbix_server.conf \
|
||||
${destroot}${prefix}/etc/zabbix${zver}/zabbix_server.conf.sample
|
||||
|
||||
# Copy database data and schemas
|
||||
xinstall -m 755 -d ${destroot}${prefix}/share/zabbix/scripts
|
||||
|
||||
xinstall -m 755 -W ${worksrcpath}/database/${DBFILES} \
|
||||
data.sql images.sql schema.sql \
|
||||
${destroot}${prefix}/share/zabbix/scripts
|
||||
|
||||
#file copy ${worksrcpath}/upgrades \
|
||||
# ${destroot}${prefix}/share/zabbix/
|
||||
|
||||
# Set permissions for etc (protect passwords)
|
||||
system "chmod ug+rwX,o-rwx ${destroot}${prefix}/etc/zabbix${zver}/*"
|
||||
system "chown -R zabbix:zabbix ${destroot}${prefix}/etc/zabbix${zver}"
|
||||
}
|
||||
|
||||
foreach dname {run log} {
|
||||
xinstall -d -m 755 ${destroot}${prefix}/var/${dname}/zabbix
|
||||
system "chown -R zabbix:zabbix ${destroot}${prefix}/var/${dname}/zabbix"
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
if {[isFlavor agent ${subport}]} {
|
||||
notes "
|
||||
####
|
||||
#### ZABBIX${zver} agent installation section
|
||||
|
||||
1) Edit the sample .conf file ${prefix}/etc/zabbix${zver}/zabbix_agentd.conf.sample
|
||||
(rename & omit .sample)
|
||||
|
||||
Set the following variable to the IP address of your ZABBIX server to\
|
||||
allow it access to the agent.
|
||||
|
||||
Server=x.x.x.x
|
||||
|
||||
|
||||
2) Set zabbix_agentd to run at system boot
|
||||
|
||||
sudo port load zabbix${zver}-agent
|
||||
|
||||
#### End ZABBIX${zver} agent installation section ####
|
||||
####
|
||||
"
|
||||
} elseif {[isFlavor frontend ${subport}]} {
|
||||
notes "
|
||||
####
|
||||
#### Begin ZABBIX${zver} frontend installation section ####
|
||||
|
||||
1) Set a symbolic link in your Apache document root pointing to the PHP
|
||||
frontend files
|
||||
|
||||
sudo ln -s ${prefix}/share/zabbix/frontends/php <Apache-docroot>/zabbix
|
||||
|
||||
|
||||
2) Enable your desired php version in httpd.conf and make sure the following
|
||||
are set in the associated php.ini:
|
||||
|
||||
max_execution_time = 300
|
||||
max_input_time = 300
|
||||
post_max_size = 16M
|
||||
date.timezone = < Your TZ; see http://php.net/manual/en/timezones.php >
|
||||
|
||||
And for >= php56:
|
||||
always_populate_raw_post_data = -1
|
||||
|
||||
|
||||
3) Open http://localhost/zabbix/ in your browser and walk through the setup,
|
||||
then login with default user 'Admin' and password 'zabbix'.
|
||||
|
||||
|
||||
4) Read the fine manual at http://www.zabbix.com/documentation/
|
||||
|
||||
#### End ZABBIX${zver} frontend installation section ####
|
||||
####
|
||||
"
|
||||
} else {
|
||||
set shortver [regsub {\.\d+$} ${version} {}]
|
||||
notes "
|
||||
####
|
||||
#### Begin ZABBIX${zver} local server installation section ####
|
||||
|
||||
!! LOADING ZABBIX${zver} WILL *INCREASE* THESE sysctl VALUES TO BE AT LEAST:
|
||||
kern.sysv.shmall=32768 kern.sysv.shmmax=134217728
|
||||
This can be adjusted in the file below, but resets after an upgrade:
|
||||
${prefix}/etc/LaunchDaemons/org.macports.zabbix${zver}-server/zabbix${zver}-server.wrapper
|
||||
|
||||
(Installing with +full_server will add all of the dependants; configuration
|
||||
will still be required.)
|
||||
|
||||
1) Setup your SQL server, i.e. via MacPorts: (for local SQL server; can be on
|
||||
a separate system.)
|
||||
|
||||
sudo port install mysql5-server (or mariadb...)
|
||||
|
||||
2) Setup the ZABBIX database
|
||||
|
||||
Follow the directions at :
|
||||
|
||||
https://www.zabbix.com/documentation/${shortver}/manual/appendix/install/db_scripts
|
||||
|
||||
The *.sql files it refers to are in ${prefix}/share/zabbix/scripts/
|
||||
** NOTE THAT THESE ARE FOR YOUR SELECTED DATABASE VARIANT!!! **
|
||||
|
||||
|
||||
3) Edit the sample .conf file ${prefix}/etc/zabbix${zver}/zabbix_server.conf
|
||||
(rename & omit .sample)
|
||||
|
||||
Modify these variables at the very least:
|
||||
|
||||
DBName=zabbix
|
||||
DBUser=zabbix
|
||||
DBPassword=<zabbix-mysql-password>
|
||||
DBSocket=<location for your active sql server socket>
|
||||
|
||||
4) Set zabbix_server to run at system boot (also starts it immediately):
|
||||
|
||||
sudo port load zabbix${zver}
|
||||
|
||||
5) Read the fine manual at http://www.zabbix.com/documentation/
|
||||
|
||||
#### End ZABBIX${zver} local server installation section ####
|
||||
#### ####
|
||||
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!! ZABBIX${zver} Server Version Upgrade process
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!! 0) Be sure to use 'sudo port unload zabbixN' to stop the background
|
||||
!! server before deactivating zabbixN. (Whatever version you are running.)
|
||||
!!
|
||||
!! 1) BACK UP YOUR DATABASE
|
||||
!!
|
||||
!! 2) Create/edit ${prefix}/etc/zabbix${zver}/zabbix_server.conf
|
||||
!! zabbix_server.conf.sample is available for reference.
|
||||
!! There are new features to consider.
|
||||
!! ** NOTE conf dir is etc/zabbix${zver} **
|
||||
!!
|
||||
!! 3) 'sudo port load zabbix${zver}' after installing.
|
||||
!!
|
||||
!! For complete upgrade directions, please see:
|
||||
!! http://www.zabbix.com/documentation/${shortver}/manual/installation/upgrade
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
|
||||
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!! ALWAYS BACK UP YOUR DATABASE BEFORE UPGRADING (between unload/load)! !!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
"
|
||||
}
|
||||
@@ -1,44 +0,0 @@
|
||||
--- conf/zabbix_agentd.conf.orig 2016-02-16 14:03:55.000000000 -0600
|
||||
+++ conf/zabbix_agentd.conf 2016-02-16 14:08:16.000000000 -0600
|
||||
@@ -10,6 +10,10 @@
|
||||
# Default:
|
||||
# PidFile=/tmp/zabbix_agentd.pid
|
||||
|
||||
+# MACPORTS CONFIG. PLEASE ONLY EDIT IF YOU KNOW WHAT YOU ARE DOING
|
||||
+PidFile=%%PREFIX%%/var/run/zabbix/zabbix_agentd.pid
|
||||
+# END MACPORTS CONFIG
|
||||
+
|
||||
### Option: LogType
|
||||
# Specifies where log messages are written to:
|
||||
# system - syslog
|
||||
@@ -27,7 +31,7 @@
|
||||
# Default:
|
||||
# LogFile=
|
||||
|
||||
-LogFile=/tmp/zabbix_agentd.log
|
||||
+LogFile=%%PREFIX%%/var/log/zabbix/zabbix_agentd.log
|
||||
|
||||
### Option: LogFileSize
|
||||
# Maximum size of log file in MB.
|
||||
--- conf/zabbix_server.conf.orig 2016-02-16 14:04:00.000000000 -0600
|
||||
+++ conf/zabbix_server.conf 2016-02-16 14:08:34.000000000 -0600
|
||||
@@ -35,7 +35,7 @@
|
||||
# Default:
|
||||
# LogFile=
|
||||
|
||||
-LogFile=/tmp/zabbix_server.log
|
||||
+LogFile=%%PREFIX%%/var/log/zabbix/zabbix_server.log
|
||||
|
||||
### Option: LogFileSize
|
||||
# Maximum size of log file in MB.
|
||||
@@ -67,6 +67,10 @@
|
||||
# Default:
|
||||
# PidFile=/tmp/zabbix_server.pid
|
||||
|
||||
+# MACPORTS CONFIG. PLEASE ONLY EDIT IF YOU KNOW WHAT YOU ARE DOING
|
||||
+PidFile=%%PREFIX%%/var/run/zabbix/zabbix_server.pid
|
||||
+# END MACPORTS CONFIG
|
||||
+
|
||||
### Option: SocketDir
|
||||
# IPC socket directory.
|
||||
# Directory to store IPC sockets used by internal Zabbix services.
|
||||
Reference in New Issue
Block a user