]> git.ipfire.org Git - people/pmueller/ipfire-2.x.git/blame - src/paks/zabbix_agentd/install.sh
zabbix_agentd: By default only listen on GREEN ip
[people/pmueller/ipfire-2.x.git] / src / paks / zabbix_agentd / install.sh
CommitLineData
06fc6170
AK
1#!/bin/bash
2############################################################################
3# #
4# This file is part of the IPFire Firewall. #
5# #
6# IPFire is free software; you can redistribute it and/or modify #
7# it under the terms of the GNU General Public License as published by #
8# the Free Software Foundation; either version 2 of the License, or #
9# (at your option) any later version. #
10# #
11# IPFire is distributed in the hope that it will be useful, #
12# but WITHOUT ANY WARRANTY; without even the implied warranty of #
13# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
14# GNU General Public License for more details. #
15# #
16# You should have received a copy of the GNU General Public License #
17# along with IPFire; if not, write to the Free Software #
18# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA #
19# #
20# Copyright (C) 2007 IPFire-Team <info@ipfire.org>. #
21# #
22############################################################################
23#
24. /opt/pakfire/lib/functions.sh
25
661fdb02
MT
26if ! getent group zabbix &>/dev/null; then
27 groupadd -g 118 zabbix
28fi
29
30if ! getent passwd zabbix; then
31 useradd -u 118 -g zabbix -d /var/empty -s /bin/false zabbix
32fi
33
06fc6170
AK
34extract_files
35
36# Create symlinks for runlevel interaction.
37ln -sf ../init.d/zabbix_agentd /etc/rc.d/rc3.d/S65zabbix_agentd
38ln -sf ../init.d/zabbix_agentd /etc/rc.d/rc0.d/K02zabbix_agentd
39ln -sf ../init.d/zabbix_agentd /etc/rc.d/rc6.d/K02zabbix_agentd
40
41# Create additonal directories and set permissions
1d00837e
RR
42[ -d /var/log/zabbix ] || ( mkdir -pv /var/log/zabbix && chown zabbix.zabbix /var/log/zabbix )
43[ -d /usr/lib/zabbix ] || ( mkdir -pv /usr/lib/zabbix && chown zabbix.zabbix /usr/lib/zabbix )
06fc6170
AK
44
45restore_backup ${NAME}
e2d54d57
RR
46
47# Check if old IPFire specifc userparameters exist and move out of the way
48if [ -f /etc/zabbix_agentd/zabbix_agentd.d/userparameter_pakfire.conf ]; then
49 mv /etc/zabbix_agentd/zabbix_agentd.d/userparameter_pakfire.conf \
50 /etc/zabbix_agentd/zabbix_agentd.d/userparameter_pakfire.conf.save
51fi
52
53# Check if new IPFire specific config is included in restored config
54# and add if required.
55grep -q "Include=/var/ipfire/zabbix_agentd/userparameters/\*.conf" /etc/zabbix_agentd/zabbix_agentd.conf
56if [ $? -eq 1 ]; then
57 echo "" >> /etc/zabbix_agentd/zabbix_agentd.conf
58 echo "# This line activates IPFire specific userparameters. " >> /etc/zabbix_agentd/zabbix_agentd.conf
59 echo "# See IPFire wiki for details." >> /etc/zabbix_agentd/zabbix_agentd.conf
60 echo "# To deactivate them: Comment this line out." >> /etc/zabbix_agentd/zabbix_agentd.conf
61 echo "# (DO NOT REMOVE OR ALTER IT as then it will be re-added on next upgrade)" >> /etc/zabbix_agentd/zabbix_agentd.conf
62 echo "Include=/var/ipfire/zabbix_agentd/userparameters/*.conf" >> /etc/zabbix_agentd/zabbix_agentd.conf
63fi
64
65grep -q "Include=/var/ipfire/zabbix_agentd/zabbix_agentd_ipfire_mandatory.conf" /etc/zabbix_agentd/zabbix_agentd.conf
66if [ $? -eq 1 ]; then
67 # Remove settings that are now in our own config
68 sed -i -e "\|^PidFile=.*$|d" /etc/zabbix_agentd/zabbix_agentd.conf
69 sed -i -e "\|^LogFile=.*$|d" /etc/zabbix_agentd/zabbix_agentd.conf
70 sed -i -e "\|^LogFileSize=.*$|d" /etc/zabbix_agentd/zabbix_agentd.conf
71 sed -i -e "\|^LoadModulePath=.*$|d" /etc/zabbix_agentd/zabbix_agentd.conf
72 sed -i -e "\|^Include=/etc/zabbix_agentd/zabbix_agentd\.d/\*\.conf$|d" /etc/zabbix_agentd/zabbix_agentd.conf
73 # Include our own config in main config
74 echo "" >> /etc/zabbix_agentd/zabbix_agentd.conf
75 echo "# Mandatory Zabbix Agent configuration to start and run on IPFire correctly" >> /etc/zabbix_agentd/zabbix_agentd.conf
76 echo "# DO NOT REMOVE OR MODIFY THIS LINE:" >> /etc/zabbix_agentd/zabbix_agentd.conf
77 echo "Include=/var/ipfire/zabbix_agentd/zabbix_agentd_ipfire_mandatory.conf" >> /etc/zabbix_agentd/zabbix_agentd.conf
78fi
79
1898c66a
RR
80# By default, only listen on GREEN
81(
82 eval $(/usr/local/bin/readhash /var/ipfire/ethernet/settings)
83 if [ -n "${GREEN_ADDRESS}" ]; then
84 sed -i -e "s|ListenIP=GREEN_ADDRESS|ListenIP=${GREEN_ADDRESS}|g" /etc/zabbix_agentd/zabbix_agentd.conf
85 else
86 sed -i -e "\|ListenIP=GREEN_ADDRESS|d" /etc/zabbix_agentd/zabbix_agentd.conf
87 fi
88) || :
89
06fc6170 90start_service --background ${NAME}