2010-07-05 Junichi Satoh <junichi@rworks.jp>
* pandora_server_installer: Added support for FreeBSD. * FreeBSD/pandora_server, FreeBSD/tentacle_server: Added startup script for FreeBSD. * FreeBSD/pandora_server.conf: Added configuration file for FreeBSD. git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@2959 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
This commit is contained in:
parent
3e4130c0f8
commit
79cb9d5e35
|
@ -1,3 +1,12 @@
|
|||
2010-07-05 Junichi Satoh <junichi@rworks.jp>
|
||||
|
||||
* pandora_server_installer: Added support for FreeBSD.
|
||||
|
||||
* FreeBSD/pandora_server, FreeBSD/tentacle_server: Added startup
|
||||
script for FreeBSD.
|
||||
|
||||
* FreeBSD/pandora_server.conf: Added configuration file for FreeBSD.
|
||||
|
||||
2010-06-10 Sancho Lerena <slerena@artica.es>
|
||||
|
||||
* lib/PandoraFMS/Core.pm: Redefine downtime name and description if
|
||||
|
|
|
@ -0,0 +1,50 @@
|
|||
#!/bin/sh
|
||||
|
||||
# **********************************************************************
|
||||
# Pandora FMS Server Daemon launcher for FreeBSD
|
||||
# (c) 2010 Junichi Satoh <junichi@rworks.jp>
|
||||
#
|
||||
# **********************************************************************
|
||||
|
||||
# PROVIDE: pandora_server
|
||||
# REQUIRE: LOGIN mysql
|
||||
# KEYWORD: shutdown
|
||||
|
||||
# Add the following line to /etc/rc.conf to enable `pandora_server':
|
||||
#
|
||||
# pandora_server_enable="YES"
|
||||
#
|
||||
|
||||
. "/etc/rc.subr"
|
||||
|
||||
name="pandora_server"
|
||||
rcvar=`set_rcvar`
|
||||
|
||||
# read configuration and set defaults
|
||||
pandora_server_enable=${pandora_server_enable:-"NO"}
|
||||
load_rc_config $name
|
||||
|
||||
PATH=/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin
|
||||
|
||||
command=/usr/local/bin/${name}
|
||||
command_args="-D /usr/local/etc/pandora/pandora_server.conf"
|
||||
|
||||
pidfile=/var/run/$name.pid
|
||||
required_files="/usr/local/etc/pandora/pandora_server.conf"
|
||||
start_postcmd=start_postcmd
|
||||
stop_postcmd=stop_postcmd
|
||||
|
||||
procname="/usr/local/bin/perl"
|
||||
|
||||
start_postcmd()
|
||||
{
|
||||
PANDORA_PID=`ps auxww | grep $command | grep -v grep | head -1 | awk '{ print $2 }'`
|
||||
echo $PANDORA_PID > $pidfile
|
||||
}
|
||||
|
||||
stop_postcmd()
|
||||
{
|
||||
rm -f $pidfile
|
||||
}
|
||||
|
||||
run_rc_command "$1"
|
|
@ -0,0 +1,283 @@
|
|||
#############################################################################
|
||||
# Pandora FMS Server Parameters
|
||||
# Pandora FMS, the Flexible Monitoring System.
|
||||
# Version 3.1
|
||||
# Licensed under GPL license v2,
|
||||
# (c) 2003-2010 Artica Soluciones Tecnologicas
|
||||
# http://www.pandorafms.com
|
||||
# Please change it for your setup needs
|
||||
#############################################################################
|
||||
|
||||
# Servername: Name of this server
|
||||
# if not given, it takes hostname. It's preferable to setup one
|
||||
# because machine name could change by some reason.
|
||||
|
||||
#servername adama
|
||||
|
||||
# incomingdir: Defines directory where incoming data packets are stored
|
||||
# You could set directory relative to base path or absolute, starting with /
|
||||
|
||||
incomingdir /var/spool/pandora/data_in
|
||||
|
||||
# log_file: Main logfile for pandora_server
|
||||
# You could set file relative to base path or absolute, starting with /
|
||||
|
||||
log_file /var/log/pandora/pandora_server.log
|
||||
|
||||
# Log file for Pandora FMS SNMP console. Its generated by NetSNMP Trap daemon
|
||||
|
||||
snmp_logfile /var/log/pandora/pandora_snmptrap.log
|
||||
|
||||
# Error logfile: aux logfile for pandora_server errors (in Daemon mode)
|
||||
# You could set file relative to base path or absolute, starting with /
|
||||
|
||||
errorlog_file /var/log/pandora/pandora_server.error
|
||||
|
||||
# daemon: Runs in daemon mode (background) if 1, if 0 runs in foreground
|
||||
# this could be also configured on commandline with -D option
|
||||
|
||||
# daemon 1
|
||||
|
||||
# Database credentials. A VERY important configuration.
|
||||
# This must be the same credentials used by your Pandora FMS Console
|
||||
# but could be different if your console is not running in the same
|
||||
# host than the server. Check your console setup in /include/config.php
|
||||
|
||||
# dbname: Database name (pandora by default
|
||||
|
||||
dbname pandora
|
||||
|
||||
# dbuser: Database user name (pandora by default)
|
||||
|
||||
dbuser pandora
|
||||
|
||||
# dbpass: Database password
|
||||
|
||||
dbpass pandora
|
||||
|
||||
# dbhost: Database hostname or IP address
|
||||
|
||||
dbhost localhost
|
||||
|
||||
# verbosity: level of detail on errors/messages (0 default, 1 verbose, 2 debug.... 10 noisy)
|
||||
# -v in command line (verbose) or -d (debug). Set this to 10 when try to locate problems and
|
||||
# set to 0 or 1 on production enviroments.
|
||||
|
||||
verbosity 1
|
||||
|
||||
# Master Server, 1 if master server (normal mode), 0 for slave mode (slave in multi-server setup)
|
||||
|
||||
master 1
|
||||
|
||||
# Check datafiles using a MD5 hash, 1 to check (default), 0 to ignore .checksum
|
||||
|
||||
checksum 0
|
||||
|
||||
# Activate Pandora SNMP console (depending on snmptrapd)
|
||||
# only available on Pandora Network server
|
||||
|
||||
snmpconsole 1
|
||||
|
||||
# Activate (1) Pandora Network Server
|
||||
|
||||
networkserver 1
|
||||
|
||||
# Activate (1) Pandora Data Server
|
||||
|
||||
dataserver 1
|
||||
|
||||
# Activate (1) Pandora FMS Recon server
|
||||
|
||||
reconserver 1
|
||||
|
||||
# pluginserver : 1 or 0. Set to 1 to activate plugin server with this setup
|
||||
# DISABLED BY DEFAULT
|
||||
pluginserver 0
|
||||
|
||||
# Pandora FMS Plugin exec tool filepath (by default at /usr/local/bin)
|
||||
|
||||
plugin_exec /usr/local/bin/pandora_exec
|
||||
|
||||
# predictionserver : 1 or 0. Set to 1 to activate prediction server with this setup
|
||||
# DISABLED BY DEFAULT
|
||||
predictionserver 0
|
||||
|
||||
# wmiserver : 1 or 0. Set to 1 to activate WMI server with this setup
|
||||
# DISABLED BY DEFAULT
|
||||
wmiserver 0
|
||||
|
||||
# Network timeout (in seconds) for timeout in network connections for Network agents
|
||||
|
||||
network_timeout 5
|
||||
|
||||
# Server keepalive (in seconds)
|
||||
|
||||
server_keepalive 45
|
||||
|
||||
# Server Threshold: defines number of seconds of main loop (in sec)
|
||||
|
||||
server_threshold 5
|
||||
|
||||
# Network threads: Do not set too high (~40). Each threads make a network module check.
|
||||
|
||||
network_threads 5
|
||||
|
||||
# icmp_checks x : defines number of pings for each icmp_proc module type. at least one of
|
||||
# that ping should be 1 to report 1
|
||||
|
||||
icmp_checks 1
|
||||
|
||||
# tcp specific options :
|
||||
# tcp_checks: number of tcp retries if first attempt fails.
|
||||
# tcp_timeout: specific timeout for tcp connections
|
||||
|
||||
tcp_checks 1
|
||||
tcp_timeout 30
|
||||
|
||||
# snmp specific options :
|
||||
# snmp_checks: number of snmp request retries if first attempt fails.
|
||||
# snmp_timeout: specific timeout for snmp request.
|
||||
|
||||
snmp_checks 1
|
||||
snmp_timeout 5
|
||||
|
||||
# snmp_proc_deadresponse 1 (default): Return DOWN if cannot contact
|
||||
# or receive NULL from a SNMP PROC module.
|
||||
|
||||
snmp_proc_deadresponse 1
|
||||
|
||||
# plugin_threads: Specify number of plugin server threads for processing plugin calls
|
||||
|
||||
plugin_threads 2
|
||||
|
||||
# plugin_timeout: Specify number of seconds calling plugin exec waiting for response
|
||||
# after this time, call is aborted and result is "unknown".
|
||||
|
||||
plugin_timeout 15
|
||||
|
||||
# wmi_timeout : specific timeout for wmi request.
|
||||
|
||||
wmi_timeout 10
|
||||
|
||||
# wmi_threads: Specify number of WMI server threads for processing WMI remote calls
|
||||
|
||||
wmi_threads 2
|
||||
|
||||
# recon_threads. Each thread will scan a different scantask.
|
||||
|
||||
recon_threads 2
|
||||
|
||||
# dataserver_threads: Number of threads for data server (XML processing threads)
|
||||
|
||||
dataserver_threads 2
|
||||
|
||||
# mta_address: External Mailer (MTA) IP Address to be used by Pandora FMS internal email capabilities
|
||||
#mta_address 192.168.50.1
|
||||
|
||||
mta_address localhost
|
||||
|
||||
# mta_port: MTA port (default 25)
|
||||
#mta_port 25
|
||||
|
||||
# mta_user MTA User (if needed for auth, FQD or simple user, depending on your server)
|
||||
#mta_user myuser@mydomain.com
|
||||
|
||||
# mta_pass MTA Pass (if needed for auth)
|
||||
#mta_pass mypassword
|
||||
|
||||
# mta_auth MTA Auth system (if needed, support: LOGIN, PLAIN, CRAM-MD5, DIGEST-MD)
|
||||
#mta_auth LOGIN
|
||||
|
||||
# mta_from Email address that sends the mail, by default is pandora@localhost
|
||||
# probably you need to change it to avoid problems with your antispam
|
||||
#mta_from pandora@sampledomain.com
|
||||
|
||||
# xprobe2: Optional package to detect OS types using advanced TCP/IP
|
||||
# fingerprinting tecniques, much more accurates than stadard nmap.
|
||||
# If not provided, nmap is used insted xprobe2
|
||||
|
||||
xprobe2 /usr/local/bin/xprobe2
|
||||
|
||||
# nmap: If provided, is used to detect OS type with recon server using
|
||||
# advanded OS fingerprint technique. Xprobe2 gives more accurate results
|
||||
# Nmap is also used to do TCP port scanning in detected host.
|
||||
|
||||
nmap /usr/local/bin/nmap
|
||||
|
||||
# snmpget: Needed to do SNMP checks. By default is on /usr/local/bin/snmpget
|
||||
|
||||
snmpget /usr/local/bin/snmpget
|
||||
|
||||
# Default group id for new agents created with Pandora FMS Data Server
|
||||
autocreate_group 2
|
||||
|
||||
# Set to 1 if want to autocreate agents with Pandora FMS Data Server,
|
||||
# set to 0 to disable
|
||||
|
||||
autocreate 1
|
||||
|
||||
# max_log_size: Specify max size of Pandora FMS server log file (1MB by default). If
|
||||
# log file grows above this limit, is renamed to "pandora_server.log.old".
|
||||
|
||||
max_log_size 65536
|
||||
|
||||
# Send XML over Multicast channels async uptades on events and sync full tree
|
||||
# info of tagged items (With custom ID) (only enterprise).
|
||||
|
||||
# mcast_status_port 22222
|
||||
# mcast_status_group 224.1.1.1
|
||||
|
||||
# mcast_change_port 11111
|
||||
# mcast_change_group 224.1.1.1
|
||||
|
||||
# max_queue_files (250 by default)
|
||||
# When server have more than max_queue_files in incoming directory, skips the read
|
||||
# the directory to avoid filesystem overhead.
|
||||
|
||||
max_queue_files 250
|
||||
|
||||
# Use the XML file last modification time as timestamp.
|
||||
# use_xml_timestamp 1
|
||||
|
||||
# Pandora FMS will autorestart itself each XXX seconds, use this if you experience problems with
|
||||
# shutting down threads, or other stability problems.
|
||||
|
||||
# auto_restart 86400
|
||||
|
||||
# Pandora FMS will restart after restart_delay seconds on critical errors.
|
||||
|
||||
# restart 0
|
||||
# restart_delay 60
|
||||
|
||||
# More information about GIS Setup in /usr/share/pandora_server/util/gis.README
|
||||
# Flag to activate GIS (positional information for agents and maps)
|
||||
# by default it is desactivated
|
||||
#activate_gis 0
|
||||
|
||||
# Radius of error in meters to consider two gis locations as the same location.
|
||||
#location_error 50
|
||||
|
||||
# Recon reverse geolocation mode [disabled, sql, file]
|
||||
# disabled The recon task doesn't try to geolocate the ip discovered.
|
||||
# sql The recon task trys to query the SQL database to geolocate the
|
||||
# ip discovered
|
||||
# file The recon task trys to find the geolocation information of the
|
||||
# ip discovered in the file indicated in the
|
||||
# recon_reverse_geolocation_file parameter
|
||||
|
||||
# recon_reverse_geolocation_mode disabled
|
||||
|
||||
# Recon reverse geolocation file. This is the database with the reverse
|
||||
# geolocation information using MaxMind GPL GeoLiteCity.dat format).
|
||||
#recon_reverse_geolocation_file /usr/local/share/GeoIP/GeoIPCity.dat
|
||||
|
||||
# Radius (in meters) of the circle in where the agents will be place randomly
|
||||
# when finded by a recon task. Center of the circle is guessed
|
||||
# by geolocating the IP.
|
||||
#recon_location_scatter_radius 1000
|
||||
|
||||
# Pandora Server self-monitoring (embedded agent) (by default disabled)
|
||||
#self_monitoring 1
|
||||
|
||||
# Update parent from the agent xml
|
||||
#update_parent 1
|
|
@ -0,0 +1,50 @@
|
|||
#!/bin/sh
|
||||
|
||||
# **********************************************************************
|
||||
# Tentacle Server Daemon launcher for FreeBSD
|
||||
# (c) 2010 Junichi Satoh <junichi@rworks.jp>
|
||||
#
|
||||
# **********************************************************************
|
||||
|
||||
# PROVIDE: tentacle_server
|
||||
# REQUIRE: LOGIN
|
||||
# KEYWORD: shutdown
|
||||
|
||||
# Add the following line to /etc/rc.conf to enable `tentacle_server':
|
||||
#
|
||||
# tentacle_server_enable="YES"
|
||||
#
|
||||
|
||||
. "/etc/rc.subr"
|
||||
|
||||
name="tentacle_server"
|
||||
rcvar=`set_rcvar`
|
||||
|
||||
# read configuration and set defaults
|
||||
tentacle_server_enable=${tentacle_server_enable:-"NO"}
|
||||
tentacle_server_flags=${tentacle_server_flags:-"-a 0.0.0.0 -p 41121 -s /var/spool/pandora/data_in -d"}
|
||||
tentacle_server_user=${tentacle_server_user:-"pandora"}
|
||||
load_rc_config $name
|
||||
|
||||
PATH=/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin
|
||||
|
||||
command=/usr/local/bin/${name}
|
||||
|
||||
pidfile=/var/run/$name.pid
|
||||
start_postcmd=start_postcmd
|
||||
stop_postcmd=stop_postcmd
|
||||
|
||||
procname="/usr/bin/perl"
|
||||
|
||||
start_postcmd()
|
||||
{
|
||||
TENTACLE_PID=`ps auxww | grep $command | grep -v grep | head -1 | awk '{ print $2 }'`
|
||||
echo $TENTACLE_PID > $pidfile
|
||||
}
|
||||
|
||||
stop_postcmd()
|
||||
{
|
||||
rm -f $pidfile
|
||||
}
|
||||
|
||||
run_rc_command "$1"
|
|
@ -1,7 +1,7 @@
|
|||
#!/bin/bash
|
||||
#!/bin/sh
|
||||
|
||||
# Pandora FMS Server Installer (c) 2008-2010 Artica ST
|
||||
# Linux Version (generic), for SuSe and Debian/Ubuntu only
|
||||
# Linux/FreeBSD Version (generic), for SuSe, Debian/Ubuntu and FreeBSD only
|
||||
# other Linux distros could not work properly without modifications
|
||||
# Please see http://www.pandorafms.org
|
||||
# v3.1 Build 100223
|
||||
|
@ -43,29 +43,34 @@ get_distro () {
|
|||
OS_VERSION=`cat /etc/fedora-release | cut -f 4 -d " "`
|
||||
OS_VERSION="FEDORA $OS_VERSION"
|
||||
LINUX_DISTRO=FEDORA
|
||||
elif [ `uname -s` == "Darwin" ]
|
||||
elif [ `uname -s` = "Darwin" ]
|
||||
then
|
||||
# For future reference, Darwin doesn't have /etc/init.d but uses LaunchDaemons
|
||||
LINUX_DISTRO="Darwin"
|
||||
OS_VERSION=`uname -r`
|
||||
LINUX=NO
|
||||
elif [ `uname -s` == "AIX" ]
|
||||
elif [ `uname -s` = "AIX" ]
|
||||
then
|
||||
# For future reference, AIX doesn't have /etc/init.d
|
||||
LINUX_DISTRO="AIX"
|
||||
OS_VERSION=`uname -r`
|
||||
LINUX=NO
|
||||
elif [ `uname -s` == "SunOS" ]
|
||||
elif [ `uname -s` = "SunOS" ]
|
||||
then
|
||||
# Some Solaris and other Unices don't have /etc/init.d, some have /usr/spool instead of /var/spool
|
||||
LINUX_DISTRO="Solaris"
|
||||
OS_VERSION=`uname -r`
|
||||
LINUX=NO
|
||||
elif [ `uname -s` == "Linux" ]
|
||||
elif [ `uname -s` = "Linux" ]
|
||||
then
|
||||
# Test for Linux to make sure we're on Linux
|
||||
LINUX_DISTRO="GENERIC"
|
||||
OS_VERSION=`uname -r`
|
||||
elif [ `uname -s` = "FreeBSD" ]
|
||||
then
|
||||
LINUX_DISTRO="FreeBSD"
|
||||
OS_VERSION=`uname -r`
|
||||
LINUX=NO
|
||||
else
|
||||
# Default to Linux is false, test for real Linux above - that way we don't assume we can just plunk down files everywhere
|
||||
LINUX_DISTRO=`uname -s`
|
||||
|
@ -102,6 +107,20 @@ perl-TimeDate perl-XML-Simple perl-libwww-perl mysql-client"
|
|||
echo " "
|
||||
echo " You also will need to install xprobe2 and wmiclient from rpm (download from our website)"
|
||||
echo " "
|
||||
echo "For FreeBSD do : "
|
||||
echo " "
|
||||
echo " Install perl5.8 from ports with thread enabled."
|
||||
echo " (perl-5.8.x.pkg can not be used.)"
|
||||
echo " # cd /usr/ports/lang/perl5.8"
|
||||
echo " # make config"
|
||||
echo " -> Enable THREADS."
|
||||
echo " # make"
|
||||
echo " # make install"
|
||||
echo " "
|
||||
echo " Install following tools from ports. Don't use packages."
|
||||
echo " Recommended: p5-DBI p5-Mail-Sendmail p5-NetAddr-IP p5-XML-Simple p5-Time-Format p5-HTML-Parser p5-Net-Traceroute-PurePerl p5-IO-Socket-Multicast p5-DBD-mysql"
|
||||
echo " Optional: nmap xprobe"
|
||||
echo " "
|
||||
echo "To get it from source through CPAN do"
|
||||
echo " "
|
||||
echo " $ cpan Digest::MD5 Time::Local DBI XML::Simple IO::Socket Time::HiRes Time::Format NetAddr::IP Mail::Sendmail Net::Traceroute::PurePerl HTML::Entities"
|
||||
|
@ -115,12 +134,22 @@ perl-TimeDate perl-XML-Simple perl-libwww-perl mysql-client"
|
|||
OS_VERSION=`echo $GET_DISTRO | cut -f 2 -d ":"`
|
||||
LINUX=`echo $GET_DISTRO | cut -f 3 -d ":"`
|
||||
|
||||
if [ "$DISTRO" == "UBUNTU" ]
|
||||
if [ "$DISTRO" = "UBUNTU" ]
|
||||
then
|
||||
echo "UBUNTU distribution detected"
|
||||
elif [ "$DISTRO" == "SUSE" ]
|
||||
elif [ "$DISTRO" = "SUSE" ]
|
||||
then
|
||||
echo "SUSE distribution detected"
|
||||
elif [ "$DISTRO" = "FreeBSD" ]
|
||||
then
|
||||
echo "FreeBSD detected"
|
||||
PANDORA_SPOOL=/var/spool/pandora
|
||||
PANDORA_HOME=/usr/local/share/pandora_server
|
||||
PANDORA_CFG_DIR=/usr/local/etc/pandora
|
||||
PANDORA_LOG=/var/log/pandora
|
||||
PANDORA_SERVER=/usr/local/etc/rc.d/pandora_server
|
||||
TENTACLE_SERVER=/usr/local/etc/rc.d/tentacle_server
|
||||
PANDORA_CFG_FILE=/usr/local/etc/pandora/pandora_server.conf
|
||||
fi
|
||||
|
||||
echo "Installing binaries and libraries"
|
||||
|
@ -135,23 +164,31 @@ perl-TimeDate perl-XML-Simple perl-libwww-perl mysql-client"
|
|||
echo "ERROR compiling Pandora FMS Server from sources. Aborting"
|
||||
exit 1
|
||||
fi
|
||||
ln -s /usr/local/bin/pandora_server /usr/bin
|
||||
ln -s /usr/local/bin/pandora_exec /usr/bin
|
||||
if [ "$DISTRO" != "FreeBSD" ]
|
||||
then
|
||||
ln -s /usr/local/bin/pandora_server /usr/bin
|
||||
ln -s /usr/local/bin/pandora_exec /usr/bin
|
||||
fi
|
||||
fi
|
||||
|
||||
echo "Creating common Pandora FMS directories"
|
||||
id pandora
|
||||
id pandora 2> /dev/null
|
||||
if [ $? -eq 0 ]; then
|
||||
echo " "
|
||||
echo "User pandora does exist, make sure the SSH directories are correct"
|
||||
else
|
||||
echo "Are you sure we can create a standard 'pandora' user locally? [y/N]"
|
||||
read AREYOUSURE
|
||||
if [ "$AREYOUSURE" == "y" ]; then
|
||||
useradd pandora
|
||||
mkdir /home/pandora 2> /dev/null
|
||||
mkdir /home/pandora/.ssh 2> /dev/null
|
||||
chown -R pandora /home/pandora
|
||||
if [ "$AREYOUSURE" = "y" ]; then
|
||||
if [ "$DISTRO" = "FreeBSD" ]
|
||||
then
|
||||
echo "pandora:41121:::::Pandora FMS:/home/pandora:/usr/sbin/nologin:" | adduser -f - -w no 2> /dev/null
|
||||
else
|
||||
useradd pandora
|
||||
mkdir /home/pandora 2> /dev/null
|
||||
mkdir /home/pandora/.ssh 2> /dev/null
|
||||
chown -R pandora /home/pandora
|
||||
fi
|
||||
else
|
||||
echo "Please create the 'pandora' user manually according to your authentication scheme then restart the installation"
|
||||
echo "Aborting..."
|
||||
|
@ -166,17 +203,17 @@ perl-TimeDate perl-XML-Simple perl-libwww-perl mysql-client"
|
|||
mkdir $PANDORA_LOG 2> /dev/null
|
||||
|
||||
echo "Giving proper permission to /var/spool/pandora"
|
||||
id -g www-data > /dev/null
|
||||
id -g www-data 2> /dev/null
|
||||
if [ $? -eq 0 ]
|
||||
then
|
||||
chown -R pandora:www-data $PANDORA_SPOOL
|
||||
else
|
||||
id -g www > /dev/null
|
||||
id -g www 2> /dev/null
|
||||
if [ $? -eq 0 ]
|
||||
then
|
||||
chown -R pandora:www $PANDORA_SPOOL
|
||||
else
|
||||
id -g apache > /dev/null
|
||||
id -g apache 2> /dev/null
|
||||
if [ $? -eq 0 ]
|
||||
then
|
||||
chown -R pandora:apache $PANDORA_SPOOL
|
||||
|
@ -188,7 +225,7 @@ perl-TimeDate perl-XML-Simple perl-libwww-perl mysql-client"
|
|||
fi
|
||||
|
||||
|
||||
echo "Creating setup directory in /etc/pandora"
|
||||
echo "Creating setup directory in $PANDORA_CFG_DIR"
|
||||
mkdir $PANDORA_CFG_DIR 2> /dev/null
|
||||
if [ -e $PANDORA_CFG_FILE ]
|
||||
then
|
||||
|
@ -196,25 +233,36 @@ perl-TimeDate perl-XML-Simple perl-libwww-perl mysql-client"
|
|||
echo "Old installation detected, backing up pandora_server.conf.$ODFILENAMETMP"
|
||||
mv $PANDORA_CFG_FILE $PANDORA_CFG_FILE.$OLDFILENAMETMP
|
||||
fi
|
||||
echo cp conf/pandora_server.conf $PANDORA_CFG_DIR
|
||||
cp conf/pandora_server.conf $PANDORA_CFG_DIR
|
||||
if [ "$DISTRO" = "FreeBSD" ]
|
||||
then
|
||||
echo cp FreeBSD/pandora_server.conf $PANDORA_CFG_DIR
|
||||
cp FreeBSD/pandora_server.conf $PANDORA_CFG_DIR
|
||||
else
|
||||
echo cp conf/pandora_server.conf $PANDORA_CFG_DIR
|
||||
cp conf/pandora_server.conf $PANDORA_CFG_DIR
|
||||
fi
|
||||
chmod 770 $PANDORA_CFG_FILE
|
||||
|
||||
echo "Installing Pandora Server manual"
|
||||
cp man/man1/pandora_server.1.gz /usr/share/man/man1
|
||||
if [ "$DISTRO" = "FreeBSD" ]
|
||||
then
|
||||
cp man/man1/pandora_server.1.gz /usr/local/man/man1
|
||||
else
|
||||
cp man/man1/pandora_server.1.gz /usr/share/man/man1
|
||||
fi
|
||||
|
||||
if [ "$LINUX" == "YES" ]
|
||||
if [ "$LINUX" = "YES" ]
|
||||
then
|
||||
echo "Copying the daemon script into /etc/init.d/pandora_server"
|
||||
cp util/pandora_server /etc/init.d/
|
||||
|
||||
if [ "$DISTRO" == "UBUNTU" ] || [ "$DISTRO" == "DEBIAN" ]
|
||||
if [ "$DISTRO" = "UBUNTU" ] || [ "$DISTRO" = "DEBIAN" ]
|
||||
then
|
||||
|
||||
echo "Linking startup script to /etc/rc2.d"
|
||||
update-rc.d pandora_server defaults
|
||||
else
|
||||
if [ "$DISTRO" == "SUSE" ]
|
||||
if [ "$DISTRO" = "SUSE" ]
|
||||
then
|
||||
echo "Creating startup daemons"
|
||||
insserv pandora_server
|
||||
|
@ -229,6 +277,13 @@ perl-TimeDate perl-XML-Simple perl-libwww-perl mysql-client"
|
|||
ln -s $PANDORA_SERVER /etc/rc.d/rc$INITLV.d/S90pandora_server
|
||||
fi
|
||||
fi
|
||||
else
|
||||
if [ "$DISTRO" = "FreeBSD" ]
|
||||
then
|
||||
echo "Copying the daemon script into $PANDORA_SERVER"
|
||||
cp FreeBSD/pandora_server $PANDORA_SERVER
|
||||
chmod 555 $PANDORA_SERVER
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ -d /etc/logrotate.d ]; then
|
||||
|
@ -238,11 +293,11 @@ perl-TimeDate perl-XML-Simple perl-libwww-perl mysql-client"
|
|||
echo "Please add a log rotation schedule manually to your log rotation daemon (if any)"
|
||||
fi
|
||||
|
||||
if [ "$LINUX" == "YES" ]
|
||||
if [ "$LINUX" = "YES" ]
|
||||
then
|
||||
if [ "$SECOPT" != "--no-tentacle" ]
|
||||
then
|
||||
if [ "$DISTRO" == "UBUNTU" ] || [ "$DISTRO" == "DEBIAN" ]
|
||||
if [ "$DISTRO" = "UBUNTU" ] || [ "$DISTRO" = "DEBIAN" ]
|
||||
then
|
||||
# Tentacle server install (Ubuntu)
|
||||
echo "Installing tentacle server"
|
||||
|
@ -250,7 +305,7 @@ perl-TimeDate perl-XML-Simple perl-libwww-perl mysql-client"
|
|||
cp util/tentacle_serverd $TENTACLE_SERVER
|
||||
update-rc.d tentacle_serverd defaults
|
||||
else
|
||||
if [ "$DISTRO" == "SUSE" ]
|
||||
if [ "$DISTRO" = "SUSE" ]
|
||||
then
|
||||
echo "Creating Tentacle startup daemon"
|
||||
cp bin/tentacle_server /usr/bin
|
||||
|
@ -268,9 +323,22 @@ perl-TimeDate perl-XML-Simple perl-libwww-perl mysql-client"
|
|||
echo "Installing Tentacle Server manual"
|
||||
cp man/man1/tentacle_server.1.gz /usr/share/man/man1
|
||||
fi
|
||||
else
|
||||
if [ "$SECOPT" != "--no-tentacle" ]
|
||||
then
|
||||
if [ "$DISTRO" = "FreeBSD" ]
|
||||
then
|
||||
echo "Installing tentacle server"
|
||||
cp bin/tentacle_server /usr/local/bin
|
||||
cp FreeBSD/tentacle_server $TENTACLE_SERVER
|
||||
chmod 555 $TENTACLE_SERVER
|
||||
echo "Installing Tentacle Server manual"
|
||||
cp man/man1/tentacle_server.1.gz /usr/local/man/man1
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
echo "Creating Pandora FMS distribution directory in /usr/share/pandora_server"
|
||||
echo "Creating Pandora FMS distribution directory in $PANDORA_HOME"
|
||||
mkdir $PANDORA_HOME 2> /dev/null
|
||||
cp -R util $PANDORA_HOME
|
||||
|
||||
|
@ -281,11 +349,23 @@ perl-TimeDate perl-XML-Simple perl-libwww-perl mysql-client"
|
|||
echo "perl /usr/share/pandora_server/util/pandora_db.pl /etc/pandora/pandora_server.conf" >> /etc/cron.daily/pandora_db
|
||||
chmod +x /etc/cron.daily/pandora_db
|
||||
else
|
||||
echo "You're probably not using cron for automatic scheduling. You should schedule the following command to run frequently (daily) on your master server:"
|
||||
echo " perl /usr/share/pandora_server/util/pandora_db.pl /etc/pandora/pandora_server.conf"
|
||||
if [ "$DISTRO" = "FreeBSD" ]
|
||||
then
|
||||
grep pandora_db.pl /etc/crontab > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]
|
||||
then
|
||||
echo "# Pandora FMS" >> /etc/crontab
|
||||
echo "2 0 * * * root perl /usr/local/share/pandora_server/util/pandora_db.pl /usr/local/etc/pandora/pandora_server.conf" >> /etc/crontab
|
||||
else
|
||||
echo "The crontab for pandora_db.pl is already configured."
|
||||
fi
|
||||
else
|
||||
echo "You're probably not using cron for automatic scheduling. You should schedule the following command to run frequently (daily) on your master server:"
|
||||
echo " perl /usr/share/pandora_server/util/pandora_db.pl /etc/pandora/pandora_server.conf"
|
||||
fi
|
||||
fi
|
||||
echo
|
||||
echo "Now you have to edit your /etc/pandora/pandora_server.conf file to change the database password (default is pandora) with the one set in include/config.php of your Pandora FMS Console."
|
||||
echo "Now you have to edit your $PANDORA_CFG_FILE file to change the database password (default is pandora) with the one set in include/config.php of your Pandora FMS Console."
|
||||
echo "After setting password you can start your Pandora FMS Server!!"
|
||||
rm output
|
||||
|
||||
|
@ -294,15 +374,58 @@ perl-TimeDate perl-XML-Simple perl-libwww-perl mysql-client"
|
|||
echo "Managing Pandora FMS logs with logrotate (Distro independent)"
|
||||
cp -aRf util/pandora_logrotate /etc/logrotate.d/pandora
|
||||
fi
|
||||
|
||||
if [ "$DISTRO" = "FreeBSD" ]
|
||||
then
|
||||
echo " "
|
||||
echo "Define 'pandora_server_enable=\"YES\"' in /etc/rc.conf to enable pandora server daemon."
|
||||
echo "Define 'tentacle_server_enable=\"YES\"' in /etc/rc.conf to enable tentacle server daemon."
|
||||
fi
|
||||
fi
|
||||
|
||||
}
|
||||
|
||||
uninstall_freebsd () {
|
||||
PANDORA_SPOOL=/var/spool/pandora
|
||||
PANDORA_HOME=/usr/local/share/pandora_server
|
||||
PANDORA_CFG_DIR=/usr/local/etc/pandora
|
||||
PANDORA_LOG=/var/log/pandora
|
||||
PANDORA_SERVER=/usr/local/etc/rc.d/pandora_server
|
||||
TENTACLE_SERVER=/usr/local/etc/rc.d/tentacle_server
|
||||
PANDORA_CFG_FILE=/usr/local/etc/pandora/pandora_server.conf
|
||||
TMP_CRONTAB=/tmp/crontab.tmp
|
||||
|
||||
echo "Removing Pandora Servers"
|
||||
rm -Rf $PANDORA_SPOOL/data_in/
|
||||
|
||||
echo "If the user Pandora is not being used for any other operations, please delete using the following commands:"
|
||||
echo " rmuser pandora"
|
||||
|
||||
rm -Rf $PANDORA_LOG 2> /dev/null
|
||||
rm -Rf $PANDORA_CFG_FILE 2> /dev/null
|
||||
rm -Rf $PANDORA_SERVER 2> /dev/null
|
||||
rm -Rf $PANDORA_HOME
|
||||
rm -Rf $PANDORA_SERVER
|
||||
rm -Rf $TENTACLE_SERVER
|
||||
|
||||
cat /etc/crontab | grep -v "Pandora FMS" | grep -v "pandora_db.pl" > $TMP_CRONTAB
|
||||
cp $TMP_CRONTAB /etc/crontab
|
||||
rm $TMP_CRONTAB
|
||||
|
||||
echo "Done"
|
||||
exit
|
||||
}
|
||||
|
||||
uninstall () {
|
||||
GET_DISTRO="`get_distro`"
|
||||
DISTRO=`echo $GET_DISTRO | cut -f 1 -d ":"`
|
||||
if [ "`uname -s`" != "Linux" ]; then
|
||||
if [ "$DISTRO" = "FreeBSD" ]
|
||||
then
|
||||
uninstall_freebsd
|
||||
else
|
||||
echo "This is not a Linux-based distro. Uninstaller is currently not working for your OS"
|
||||
fi
|
||||
fi
|
||||
echo "Removing Pandora Servers"
|
||||
rm -Rf $PANDORA_SPOOL/data_in/
|
||||
|
@ -323,7 +446,7 @@ uninstall () {
|
|||
rm -Rf $PANDORA_HOME
|
||||
rm -Rf /etc/cron.daily/pandora_db
|
||||
rm -Rf /etc/logrotate.d/pandora
|
||||
if [ "$DISTRO" == "UBUNTU" ] || [ "$DISTRO" == "DEBIAN" ]
|
||||
if [ "$DISTRO" = "UBUNTU" ] || [ "$DISTRO" = "DEBIAN" ]
|
||||
then
|
||||
update-rc.d -f pandora_server remove
|
||||
update-rc.d -f tentacle_serverd remove
|
||||
|
|
Loading…
Reference in New Issue