Delete orig repo files

This commit is contained in:
fermin831 2017-11-14 19:37:00 +01:00
parent 6a71b9a359
commit ae94be7779
23 changed files with 0 additions and 18259 deletions

View File

@ -1,14 +0,0 @@
package: pandorafms-agent-unix
<<<<<<< HEAD
Version: 7.0NG-170406
=======
Version: 7.0NG-170418
>>>>>>> develop
Architecture: all
Priority: optional
Section: admin
Installed-Size: 260
Maintainer: Miguel de Dios <miguel.dedios@artica.es>
Homepage: http://pandorafms.org/
Depends: coreutils, perl, unzip
Description: Pandora FMS agents are based on native languages in every platform: scripts that can be written in any language. Its possible to reproduce any agent in any programming language and can be extended without difficulty the existing ones in order to cover aspects not taken into account up to the moment. These scripts are formed by modules that each one gathers a "chunk" of information. Thus, every agent gathers several "chunks" of information; this one is organized in a data set and stored in a single file, called data file.

View File

@ -1,132 +0,0 @@
#!/bin/bash
#Pandora FMS- http:#pandorafms.com
# ==================================================
# Copyright (c) 2005-2010 Artica Soluciones Tecnologicas
# Please see http:#pandorafms.org for full contribution list
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public License
# as published by the Free Software Foundation; version 2
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
<<<<<<< HEAD
pandora_version="7.0NG-170406"
=======
pandora_version="7.0NG-170418"
>>>>>>> develop
echo "Test if you has the tools for to make the packages."
whereis dpkg-deb | cut -d":" -f2 | grep dpkg-deb > /dev/null
if [ $? = 1 ]
then
echo "No found \"dpkg-deb\" aplication, please install."
exit 1
else
echo "Found \"dpkg-debs\"."
fi
cd ..
echo "Make a \"temp_package\" temp dir for job."
mkdir -p temp_package/usr
mkdir -p temp_package/usr/share/pandora_agent/
mkdir -p temp_package/usr/bin/
mkdir -p temp_package/usr/sbin/
mkdir -p temp_package/etc/pandora/plugins
mkdir -p temp_package/etc/pandora/collections
mkdir -p temp_package/etc/init.d/
mkdir -p temp_package/lib/systemd/system/
mkdir -p temp_package/var/log/pandora/
mkdir -p temp_package/var/spool/pandora/data_out
mkdir -p temp_package/usr/share/man/man1/
mkdir -p temp_package/usr/share/pandora_agent/plugins
mkdir -p temp_package/tmp
mkdir -p temp_package/etc/logrotate.d/
echo "Make directory system tree for package."
cp DEBIAN temp_package -R
chmod 755 -R temp_package/DEBIAN
#Next lines is same to
#cp -aRf * temp_package/usr/share/pandora_agent/
#but don't copy recursive the temp_package into temp_package
for item in `ls | grep -v NT4 | grep -v AIX | grep -v FreeBSD | grep -v HP-UX | grep -v SunOS | grep -v temp_package`
do
#if [ \( $item != 'temp_package' \) -a \( $item != 'NT4' \) ]
#then
cp -aRf $item temp_package/usr/share/pandora_agent/
#fi
done
cp -aRf tentacle_client temp_package/usr/bin/
cp -aRf pandora_agent temp_package/usr/bin/
cp -aRf pandora_agent_exec temp_package/usr/bin/pandora_agent_exec
cp -aRf pandora_agent_daemon temp_package/etc/init.d/pandora_agent_daemon
cp -aRf pandora_agent_daemon.service temp_package/lib/systemd/system/pandora_agent_daemon.service
cp -aRf pandora_agent_logrotate temp_package/etc/logrotate.d/pandora_agent
cp Linux/pandora_agent.conf temp_package/etc/pandora/
cp -aRf man/man1/* temp_package/usr/share/man/man1/
# Relocate plugins to the final dir and delete
mv temp_package/usr/share/pandora_agent/plugins/* temp_package/etc/pandora/plugins
echo "Official plugins are placed on /etc/pandora/plugins" > temp_package/usr/share/pandora_agent/plugins/README
#Disabled, now the package overwrite the previous files.
##Create a temp file for to update files of plugins dir but don't crush dir.
##cp -aRf temp_package/usr/share/pandora_agent/plugins temp_package/tmp
##rm -rf temp_package/usr/share/pandora_agent/plugins/*
echo "Remove the SVN files and other temp files."
for item in `find temp_package`
do
echo -n "."
echo $item | grep "svn" > /dev/null
#last command success
if [ $? -eq 0 ]
then
rm -rf $item
fi
echo $item | grep "make_deb_package.sh" > /dev/null
#last command success
if [ $? -eq 0 ]
then
rm -rf $item
fi
done
echo "END"
echo "Calcule md5sum for md5sums file control of package"
for item in `find temp_package`
do
echo -n "."
if [ ! -d $item ]
then
echo $item | grep "DEBIAN" > /dev/null
#last command success
if [ $? -eq 1 ]
then
md5=`md5sum $item | cut -d" " -f1`
#delete "temp_package" in the path
final_path=${item#temp_package}
echo $md5" "$final_path >> temp_package/DEBIAN/md5sums
fi
fi
done
echo "END"
echo "Make the package \"Pandorafms console\"."
dpkg-deb --build temp_package
mv temp_package.deb pandorafms.agent_unix_$pandora_version.deb
echo "Delete the \"temp_package\" temp dir for job."
rm -rf temp_package

File diff suppressed because it is too large Load Diff

View File

@ -1,145 +0,0 @@
#
#Pandora FMS Linux Agent
#
%define name pandorafms_agent_unix
%define version 7.0NG
<<<<<<< HEAD
%define release 170406
=======
%define release 170418
>>>>>>> develop
Summary: Pandora FMS Linux agent, PERL version
Name: %{name}
Version: %{version}
Release: %{release}
License: GPL
Vendor: ArticaST <http://www.artica.es>
Source0: %{name}-%{version}.tar.gz
URL: http://pandorafms.org
Group: System/Monitoring
Packager: Sancho Lerena <slerena@artica.es>
Prefix: /usr/share
BuildRoot: %{_tmppath}/%{name}-%{version}-buildroot
BuildArch: noarch
Requires(pre): shadow-utils
Requires(post): chkconfig /bin/ln
Requires(preun): chkconfig /bin/rm /usr/sbin/userdel
Requires: fileutils textutils unzip
Requires: util-linux procps grep
Requires: /sbin/ip /bin/awk
Requires: perl perl(Sys::Syslog) perl(IO::Socket::SSL)
# Required by plugins
#Requires: sh-utils sed passwd net-tools rpm
AutoReq: 0
Provides: %{name}-%{version}
%description
Pandora FMS agent for unix. Pandora FMS is an OpenSource full-featured monitoring software.
%prep
rm -rf $RPM_BUILD_ROOT
%setup -q -n unix
%build
%install
rm -rf $RPM_BUILD_ROOT
mkdir -p $RPM_BUILD_ROOT%{prefix}/pandora_agent/
mkdir -p $RPM_BUILD_ROOT/usr/bin/
mkdir -p $RPM_BUILD_ROOT/usr/sbin/
mkdir -p $RPM_BUILD_ROOT/etc/pandora/
mkdir -p $RPM_BUILD_ROOT/etc/rc.d/init.d/
mkdir -p $RPM_BUILD_ROOT/var/log/pandora/
mkdir -p $RPM_BUILD_ROOT/usr/share/man/man1/
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/
cp -aRf * $RPM_BUILD_ROOT%{prefix}/pandora_agent/
cp -aRf $RPM_BUILD_ROOT%{prefix}/pandora_agent/tentacle_client $RPM_BUILD_ROOT/usr/bin/
cp -aRf $RPM_BUILD_ROOT%{prefix}/pandora_agent/pandora_agent $RPM_BUILD_ROOT/usr/bin/
cp -aRf $RPM_BUILD_ROOT%{prefix}/pandora_agent/pandora_agent_exec $RPM_BUILD_ROOT/usr/bin/
cp -aRf $RPM_BUILD_ROOT%{prefix}/pandora_agent/pandora_agent_daemon $RPM_BUILD_ROOT/etc/rc.d/init.d/pandora_agent_daemon
cp -aRf $RPM_BUILD_ROOT%{prefix}/pandora_agent/man/man1/pandora_agent.1.gz $RPM_BUILD_ROOT/usr/share/man/man1/
cp -aRf $RPM_BUILD_ROOT%{prefix}/pandora_agent/man/man1/tentacle_client.1.gz $RPM_BUILD_ROOT/usr/share/man/man1/
cp -aRf $RPM_BUILD_ROOT%{prefix}/pandora_agent/Linux/pandora_agent.conf $RPM_BUILD_ROOT/usr/share/pandora_agent/pandora_agent.conf.rpmnew
install -m 0644 pandora_agent_logrotate $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/pandora_agent
if [ -f $RPM_BUILD_ROOT%{prefix}/pandora_agent/pandora_agent.spec ] ; then
rm $RPM_BUILD_ROOT%{prefix}/pandora_agent/pandora_agent.spec
fi
%clean
rm -Rf $RPM_BUILD_ROOT
%pre
getent passwd pandora >/dev/null || \
/usr/sbin/useradd -d %{prefix}/pandora -s /bin/false -M -g 0 pandora
exit 0
chown pandora:root /var/log/pandora
%post
if [ ! -d /etc/pandora ] ; then
mkdir -p /etc/pandora
fi
if [ ! -f /usr/share/pandora_agent/pandora_agent.conf ] ; then
cp /usr/share/pandora_agent/pandora_agent.conf.rpmnew /usr/share/pandora_agent/pandora_agent.conf
fi
if [ ! -f /etc/pandora/pandora_agent.conf ] ; then
ln -s /usr/share/pandora_agent/pandora_agent.conf /etc/pandora/pandora_agent.conf
else
ln -s /usr/share/pandora_agent/pandora_agent.conf.rpmnew /etc/pandora/pandora_agent.conf.rpmnew
fi
if [ ! -e /etc/pandora/plugins ]; then
ln -s /usr/share/pandora_agent/plugins /etc/pandora
fi
if [ ! -e /etc/pandora/collections ]; then
ln -s /usr/share/pandora_agent/collections /etc/pandora
fi
mkdir -p /var/spool/pandora/data_out
if [ ! -d /var/log/pandora ]; then
mkdir -p /var/log/pandora
fi
/sbin/chkconfig --add pandora_agent_daemon
/sbin/chkconfig pandora_agent_daemon on
%preun
# Upgrading
if [ "$1" = "1" ]; then
exit 0
fi
/sbin/chkconfig --del pandora_agent_daemon
/etc/rc.d/init.d/pandora_agent_daemon stop >/dev/null 2>&1 || :
# Remove symbolic links
pushd /etc/pandora
for f in pandora_agent.conf plugins collections
do
[ -L $f ] && rm -f $f
done
exit 0
%files
%defattr(750,root,root)
/usr/bin/pandora_agent
%defattr(755,pandora,root)
%{prefix}/pandora_agent
%defattr(755,root,root)
/usr/bin/pandora_agent_exec
/usr/bin/tentacle_client
/etc/rc.d/init.d/pandora_agent_daemon
%defattr(644,root,root)
/usr/share/man/man1/pandora_agent.1.gz
/usr/share/man/man1/tentacle_client.1.gz
%config(noreplace) %{_sysconfdir}/logrotate.d/pandora_agent

View File

@ -1,142 +0,0 @@
#
#Pandora FMS Linux Agent
#
%define name pandorafms_agent_unix
%define version 7.0NG
<<<<<<< HEAD
%define release 170406
=======
%define release 170418
>>>>>>> develop
Summary: Pandora FMS Linux agent, PERL version
Name: %{name}
Version: %{version}
Release: %{release}
License: GPL
Vendor: ArticaST <http://www.artica.es>
Source0: %{name}-%{version}.tar.gz
URL: http://pandorafms.org
Group: System/Monitoring
Packager: Sancho Lerena <slerena@artica.es>
Prefix: /usr/share
BuildRoot: %{_tmppath}/%{name}-%{version}-buildroot
BuildArch: noarch
PreReq: %fillup_prereq %insserv_prereq /usr/bin/sed /usr/bin/grep /usr/sbin/useradd
Requires: coreutils unzip perl
AutoReq: 0
Provides: %{name}-%{version}
%description
Pandora FMS agent for unix. Pandora FMS is an OpenSource full-featured monitoring software.
%prep
rm -rf $RPM_BUILD_ROOT
%setup -q -n unix
%build
%install
rm -rf $RPM_BUILD_ROOT
mkdir -p $RPM_BUILD_ROOT%{prefix}/pandora_agent/
mkdir -p $RPM_BUILD_ROOT/usr/bin/
mkdir -p $RPM_BUILD_ROOT/usr/sbin/
mkdir -p $RPM_BUILD_ROOT/etc/pandora/
mkdir -p $RPM_BUILD_ROOT/etc/init.d/
mkdir -p $RPM_BUILD_ROOT/var/log/pandora/
mkdir -p $RPM_BUILD_ROOT/usr/share/man/man1/
cp -aRf * $RPM_BUILD_ROOT%{prefix}/pandora_agent/
cp -aRf $RPM_BUILD_ROOT%{prefix}/pandora_agent/tentacle_client $RPM_BUILD_ROOT/usr/bin/
cp -aRf $RPM_BUILD_ROOT%{prefix}/pandora_agent/pandora_agent $RPM_BUILD_ROOT/usr/bin/
cp -aRf $RPM_BUILD_ROOT%{prefix}/pandora_agent/pandora_agent_exec $RPM_BUILD_ROOT/usr/bin/
cp -aRf $RPM_BUILD_ROOT%{prefix}/pandora_agent/pandora_agent_daemon $RPM_BUILD_ROOT/etc/init.d/pandora_agent_daemon
cp -aRf $RPM_BUILD_ROOT%{prefix}/pandora_agent/pandora_agent_daemon $RPM_BUILD_ROOT/etc/init.d/pandora_agent_daemon
cp -aRf $RPM_BUILD_ROOT%{prefix}/pandora_agent/man/man1/pandora_agent.1.gz $RPM_BUILD_ROOT/usr/share/man/man1/
cp -aRf $RPM_BUILD_ROOT%{prefix}/pandora_agent/man/man1/tentacle_client.1.gz $RPM_BUILD_ROOT/usr/share/man/man1/
cp -aRf $RPM_BUILD_ROOT%{prefix}/pandora_agent/Linux/pandora_agent.conf $RPM_BUILD_ROOT/usr/share/pandora_agent/pandora_agent.conf.rpmnew
#if [ -f $RPM_BUILD_ROOT%{prefix}/pandora_agent/pandora_agent.spec ] ; then
# rm $RPM_BUILD_ROOT%{prefix}/pandora_agent/pandora_agent.spec
#fi
%clean
rm -Rf $RPM_BUILD_ROOT
%pre
if [ "`id pandora | grep uid | wc -l`" = 0 ]
then
/usr/sbin/useradd -d %{prefix}/pandora -s /bin/false -M -g 0 pandora
fi
%post
chown pandora:root /var/log/pandora
if [ ! -d /etc/pandora ] ; then
mkdir -p /etc/pandora
fi
if [ ! -f /usr/share/pandora_agent/pandora_agent.conf ] ; then
cp /usr/share/pandora_agent/pandora_agent.conf.rpmnew /usr/share/pandora_agent/pandora_agent.conf
fi
if [ ! -f /etc/pandora/pandora_agent.conf ] ; then
ln -s /usr/share/pandora_agent/pandora_agent.conf /etc/pandora/pandora_agent.conf
else
ln -s /usr/share/pandora_agent/pandora_agent.conf.rpmnew /etc/pandora/pandora_agent.conf.rpmnew
fi
if [ ! -e /etc/pandora/plugins ]; then
ln -s /usr/share/pandora_agent/plugins /etc/pandora
fi
if [ ! -e /etc/pandora/collections ]; then
ln -s /usr/share/pandora_agent/collections /etc/pandora
fi
cp -aRf /usr/share/pandora_agent/pandora_agent_logrotate /etc/logrotate.d/pandora_agent
mkdir -p /var/spool/pandora/data_out
chkconfig pandora_agent_daemon on
%preun
# Upgrading
if [ "$1" = "1" ]; then
exit 0
fi
chkconfig --del pandora_agent_daemon
/etc/init.d/pandora_agent_daemon stop
rm /etc/init.d/pandora_agent_daemon
/usr/sbin/userdel pandora
rm -Rf /etc/pandora/pandora_agent.conf
rm -Rf /var/log/pandora/pandora_agent* 2> /dev/null
rm -Rf /usr/share/pandora_agent
rm -Rf /usr/share/man/man1/pandora_agent.1.gz
rm -Rf /usr/share/man/man1/tentacle_client.1.gz
exit 0
%postun
# Upgrading
if [ "$1" = "1" ]; then
exit 0
fi
rm -Rf /etc/logrotate.d/pandora_agent
%files
%defattr(750,pandora,root)
/usr/bin/pandora_agent
/usr/bin/pandora_agent_exec
%defattr(755,pandora,root)
/usr/bin/tentacle_client
/etc/init.d/pandora_agent_daemon
%docdir %{prefix}/pandora_agents/docs
%{prefix}/pandora_agent
%defattr(644,pandora,root)
/usr/share/man/man1/pandora_agent.1.gz
/usr/share/man/man1/tentacle_client.1.gz

View File

@ -1,557 +0,0 @@
#!/bin/sh
# **********************************************************************
# Pandora FMS Agent Installer for Unix (generic installer)
# (c) 2008-2015 Artica ST
# (c) 2008-2010 Sancho Lerena <slerena@gmail.com>
#
# This is a generic installer for all Unix-like systems.(AIX, HP-UX, SunOS, Linux, FreeBSD, NetBSD)
# Please see http://www.pandorafms.org. This code is licensed under GPL 2.0 license.
# **********************************************************************
PI_VERSION="7.0NG"
<<<<<<< HEAD
PI_BUILD="170406"
=======
PI_BUILD="170418"
>>>>>>> develop
OS_NAME=`uname -s`
FORCE=0
LOG_TIMESTAMP=`date +"%Y/%m/%d %H:%M:%S"`
PREFIX=/usr
if [ "$OS_NAME" = "FreeBSD" ] || [ "$OS_NAME" = "NetBSD" ]
then
PREFIX=/usr/local
fi
PANDORA_HOME=$PREFIX/share/pandora_agent
PANDORA_BIN=$PREFIX/bin/pandora_agent
PANDORA_EXEC_BIN=$PREFIX/bin/pandora_agent_exec
PANDORA_REVENT_BIN=$PREFIX/bin/pandora_revent
PANDORA_TEMP=/var/spool/pandora
PANDORA_CFG=/etc/pandora
PANDORA_LOG_DIR=/var/log/pandora
PANDORA_LOG=pandora_agent.log
TENTACLE=$PREFIX/bin/tentacle_client
TENTACLE_SERVER=$PREFIX/bin/tentacle_server
PANDORA_MAN=$PREFIX/share/man
PANDORA_STARTUP=/etc/init.d/pandora_agent_daemon
DAEMON_SCRIPT=pandora_agent_daemon
PANDORA_USER="root"
PANDORA_PERL_PATH="perl"
WITHOUT_TENTACLE_SERVER=0
FAKEROOT=0
# defaults for each platforms
case $OS_NAME in
AIX)
PANDORA_STARTUP=/etc/rc.pandora_agent_daemon
;;
HP-UX)
PANDORA_STARTUP=/sbin/init.d/pandora_agent_daemon
;;
FreeBSD)
PANDORA_CFG=$PREFIX/etc/pandora
PANDORA_MAN=$PREFIX/man
PANDORA_STARTUP=$PREFIX/etc/rc.d/pandora_agent
DAEMON_SCRIPT=$OS_NAME/pandora_agent
PANDORA_PERL_PATH=/usr/local/bin/perl
;;
NetBSD)
PANDORA_CFG=/usr/local/etc/pandora
PANDORA_STARTUP=/etc/rc.d/pandora_agent
DAEMON_SCRIPT=$OS_NAME/pandora_agent
PANDORA_PERL_PATH=/usr/pkg/bin/perl
;;
esac
MODE=$1
# options
while :
do
case "$2" in
"--no-tentacle-server") WITHOUT_TENTACLE_SERVER=1;;
"--fakeroot") FAKEROOT=1;;
*) break;;
esac
shift
done
PANDORA_BASE=`echo $2 | sed -e 's|/$||'`
if [ "$3" != "" ]
then
PANDORA_USER=$3
if [ -z "$PANDORA_BASE" ]
then
echo "When specifying a custom user the agent must be installed to a custom location where that user has write permissions!"
exit 1
fi
fi
[ "$4" ] && PANDORA_PERL_PATH=$4
# Check for Perl 5.6.x or higher available
PERL_VERSION=`$PANDORA_PERL_PATH -v | egrep 'v5.[6-9]|v5.[12][0-9]' | grep perl`
if [ -z "$PERL_VERSION" ]
then
echo "Perl 5.6.x or higher is not detected. This is required for Pandora FMS"
echo "Detected: $PERL_VERSION "
echo "Aborting install..."
exit 2
fi
if [ -z "`echo Linux HP-UX SunOS AIX Solaris Darwin BSD bsd FreeBSD NetBSD | grep \"$OS_NAME\"`" ]
then
echo "This system: '$OS_NAME' is not supported by this script"
echo "Please make the install yourself as it's described in documentation"
exit 1
fi
# check for root to do the install
if [ $FAKEROOT -ne 1 ] && [ -z "`id | grep \"uid=0(root)\"`" ]
then
echo "You need to be root to do the install. Please made a manual install"
echo "if you want to install Pandora FMS agent without root"
echo " "
echo "Aborting install"
exit 2
fi
help () {
echo "Syntax":
echo " "
echo " ./pandora_agent_installer < --mode > [ --option ] [ destination_path ] [ user_to_run_as ] [custom_perl_path]"
echo " "
echo "Modes:"
echo " "
echo " --force-install To force installation if already installed on system"
echo " --install To install Pandora FMS Agent on this system"
echo " --uninstall To uninstall/remove Pandora FMS Agent on this System"
echo " "
echo "Option:"
echo " "
echo " --no-tentacle-server Skip tentacle server installation (by default tentalce server installed)"
echo " --fakeroot treate \"destination_path\" as root directory"
echo " "
echo "Some exaples of how to use the installer:"
echo " "
echo " ./pandora_agent_installer --install"
echo " ./pandora_agent_installer --install /opt/pandora"
echo " ./pandora_agent_installer --install \"\" pandora"
echo " ./pandora_agent_installer --install /opt/pandora root /opt/pandora/perl5/usr/local/bin/perl"
echo " ./pandora_agent_installer --uninstall /opt/pandora"
echo " "
}
uninstall () {
if [ "$OS_NAME" = "Darwin" ]
then
launchctl remove com.pandorafms.pandorafms
rm /Library/LaunchDaemons/com.pandorafms.pandorafms.plist 2> /dev/null
fi
echo "Removing Pandora FMS Agent..."
rm -Rf $PANDORA_BASE$PANDORA_BIN 2> /dev/null
rm -Rf $PANDORA_BASE$PANDORA_EXEC_BIN 2> /dev/null
rm -Rf $PANDORA_BASE$PANDORA_REVENT_BIN 2> /dev/null
rm -f $DESTDIR/etc/logrotate.d/pandora_agent
#Test if exist Pandora Server in this machine
if [ -d $PANDORA_BASE$PANDORA_TEMP/data_in ]
then
echo "You have a Pandora Server in this machine. Then don't delete "$PANDORA_TEMP
rm -Rf $PANDORA_BASE$PANDORA_TEMP/data_out 2> /dev/null
else
rm -Rf $PANDORA_BASE$PANDORA_TEMP 2> /dev/null
rm -Rf $PANDORA_BASE$TENTACLE_SERVER 2> /dev/null
fi
rm -Rf $PANDORA_BASE$PANDORA_CFG/pandora_agent.conf 2> /dev/null
rm -Rf $PANDORA_BASE/etc/init.d/pandora_agent_daemon 2> /dev/null
rm -Rf $PANDORA_BASE/sbin/init.d/pandora_agent_daemon 2> /dev/null
rm -Rf $PANDORA_BASE/etc/rc.pandora_agent_daemon 2> /dev/null
rm -Rf $PANDORA_BASE/etc/rc?.d/S90pandora_agent_daemon 2> /dev/null
rm -Rf $PANDORA_BASE/sbin/rc?.d/S90pandora_agent_daemon 2> /dev/null
rm -Rf $PANDORA_BASE/etc/rc?.d/S90pandora_agent 2> /dev/null
rm -Rf $PANDORA_BASE/sbin/rc?.d/S90pandora_agent 2> /dev/null
rm -Rf $PANDORA_BASE/etc/rc.d/rc?.d/S90pandora_agent_daemon 2> /dev/null
rm -Rf $PANDORA_BASE/etc/rc.d/rc?.d/S90pandora_agent 2> /dev/null
rm -Rf $PANDORA_BASE/usr/local/etc/rc.d/pandora_agent 2> /dev/null
if [ $FAKEROOT -ne 1 ]
then
rm -Rf /etc/init.d/pandora_agent_daemon 2> /dev/null
rm -Rf /sbin/init.d/pandora_agent_daemon 2> /dev/null
rm -Rf /etc/rc.pandora_agent_daemon 2> /dev/null
rm -Rf /etc/rc?.d/S90pandora_agent_daemon 2> /dev/null
rm -Rf /sbin/rc?.d/S90pandora_agent_daemon 2> /dev/null
rm -Rf /etc/rc?.d/S90pandora_agent 2> /dev/null
rm -Rf /sbin/rc?.d/S90pandora_agent 2> /dev/null
rm -Rf /etc/rc.d/rc?.d/S90pandora_agent_daemon 2> /dev/null
rm -Rf /etc/rc.d/rc?.d/S90pandora_agent 2> /dev/null
rm -Rf /usr/local/etc/rc.d/pandora_agent 2> /dev/null
fi
rm -Rf $PANDORA_BASE$PANDORA_HOME 2> /dev/null
rm -Rf $PANDORA_BASE$PANDORA_LOG_DIR/$PANDORA_LOG 2> /dev/null
rm -Rf $PANDORA_BASE$TENTACLE 2> /dev/null
rm -Rf $PANDORA_BASE$PANDORA_MAN/{man1,cat1}/tentacle_client.1.gz 2> /dev/null
rm -Rf $PANDORA_BASE$PANDORA_MAN/{man1,cat1}/pandora_agent.1.gz 2> /dev/null
# Skip delete of /etc/pandora if exists configuration of a server or satellite
if [ ! -f $PANDORA_BASE/$PANDORA_CFG/pandora_server.conf -a ! -f $PANDORA_BASE/$PANDORA_CFG/satellite_server.conf ]
then
rm -Rf $PANDORA_BASE/$PANDORA_CFG 2> /dev/null
fi
if [ ! -z "$PANDORA_BASE" ]
then
echo "Please delete manually $PANDORA_BASE for complete uninstall"
fi
echo " "
echo "Done"
}
#
# install_perl_script [OPTIONS] SRCFILE DESTFILE
# Install perl script. If PANDORA_PERL_DECODED_PATH is set, path of the perl
# in shebang line is replaced with PANDORA_PERL_DECODED_PATH value.
# OPTIONS:
# -o OWNER owner of the installed script
# -g GROUP group of the installed script
# -m PREM mode of the installed script
#
install_perl_script () {
OWNER=""; GROUP=""; PERM=""
while :
do
case $1 in
-o) OWNER=$2;;
-g) GROUP=$2;;
-m) PERM=$2;;
*) break;;
esac
shift;shift
done
SRC="$1"
DEST="$2"
# do install
if echo $PANDORA_PERL_PATH | grep "/" > /dev/null && [ "$PANDORA_PERL_PATH" != "/usr/bin/perl" ]
then
sed -e "s:^#\!.*:#\!$PANDORA_PERL_PATH:g" $SRC > $DEST
else
cp $SRC $DEST
fi
# set owner, group and permissions
[ "$OWNER" ] && chown $OWNER $DEST 2>/dev/null
[ "$GROUP" ] && chgrp $GROUP $DEST 2>/dev/null
[ "$PERM" ] && chmod $PERM $DEST
}
install () {
OS_VERSION=`uname -r`
OLDFILENAMETMP=`date +"%Y-%m-%d"`
echo "Detecting Unix distribution: $OS_NAME version $OS_VERSION"
if [ -f $PANDORA_BASE$PANDORA_HOME ] && [ "$FORCE" = "0" ]
then
echo "Seems that default dir already exists. Please use --force-install to"
echo "force installer to install on $PANDORA_BASE$PANDORA_HOME"
exit
else
echo "Checking default dir $PANDORA_BASE$PANDORA_HOME..."
fi
if [ -f $PANDORA_BASE$PANDORA_BIN ] && [ "$FORCE" = "0" ]
then
echo "Seems that $PANDORA_BASE$PANDORA_BIN already exists. Please use --force-install to"
echo "force installer to reinstall overwriting it"
echo " "
exit
else
echo "Checking Pandora FMS Agent on $PANDORA_BASE$PANDORA_BIN...."
fi
# Alter dynamically the daemon launcher and setup the new path
# if PANDORA_BASE is customized.
if [ "$PANDORA_BASE" ] && [ $FAKEROOT -ne 1 ]
then
DAEMON_TEMP=pandora_agent_daemon_temp
# Backup the daemon script
cp -f "$DAEMON_SCRIPT" "${DAEMON_SCRIPT}.bak"
AGENT_CFG=$OS_NAME/pandora_agent.conf
AGENT_CFG_TEMP=$OS_NAME/pandora_agent.conf.temp
# Backup the configuration file
cp -f "$AGENT_CFG" "${AGENT_CFG}.bak"
if [ "$OS_NAME" = "FreeBSD" ] || [ "$OS_NAME" = "NetBSD" ]
then
sed -e "\|^PATH=|s|=|=$PANDORA_BASE$PREFIX/bin:|" \
-e "s|/usr/local/etc/pandora|$PANDORA_BASE$PANDORA_CFG|g" \
-e "s|/usr/local/bin/pandora_agent|$PANDORA_BASE$PANDORA_BIN|g" \
$DAEMON_SCRIPT > $DAEMON_TEMP
mv $DAEMON_TEMP $DAEMON_SCRIPT
else
sed -e "\|^PATH=|s|=|=$PANDORA_BASE/usr/bin:|" \
-e "\|^PANDORA_PATH=|s|=|=$PANDORA_BASE|" \
-e "\|^LOGFILE=|s|=|=$PANDORA_BASE|" \
-e "\|^DAEMON=|s|=|=$PANDORA_BASE|" \
-e "\|^DAEMON_TENTACLE=|s|=|=$PANDORA_BASE|" \
-e "s/^PANDORA_USER=.*/PANDORA_USER=$PANDORA_USER/" \
$DAEMON_SCRIPT > $DAEMON_TEMP
mv $DAEMON_TEMP $DAEMON_SCRIPT
fi
sed -e "s|^temporal[ \t][ \t]*|temporal $PANDORA_BASE|" \
-e "s|^logfile[ \t][ \t]*|logfile $PANDORA_BASE|" \
$AGENT_CFG > $AGENT_CFG_TEMP
mv $AGENT_CFG_TEMP $AGENT_CFG
fi
echo "Creating Pandora FMS Agent home directory at $PANDORA_BASE$PANDORA_HOME"
if [ "$PANDORA_BASE" ]
then
mkdir -p $PANDORA_BASE 2> /dev/null
mkdir -p $PANDORA_BASE/var/log 2> /dev/null
mkdir -p $PANDORA_BASE/$PANDORA_MAN/man1 2> /dev/null
mkdir -p $PANDORA_BASE$PREFIX/bin 2> /dev/null
fi
mkdir -p $PANDORA_BASE$PANDORA_HOME 2> /dev/null
# Create directories based on PANDORA_BASE
mkdir -p $PANDORA_BASE/tmp 2> /dev/null
mkdir -p $PANDORA_BASE$PANDORA_TEMP/data_out 2> /dev/null
mkdir -p $PANDORA_BASE$PANDORA_CFG 2> /dev/null
mkdir -p $PANDORA_BASE$PANDORA_LOG_DIR 2> /dev/null
# Set the user the agent will run as
if [ "$PANDORA_USER" != "root" ]
then
sed -e "s/.*pandora_user .*/pandora_user $PANDORA_USER/" $AGENT_CFG > $AGENT_CFG_TEMP 2> /dev/null && \
mv $AGENT_CFG_TEMP $AGENT_CFG
chmod 755 pandora_agent_daemon
chown -R $PANDORA_USER $PANDORA_BASE 2>/dev/null
fi
# Create logfile
if [ ! -z "`touch $PANDORA_BASE$PANDORA_LOG_DIR/$PANDORA_LOG`" ]
then
echo "Seems to be a problem generating logfile ($PANDORA_BASE$PANDORA_LOG_DIR/$PANDORA_LOG) please check it";
else
echo "Created logfile at $PANDORA_BASE$PANDORA_LOG_DIR/$PANDORA_LOG..."
fi
echo "$LOG_TIMESTAMP Pandora FMS installer has created this file at startup" > $PANDORA_BASE$PANDORA_LOG_DIR/$PANDORA_LOG
# Copying agent and securing it
echo "Copying Pandora FMS Agent to $PANDORA_BASE$PANDORA_BIN..."
install_perl_script -m 755 -o $PANDORA_USER -g 0 pandora_agent $PANDORA_BASE$PANDORA_BIN
install_perl_script -m 755 -o $PANDORA_USER -g 0 pandora_agent_exec $PANDORA_BASE$PANDORA_EXEC_BIN
install_perl_script -m 755 -o $PANDORA_USER -g 0 pandora_revent $PANDORA_BASE$PANDORA_REVENT_BIN
echo "Copying Pandora FMS Agent configuration file to $PANDORA_BASE$PANDORA_CFG/pandora_agent.conf..."
if [ -f $PANDORA_BASE/$PANDORA_CFG/pandora_agent.conf ]
then
cp $PANDORA_BASE/$PANDORA_CFG/pandora_agent.conf $PANDORA_BASE/$PANDORA_CFG/pandora_agent.conf.$OLDFILENAMETMP
echo "Backing up old configuration file to $PANDORA_BASE/$PANDORA_CFG/pandora_agent.conf.$OLDFILENAMETMP"
fi
echo "Copying Pandora FMS Agent plugins to $PANDORA_BASE$PANDORA_HOME/plugins..."
[ -d $PANDORA_BASE$PANDORA_HOME/plugins ] || mkdir -p $PANDORA_BASE$PANDORA_HOME/plugins >/dev/null 2>&1
for PLUGIN in plugins/*
do
if grep '^#!.*/perl' $PLUGIN >/dev/null 2>&1
then
install_perl_script $PLUGIN $PANDORA_BASE$PANDORA_HOME/$PLUGIN
else
cp $PLUGIN $PANDORA_BASE$PANDORA_HOME/plugins
fi
done
chmod -R 700 $PANDORA_BASE$PANDORA_HOME/plugins
PANDORA_BASE_REAL="$PANDORA_BASE"
[ $FAKEROOT -eq 1 ] && PANDORA_BASE_REAL=""
ln -s $PANDORA_BASE_REAL$PANDORA_HOME/plugins $PANDORA_BASE$PANDORA_CFG
echo "Copying Pandora FMS Agent collections to $PANDORA_BASE$PANDORA_HOME/collections..."
cp -r collections $PANDORA_BASE$PANDORA_HOME
chmod -R 700 $PANDORA_BASE$PANDORA_HOME/collections
ln -s $PANDORA_BASE_REAL$PANDORA_HOME/collections $PANDORA_BASE$PANDORA_CFG
if [ $WITHOUT_TENTACLE_SERVER -eq 0 ]
then
echo "Copying tentacle server to $PANDORA_BASE$TENTACLE_SERVER"
install_perl_script -m 755 -o $PANDORA_USER -g 0 tentacle_server $PANDORA_BASE$TENTACLE_SERVER
fi
echo "Copying tentacle client to $PANDORA_BASE$TENTACLE"
install_perl_script -m 755 -o $PANDORA_USER -g 0 tentacle_client $PANDORA_BASE$TENTACLE
echo "Installing the Pandora Agent and Tentacle Client manuals"
cp man/man1/tentacle_client.1.gz $PANDORA_BASE/$PANDORA_MAN/man1
chmod 644 $PANDORA_BASE/$PANDORA_MAN/man1/tentacle_client.1.gz
cp man/man1/pandora_agent.1.gz $PANDORA_BASE/$PANDORA_MAN/man1
chmod 644 $PANDORA_BASE/$PANDORA_MAN/man1/pandora_agent.1.gz
echo "Setting secure permissions and ownership for all Pandora FMS Agent files..."
chown -R $PANDORA_USER $PANDORA_BASE$PANDORA_HOME 2>/dev/null
chmod -R 700 $PANDORA_BASE$PANDORA_TEMP/data_out
chmod 711 $PANDORA_BASE$PANDORA_LOG_DIR
chmod 640 $PANDORA_BASE$PANDORA_LOG_DIR/$PANDORA_LOG
chown $PANDORA_USER:0 $PANDORA_BASE$PANDORA_LOG_DIR/$PANDORA_LOG 2>/dev/null
if [ "$OS_NAME" = "FreeBSD" ] || [ "$OS_NAME" = "NetBSD" ]
then
chown $PANDORA_USER:daemon $PANDORA_BASE$PANDORA_TEMP 2>/dev/null
chmod -R 770 $PANDORA_BASE$PANDORA_TEMP
chmod 775 $PANDORA_BASE$PANDORA_TEMP
fi
echo "Copying default agent configuration to $PANDORA_BASE$PANDORA_CFG/pandora_agent.conf"
cp $OS_NAME/pandora_agent.conf $PANDORA_BASE$PANDORA_CFG/pandora_agent.conf
chmod 600 $PANDORA_BASE$PANDORA_CFG/pandora_agent.conf
chown $PANDORA_USER $PANDORA_BASE$PANDORA_CFG/pandora_agent.conf 2>/dev/null
echo "Linking start-up daemon script '$DAEMON_SCRIPT' on $OS_NAME";
if [ "$OS_NAME" = "Darwin" ]
then
# Specific service install on Darwin/macOSX
launchctl load -F Darwin/com.pandorafms.pandorafms.plist
echo "Start Pandora FMS service with 'launchctl start com.pandorafms.pandorafms'"
echo "This service has been scheduled to launch on each system startup"
else
DESTDIR=""
[ "$PANDORA_BASE" ] && [ $FAKEROOT -eq 1 ] && DESTDIR=$PANDORA_BASE
cp $DAEMON_SCRIPT $DESTDIR$PANDORA_STARTUP
chmod 755 $DESTDIR$PANDORA_STARTUP
chown root:0 $DESTDIR$PANDORA_STARTUP 2>/dev/null
RCDIRS=""
MSG=""
if [ "$OS_NAME" = "AIX" ]
then
RCDIRS=/etc/rc.d/rc2.d
MSG="Pandora FMS agent has been included in $DESTDIR/etc/rc.d/rc2.d/S90pandora_agent_daemon"
elif [ "$OS_NAME" = "HP-UX" ]
then
RCDIRS="/sbin/rc2.d /sbin/rc3.d"
MSG="Pandora FMS agent has been included in $DESTDIR/sbin/rcX.d/S90pandora_agent_daemon"
elif [ "$OS_NAME" = "SunOS" ]
then
RCDIRS=/etc/rc2.d
MSG="Pandora FMS agent has been included in $DESTDIR/etc/rc2.d/S90pandora_agent_daemon"
elif [ "$OS_NAME" = "Linux" ]
then
if [ -d /etc/rc.d/ ]
then
RCDIRS="/etc/rc.d/rc2.d /etc/rc.d/rc3.d"
else
RCDIRS="/etc/rc2.d /etc/rc3.d"
fi
fi
[ "$RCDIRS" ] && for RCDIR in $RCDIRS
do
[ $FAKEROOT -eq 1 ] && [ ! -d $DESTDIR$RCDIR ] && mkdir -p $DESTDIR$RCDIR >/dev/null 2>&1
ln -s $PANDORA_STARTUP $DESTDIR$RCDIR/S90pandora_agent 2> /dev/null
done
[ "$MSG" ] && echo "$MSG"
fi
if [ -d /etc/logrotate.d ]
then
[ -d $DESTDIR/etc/logrotate.d ] && mkdir -p $DESTDIR/etc/logrotate.d
echo "Creating logrotate.d entry for Pandora FMS log management"
sed -e "s|^/var/log/pandora/pandora_agent.log|$PANDORA_BASE_REAL$PANDORA_LOG_DIR/$PANDORA_LOG|" pandora_agent_logrotate \
> $DESTDIR/etc/logrotate.d/pandora_agent
else
echo "Please add a log rotation schedule manually to your log rotation daemon (if any)"
fi
echo "Done."
echo " "
echo "You have your startup script ready at $PANDORA_STARTUP"
echo " "
echo "Tentacle is the default transfer mode since 2.0 version."
echo " "
echo "If you want to use SSH, firstly you need to copy your public SSH keys "
echo " ($HOME/.ssh/id_dsa) under /home/pandora/.ssh/authorized_keys "
echo "on your Pandora FMS Server host"
echo " "
echo "You may need to install manually some additional required dependencies:"
echo "perl-Sys-Syslog"
echo " "
echo "You also need to setup your $PANDORA_BASE$PANDORA_CFG/pandora_agent.conf config file"
echo " "
if [ "$OS_NAME" = "FreeBSD" ]
then
echo "Define 'pandora_agent_enable=\"YES\"' in /etc/rc.conf to enable the daemon."
elif [ "$OS_NAME" = "NetBSD" ]
then
echo "Define 'pandora_agent=\"YES\"' in /etc/rc.conf to enable the daemon."
else
echo "Check your startup configuration to be sure Pandora FMS Agent is ready "
echo "to start automatically when system restarts":
fi
# Restore the daemon script
cp -f "$DAEMON_SCRIPT.bak" "$DAEMON_SCRIPT" >/dev/null 2>&1
rm -f "$DAEMON_SCRIPT.bak" >/dev/null 2>&1
# Restore the configuration file
cp -f "$AGENT_CFG.bak" "$AGENT_CFG" >/dev/null 2>&1
rm -f "$AGENT_CFG.bak" >/dev/null 2>&1
}
if [ ! -f "pandora_agent" ]
then
echo " "
echo "Execute installer from the directory where you have your files. "
help
exit 1
fi
# Script banner at start
echo " "
echo "Pandora FMS Agent UNIX Installer $PI_VERSION $PI_BUILD (c) 2008-2015 ArticaST"
echo "This program is licensed under GPL2 Terms. http://pandorafms.com"
echo " "
case "$MODE" in
'--force-install')
FORCE=1
install
exit
;;
'--install')
install
exit
;;
'--uninstall')
uninstall
exit
;;
*)
help
;;
esac

File diff suppressed because it is too large Load Diff

View File

@ -1,345 +0,0 @@
/* Common functions to any Pandora program.
Copyright (C) 2006 Artica ST.
Written by Esteban Sanchez.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation,
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
#include <stdio.h>
#include <iostream>
#include <cctype>
#include <string>
#include <algorithm>
#include "pandora.h"
#include "pandora_strutils.h"
using namespace std;
using namespace Pandora;
using namespace Pandora_Strutils;
#define PATH_SIZE _MAX_PATH+1
<<<<<<< HEAD
#define PANDORA_VERSION ("7.0NG(Build 170406)")
=======
#define PANDORA_VERSION ("7.0NG(Build 170418)")
>>>>>>> develop
string pandora_path;
string pandora_dir;
bool pandora_debug;
bool pandora_log_disable;
string pandora_version = PANDORA_VERSION;
/**
* Parses a string and initialize the key and the value.
*
* The string should be in the format:
* - <code>key value</code>
* - <code>key "value with blankspaces"</code>
*/
void
Key_Value::parseLine (string str) {
int pos;
list<string> tokens;
list<string>::iterator iter;
string trimmedstr;
trimmedstr = trim (str);
/* Check if the string has " */
pos = trimmedstr.find ("\"");
if (pos == string::npos) {
stringtok (tokens, trimmedstr, " \t");
} else {
stringtok (tokens, trimmedstr, "\"");
}
/* Pick the first and the last value of the token list */
iter = tokens.begin ();
key = trim (*iter);
transform (key.begin(), key.end(), key.begin(), (int(*)(int)) tolower);
iter = tokens.end ();
iter--;
/* Check if the line has only one token */
if (iter != tokens.begin ()) {
value = trim (*iter);
} else {
value = "";
}
}
/**
* Parses a string by position and initialize the key and the value.
*/
void
Key_Value::parseLineByPosition (string str, int pos) {
string trimmedstr;
trimmedstr = trim (str);
key = trim (trimmedstr.substr (0, pos));
value = trim (trimmedstr.substr (pos));
}
/**
* Get the key of the object.
*
* @return The key
*/
string
Key_Value::getKey () {
return key;
}
/**
* Set the key of the object.
*
*/
void
Key_Value::setKey (const string key) {
this->key = key;
}
/**
* Get the value of the object.
*
* @return The value
*/
string
Key_Value::getValue () {
return value;
}
/**
* Set the value of the object.
*
* @return The value
*/
void
Key_Value::setValue (const string value) {
this->value = value;
}
void
pandoraWriteLog (string filename, string line) {
string buffer;
char str_time[25];
FILE *file;
string filepath;
SYSTEMTIME st;
GetLocalTime(&st);
sprintf (str_time, "%d-%02d-%02d %02d:%02d:%02d ", st.wYear, st.wMonth, st.wDay,
st.wHour, st.wMinute, st.wSecond);
buffer = (char *) str_time;
buffer += line;
filepath = pandora_dir + filename;
file = fopen (filepath.c_str (), "a+");
if (file != NULL) {
fprintf (file, "%s\n", buffer.c_str ());
fclose (file);
}
}
/**
* Write a message in the log file.
*
* The log file is used to write the output of errors and problems of the
* agent.
*
* @param format String output format (like printf).
* @param ... Variable argument list
*/
void
Pandora::pandoraLog (const char *format, ...) {
if (!pandora_log_disable) {
va_list args;
char msg[5000];
va_start (args, format);
vsprintf (msg, format, args);
va_end (args);
pandoraWriteLog ("pandora_agent.log", (char *) msg);
}
return;
}
/**
* Write a message in the debug file.
*
* The log file is used to write the output of debugging information of the
* agent.
*
* @param format String output format.
* @param ... Variable argument list
*/
void
Pandora::pandoraDebug (const char *format, ...) {
if (pandora_debug) {
va_list args;
char msg[5000];
va_start (args, format);
vsprintf (msg, format, args);
va_end (args);
pandoraWriteLog ("pandora_debug.log", (char *) msg);
}
return;
}
/**
* Secure free of a pointer.
*
* @param pointer pointer to free.
*/
void
Pandora::pandoraFree (void * pointer) {
if (pointer != NULL)
free (pointer);
return;
}
/**
* Set the installation directory of the application.
*
* This directory is the path to the directory which holds
* the binary file.
*
* @param dir The path to the directory.
*
* @see getPandoraInstallDir
*/
void
Pandora::setPandoraInstallDir (string dir) {
pandora_dir = dir;
}
/**
* Get the installation directory of the application.
*
* This directory is the path to the directory which holds
* the binary file.
*
* @return The path to the directory.
*
* @see setPandoraInstallDir
*/
string
Pandora::getPandoraInstallDir () {
return pandora_dir;
}
/**
* Set the installation path of the application.
*
* This the complete path to the binary file.
*
* @param path The path to the binary file.
*
* @see getPandoraInstallPath
*/
void
Pandora::setPandoraInstallPath (string path) {
pandora_path = path;
}
/**
* Get the installation path of the application.
*
* This the complete path to the binary file.
*
* @return The path.
*
* @see setPandoraInstallPath
*/
string
Pandora::getPandoraInstallPath () {
return pandora_path;
}
/**
* Set the debug flag.
*
* If the flag is true output wil be generated and XML files will not be deleted.
*
* @param dbg Turns the debug flag on/off.
*
* @see getPandoraDebug
* @see pandoraDebug
*/
void
Pandora::setPandoraDebug (bool dbg) {
pandora_debug = dbg;
}
/**
* Get the debug flag value.
*
* If the flag is truee output wil be generated and XML files will not be deleted.
*
* @see setPandoraDebug
* @see pandoraDebug
*/
bool
Pandora::getPandoraDebug () {
return pandora_debug;
}
/**
* Set the disable logfile flag.
*
* If the flag is true no logs will be written.
*
* @param dbg Turns the debug flag on/off.
*
*/
void
Pandora::setPandoraLogDisable (bool dbg) {
pandora_log_disable = dbg;
}
/**
* Get the version of the agent.
*
* @return The version.
*/
string
Pandora::getPandoraAgentVersion () {
return pandora_version;
}
bool
Pandora::is_enabled (string value) {
static string enabled_values[] = {"enabled", "1", "on", "yes", "si", "", "ok", "true", ""};
int i = 0;
if (value == "") {
return false;
}
while (enabled_values[i] != "") {
if (enabled_values[i] == value) {
return true;
}
i++;
}
return false;
}

View File

@ -1,28 +0,0 @@
1 VERSIONINFO
FILEVERSION 1,0,0,0
PRODUCTVERSION 1,0,0,0
BEGIN
BLOCK "StringFileInfo"
BEGIN
BLOCK "080904E4"
BEGIN
VALUE "CompanyName", "Artica ST"
VALUE "FileDescription", "Pandora FMS Agent for Windows Platform"
VALUE "LegalCopyright", "Artica ST"
VALUE "OriginalFilename", "PandoraAgent.exe"
VALUE "ProductName", "Pandora FMS Windows Agent"
<<<<<<< HEAD
VALUE "ProductVersion", "(7.0NG(Build 170406))"
=======
VALUE "ProductVersion", "(7.0NG(Build 170418))"
>>>>>>> develop
VALUE "FileVersion", "1.0.0.0"
END
END
BLOCK "VarFileInfo"
BEGIN
VALUE "Translation", 0x809, 1252
END
END

View File

@ -1,14 +0,0 @@
package: pandorafms-console
<<<<<<< HEAD
Version: 7.0NG-170406
=======
Version: 7.0NG-170418
>>>>>>> develop
Architecture: all
Priority: optional
Section: admin
Installed-Size: 42112
Maintainer: Artica ST <deptec@artica.es>
Homepage: http://pandorafms.org/
Depends: php5, php5-snmp, php5-gd, php5-mysql, php-db, php5-xmlrpc, php-gettext, php5-curl, graphviz, dbconfig-common, php5-ldap, mysql-client | virtual-mysql-client
Description: Pandora FMS is an Open Source monitoring tool. It monitor your systems and applications, and allows you to control the status of any element of them. The web console is the graphical user interface (GUI) to manage the pool and to generate reports and graphs from the Pandora FMS monitoring process.

View File

@ -1,168 +0,0 @@
#!/bin/bash
#Pandora FMS- http:#pandorafms.com
# ==================================================
# Copyright (c) 2005-2010 Artica Soluciones Tecnologicas
# Please see http:#pandorafms.org for full contribution list
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public License
# as published by the Free Software Foundation; version 2
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
<<<<<<< HEAD
pandora_version="7.0NG-170406"
=======
pandora_version="7.0NG-170418"
>>>>>>> develop
package_pear=0
package_pandora=1
for param in $@
do
if [ $param = "-h" -o $param = "--help" ]
then
echo "For only make packages of pear type +pear"
echo "For not make packages of pear type -pear"
exit 0
fi
if [ $param = "+pear" ]
then
package_pandora=0
fi
if [ $param = "-pear" ]
then
package_pear=0
fi
done
if [ $package_pandora -eq 1 ]
then
echo "Test if you have all the needed tools to make the packages."
whereis dpkg-deb | cut -d":" -f2 | grep dpkg-deb > /dev/null
if [ $? = 1 ]
then
echo "No found \"dpkg-deb\" aplication, please install."
exit 1
else
echo "Found \"dpkg-debs\"."
fi
fi
if [ $package_pear -eq 1 ]
then
whereis dh-make-pear | cut -d":" -f2 | grep dh-make-pear > /dev/null
if [ $? = 1 ]
then
echo " \"dh-make-pear\" aplication not found, please install."
exit 1
else
echo "Found \"dh-make-pear\"."
fi
whereis fakeroot | cut -d":" -f2 | grep fakeroot > /dev/null
if [ $? = 1 ]
then
echo " \"fakeroot\" aplication not found, please install."
exit 1
else
echo "Found \"fakeroot\"."
fi
fi
whereis dpkg-buildpackage | cut -d":" -f2 | grep dpkg-buildpackage > /dev/null
if [ $? = 1 ]
then
echo " \"dpkg-buildpackage\" aplication not found, please install."
exit 1
else
echo "Found \"dpkg-buildpackage\"."
fi
cd ..
echo "Make a \"temp_package\" temporary dir for job."
mkdir -p temp_package
if [ $package_pandora -eq 1 ]
then
mkdir -p temp_package/var/www/pandora_console
mkdir -p temp_package/etc/logrotate.d
echo "Make directory system tree for package."
cp -R $(ls | grep -v temp_package | grep -v DEBIAN ) temp_package/var/www/pandora_console
cp -R DEBIAN temp_package
cp -aRf pandora_console_logrotate_ubuntu temp_package/etc/logrotate.d/pandora_console
find temp_package/var/www/pandora_console -name ".svn" | xargs rm -Rf
rm -Rf temp_package/var/www/pandora_console/pandora_console.spec
chmod 755 -R temp_package/DEBIAN
touch temp_package/var/www/pandora_console/include/config.php
echo "Remove the SVN files and other temp files."
for item in `find temp_package`
do
echo -n "."
echo $item | grep "svn" > /dev/null
#last command success
if [ $? -eq 0 ]
then
rm -rf $item
fi
echo $item | grep "make_deb_package.sh" > /dev/null
#last command success
if [ $? -eq 0 ]
then
rm -rf $item
fi
done
echo "END"
echo "Calculate md5sum for md5sums package control file."
for item in `find temp_package`
do
echo -n "."
if [ ! -d $item ]
then
echo $item | grep "DEBIAN" > /dev/null
#last command success
if [ $? -eq 1 ]
then
md5=`md5sum $item | cut -d" " -f1`
#delete "temp_package" in the path
final_path=${item#temp_package}
echo $md5" "$final_path >> temp_package/DEBIAN/md5sums
fi
fi
done
echo "END"
echo "Make the package \"Pandorafms console\"."
dpkg-deb --build temp_package
mv temp_package.deb pandorafms.console_$pandora_version.deb
fi
if [ $package_pear -eq 1 ]
then
echo "Make the package \"php-xml-rpc\"."
cd temp_package
dh-make-pear --maintainer "Miguel de Dios <miguel.dedios@artica.es>" XML_RPC
cd php-xml-rpc-*
dpkg-buildpackage -rfakeroot
cd ..
mv php-xml-rpc*.deb ..
cd ..
fi
echo "Delete the \"temp_package\" temporary dir for job."
rm -Rf temp_package
echo "DONE: Package ready at: ../pandorafms.console_$pandora_version.deb"

View File

@ -1,292 +0,0 @@
<?php
// Pandora FMS - http://pandorafms.com
// ==================================================
// Copyright (c) 2005-2011 Artica Soluciones Tecnologicas
// Please see http://pandorafms.org for full contribution list
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public License
// as published by the Free Software Foundation; version 2
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
/**
* @package Include
* @subpackage Config
*/
/**
* Pandora build version and version
*/
<<<<<<< HEAD
$build_version = 'PC170406';
=======
$build_version = 'PC170418';
>>>>>>> develop
$pandora_version = 'v7.0NG';
// Do not overwrite default timezone set if defined.
$script_tz = @date_default_timezone_get();
if (empty($script_tz)) {
date_default_timezone_set("Europe/Berlin");
ini_set("date.timezone", "Europe/Berlin");
}
else {
ini_set("date.timezone", $script_tz);
}
//home dir bad defined
if (!is_dir($config['homedir'])) {
$ownDir = dirname(__FILE__) . DIRECTORY_SEPARATOR . ".." . DIRECTORY_SEPARATOR;
$config['homedir'] = $ownDir;
$config["error"] = "homedir_bad_defined";
}
/* Help to debug problems. Override global PHP configuration */
global $develop_bypass;
if ($develop_bypass != 1) {
// error_reporting(E_ALL);
if (version_compare(PHP_VERSION, '5.3.0') >= 0)
{
error_reporting(E_ALL & ~E_DEPRECATED & ~E_NOTICE);
}
else
{
error_reporting(E_ALL & ~E_NOTICE);
}
ini_set("display_errors", 0);
ini_set("log_errors", 1);
ini_set("error_log", $config["homedir"]."/pandora_console.log");
}
else {
// Develop mode, show all notices and errors on Console (and log it)
if (version_compare(PHP_VERSION, '5.3.0') >= 0)
{
error_reporting(E_ALL & ~E_DEPRECATED);
}
else
{
error_reporting(E_ALL);
}
ini_set("display_errors", 1);
ini_set("log_errors", 1);
ini_set("error_log", $config["homedir"]."/pandora_console.log");
}
// Check if mysqli is available
if (!(isset($config["mysqli"]))) {
$config["mysqli"] = extension_loaded(mysqli);
}
$config['start_time'] = microtime (true);
$ownDir = dirname(__FILE__) . '/';
$ownDir = str_replace("\\", "/", $ownDir);
//Set by default the MySQL connection for DB, because in older Pandora have not
//this token in the config.php
if (!isset($config['dbtype'])) {
$config['dbtype'] = 'mysql';
}
if (!isset($config['dbport'])) {
switch ($config['dbtype']) {
case 'mysql':
$config['dbport'] = '3306';
break;
case 'postgresql':
$config['dbport'] = '5432';
break;
case 'oracle':
$config['dbport'] = '1521';
break;
}
}
require_once ($ownDir . 'constants.php');
require_once ($ownDir . 'functions_db.php');
require_once ($ownDir . 'functions.php');
db_select_engine();
$config['dbconnection'] = db_connect();
if (! defined ('EXTENSIONS_DIR'))
define ('EXTENSIONS_DIR', 'extensions');
if (! defined ('ENTERPRISE_DIR'))
define ('ENTERPRISE_DIR', 'enterprise');
require_once ($ownDir. 'functions_config.php');
// We need a timezone BEFORE calling config_process_config.
// If not we will get ugly warnings. Set Europe/Madrid by default
// Later will be replaced by the good one.
if (!defined('METACONSOLE')) {
if(!isset($config["homeurl"])){
$url = explode('/', $_SERVER['REQUEST_URI']);
$config["homeurl"] = $url[1];
$config["homeurl_static"] = $url[1];
$config["error"] = "homeurl_bad_defined";
return;
}
else{
$url = explode('/', $_SERVER['REQUEST_URI']);
if($config["homeurl"] != '/'.$url[1]){
$config["homeurl"] = '/'.$url[1];
$config["homeurl_static"] = '/'.$url[1];
$config["error"] = "homeurl_bad_defined";
return;
}
}
}
if (!isset($config["homeurl_static"])) {
$config["homeurl_static"] = $config["homeurl"];
}
else{
if($config["homeurl_static"] != $config["homeurl"]){
$config["error"] = "homeurl_bad_defined";
return;
}
}
date_default_timezone_set("Europe/Madrid");
config_process_config();
config_prepare_session();
require_once ($config["homedir"].'/include/load_session.php');
if(session_id() == '') {
$resultado = session_start();
}
// Set a the system timezone default
if ((!isset($config["timezone"])) OR ($config["timezone"] == "")) {
$config["timezone"] = "Europe/Berlin";
}
date_default_timezone_set($config["timezone"]);
require_once ($ownDir . 'streams.php');
require_once ($ownDir . 'gettext.php');
if (isset($_SERVER['REMOTE_ADDR'])) {
$config["remote_addr"] = $_SERVER['REMOTE_ADDR'];
}
else {
$config["remote_addr"] = null;
}
// Save the global values
$config["global_block_size"] = $config["block_size"];
$config["global_flash_charts"] = $config["flash_charts"];
if (isset ($config['id_user'])) {
config_user_set_custom_config();
}
// Check if inventory_changes_blacklist is setted, if not create it
if (!isset($config['inventory_changes_blacklist'])) {
$config['inventory_changes_blacklist'] = array();
}
//NEW UPDATE MANAGER URL
if (!isset($config['url_update_manager'])) {
config_update_value('url_update_manager',
'https://licensing.artica.es/pandoraupdate7/server.php');
}
if (defined('METACONSOLE')) {
enterprise_include_once('meta/include/functions_users_meta.php');
enterprise_hook('set_meta_user_language');
}
else
set_user_language();
require_once ($ownDir . 'functions_extensions.php');
$config['extensions'] = extensions_get_extensions ();
// Detect if enterprise extension is installed
// NOTICE: This variable (config[enterprise_installed] is used in several
// sections. Faking or forcing to 1 will make pandora fails.
if (file_exists ($config["homedir"] . '/' . ENTERPRISE_DIR . '/index.php')) {
$config['enterprise_installed'] = 1;
enterprise_include_once ('include/functions_enterprise.php');
}
else {
$config['enterprise_installed'] = 0;
}
// Function include_graphs_dependencies() it's called in the code below
require_once("include_graph_dependencies.php");
include_graphs_dependencies($config['homedir'] . '/');
// Updates autorefresh time
if (isset($_POST['vc_refr'])) {
config_update_value ('vc_refr', get_parameter('vc_refr', $config['vc_refr']));
}
//======= Autorefresh code =============================================
$select = db_process_sql("SELECT value FROM tconfig WHERE token='autorefresh_white_list'");
$autorefresh_list = json_decode($select[0]['value']);
$config['autorefresh_white_list'] = array();
$config['autorefresh_white_list'] = $autorefresh_list;
// Specific metaconsole autorefresh white list sections
if (defined('METACONSOLE')) {
$config['autorefresh_white_list'][] = 'monitoring/tactical';
$config['autorefresh_white_list'][] = 'monitoring/group_view';
$config['autorefresh_white_list'][] = 'operation/tree';
$config['autorefresh_white_list'][] = 'screens/screens';
}
//======================================================================
//======================================================================
// Update the $config['homeurl'] with the full url with the special
// cases (reverse proxy, others ports...).
//======================================================================
$config["homeurl"] = ui_get_full_url(false);
//======================================================================
// Get the version of DB manager
//======================================================================
switch ($config["dbtype"]) {
case "mysql":
if (!isset($config['quote_string'])) {
$config['db_quote_string'] = "\"";
}
break;
case "postgresql":
if (!isset($config['dbversion'])) {
$result = db_get_sql("select version();");
$result_chunks = explode(" ", $result);
$config['dbversion'] = $result_chunks[1];
}
if (!isset($config['quote_string'])) {
$config['db_quote_string'] = "'";
}
break;
case "oracle":
if (!isset($config['quote_string'])) {
$config['db_quote_string'] = "'";
}
break;
}
//======================================================================
?>

View File

@ -1,987 +0,0 @@
<?php
// Pandora FMS - http://pandorafms.com
// ==================================================
// Copyright (c) 2005-2012 Artica Soluciones Tecnologicas
// Please see http://pandorafms.org for full contribution list
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public License
// as published by the Free Software Foundation; version 2
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Pandora FMS - Installation Wizard</title>
<meta http-equiv="expires" content="0">
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="resource-type" content="document">
<meta name="distribution" content="global">
<meta name="author" content="Pandora FMS Development Team">
<meta name="copyright" content="This is GPL software. Created by Sancho Lerena and many others">
<meta name="keywords" content="pandora, fms, monitoring, network, system, GPL, software">
<meta name="robots" content="index, follow">
<link rel="icon" href="images/pandora.ico" type="image/ico">
<link rel="stylesheet" href="include/styles/install.css" type="text/css">
</head>
<script type="text/javascript">
options_text = new Array('An existing Database','A new Database');
options_values = new Array('db_exist','db_new');
function ChangeDBDrop(causer) {
if (causer.value != 'db_exist') {
window.document.step2_form.drop.checked = 0;
window.document.step2_form.drop.disabled = 1;
}
else {
window.document.step2_form.drop.disabled = 0;
}
}
function ChangeDBAction(causer) {
var i = 0;
if (causer.value == 'oracle') {
window.document.step2_form.db_action.length = 1;
}
else {
window.document.step2_form.db_action.length = 2;
}
while (i < window.document.step2_form.db_action.length) {
window.document.step2_form.db_action.options[i].value = options_values[i];
window.document.step2_form.db_action.options[i].text = options_text[i];
i++;
}
window.document.step2_form.db_action.options[window.document.step2_form.db_action.length-1].selected=1;
ChangeDBDrop(window.document.step2_form.db_action);
}
function CheckDBhost(value){
if (( value != "localhost") && ( value != "127.0.0.1")) {
document.getElementById('tr_dbgrant').style["display"] = "block";
}
else {
document.getElementById('tr_dbgrant').style["display"] = "none";
}
}
</script>
<body>
<div style='height: 10px'>
<?php
$version = '7.0NG';
<<<<<<< HEAD
$build = '170406';
=======
$build = '170418';
>>>>>>> develop
$banner = "v$version Build $build";
error_reporting(0);
// ---------------
// Main page code
// ---------------
if (! isset($_GET["step"])) {
install_step1();
}
else {
$step = $_GET["step"];
switch ($step) {
case 11: install_step1_licence();
break;
case 2: install_step2();
break;
case 3: install_step3();
break;
case 4: install_step4();
break;
case 5: install_step5();
break;
}
}
?>
</div>
</body>
</html>
<?php
function check_extension ( $ext, $label ) {
echo "<tr><td>";
echo "<span class='arr'> $label </span>";
echo "</td><td>";
if (!extension_loaded($ext)) {
echo "<img src='images/dot_red.png'>";
return 1;
}
else {
echo "<img src='images/dot_green.png'>";
return 0;
}
echo "</td></tr>";
}
function check_include ( $ext, $label ) {
echo "<tr><td>";
echo "<span class='arr'> $label </span>";
echo "</td><td>";
if (!include($ext)) {
echo "<img src='images/dot_red.png'>";
return 1;
}
else {
echo "<img src='images/dot_green.png'>";
return 0;
}
echo "</td></tr>";
}
function check_exists ( $file, $label ) {
echo "<tr><td>";
echo "<span class='arr'> $label </span>";
echo "</td><td>";
if (!file_exists ($file)) {
echo " <img src='images/dot_red.png'>";
return 1;
}
else {
echo " <img src='images/dot_green.png'>";
return 0;
}
echo "</td></tr>";
}
function check_generic ( $ok, $label ) {
echo "<tr><td style='width:10%'>";
if ($ok == 0 ) {
echo " <img src='images/dot_red.png'>";
echo "<td>";
echo "<span class='arr'> $label </span>";
echo "</td>";
echo "</td></tr>";
return 1;
}
else {
echo " <img src='images/dot_green.png'>";
echo "<td>";
echo "<span class='arr'> $label </span>";
echo "</td>";
echo "</td></tr>";
return 0;
}
}
function check_writable ( $fullpath, $label ) {
echo "<tr><td style='width:10%;'>";
if (file_exists($fullpath))
if (is_writable($fullpath)) {
echo " <img style='margin-left:50px;' src='images/dot_green.png'>";
echo "<td>";
echo "<span class='arr'> $label </span>";
echo "</td>";
echo "</td></tr>";
return 0;
}
else {
echo " <img style='margin-left:50px;' src='images/dot_red.png'>";
echo "<td>";
echo "<span class='arr'> $label </span>";
echo "</td>";
echo "</td></tr>";
return 1;
}
else {
echo " <img style='margin-left:50px;' src='images/dot_red.png'>";
echo "<td>";
echo "<span class='arr'> $label </span>";
echo "</td>";
echo "</td></tr>";
return 1;
}
}
function check_variable ( $var, $value, $label, $mode ) {
echo "<tr><td>";
echo "<span class='arr'> $label </span>";
echo "</td><td>";
if ($mode == 1) {
if ($var >= $value) {
echo " <img src='images/dot_green.png'>";
return 0;
}
else {
echo " <img src='images/dot_red.png'>";
return 1;
}
}
elseif ($var == $value) {
echo " <img src='images/dot_green.png'>";
return 0;
}
else {
echo " <img src='images/dot_red.png'>";
return 1;
}
echo "</td></tr>";
}
function parse_mysql_dump($url) {
if (file_exists($url)) {
$file_content = file($url);
$query = "";
foreach($file_content as $sql_line) {
if (trim($sql_line) != "" && strpos($sql_line, "-- ") === false) {
$query .= $sql_line;
if(preg_match("/;[\040]*\$/", $sql_line)) {
if (!$result = mysql_query($query)) {
echo mysql_error(); //Uncomment for debug
echo "<i><br>$query<br></i>";
return 0;
}
$query = "";
}
}
}
return 1;
}
else
return 0;
}
function parse_mysqli_dump($connection, $url) {
if (file_exists($url)) {
$file_content = file($url);
$query = "";
foreach($file_content as $sql_line) {
if (trim($sql_line) != "" && strpos($sql_line, "-- ") === false) {
$query .= $sql_line;
if(preg_match("/;[\040]*\$/", $sql_line)) {
if (!$result = mysqli_query($connection, $query)) {
echo mysqli_error(); //Uncomment for debug
echo "<i><br>$query<br></i>";
return 0;
}
$query = "";
}
}
}
return 1;
}
else
return 0;
}
function random_name ($size) {
$temp = "";
for ($a=0;$a< $size;$a++)
$temp = $temp. chr(rand(122,97));
return $temp;
}
function print_logo_status ($step, $step_total) {
global $banner;
$header = "
<div id='logo_img' style='width: 100%;'>
<div style='width:100%; background-color:#333333;'>
<img src='images/logo_opensource.png' border='0'><br>
<span style='font-size: 9px;'>$banner</span>
</div>
</div>";
$header .= "
<div class='installation_step'>
<b>Install step $step of $step_total</b>
</div>";
return $header;
}
//
// This function adjusts path settings in pandora db for FreeBSD.
//
// All packages and configuration files except operating system's base files
// are installed under /usr/local in FreeBSD. So, path settings in pandora db
// for some programs should be changed from the Linux default.
//
function adjust_paths_for_freebsd($engine, $connection = false) {
$adjust_sql = array(
"update trecon_script set script = REPLACE(script,'/usr/share','/usr/local/share');",
"update tconfig set value = REPLACE(value,'/usr/bin','/usr/local/bin') where token='netflow_daemon' OR token='netflow_nfdump' OR token='netflow_nfexpire';",
"update talert_commands set command = REPLACE(command,'/usr/bin','/usr/local/bin');",
"update talert_commands set command = REPLACE(command,'/usr/share', '/usr/local/share');",
"update tplugin set execute = REPLACE(execute,'/usr/share','/usr/local/share');",
"update tevent_response set target = REPLACE(target,'/usr/share','/usr/local/share');",
"insert into tconfig (token, value) VALUES ('graphviz_bin_dir', '/usr/local/bin');"
);
for ($i = 0; $i < count ($adjust_sql); $i++) {
switch ($engine) {
case 'mysql':
$result = mysql_query($adjust_sql[$i]);
break;
case 'mysqli':
$result = mysqli_query($connection, $adjust_sql[$i]);
break;
case 'oracle':
//Delete the last semicolon from current query
$query = substr($adjust_sql[$i], 0, strlen($adjust_sql[$i]) - 1);
$sql = oci_parse($connection, $query);
$result = oci_execute($sql);
break;
case 'pgsql':
pg_send_query($connection, $adjust_sql[$i]);
$result = pg_get_result($connection);
break;
}
if (!$result) {
return 0;
}
}
return 1;
}
function install_step1() {
global $banner;
echo "
<div id='install_container'>
<div id='wizard'>
" . print_logo_status (1,6) . "
<div id='install_box'>
<h2>Welcome to Pandora FMS installation Wizard</h2>
<p>This wizard helps you to quick install Pandora FMS console and main database in your system.</p>
<p>In four steps, this installer will check all dependencies and will create your configuration, ready to use.</p>
<p>For more information, please refer to documentation.<br>
<i>Pandora FMS Development Team</i></p>
";
if (file_exists("include/config.php")) {
echo "<div class='warn'><b>Warning:</b> You already have a config.php file.
Configuration and database would be overwritten if you continued.</div>";
}
echo "<br>";
echo "<table width=100%>";
$writable = check_writable ( "include", "Checking if ./include is writable");
if (file_exists("include/config.php"))
$writable += check_writable ( "include/config.php", "Checking if include/config.php is writable");
echo "</table>";
echo "<div class='warn'><b>Warning:</b> This installer will <b>overwrite and destroy</b>
your existing Pandora FMS configuration and <b>Database</b>. Before continue,
please <b>be sure that you have no valuable Pandora FMS data in your Database</b>.<br>
</div>";
echo "<div class='info'><b>Upgrade</b>:
If you want to upgrade from Pandora FMS 4.x to 5.0 version, please use the migration tool inside /extras directory in this setup.
</div>";
echo "<br>";
if ($writable == 0) {
echo "<div style='text-align:right; width:100%;'>";
echo "<a id='step11' href='install.php?step=11'><button type='submit' class='btn_install_next'>Next</button></a>";
echo "</div>";
}
else {
echo "<div class='err'><b>ERROR:</b>You need to setup permissions to be able to write in ./include directory</div>";
}
echo "</div>";
echo "<div style='clear:both;'></div>";
echo "
</div>
<div id='foot_install'>
<i>Pandora FMS is an OpenSource Software project registered at
<a target='_new' href='http://pandora.sourceforge.net'>SourceForge</a></i>
</div>
</div>";
}
function install_step1_licence() {
echo "
<div id='install_container'>
<div id='wizard'>
" . print_logo_status (2,6) . "
<div id='install_box'>
<h2>GPL2 Licence terms agreement</h2>
<p>Pandora FMS is an OpenSource software project licensed under the GPL2 licence. Pandora FMS includes, as well, another software also licensed under LGPL and BSD licenses. Before continue, <i>you must accept the licence terms.</i>.
<p>For more information, please refer to our website at http://pandorafms.org and contact us if you have any kind of question about the usage of Pandora FMS</p>
<p>If you dont accept the licence terms, please, close your browser and delete Pandora FMS files.</p>
";
if (!file_exists("COPYING")) {
echo "<div class='warn'><b>Licence file 'COPYING' is not present in your distribution. This means you have some 'partial' Pandora FMS distribution. We cannot continue without accepting the licence file.</b>";
echo "</div>";
}
else {
echo "<form method=post action='install.php?step=2'>";
echo "<textarea name='gpl2' cols=52 rows=15 style='width: 100%;'>";
echo file_get_contents ("COPYING");
echo "</textarea>";
echo "<p>";
echo "<div style='text-align: right;'><button id='btn_accept' class='btn_install_next' type='submit'>Yes, I accept licence terms</button></div>";
}
echo "</div>";
echo "</div>
<div style='clear: both;height: 1px;'><!-- --></div>
<div id='foot_install'>
<i>Pandora FMS is an OpenSource Software project registered at
<a target='_new' href='http://pandora.sourceforge.net'>SourceForge</a></i>
</div>
</div>";
}
function install_step2() {
echo "
<div id='install_container'>
<div id='wizard'>
" . print_logo_status (3,6) . "
<div id='install_box'>";
echo "<h2>Checking software dependencies</h2>";
echo "<table border=0 width=230>";
$res = 0;
$res += check_variable(phpversion(),"5.2","PHP version >= 5.2",1);
$res += check_extension("gd","PHP GD extension");
$res += check_extension("ldap","PHP LDAP extension");
$res += check_extension("snmp","PHP SNMP extension");
$res += check_extension("session","PHP session extension");
$res += check_extension("gettext","PHP gettext extension");
$res += check_extension("mbstring","PHP Multibyte String");
$res += check_extension("zip","PHP Zip");
$res += check_extension("zlib","PHP Zlib extension");
$res += check_extension("json","PHP json extension");
$res += check_extension("curl","CURL (Client URL Library)");
$res += check_extension("filter","PHP filter extension");
$res += check_extension("calendar","PHP calendar extension");
if (PHP_OS == "FreeBSD") {
$res += check_exists ("/usr/local/bin/twopi","Graphviz Binary");
}
else if (PHP_OS == "NetBSD") {
$res += check_exists ("/usr/pkg/bin/twopi","Graphviz Binary");
}
else if ( substr(PHP_OS, 0, 3) == 'WIN' ) {
$res += check_exists ("..\\..\\..\\Graphviz\\bin\\twopi.exe", "Graphviz Binary");
}
else {
$res += check_exists ("/usr/bin/twopi","Graphviz Binary");
}
echo "<tr><td>";
echo "<span style='display: block; font-family: verdana,arial,sans;
font-size: 8.5pt;margin-top: 2px; font-weight: bolder;'>DB Engines</span>";
echo "</td><td>";
echo "</td></tr>";
check_extension("mysql", "PHP MySQL extension");
check_extension("mysqli", "PHP MySQL(mysqli) extension");
echo "</table>";
if ($res > 0) {
echo "
<div class='err'>You have some incomplete
dependencies. Please correct them or this installer
will not be able to finish your installation.
</div>
<div class='err'>
Remember, if you install any PHP module to comply
with these dependences, you <b>need to restart</b>
your HTTP/Apache server after it to use the new
modules.
</div>
<div style='text-align:right; width:100%;'>
Ignore it. <a id='step3' href='install.php?step=3' style='font-weight: bolder;'><button class='btn_install_next' type='submit'>Force install Step #3</button></a>
</div>";
}
else {
echo "<div style='text-align:right; width:100%;'>";
echo "<a id='step3' href='install.php?step=3'>
<button class='btn_install_next' type='submit'>Next</button></a>";
echo "</div>";
}
echo "</div>";
echo "<div style='clear: both;'><!-- --></div>";
echo "
</div>
<div style='clear: both;'><!-- --></div>
</div>
<div id='foot_install'>
<i>Pandora FMS is an OpenSource Software project registered at
<a target='_new' href='http://pandora.sourceforge.net'>SourceForge</a></i>
</div>
</div>";
}
function install_step3() {
$options = '';
if (extension_loaded("mysql")) {
$options .= "<option value='mysql'>MySQL</option>";
}
if (extension_loaded("mysqli")) {
$options .= "<option value='mysqli'>MySQL(mysqli)</option>";
}
$error = false;
if (empty($options)) {
$error = true;
}
echo "
<div id='install_container'>
<div id='wizard'>
" . print_logo_status (4,6) . "
<div id='install_box'>
<h2>Environment and database setup</h2>
<p>
This wizard will create your Pandora FMS database,
and populate it with all the data needed to run for the first time.
</p>
<p>
You need a privileged user to create database schema, this is usually <b>root</b> user.
Information about <b>root</b> user will not be used or stored anymore.
</p>
<p>
You can also deploy the scheme into an existing Database.
In this case you need a privileged Database user and password of that instance.
</p>
<p>
Now, please, complete all details to configure your database and environment setup.
</p>
<div class='warn'>
<b>Warning:</b> This installer will <b>overwrite and destroy</b> your existing
Pandora FMS configuration and <b>Database</b>. Before continue,
please <b>be sure that you have no valuable Pandora FMS data in your Database.</b>
<br><br>
</div>";
if (extension_loaded("oci8")) {
echo " <div class='warn'>For Oracle installation an existing Database with a privileged user is needed.</div>";
}
if (!$error) {
echo "<form method='post' name='step2_form' action='install.php?step=4'>";
}
echo "<table cellpadding=6 width=100% border=0 style='text-align: left;'>";
echo "<tr><td>";
echo "DB Engine<br>";
if ($error) {
echo "
<div class='warn'>
<b>Warning:</b> You haven't a any DB engine with PHP. Please check the previous step to DB engine dependencies.
</div>";
}
else {
echo "<select name='engine' onChange=\"ChangeDBAction(this)\">";
echo $options;
echo "</select>";
echo "<td>";
echo " Installation in <br>";
echo "<select name='db_action' onChange=\"ChangeDBDrop(this)\">";
echo "<option value='db_new'>A new Database</option>";
echo "<option value='db_exist'>An existing Database</option>";
echo "</select>";
}
echo " <tr><td>DB User with privileges<br>
<input class='login' type='text' name='user' value='root' size=20>
<td>DB Password for this user<br>
<input class='login' type='password' name='pass' value='' size=20>
<tr><td>DB Hostname<br>
<input class='login' type='text' name='host' value='localhost' onkeyup='CheckDBhost(this.value);'size=20>
<td>DB Name (pandora by default)<br>
<input class='login' type='text' name='dbname' value='pandora' size=20>
<tr>";
// the field dbgrant is only shown when the DB host is different from 127.0.0.1 or localhost
echo "<tr id='tr_dbgrant' style='display:none;'>
<td colspan=\"2\">DB Host Access <img style='cursor:help;' src='/pandora_console/images/tip.png' title='Ignored if DB Hostname is localhost or 127.0.0.1'/><br>
<input class='login' type='text' name='dbgrant' value='" . $_SERVER['SERVER_ADDR'] . "' size=20>
</td>
</tr>";
echo " <td valign=top>Drop Database if exists<br>
<input class='login' type='checkbox' name='drop' value=1>
</td>";
echo "<td>Full path to HTTP publication directory<br>
<span style='font-size: 9px'>For example /var/www/pandora_console/</span>
<br>
<input class='login' type='text' name='path' style='width: 240px;'
value='".dirname (__FILE__)."'>
<tr>";
if ($_SERVER['SERVER_ADDR'] == 'localhost' || $_SERVER['SERVER_ADDR'] == '127.0.0.1') {
echo "<td valign=top>
Drop Database if exists<br>
<input class='login' type='checkbox' name='drop' value=1>
";
} else {
echo "<td>";
}
echo "<td>URL path to Pandora FMS Console<br>
<span style='font-size: 9px'>For example '/pandora_console'</span>
</br>
<input class='login' type='text' name='url' style='width: 250px;'
value='".dirname ($_SERVER["SCRIPT_NAME"])."'>
</table>
";
if (!$error) {
echo "<div style='text-align:right; width:100%;'>";
echo "<a id='step4' href='install.php?step=4'>
<button class='btn_install_next' type='submit'>Next</button></a>";
echo "</div>";
}
echo "</div>";
echo "</form>";
echo "<div style='clear:both;'></div>";
echo "</div>
<div id='foot_install'>
<i>Pandora FMS is an OpenSource Software project registered at
<a target='_new' href='http://pandora.sourceforge.net'>SourceForge</a></i>
</div>
</div>";
}
function install_step4() {
$pandora_config = "include/config.php";
if ( (! isset($_POST["user"])) || (! isset($_POST["dbname"])) || (! isset($_POST["host"])) ||
(! isset($_POST["pass"])) || (!isset($_POST['engine'])) || (! isset($_POST["db_action"])) ) {
$dbpassword = "";
$dbuser = "";
$dbhost = "";
$dbname = "";
$engine = "";
$dbaction = "";
$dbgrant = "";
}
else {
$engine = $_POST['engine'];
$dbpassword = $_POST["pass"];
$dbuser = $_POST["user"];
$dbhost = $_POST["host"];
$dbaction = $_POST["db_action"];
if (isset($_POST["dbgrant"]) && $_POST["dbgrant"] != "")
$dbgrant = $_POST["dbgrant"];
else
$dbgrant = $_SERVER["SERVER_ADDR"];
if (isset($_POST["drop"]))
$dbdrop = $_POST["drop"];
else
$dbdrop = 0;
$dbname = $_POST["dbname"];
if (isset($_POST["url"]))
$url = $_POST["url"];
else
$url = "http://localhost";
if (isset($_POST["path"])) {
$path = $_POST["path"];
$path = str_replace("\\", "/", $path); // Windows compatibility
}
else
$path = "/var/www";
}
$everything_ok = 0;
$step1=0;
$step2=0;
$step3=0;
$step4=0; $step5=0; $step6=0; $step7=0;
echo "
<div id='install_container'>
<div id='wizard'>
" . print_logo_status(5,6) . "
<div id='install_box'>
<h2>Creating database and default configuration file</h2>
<table width='100%'>";
switch ($engine) {
case 'mysql':
if (! mysql_connect ($dbhost, $dbuser, $dbpassword)) {
check_generic ( 0, "Connection with Database");
}
else {
check_generic ( 1, "Connection with Database");
// Drop database if needed and don't want to install over an existing DB
if ($dbdrop == 1) {
mysql_query ("DROP DATABASE IF EXISTS `$dbname`");
}
// Create schema
if ($dbaction == 'db_new' || $dbdrop == 1) {
$step1 = mysql_query ("CREATE DATABASE `$dbname`");
check_generic ($step1, "Creating database '$dbname'");
}
else {
$step1 = 1;
}
if ($step1 == 1) {
$step2 = mysql_select_db($dbname);
check_generic ($step2, "Opening database '$dbname'");
$step3 = parse_mysql_dump("pandoradb.sql");
check_generic ($step3, "Creating schema");
$step4 = parse_mysql_dump("pandoradb_data.sql");
check_generic ($step4, "Populating database");
if (PHP_OS == "FreeBSD") {
$step_freebsd = adjust_paths_for_freebsd ($engine);
check_generic ($step_freebsd, "Adjusting paths in database for FreeBSD");
}
$random_password = random_name (8);
$host = $dbhost; // set default granted origin to the origin of the queries
if (($dbhost != 'localhost') && ($dbhost != '127.0.0.1'))
$host = $dbgrant; // if the granted origin is different from local machine, set the valid origin
$step5 = mysql_query ("GRANT ALL PRIVILEGES ON `$dbname`.* to pandora@$host
IDENTIFIED BY '".$random_password."'");
mysql_query ("FLUSH PRIVILEGES");
check_generic ($step5, "Established privileges for user pandora. A new random password has been generated: <b>$random_password</b><div class='warn'>Please write it down, you will need to setup your Pandora FMS server, editing the </i>/etc/pandora/pandora_server.conf</i> file</div>");
$step6 = is_writable("include");
check_generic ($step6, "Write permissions to save config file in './include'");
$cfgin = fopen ("include/config.inc.php","r");
$cfgout = fopen ($pandora_config,"w");
$config_contents = fread ($cfgin, filesize("include/config.inc.php"));
$dbtype = 'mysql';
$config_new = '<?php
// Begin of automatic config file
$config["dbtype"] = "' . $dbtype . '"; //DB type (mysql, postgresql...in future others)
$config["dbname"]="'.$dbname.'"; // MySQL DataBase name
$config["dbuser"]="pandora"; // DB User
$config["dbpass"]="'.$random_password.'"; // DB Password
$config["dbhost"]="'.$dbhost.'"; // DB Host
$config["homedir"]="'.$path.'"; // Config homedir
/*
----------Attention--------------------
Please note that in certain installations:
- reverse proxy.
- web server in other ports.
- https
This variable might be dynamically altered.
But it is save as backup in the
$config["homeurl_static"]
for expecial needs.
----------Attention--------------------
*/
$config["homeurl"]="'.$url.'"; // Base URL
$config["homeurl_static"]="'.$url.'"; // Don\'t delete
// End of automatic config file
?>';
$step7 = fputs ($cfgout, $config_new);
$step7 = $step7 + fputs ($cfgout, $config_contents);
if ($step7 > 0)
$step7 = 1;
fclose ($cfgin);
fclose ($cfgout);
chmod ($pandora_config, 0600);
check_generic ($step7, "Created new config file at '".$pandora_config."'");
}
}
if (($step7 + $step6 + $step5 + $step4 + $step3 + $step2 + $step1) == 7) {
$everything_ok = 1;
}
break;
case 'mysqli':
$connection = mysqli_connect ($dbhost, $dbuser, $dbpassword);
if (mysqli_connect_error() > 0) {
check_generic ( 0, "Connection with Database");
}
else {
check_generic ( 1, "Connection with Database");
// Drop database if needed and don't want to install over an existing DB
if ($dbdrop == 1) {
mysqli_query ($connection, "DROP DATABASE IF EXISTS `$dbname`");
}
// Create schema
if ($dbaction == 'db_new' || $dbdrop == 1) {
$step1 = mysqli_query ($connection, "CREATE DATABASE `$dbname`");
check_generic ($step1, "Creating database '$dbname'");
}
else {
$step1 = 1;
}
if ($step1 == 1) {
$step2 = mysqli_select_db($connection, $dbname);
check_generic ($step2, "Opening database '$dbname'");
$step3 = parse_mysqli_dump($connection, "pandoradb.sql");
check_generic ($step3, "Creating schema");
$step4 = parse_mysqli_dump($connection, "pandoradb_data.sql");
check_generic ($step4, "Populating database");
if (PHP_OS == "FreeBSD") {
$step_freebsd = adjust_paths_for_freebsd ($engine, $connection);
check_generic ($step_freebsd, "Adjusting paths in database for FreeBSD");
}
$random_password = random_name (8);
$host = $dbhost; // set default granted origin to the origin of the queries
if (($dbhost != 'localhost') && ($dbhost != '127.0.0.1'))
$host = $dbgrant; // if the granted origin is different from local machine, set the valid origin
$step5 = mysqli_query ($connection, "GRANT ALL PRIVILEGES ON `$dbname`.* to pandora@$host
IDENTIFIED BY '".$random_password."'");
mysqli_query ($connection, "FLUSH PRIVILEGES");
check_generic ($step5, "Established privileges for user pandora. A new random password has been generated: <b>$random_password</b><div class='warn'>Please write it down, you will need to setup your Pandora FMS server, editing the </i>/etc/pandora/pandora_server.conf</i> file</div>");
$step6 = is_writable("include");
check_generic ($step6, "Write permissions to save config file in './include'");
$cfgin = fopen ("include/config.inc.php","r");
$cfgout = fopen ($pandora_config,"w");
$config_contents = fread ($cfgin, filesize("include/config.inc.php"));
$dbtype = 'mysql';
$config_new = '<?php
// Begin of automatic config file
$config["dbtype"] = "' . $dbtype . '"; //DB type (mysql, postgresql...in future others)
$config["mysqli"] = true;
$config["dbname"]="'.$dbname.'"; // MySQL DataBase name
$config["dbuser"]="pandora"; // DB User
$config["dbpass"]="'.$random_password.'"; // DB Password
$config["dbhost"]="'.$dbhost.'"; // DB Host
$config["homedir"]="'.$path.'"; // Config homedir
/*
----------Attention--------------------
Please note that in certain installations:
- reverse proxy.
- web server in other ports.
- https
This variable might be dynamically altered.
But it is save as backup in the
$config["homeurl_static"]
for expecial needs.
----------Attention--------------------
*/
$config["homeurl"]="'.$url.'"; // Base URL
$config["homeurl_static"]="'.$url.'"; // Don\'t delete
// End of automatic config file
?>';
$step7 = fputs ($cfgout, $config_new);
$step7 = $step7 + fputs ($cfgout, $config_contents);
if ($step7 > 0)
$step7 = 1;
fclose ($cfgin);
fclose ($cfgout);
chmod ($pandora_config, 0600);
check_generic ($step7, "Created new config file at '".$pandora_config."'");
}
}
if (($step7 + $step6 + $step5 + $step4 + $step3 + $step2 + $step1) == 7) {
$everything_ok = 1;
}
break;
}
echo "</table>";
if ($everything_ok == 1) {
echo "<div style='text-align:right; width:100%;'>";
echo "<a id='step5' href='install.php?step=5'>
<button class='btn_install_next' type='submit'>Next</button></a>";
echo "</div>";
}
else {
$info = "<div class='err'><b>There were some problems.
Installation was not completed.</b>
<p>Please correct failures before trying again.
All database ";
if ($engine == 'oracle')
$info .= "objects ";
else
$info .= "schemes ";
$info .= "created in this step have been dropped. </p>
</div>";
echo $info;
switch ($engine) {
case 'mysql':
if (mysql_error() != "") {
echo "<div class='err'> <b>ERROR:</b> ". mysql_error().".</div>";
}
if ($step1 == 1) {
mysql_query ("DROP DATABASE $dbname");
}
break;
case 'mysqli':
if (mysqli_error($connection) != "") {
echo "<div class='err'> <b>ERROR:</b> ". mysqli_error($connection).".</div>";
}
if ($step1 == 1) {
mysqli_query ($connection, "DROP DATABASE $dbname");
}
break;
}
echo "</div>";
}
echo "</div>";
echo "<div style='clear: both;'></div>";
echo "
</div>
<div id='foot_install'>
<i>Pandora FMS is an Open Source Software project registered at
<a target='_new' href='http://pandora.sourceforge.net'>SourceForge</a></i>
</div>
</div>";
}
function install_step5() {
echo "
<div id='install_container'>
<div id='wizard'>
" . print_logo_status (6,6) . "
<div id='install_box'>
<h2>Installation complete</h2>
<p>For security, you now must manually delete this installer
('<i>install.php</i>') file before trying to access to your Pandora FMS console.
<p>You should also install Pandora FMS Servers before trying to monitor anything;
please read documentation on how to install it.</p>
<p>Default user is <b>'admin'</b> with password <b>'pandora'</b>,
please change it both as soon as possible.</p>
<p>Don't forget to check <a href='http://pandorafms.com'>http://pandorafms.com</a>
for updates.
<p>Select if you want to rename '<i>install.php</i>'.</p>
<form method='post' action='index.php'>
<button class='btn_install_next' type='submit' name='rn_file'>Yes, rename the file</button>
<input type='hidden' name='rename_file' value='1'>
</form>
<p><br><b><a id='access_pandora' href='index.php'><button class='btn_install_next' type='submit'>Click here to access to your Pandora FMS console</button></a>.</b>
</p>
</div>";
echo "</div>
<div id='foot_install'>
<i>Pandora FMS is an OpenSource Software project registered at
<a target='_new' href='http://pandora.sourceforge.net'>SourceForge</a></i>
</div>
</div>";
}
?>

View File

@ -1,85 +0,0 @@
#
# Pandora FMS Console
#
%define name pandorafms_console
%define version 7.0NG
<<<<<<< HEAD
%define release 170406
=======
%define release 170418
>>>>>>> develop
# User and Group under which Apache is running
%define httpd_name httpd
%define httpd_user apache
%define httpd_group apache
Summary: Pandora FMS Console
Name: %{name}
Version: %{version}
Release: %{release}
License: GPL
Vendor: Artica ST <info@artica.es>
#Source0: %{name}-%{version}-%{revision}.tar.gz
Source0: %{name}-%{version}.tar.gz
URL: http://www.pandorafms.com
Group: Productivity/Networking/Web/Utilities
Packager: Sancho Lerena <slerena@artica.es>
Prefix: /var/www/html
BuildRoot: %{_tmppath}/%{name}
BuildArch: noarch
AutoReq: 0
Requires: %{httpd_name} >= 2.0.0
Requires: mod_php >= 5.2.0
Requires: php-gd, php-ldap, php-snmp, php-session, php-gettext
Requires: php-mysql, php-mbstring, php-zip, php-zlib, php-curl
Requires: xorg-x11-fonts-75dpi, xorg-x11-fonts-misc
Requires: graphviz
Provides: %{name}-%{version}
%description
The Web Console is a web application that allows to see graphical reports, state of every agent, also to access to the information sent by the agent, to see every monitored parameter and to see its evolution throughout the time, to form the different nodes, groups and users of the system. It is the part that interacts with the final user, and that will allows you to administer the system.
%prep
rm -rf $RPM_BUILD_ROOT
%setup -q -n pandora_console
%build
%install
rm -rf $RPM_BUILD_ROOT
mkdir -p $RPM_BUILD_ROOT%{prefix}/pandora_console
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/
cp -aRf * $RPM_BUILD_ROOT%{prefix}/pandora_console
rm $RPM_BUILD_ROOT%{prefix}/pandora_console/*.spec
rm $RPM_BUILD_ROOT%{prefix}/pandora_console/pandora_console_install
install -m 0644 pandora_console_logrotate_centos $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/pandora_console
%clean
rm -rf $RPM_BUILD_ROOT
%post
# Has an install already been done, if so we only want to update the files
# push install.php aside so that the console works immediately using existing
# configuration.
#
if [ -f %{prefix}/pandora_console/include/config.php ] ; then
mv %{prefix}/pandora_console/install.php %{prefix}/pandora_console/install.done
else
echo "Please, now, point your browser to http://your_IP_address/pandora_console/install.php and follow all the steps described on it."
fi
%preun
# Upgrading
if [ "$1" = "1" ]; then
exit 0
fi
%files
%defattr(0644,%{httpd_user},%{httpd_group},0755)
%docdir %{prefix}/pandora_console/docs
%{prefix}/pandora_console
%config(noreplace) %{_sysconfdir}/logrotate.d/pandora_console

View File

@ -1,96 +0,0 @@
#
# Pandora FMS Console
#
%define name pandorafms_console
%define version 7.0NG
<<<<<<< HEAD
%define release 170406
=======
%define release 170418
>>>>>>> develop
%define httpd_name httpd
# User and Group under which Apache is running
%define httpd_name apache2
%define httpd_user wwwrun
%define httpd_group www
# Evaluate PHP version
%define phpver_lt_430 %(out=`rpm -q --queryformat='%{VERSION}' php` 2>&1 >/dev/null || out=0 ; out=`echo $out | tr . : | sed s/://g` ; if [ $out -lt 430 ] ; then out=1 ; else out=0; fi ; echo $out)
Summary: Pandora FMS Console
Name: %{name}
Version: %{version}
Release: %{release}
License: GPL
Vendor: Artica ST <info@artica.es>
Source0: %{name}-%{version}.tar.gz
URL: http://www.pandorafms.org
Group: System/Monitoring
Packager: Sancho Lerena <slerena@artica.es>
Prefix: /srv/www/htdocs
BuildRoot: %{_tmppath}/%{name}
BuildArch: noarch
AutoReq: 0
Requires: apache2, apache2-mod_php5
Requires: php >= 4.3.0
Requires: php5-gd, php5-snmp, php5-json, php5-gettext
Requires: php5-mysql, php5-ldap, php5-mbstring, php5
Requires: graphviz, xorg-x11-fonts-core, graphviz-gd
Requires: php5-zip, php5-zlib, php5-curl
Provides: %{name}-%{version}
%description
Pandora FMS Console is a web application to manage Pandora FMS. Console allows to see graphical reports, state of every agent, also to access to the information sent by the agent, to see every monitored parameter and to see its evolution throughout the time, to form the different nodes, groups and users of the system. It is the part that interacts with the final user, and that will allows you to administer the system.
%prep
rm -rf $RPM_BUILD_ROOT
%setup -q -n pandora_console
%build
%install
rm -rf $RPM_BUILD_ROOT
mkdir -p $RPM_BUILD_ROOT%{prefix}/pandora_console
cp -aRf * $RPM_BUILD_ROOT%{prefix}/pandora_console
if [ -f $RPM_BUILD_ROOT%{prefix}/pandora_console/pandora_console.spec ] ; then
rm $RPM_BUILD_ROOT%{prefix}/pandora_console/pandora_console.spec
fi
%clean
rm -rf $RPM_BUILD_ROOT
%post
# Has an install already been done, if so we only want to update the files
# push install.php aside so that the console works immediately using existing
# configuration.
#
if [ -f %{prefix}/pandora_console/include/config.php ] ; then
mv %{prefix}/pandora_console/install.php %{prefix}/pandora_console/install.done
else
echo "Please, now, point your browser to http://your_IP_address/pandora_console/install.php and follow all the steps described on it."
fi
cp -aRf %{prefix}/pandora_console/pandora_console_logrotate_suse /etc/logrotate.d/pandora_console
%preun
# Upgrading
if [ "$1" = "1" ]; then
exit 0
fi
rm -Rf %{prefix}/pandora_console
%postun
# Upgrading
if [ "$1" = "1" ]; then
exit 0
fi
rm -Rf /etc/logrotate.d/pandora_console
%files
%defattr(0644,%{httpd_user},%{httpd_group},0755)
%docdir %{prefix}/pandora_console/docs
%{prefix}/pandora_console

View File

@ -1,14 +0,0 @@
package: pandorafms-server
<<<<<<< HEAD
Version: 7.0NG-170406
=======
Version: 7.0NG-170418
>>>>>>> develop
Architecture: all
Priority: optional
Section: admin
Installed-Size: 640
Maintainer: Miguel de Dios <miguel.dedios@artica.es>
Homepage: http://pandorafms.org/
Depends: perl (>= 5.8), libdbi-perl, libdbd-mysql-perl, libtime-format-perl, libnetaddr-ip-perl, libtime-format-perl, libxml-simple-perl, libxml-twig-perl, libhtml-parser-perl, snmp, snmpd, traceroute, xprobe2, nmap, sudo, libwww-perl, libsocket6-perl, libio-socket-inet6-perl, snmp-mibs-downloader, libjson-perl, libnet-telnet-perl, libencode-locale-perl
Description: Pandora FMS is a monitoring system for big IT environments. It uses remote tests, or local agents to grab information. Pandora supports all standard OS (Linux, AIX, HP-UX, Solaris and Windows XP,2000/2003), and support multiple setups in HA enviroments. This is the server package. Server makes the remote checks and process information transfer by Pandora FMS agents to the server.

View File

@ -1,188 +0,0 @@
#!/bin/bash
# Pandora FMS- http://pandorafms.com
# ==================================================
# Copyright (c) 2005-2010 Artica Soluciones Tecnologicas
# Please see http:#pandorafms.org for full contribution list
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public License
# as published by the Free Software Foundation; version 2
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
<<<<<<< HEAD
pandora_version="7.0NG-170406"
=======
pandora_version="7.0NG-170418"
>>>>>>> develop
package_cpan=0
package_pandora=1
for param in $@
do
if [ $param = "-h" -o $param = "--help" ]
then
echo "For only make packages of cpan type +cpan"
echo "For not make packages of cpan type -cpan"
exit 0
fi
if [ $param = "+cpan" ]
then
package_pandora=0
fi
if [ $param = "-cpan" ]
then
package_cpan=0
fi
done
echo "This script to make deb must run as root (because the dh-make-perl need this). Then test if you are root."
if [ `id -u` != 0 ]
then
echo "You aren't root."
exit 1
fi
if [ $package_cpan -eq 1 ]
then
echo "Test if you has the tools for to make the packages."
whereis dh-make-perl | cut -d":" -f2 | grep dh-make-perl > /dev/null
if [ $? = 1 ]
then
echo "No found \"dh-make-perl\" aplication, please install."
exit 1
else
echo "Found \"dh-make-perl\"."
fi
fi
cd ..
echo "Make a \"temp_package\" temp dir for job."
mkdir temp_package
if [ $package_pandora -eq 1 ]
then
mkdir -p temp_package/usr/bin/
mkdir -p temp_package/usr/sbin/
mkdir -p temp_package/etc/init.d/
mkdir -p temp_package/lib/systemd/system/
mkdir -p temp_package/etc/pandora/
mkdir -p temp_package/var/spool/pandora/data_in
chmod 770 temp_package/var/spool/pandora/data_in
mkdir -p temp_package/var/spool/pandora/data_in/conf
mkdir -p temp_package/var/spool/pandora/data_in/md5
chmod 770 temp_package/var/spool/pandora/data_in/md5
mkdir -p temp_package/var/spool/pandora/data_in/collections
chmod 770 temp_package/var/spool/pandora/data_in/collections
mkdir -p temp_package/var/spool/pandora/data_in/netflow
chmod 770 temp_package/var/spool/pandora/data_in/netflow
mkdir -p temp_package/var/spool/pandora/data_in/trans
chmod 770 temp_package/var/spool/pandora/data_in/trans
mkdir -p temp_package/var/log/pandora/
mkdir -p temp_package/usr/share/pandora_server/conf/
mkdir -p temp_package/usr/lib/perl5/
mkdir -p temp_package/usr/share/man/man1/
mkdir -p temp_package/etc/logrotate.d/
cp -aRf bin/pandora_server temp_package/usr/bin/
cp -aRf bin/pandora_exec temp_package/usr/bin/pandora_exec.server
cp -aRf bin/tentacle_server temp_package/usr/bin/
cp -aRf conf/* temp_package/usr/share/pandora_server/conf/
cp -aRf util temp_package/usr/share/pandora_server/
cp -aRf lib/* temp_package/usr/lib/perl5/
cp -aRf AUTHORS COPYING README temp_package/usr/share/pandora_server/
cp -aRf util/pandora_server temp_package/etc/init.d/
cp -aRf util/tentacle_serverd temp_package/etc/init.d/
cp -aRf util/pandora_server.service temp_package/lib/systemd/system/
cp -aRf util/tentacle_serverd.service temp_package/lib/systemd/system/
cp -aRf man/man1/* temp_package/usr/share/man/man1/
cp -aRf util/pandora_server_logrotate temp_package/etc/logrotate.d/pandora_server
rm -f temp_package/usr/share/pandora_server/util/PandoraFMS
rm -f temp_package/usr/share/pandora_server/bin/PandoraFMS
rm -f temp_package/usr/share/pandora_server/util/recon_scripts/PandoraFMS
cp -R DEBIAN temp_package/
chmod 755 -R temp_package/DEBIAN
echo "Remove the SVN files and other temp files."
for item in `find temp_package`
do
echo -n "."
echo $item | grep "svn" > /dev/null
#last command success
if [ $? -eq 0 ]
then
rm -rf $item
fi
echo $item | grep "make_deb_package.sh" > /dev/null
#last command success
if [ $? -eq 0 ]
then
rm -rf $item
fi
done
echo "END"
echo " "
pwd
echo " "
echo "Calcule md5sum for md5sums file control of package."
for item in `find temp_package`
do
echo -n "."
if [ ! -d $item ]
then
echo $item | grep "DEBIAN" > /dev/null
#last command success
if [ $? -eq 1 ]
then
md5=`md5sum $item | cut -d" " -f1`
#delete "temp_package" in the path
final_path=${item#temp_package}
echo $md5" "$final_path >> temp_package/DEBIAN/md5sums
fi
fi
done
echo "END"
echo "Make the package \"Pandorafms server\"."
dpkg-deb --build temp_package
mv temp_package.deb pandorafms.server_$pandora_version.deb
chmod 777 pandorafms.server_$pandora_version.deb
fi
if [ $package_cpan -eq 1 ]
then
echo "Make the package \"libnet-traceroute-pureperl-perl\"."
cd temp_package
dh-make-perl --build --cpan Net::Traceroute::PurePerl
chmod 777 libnet-traceroute-pureperl-perl*.deb
mv libnet-traceroute-pureperl-perl*.deb ..
cd ..
echo "Make the package \"libnet-traceroute-perl\"."
cd temp_package
dh-make-perl --build --cpan Net::Traceroute
chmod 777 libnet-traceroute-perl*.deb
mv libnet-traceroute-perl*.deb ..
cd ..
fi
echo "Delete the \"temp_package\" temp dir for job."
rm -rf temp_package

File diff suppressed because it is too large Load Diff

View File

@ -1,188 +0,0 @@
#
# Pandora FMS Server
#
%define name pandorafms_server
%define version 7.0NG
<<<<<<< HEAD
%define release 170406
=======
%define release 170418
>>>>>>> develop
Summary: Pandora FMS Server
Name: %{name}
Version: %{version}
Release: %{release}
License: GPL
Vendor: ArticaST <http://www.artica.es>
Source0: %{name}-%{version}.tar.gz
URL: http://www.pandorafms.com
Group: System/Monitoring
Packager: Sancho Lerena <slerena@artica.es>
Prefix: %{_datadir}
BuildRoot: %{_tmppath}/%{name}-buildroot
BuildArchitectures: noarch
AutoReq: 0
Provides: %{name}-%{version}
Requires(pre): shadow-utils
Requires(post,preun): /sbin/chkconfig /sbin/service
Requires: coreutils
Requires: perl(DBI) perl(DBD::mysql)
Requires: perl(HTTP::Request::Common) perl(LWP::Simple) perl(LWP::UserAgent)
Requires: perl(XML::Simple) perl(XML::Twig) net-snmp-utils
Requires: perl(NetAddr::IP) net-snmp net-tools
Requires: perl(IO::Socket::INET6) perl(Net::Telnet)
Requires: nmap sudo perl(JSON)
Requires: perl(Time::HiRes) perl(Encode::Locale)
Requires: perl perl(Sys::Syslog) perl(HTML::Entities)
%description
Pandora FMS is a monitoring system for big IT environments. It uses remote tests, or local agents to grab information. Pandora supports all standard OS (Linux, AIX, HP-UX, Solaris and Windows XP,2000/2003), and support multiple setups in HA enviroments.
%prep
rm -rf $RPM_BUILD_ROOT
%setup -q -n pandora_server
%build
%install
rm -rf $RPM_BUILD_ROOT
mkdir -p $RPM_BUILD_ROOT%{_bindir}/
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/rc.d/init.d/
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/pandora/
mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/spool/pandora/data_in
mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/spool/pandora/data_in/conf
mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/spool/pandora/data_in/md5
mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/spool/pandora/data_in/collections
mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/spool/pandora/data_in/netflow
mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/log/pandora/
mkdir -p $RPM_BUILD_ROOT%{prefix}/pandora_server/conf/
mkdir -p $RPM_BUILD_ROOT%{_mandir}/man1/
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/cron.hourly/
mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/lib/pandora/.ssh
mkdir -p $RPM_BUILD_ROOT/usr/lib/perl5/
# All binaries go to %{_bindir}
cp -aRf bin/pandora_server $RPM_BUILD_ROOT%{_bindir}/
cp -aRf bin/pandora_exec $RPM_BUILD_ROOT%{_bindir}/
install -m 0755 bin/tentacle_server $RPM_BUILD_ROOT%{_bindir}/
cp -aRf conf/* $RPM_BUILD_ROOT%{prefix}/pandora_server/conf/
cp -aRf util $RPM_BUILD_ROOT%{prefix}/pandora_server/
cp -aRf lib/* $RPM_BUILD_ROOT/usr/lib/perl5/
install -m 0755 util/pandora_server $RPM_BUILD_ROOT%{_sysconfdir}/rc.d/init.d/
install -m 0755 util/tentacle_serverd $RPM_BUILD_ROOT%{_sysconfdir}/rc.d/init.d/
install -m 0444 man/man1/pandora_server.1.gz $RPM_BUILD_ROOT%{_mandir}/man1/
install -m 0444 man/man1/tentacle_server.1.gz $RPM_BUILD_ROOT%{_mandir}/man1/
rm -f $RPM_BUILD_ROOT%{prefix}/pandora_server/util/PandoraFMS
rm -f $RPM_BUILD_ROOT%{prefix}/pandora_server/util/recon_scripts/PandoraFMS
install -m 0644 util/pandora_server_logrotate $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/pandora_server
install -m 0640 conf/pandora_server.conf.new $RPM_BUILD_ROOT%{_sysconfdir}/pandora/pandora_server.conf.new
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/sudoers.d
chmod 0750 $RPM_BUILD_ROOT%{_sysconfdir}/sudoers.d
cat <<EOF > $RPM_BUILD_ROOT%{_sysconfdir}/sudoers.d/pandora
Defaults:root !requiretty
EOF
chmod 0440 $RPM_BUILD_ROOT%{_sysconfdir}/sudoers.d/pandora
cat <<EOF > $RPM_BUILD_ROOT%{_sysconfdir}/cron.hourly/pandora_db
#!/bin/bash
%__perl %{prefix}/pandora_server/util/pandora_db.pl %{_sysconfdir}/pandora/pandora_server.conf
EOF
chmod 0755 $RPM_BUILD_ROOT%{_sysconfdir}/cron.hourly/pandora_db
%clean
rm -fr $RPM_BUILD_ROOT
%pre
getent passwd pandora >/dev/null || \
/usr/sbin/useradd -d %{prefix}/pandora_server -s /sbin/nologin -M -g 0 pandora
exit 0
%post
# Initial installation
if [ "$1" = 1 ]; then
/sbin/chkconfig --add pandora_server
/sbin/chkconfig --add tentacle_serverd
/sbin/chkconfig pandora_server on
/sbin/chkconfig tentacle_serverd on
echo "Pandora FMS Server configuration is %{_sysconfdir}/pandora/pandora_server.conf"
echo "Pandora FMS Server main directory is %{prefix}/pandora_server/"
echo "The manual can be reached at: man pandora or man pandora_server"
echo "Pandora FMS Documentation is in: http://pandorafms.org"
echo " "
fi
# This will avoid pandora_server.conf overwritting on UPGRADES.
if [ ! -e "/etc/pandora/pandora_server.conf" ]
then
echo "Creating a new version of Pandora FMS Server config file at /etc/pandora/pandora_server.conf"
cat /etc/pandora/pandora_server.conf.new > /etc/pandora/pandora_server.conf
else
# Do a copy of current .conf, just in case.
echo "An existing version of pandora_server.conf is found."
cat /etc/pandora/pandora_server.conf > /etc/pandora/pandora_server.conf.old
fi
echo "Don't forget to start Tentacle Server daemon if you want to receive"
echo "data using tentacle"
%preun
# Upgrading
if [ "$1" = "1" ]; then
exit 0
fi
/sbin/service pandora_server stop >/dev/null 2>&1 || :
/sbin/service tentacle_serverd stop >/dev/null 2>&1 || :
/sbin/chkconfig --del pandora_server
/sbin/chkconfig --del tentacle_serverd
exit 0
%files
%defattr(-,root,root)
%doc AUTHORS COPYING README
%{_sysconfdir}/rc.d/init.d/pandora_server
%{_sysconfdir}/rc.d/init.d/tentacle_serverd
%{_sysconfdir}/cron.hourly/pandora_db
%config(noreplace) %{_sysconfdir}/sudoers.d/pandora
%config(noreplace) %{_sysconfdir}/logrotate.d/pandora_server
%defattr(755,pandora,root)
%{prefix}/pandora_server
/usr/lib/perl5/PandoraFMS
%{_mandir}/man1/pandora_server.1.gz
%{_mandir}/man1/tentacle_server.1.gz
%defattr(-,pandora,root)
%{_bindir}/pandora_exec
%{_bindir}/pandora_server
%{_bindir}/tentacle_server
%dir %{_localstatedir}/log/pandora
%dir %{_sysconfdir}/pandora
%dir %{_localstatedir}/spool/pandora
%defattr(600,root,root)
/etc/pandora/pandora_server.conf.new
%defattr(-,pandora,apache,2770)
%{_localstatedir}/spool/pandora
%{_localstatedir}/spool/pandora/data_in
%{_localstatedir}/spool/pandora/data_in/md5
%{_localstatedir}/spool/pandora/data_in/collections
%{_localstatedir}/spool/pandora/data_in/conf
%{_localstatedir}/spool/pandora/data_in/netflow

View File

@ -1,193 +0,0 @@
#
# Pandora FMS Server
#
%define name pandorafms_server
%define version 7.0NG
<<<<<<< HEAD
%define release 170406
=======
%define release 170418
>>>>>>> develop
Summary: Pandora FMS Server
Name: %{name}
Version: %{version}
Release: %{release}
License: GPL
Vendor: ArticaST <http://www.artica.es>
Source0: %{name}-%{version}.tar.gz
URL: http://www.pandorafms.com
Group: System/Monitoring
Packager: Sancho Lerena <slerena@artica.es>
Prefix: /usr/share
BuildRoot: %{_tmppath}/%{name}-buildroot
BuildArch: noarch
PreReq: %fillup_prereq %insserv_prereq /usr/bin/sed /usr/bin/grep /usr/sbin/useradd
AutoReq: 0
Provides: %{name}-%{version}
Requires: perl-DBI perl-DBD-mysql perl-libwww-perl
Requires: perl-NetAddr-IP net-snmp net-tools perl-XML-Twig
Requires: nmap sudo perl-HTML-Tree perl-XML-Simple perl-Net-Telnet
Requires: perl-IO-Socket-INET6 perl-Socket6 snmp-mibs perl-JSON
Requires: perl-Encode-Locale
%description
Pandora FMS is a monitoring Open Source software. It watches your systems and applications, and allows you to know the status of any element of those systems.
Pandora FMS could detect a network interface down, a defacement in your website, a memory leak in one of your server application, or the movement of any value of the NASDAQ new technology market. Pandora FMS could send out SMS message when your systems fails... or when Google's value drop below US348.60?
Pandora FMS runs on any operating system, with specific agents for each platform, gathering data and sending it to a server, it has specific agents for GNU/Linux, AIX, Solaris, HP-UX, BSD/IPSO, and Windows 2000, XP and 2003.
Pandora FMS can also monitor any kind of TCP/IP service, without the need to install agents, and monitor network systems such as load balancers, routers, switches, operating systems, applications, or simply printers if you need. Pandora FMS also supports SNMP for collecting data and for receiving traps.
A few examples of common resources monitored by Pandora FMS could be processor load, disk and memory usage, running processes, log files, environmental factors such as temperature, or application values like strings contained in web pages or any possible way to collect data in an automatic way.
%prep
rm -rf $RPM_BUILD_ROOT
%setup -q -n pandora_server
%build
%install
rm -rf $RPM_BUILD_ROOT
mkdir -p $RPM_BUILD_ROOT/usr/bin/
mkdir -p $RPM_BUILD_ROOT/usr/sbin/
mkdir -p $RPM_BUILD_ROOT/etc/init.d/
mkdir -p $RPM_BUILD_ROOT/etc/pandora/
mkdir -p $RPM_BUILD_ROOT/var/spool/pandora/data_in
mkdir -p $RPM_BUILD_ROOT/var/spool/pandora/data_in/conf
mkdir -p $RPM_BUILD_ROOT/var/spool/pandora/data_in/md5
mkdir -p $RPM_BUILD_ROOT/var/spool/pandora/data_in/collections
mkdir -p $RPM_BUILD_ROOT/var/spool/pandora/data_in/netflow
mkdir -p $RPM_BUILD_ROOT/var/spool/pandora/data_in/trans
mkdir -p $RPM_BUILD_ROOT/var/log/pandora/
mkdir -p $RPM_BUILD_ROOT%{prefix}/pandora_server/conf/
mkdir -p $RPM_BUILD_ROOT/usr/lib/perl5/
mkdir -p $RPM_BUILD_ROOT/usr/share/man/man1/
# All binaries go to /usr/bin
cp -aRf bin/pandora_server $RPM_BUILD_ROOT/usr/bin/
cp -aRf bin/pandora_exec $RPM_BUILD_ROOT/usr/bin/
cp -aRf bin/tentacle_server $RPM_BUILD_ROOT/usr/bin/
cp -aRf conf/* $RPM_BUILD_ROOT%{prefix}/pandora_server/conf/
cp -aRf conf/pandora_server.conf.new $RPM_BUILD_ROOT/etc/pandora/
cp -aRf util $RPM_BUILD_ROOT%{prefix}/pandora_server/
cp -aRf lib/* $RPM_BUILD_ROOT/usr/lib/perl5/
cp -aRf AUTHORS COPYING README $RPM_BUILD_ROOT%{prefix}/pandora_server/
cp -aRf util/pandora_server $RPM_BUILD_ROOT/etc/init.d/
cp -aRf util/tentacle_serverd $RPM_BUILD_ROOT/etc/init.d/
cp -aRf man/man1/pandora_server.1.gz $RPM_BUILD_ROOT/usr/share/man/man1/
cp -aRf man/man1/tentacle_server.1.gz $RPM_BUILD_ROOT/usr/share/man/man1/
rm -Rf $RPM_BUILD_ROOT%{prefix}/pandora_server/util/PandoraFMS
rm -Rf $RPM_BUILD_ROOT%{prefix}/pandora_server/util/recon_scripts/PandoraFMS
%clean
rm -fr $RPM_BUILD_ROOT
%pre
if [ "`id pandora | grep uid | wc -l`" = 0 ]
then
/usr/sbin/useradd -d %{prefix}/pandora -s /bin/false -M -g 0 pandora
fi
exit 0
%post
chkconfig pandora_server on
chkconfig tentacle_serverd on
echo "/usr/share/pandora_server/util/pandora_db.pl /etc/pandora/pandora_server.conf" > /etc/cron.hourly/pandora_db
chmod 750 /etc/cron.hourly/pandora_db
cp -aRf /usr/share/pandora_server/util/pandora_server_logrotate /etc/logrotate.d/pandora_server
if [ ! -d /etc/pandora ] ; then
mkdir -p /etc/pandora
fi
if [ ! -e "/etc/pandora/pandora_server.conf" ]
then
echo "Creating a new version of Pandora FMS Server config file at /etc/pandora/pandora_server.conf"
cat /etc/pandora/pandora_server.conf.new > /etc/pandora/pandora_server.conf
else
# Do a copy of current .conf, just in case.
echo "An existing version of pandora_server.conf is found."
cat /etc/pandora/pandora_server.conf > /etc/pandora/pandora_server.conf.old
fi
echo "Don't forget to start Tentacle Server daemon if you want to receive"
echo "data using tentacle"
exit 0
%preun
# Upgrading
if [ "$1" = "1" ]; then
exit 0
fi
/etc/init.d/pandora_server stop &>/dev/null
/etc/init.d/tentacle_serverd stop &>/dev/null
chkconfig --del pandora_server
chkconfig --del tentacle_serverd
%postun
# Upgrading
if [ "$1" = "1" ]; then
exit 0
fi
rm -Rf /etc/init.d/tentacle_serverd
rm -Rf /etc/init.d/pandora_server
rm -Rf %{prefix}pandora_server
rm -Rf /var/log/pandora
rm -Rf /usr/lib/perl5/PandoraFMS/
rm -Rf /etc/pandora/pandora_server.conf*
rm -Rf /var/spool/pandora
rm -Rf /etc/init.d/pandora_server /etc/init.d/tentacle_serverd
rm -Rf /usr/bin/pandora_exec /usr/bin/pandora_server /usr/bin/tentacle_server
rm -Rf /etc/cron.hourly/pandora_db
rm -Rf /etc/logrotate.d/pandora_server
rm -Rf /usr/share/man/man1/pandora_server.1.gz
rm -Rf /usr/share/man/man1/tentacle_server.1.gz
%files
%defattr(750,pandora,root)
/etc/init.d/pandora_server
/etc/init.d/tentacle_serverd
%defattr(755,pandora,root)
/usr/bin/pandora_exec
/usr/bin/pandora_server
/usr/bin/tentacle_server
%defattr(755,pandora,root,755)
/usr/lib/perl5/PandoraFMS/
%{prefix}/pandora_server
/var/log/pandora
%defattr(-,pandora,www,2770)
/var/spool/pandora
/var/spool/pandora/data_in
/var/spool/pandora/data_in/md5
/var/spool/pandora/data_in/collections
/var/spool/pandora/data_in/netflow
/var/spool/pandora/data_in/conf
/var/spool/pandora/data_in/trans
%defattr(-,pandora,root,750)
/etc/pandora
%defattr(644,pandora,root)
/usr/share/man/man1/pandora_server.1.gz
/usr/share/man/man1/tentacle_server.1.gz

View File

@ -1,529 +0,0 @@
#!/bin/sh
# Pandora FMS Server Installer (c) 2008-2013 Artica ST
# 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
# v5.0 Build 130207
# This code is licensed under GPL 2.0 license.
# **********************************************************************
PI_VERSION="7.0NG"
<<<<<<< HEAD
PI_BUILD="170406"
=======
PI_BUILD="170418"
>>>>>>> develop
MODE=$1
if [ $# -gt 1 ]; then
shift
fi
# Defaults
PREFIX=/usr
PANDORA_SPOOL=/var/spool/pandora
PANDORA_HOME=$PREFIX/share/pandora_server
PANDORA_CFG_DIR=/etc/pandora
PANDORA_LOG=/var/log/pandora
PANDORA_SERVER=/etc/init.d/pandora_server
TENTACLE_SERVER=/etc/init.d/tentacle_serverd
PANDORA_CFG_FILE=$PANDORA_CFG_DIR/pandora_server.conf
PANDORA_CFG_FILE_DIST=conf/pandora_server.conf.new
PANDORA_INIT_SCRIPT=util/pandora_server
TENTACLE_INIT_SCRIPT=util/tentacle_serverd
PERL=perl
MANDIR=$PREFIX/share/man/man1
INITDIR=/etc/init.d
WITHOUT_TENTACLE=0
#
# set_global_vars
# Check platform and set DISTRO, OS_VERSION and LINUX.
# Also, define some platform sepcific variables (e.g. PANDORA_RC_VAR for (Free|Net)BSD)
# and override some of defaults defined above if needed.
#
set_global_vars () {
# Default
LINUX=NO
OS_VERSION=`uname -r`
DISTRO=`uname -s`
# set correct value for LINUX_DISTRO
case $DISTRO in
Linux)
# Default for Linux
LINUX=YES
DISTRO="GENERIC"
# Get Linux Distro type and version
# We assume we are on Linux unless told otherwise
if [ -f "/etc/SuSE-release" ]
then
OS_VERSION=`cat /etc/SuSE-release | grep VERSION | cut -f 3 -d " "`
DISTRO=SUSE
elif [ -f "/etc/lsb-release" ] && [ ! -f "/etc/redhat-release" ]
then
OS_VERSION=`cat /etc/lsb-release | grep DISTRIB_RELEASE | cut -f 2 -d "="`
DISTRO=UBUNTU
OS_VERSION="UBUNTU $OS_VERSION"
elif [ -f "/etc/debian_version" ]
then
OS_VERSION=`cat /etc/debian_version`
OS_VERSION="DEBIAN $OS_VERSION"
DISTRO=DEBIAN
elif [ -f "/etc/fedora-release" ]
then
OS_VERSION=`cat /etc/fedora-release | cut -f 4 -d " "`
OS_VERSION="FEDORA $OS_VERSION"
DISTRO=FEDORA
fi
;;
Darwin|AIX)
# For future reference, Darwin doesn't have /etc/init.d but uses LaunchDaemons.
# AIX doesn't have /etc/init.d
;;
SunOS)
# Some Solaris and other Unices don't have /etc/init.d, some have /usr/spool instead of /var/spool
DISTRO="Solaris"
;;
FreeBSD)
PREFIX=/usr/local
PANDORA_HOME=$PREFIX/share/pandora_server
PANDORA_CFG_DIR=$PREFIX/etc/pandora
PANDORA_SERVER=$PREFIX/etc/rc.d/pandora_server
TENTACLE_SERVER=$PREFIX/etc/rc.d/tentacle_server
PANDORA_CFG_FILE=$PANDORA_CFG_DIR/pandora_server.conf
PANDORA_CFG_FILE_DIST=$DISTRO/pandora_server.conf.new
PANDORA_INIT_SCRIPT=$DISTRO/pandora_server
TENTACLE_INIT_SCRIPT=$DISTRO/tentacle_server
MANDIR=$PREFIX/man/man1
INITDIR=$PREFIX/etc/rc.d
PERL=/usr/local/bin/perl
PANDORA_RC_VAR="pandora_server_enable"
TENTACLE_RC_VAR="tentacle_server_enable"
;;
NetBSD)
PREFIX=/usr/local
PANDORA_HOME=$PREFIX/share/pandora_server
PANDORA_CFG_DIR=$PREFIX/etc/pandora
PANDORA_SERVER=/etc/rc.d/pandora_server
TENTACLE_SERVER=/etc/rc.d/tentacle_server
PANDORA_CFG_FILE=$PANDORA_CFG_DIR/pandora_server.conf
PANDORA_CFG_FILE_DIST=$DISTRO/pandora_server.conf.new
PANDORA_INIT_SCRIPT=$DISTRO/pandora_server
TENTACLE_INIT_SCRIPT=$DISTRO/tentacle_server
PERL=/usr/pkg/bin/perl
INITDIR=/etc/rc.d
PANDORA_RC_VAR="pandora_server"
TENTACLE_RC_VAR="tentacle_server"
;;
esac
}
#
# install_startup_script [options...] SRC
# copy SRC into the $INITDIR and do additional required operation according to $DISTRO
# if $INITDIR is not set or empty, do nothing.
# If $DESTDIR is set, skip enabling service
# OPTIONS:
# -s SPRIO specify startup priority for service
#
install_startup_script () {
[ "$INITDIR" ] || return 1
if [ "$1" = "-s" ]
then
SPRIO=$2
shift;shift
fi
SRC=$1
SCRIPT_NAME=`basename $SRC`
echo "Copying the daemon script into $INITDIR"
[ -d $DESTDIR$INITDIR ] || mkdir -p $DESTDIR$INITDIR
cp $SRC $DESTDIR$INITDIR
[ "$DESTDIR" ] && return
case $DISTRO in
UBUNTU|DEBIAN)
echo "Linking startup script to /etc/rc2.d"
update-rc.d $SCRIPT_NAME defaults
;;
SUSE)
echo "Creating startup daemons"
insserv $SCRIPT_NAME
;;
FeeBSD|NetBSD)
chmod 555 $DESTDIR$INITDIR/$SCRIPT_NAME
;;
*)
if [ "$LINUX" = YES ]
then
# Pandora FMS Server install (Other Distros)
INITLV=`grep '[0-9]:initdefault' /etc/inittab | cut -f 2 -d ':'`
: ${INITLV:=2}
echo "Linking startup script to /etc/rc.d/rc$INITLV.d/S$SPRIO$SCRIPT_NAME"
ln -s $INITDIR/$SCRIPT_NAME /etc/rc.d/rc$INITLV.d/S$SPRIO$SCRIPT_NAME
fi
;;
esac
}
install () {
set_global_vars
FORCE=0
BINARIES=0
# parse options
while :
do
case $1 in
--force) FORCE=1;;
--from-binary) BINARIES=1;;
--no-tentacle) WITHOUT_TENTACLE=1;;
--destdir) DESTDIR=$2;shift;;
*) break;;
esac
shift
done
if [ "$LINUX" = YES ]
then
echo "$DISTRO distribution detected"
else
echo "$DISTRO detected"
fi
if [ ! $BINARIES -eq 1 ]
# Do not compile files if binary is distributed
then
$PERL Makefile.PL INSTALLMAN1DIR=none WITHOUT_TENTACLE=$WITHOUT_TENTACLE > output 2>&1
#&& sleep 2 && cat output | grep "found" | wc -l
DEPENDENCIAS=`cat output | grep "found" | wc -l`
if [ $DEPENDENCIAS -gt 0 ] && [ $FORCE -eq 0 ]
then
echo "You are missing the following dependencies"
echo " "
cat output | awk -F ": prerequisite" '{print $2}' | awk -F " " '{print $1}'
echo "The complete installation guide is at: http://openideas.info/wiki/index.php?title=Pandora"
echo " "
echo "Debian-based distribution do:"
echo " # apt-get install snmp snmpd libjson-perllibio-socket-inet6-perl libsocket6-perl libxml-simple-perl libxml-twig-perl libnetaddr-ip-perl libdbi-perl libnetaddr-ip-perl libhtml-parser-perl wmi-client xprobe2 snmp-mibs-downloader"
echo " "
echo "For CentOS / RHEL do: "
echo " "
echo " # yum install perl-XML-Simple* perl-XML-Twig perl-JSON perl-IO-Socket* perl-Socket6 perl-Time-modules* perl-NetAddr-IP* perl-DateTime* perl-ExtUtils perl-DBI nmap "
echo " "
echo "For OpenSUSE / SLES do : "
echo " "
echo " # zypper install nmap perl-DBD-mysql perl-DBI perl-HTML-Parser perl-JSON
perl-HTML-Encoding perl-HTML-Tree perl-NetAddr-IP perl-IO-Socket-INET6 perl-Socket6
perl-TimeDate perl-XML-Simple perl-XML-Twig perl-libwww-perl mysql-client"
echo " "
echo " You also will need to install (optionally) xprobe2 and wmiclient from rpm (download from our website)"
echo " "
echo "For FreeBSD do : "
echo " "
echo " Install perl5.8 or later 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-NetAddr-IP p5-XML-Simple p5-XML-Twig p5-HTML-Parser p5-DBD-mysql p5-Socket6 p5-IO-Socket-INET6 p5-JSON"
echo " Optional: nmap xprobe"
echo " "
echo "To get it from source through CPAN do"
echo " "
echo " $ cpan Time::Local DBI Socket6 XML::Simple XML::Twig IO::Socket Time::HiRes NetAddr::IP HTML::Entities IO::Socket::INET6 JSON"
echo " "
rm output
exit 1
fi
rm output
echo "Installing binaries and libraries"
make
make DESTDIR=$DESTDIR install
echo "Checking binaries at /usr/local/bin -> /usr/bin"
if [ ! -f "$DESTDIR/usr/bin/pandora_server" ]
then
if [ ! -f "$DESTDIR/usr/local/bin/pandora_server" ]
then
echo "ERROR compiling Pandora FMS Server from sources. Aborting"
exit 1
fi
if [ "$DISTRO" != "FreeBSD" ] && [ "$DISTRO" != "NetBSD" ]
then
[ -d $DESTDIR$PREFIX/bin ] || mkdir -p $DESTDIR$PREFIX/bin
ln -s /usr/local/bin/pandora_server $DESTDIR$PREFIX/bin
ln -s /usr/local/bin/pandora_exec $DESTDIR$PREFIX/bin
ln -s /usr/local/bin/tentacle_server $DESTDIR$PREFIX/bin
fi
fi
fi
echo "Creating common Pandora FMS directories"
id pandora 2> /dev/null
if [ $? -eq 0 ]; then
echo " "
echo "User pandora does exist, make sure the SSH directories are correct"
elif [ "$DESTDIR" ]
then
# chown can fail with fakeroot installation
echo "User 'pandora' does not exist. All chown operations may fail."
echo "You should manualy set proper ownership to $DESTDIR$PANDORA_SPOOL if needed."
echo
else
echo "Are you sure we can create a standard 'pandora' user locally? [y/N]"
read AREYOUSURE
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 start again the installation"
echo "Aborting..."
exit 1
fi
fi
mkdir -p $DESTDIR$PANDORA_SPOOL/data_in 2> /dev/null
chmod 2770 $DESTDIR$PANDORA_SPOOL/data_in
mkdir $DESTDIR$PANDORA_SPOOL/data_in/conf 2> /dev/null
chmod 2770 $DESTDIR$PANDORA_SPOOL/data_in/conf
mkdir $DESTDIR$PANDORA_SPOOL/data_in/md5 2> /dev/null
chmod 2770 $DESTDIR$PANDORA_SPOOL/data_in/md5
mkdir $DESTDIR$PANDORA_SPOOL/data_in/collections 2> /dev/null
chmod 2770 $DESTDIR$PANDORA_SPOOL/data_in/collections
mkdir $DESTDIR$PANDORA_SPOOL/data_in/netflow 2> /dev/null
chmod 2770 $DESTDIR$PANDORA_SPOOL/data_in/netflow
mkdir $DESTDIR$PANDORA_SPOOL/data_in/trans 2> /dev/null
chmod 2770 $DESTDIR$PANDORA_SPOOL/data_in/trans
mkdir -p $DESTDIR$PANDORA_LOG 2> /dev/null
chown -R pandora $DESTDIR$PANDORA_LOG 2> /dev/null
chmod 2770 $DESTDIR$PANDORA_LOG 2> /dev/null
echo "Giving proper permission to /var/spool/pandora"
for group in "www-data" wwwrun www apache
do
IDGROUP=`id -g "$group" 2> /dev/null`
if [ $? -eq 0 ]
then
GROUPNAME=`grep ":$IDGROUP:" /etc/group | awk -F":" '{print $1}'`
break
fi
done
if [ -z "$GROUPNAME" ]
then
echo "No web server user found, some functionality might not perform correctly"
GROUPNAME=0
fi
# when fakeroot installation, this can fail
chown -R pandora:$GROUPNAME $DESTDIR$PANDORA_SPOOL 2>/dev/null
echo "Creating setup directory in $PANDORA_CFG_DIR"
mkdir -p $DESTDIR$PANDORA_CFG_DIR 2> /dev/null
if [ -f "$DESTDIR$PANDORA_CFG_FILE" ]
then
echo cp $PANDORA_CFG_FILE_DIST $DESTDIR$PANDORA_CFG_DIR
cp $PANDORA_CFG_FILE_DIST $DESTDIR$PANDORA_CFG_DIR
else
echo cp $PANDORA_CFG_FILE_DIST $DESTDIR$PANDORA_CFG_FILE
cp $PANDORA_CFG_FILE_DIST $DESTDIR$PANDORA_CFG_FILE
chmod 770 $DESTDIR$PANDORA_CFG_FILE
fi
echo "Installing Pandora Server manual"
[ -d $DESTDIR$MANDIR ] || mkdir -p $DESTDIR$MANDIR
cp man/man1/pandora_server.1.gz $DESTDIR$MANDIR
install_startup_script -s 90 $PANDORA_INIT_SCRIPT
if [ -d /etc/logrotate.d ]
then
[ -d $DESTDIR/etc/logrotate.d ] || mkdir -p $DESTDIR/etc/logrotate.d
echo "Creating logrotate.d entry for Pandora FMS log management"
cp util/pandora_server_logrotate $DESTDIR/etc/logrotate.d/pandora_server
else
echo "Please add a log rotation schedule manually to your log rotation daemon (if any)"
fi
if [ $WITHOUT_TENTACLE -eq 0 ]
then
# tentacle_server is already installed by "make install"
install_startup_script -s 80 $TENTACLE_INIT_SCRIPT
echo "Installing Tentacle Server manual"
cp man/man1/tentacle_server.1.gz $DESTDIR$MANDIR
fi
echo "Creating Pandora FMS distribution directory in $PANDORA_HOME"
mkdir -p $DESTDIR$PANDORA_HOME 2> /dev/null
cp -R util $DESTDIR$PANDORA_HOME
find $DESTDIR$PANDORA_HOME -type l -delete
# install cron job
if [ -d /etc/cron.hourly ]
then
[ ! -d $DESTDIR/etc/cron.hourly ] && mkdir -p $DESTDIR/etc/cron.hourly
echo "Creating the Cron script to run Pandora DB tool each hour"
echo "#!/bin/bash" > $DESTDIR/etc/cron.hourly/pandora_db
echo "perl $PANDORA_HOME/util/pandora_db.pl /etc/pandora/pandora_server.conf" >> $DESTDIR/etc/cron.hourly/pandora_db
chmod +x $DESTDIR/etc/cron.hourly/pandora_db
elif [ "$DISTRO" = "FreeBSD" ] || [ "$DISTRO" = "NetBSD" ]
then
if [ "$DESTDIR" ]
then
echo "Skip adding cron entry for pandora_db.pl when performing fakeroot installation."
else
grep pandora_db.pl /etc/crontab > /dev/null 2>&1
if [ $? -ne 0 ]
then
echo "# Pandora FMS" >> /etc/crontab
echo "2 * * * * root perl $PANDORA_HOME/util/pandora_db.pl $PANDORA_CFG_FILE" >> /etc/crontab
else
echo "The crontab for pandora_db.pl is already configured."
fi
fi
else
echo "You're probably not using cron for automatic scheduling. You should schedule the following command to run frequently (hourly) on your master server:"
echo " perl $PANDORA_HOME/util/pandora_db.pl $PANDORA_CFG_FILE"
fi
echo
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!!"
if [ "$DISTRO" = "FreeBSD" ] || [ "$DISTRO" = "NetBSD" ]
then
echo " "
echo "Define '$PANDORA_RC_VAR=\"YES\"' in /etc/rc.conf to enable pandora server daemon."
[ "$WITHOUT_TENTACLE" = 0 ] && \
echo "Define '$TENTACLE_RC_VAR=\"YES\"' in /etc/rc.conf to enable tentacle server daemon."
fi
}
uninstall () {
set_global_vars
if [ "$LINUX" != "YES" ] && [ "$DISTRO" != "FreeBSD" ] && [ "$DISTRO" != "NetBSD" ]
then
echo "This is not a Linux-based distro. Uninstaller is currently not working for your OS"
exit 1
fi
echo "Removing PERL libs and man files"
PERL_SITELIB=/usr/lib/perl5
if [ "$DISTRO" != "FreeBSD" ] || [ "$DISTRO" != "NetBSD" ]
then
PERL_SITELIB=$(eval $($PERL -V:sitelib);echo $sitelib);
fi
PERL_SITEMAN3DIR=`eval \`$PERL -V:siteman3dir\`;echo $siteman3dir`;
[ -d $DESTDIR/$PERL_SITELIB/PandoraFMS ] && rm -rf $DESTDIR/$PERL_SITELIB/PandoraFMS
rm -f $DESTDIR/$PERL_SITEMAN3DIR/PandoraFMS::* 2>/dev/null
echo "Removing Pandora Servers"
if [ -d $DESTDIR$PANDORA_SPOOL/data_out ]; then
rm -Rf $DESTDIR$PANDORA_SPOOL/data_in
else
rm -Rf $DESTDIR$PANDORA_SPOOL
fi
echo "If the user Pandora is not being used for any other operations, please delete using the following commands:"
if [ "$DISTRO" != "FreeBSD" ] || [ "$DISTRO" != "NetBSD" ]
then
echo " rmuser pandora"
else
echo " userdel pandora"
echo " rm -Rf /home/pandora/"
fi
## Just to clarify here. Some people (like me) are using the pandora user
## for other purposes and/or using an LDAP-based user management
## I would hate to have a script clear out this users' information without any notification
rm -Rf $DESTDIR$PANDORA_LOG 2> /dev/null
rm -f $DESTDIR$PANDORA_CFG_FILE 2> /dev/null
rm -f "$DESTDIR$PANDORA_CFG_FILE.new" 2> /dev/null
rm -f $DESTDIR$PANDORA_SERVER 2> /dev/null
rm -f $DESTDIR$PREFIX/bin/pandora_server 2> /dev/null
rm -f $DESTDIR$PREFIX/bin/pandora_exec 2> /dev/null
rm -f $DESTDIR$PREFIX/bin/tentacle_server 2> /dev/null
rm -Rf $DESTDIR$PANDORA_HOME
rm -f $DESTDIR/etc/cron.hourly/pandora_db
rm -f $DESTDIR/etc/logrotate.d/pandora_server
if [ "$DESTDIR" ]
then
# do nothing with "fakeroot" uninstallation
:
elif [ "$DISTRO" = "UBUNTU" ] || [ "$DISTRO" = "DEBIAN" ]
then
update-rc.d -f pandora_server remove
update-rc.d -f tentacle_serverd remove
elif [ "$DISTRO" != "FreeBSD" ] || [ "$DISTRO" != "NetBSD" ]
then
TMP_CRONTAB=/tmp/crontab.tmp
egrep -v "Pandora FMS|pandora_db.pl" /etc/crontab > $TMP_CRONTAB
cp $TMP_CRONTAB /etc/crontab
rm $TMP_CRONTAB
fi
rm -f $DESTDIR/etc/rc2.d/S90pandora_server 2> /dev/null
rm -f $DESTDIR/etc/rc.d/rc3.d/S90pandora_server 2> /dev/null
rm -f $DESTDIR/etc/rc2.d/S80tentacle_serverd 2> /dev/null
rm -f $DESTDIR/etc/rc.d/rc3.d/S80tentacle_serverd 2> /dev/null
rm -f $DESTDIR$MANDIR/pandora_server.1.gz 2>/dev/null
rm -f $DESTDIR$MANDIR/tentacle_server.1.gz 2>/dev/null
echo "Done"
}
help () {
echo " --install To install Pandora FMS Servers on this system (You have to be root)"
echo " --uninstall To uninstall and remove Pandora FMS Servers on this System"
echo " "
echo " Additional second parameter (after --install) "
echo " "
echo " --force Ignore dependency problems and do the install"
echo " --no-tentacle Skip tentacle server installation (by default tentacle server installed)"
echo " --destdir DIR Specify root directory for \"fakeroot\" installation"
echo " --from-binary No compile Pandora Server and not execute Makefiles"
echo " "
}
# Script banner at start
echo " "
echo "Pandora FMS Server Installer $PI_VERSION $PI_BUILD (c) 2008-2016 Artica ST"
echo "This program is licensed under GPL2 Terms. http://pandorafms.com"
echo " "
case "$MODE" in
'--install')
install "$@"
exit 0
;;
'--uninstall')
uninstall "$@"
exit 0
;;
*)
help
esac

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff