]> git.ipfire.org Git - people/pmueller/ipfire-2.x.git/blob - src/paks/zabbix_agentd/install.sh
3ffff10c18b9d10874bbc508b32929925124d3ab
[people/pmueller/ipfire-2.x.git] / src / paks / zabbix_agentd / install.sh
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
26 if ! getent group zabbix &>/dev/null; then
27 groupadd -g 118 zabbix
28 fi
29
30 if ! getent passwd zabbix; then
31 useradd -u 118 -g zabbix -d /var/empty -s /bin/false zabbix
32 fi
33
34 extract_files
35
36 # Create symlinks for runlevel interaction.
37 ln -sf ../init.d/zabbix_agentd /etc/rc.d/rc3.d/S65zabbix_agentd
38 ln -sf ../init.d/zabbix_agentd /etc/rc.d/rc0.d/K02zabbix_agentd
39 ln -sf ../init.d/zabbix_agentd /etc/rc.d/rc6.d/K02zabbix_agentd
40
41 # Create additonal directories and set permissions
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 )
44
45 restore_backup ${NAME}
46
47 # Check if old IPFire specifc userparameters exist and move out of the way
48 if [ -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
51 fi
52
53 # Check if new IPFire specific config is included in restored config
54 # and add if required.
55 grep -q "Include=/var/ipfire/zabbix_agentd/userparameters/\*.conf" /etc/zabbix_agentd/zabbix_agentd.conf
56 if [ $? -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
63 fi
64
65 grep -q "Include=/var/ipfire/zabbix_agentd/zabbix_agentd_ipfire_mandatory.conf" /etc/zabbix_agentd/zabbix_agentd.conf
66 if [ $? -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
78 fi
79
80 start_service --background ${NAME}