From 449318e49fde0f5f37a647d2ceb1fa404d274d89 Mon Sep 17 00:00:00 2001 From: rafael Date: Mon, 6 May 2024 14:00:39 +0200 Subject: [PATCH] 13693 open scripts point to github only --- .../deploy-scripts/deploy_ext_database_el8.sh | 374 ------------------ .../deploy_ext_database_ubuntu_2204.sh | 313 --------------- ...t_deploy.sh => pandora_agent_deploy_gh.sh} | 4 +- ....sh => pandora_deploy_community_el8_gh.sh} | 87 +--- ....sh => pandora_deploy_community_el9_gh.sh} | 39 +- ...nity.sh => pandora_deploy_community_gh.sh} | 63 +-- ...andora_deploy_community_ubuntu_2204_gh.sh} | 85 +--- 7 files changed, 35 insertions(+), 930 deletions(-) delete mode 100644 extras/deploy-scripts/deploy_ext_database_el8.sh delete mode 100644 extras/deploy-scripts/deploy_ext_database_ubuntu_2204.sh rename extras/deploy-scripts/{pandora_agent_deploy.sh => pandora_agent_deploy_gh.sh} (97%) rename extras/deploy-scripts/{pandora_deploy_community_el8.sh => pandora_deploy_community_el8_gh.sh} (84%) rename extras/deploy-scripts/{pandora_deploy_community_el9.sh => pandora_deploy_community_el9_gh.sh} (90%) rename extras/deploy-scripts/{pandora_deploy_community.sh => pandora_deploy_community_gh.sh} (84%) rename extras/deploy-scripts/{pandora_deploy_community_ubuntu_2204.sh => pandora_deploy_community_ubuntu_2204_gh.sh} (84%) diff --git a/extras/deploy-scripts/deploy_ext_database_el8.sh b/extras/deploy-scripts/deploy_ext_database_el8.sh deleted file mode 100644 index 4417265599..0000000000 --- a/extras/deploy-scripts/deploy_ext_database_el8.sh +++ /dev/null @@ -1,374 +0,0 @@ -#!/bin/bash -####################################################### -# PandoraFMS Community online installation script -####################################################### -## Tested versions ## -# Centos 8.4, 8.5 -# Rocky 8.4, 8.5, 8.6, 8.7 -# Almalinuz 8.4, 8.5 -# RedHat 8.5 - -#Constants -S_VERSION='202302201' -LOGFILE="/tmp/deploy-ext-db-$(date +%F).log" - - -# define default variables -[ "$TZ" ] || TZ="Europe/Madrid" -[ "$MYVER" ] || MYVER=80 -[ "$DBHOST" ] || DBHOST=127.0.0.1 -[ "$DBNAME" ] || DBNAME=pandora -[ "$DBUSER" ] || DBUSER=pandora -[ "$DBPASS" ] || DBPASS='Pandor4!' -[ "$DBPORT" ] || DBPORT=3306 -[ "$DBROOTUSER" ] || DBROOTUSER=root -[ "$DBROOTPASS" ] || DBROOTPASS='Pandor4!' -[ "$SKIP_DATABASE_INSTALL" ] || SKIP_DATABASE_INSTALL=0 -[ "$SKIP_KERNEL_OPTIMIZATIONS" ] || SKIP_KERNEL_OPTIMIZATIONS=0 -[ "$POOL_SIZE" ] || POOL_SIZE=$(grep -i total /proc/meminfo | head -1 | awk '{printf "%.2f \n", $(NF-1)*0.4/1024}' | sed "s/\\..*$/M/g") - - -# Ansi color code variables -red="\e[0;91m" -green="\e[0;92m" -cyan="\e[0;36m" -reset="\e[0m" - -# Functions -execute_cmd () { - local cmd="$1" - local msg="$2" - - echo -e "${cyan}$msg...${reset}" - $cmd &>> "$LOGFILE" - if [ $? -ne 0 ]; then - echo -e "${red}Fail${reset}" - [ "$3" ] && echo "$3" - echo "Error installing Pandora FMS for detailed error please check log: $LOGFILE" - rm -rf "$HOME"/pandora_deploy_tmp &>> "$LOGFILE" - exit 1 - else - echo -e "\e[1A\e ${cyan}$msg...${reset} ${green}OK${reset}" - return 0 - fi -} - -check_cmd_status () { - if [ $? -ne 0 ]; then - echo -e "${red}Fail${reset}" - [ "$1" ] && echo "$1" - echo "Error installing Pandora FMS for detailed error please check log: $LOGFILE" - rm -rf "$HOME"/pandora_deploy_tmp/*.rpm* &>> "$LOGFILE" - exit 1 - else - echo -e "${green}OK${reset}" - return 0 - fi -} - -check_root_permissions () { - echo -en "${cyan}Checking root account... ${reset}" - if [ "$(whoami)" != "root" ]; then - echo -e "${red}Fail${reset}" - echo "Please use a root account or sudo for installing Pandora FMS" - echo "Error installing Pandora FMS for detailed error please check log: $LOGFILE" - exit 1 - - else - echo -e "${green}OK${reset}" - fi -} - -# Function to check if a password meets the MySQL secure password requirements -is_mysql_secure_password() { - local password=$1 - - # Check password length (at least 8 characters) - if [[ ${#password} -lt 8 ]]; then - echo "Password length should be at least 8 characters." - return 1 - fi - - # Check if password contains at least one uppercase letter - if [[ $password == ${password,,} ]]; then - echo "Password should contain at least one uppercase letter." - return 1 - fi - - # Check if password contains at least one lowercase letter - if [[ $password == ${password^^} ]]; then - echo "Password should contain at least one lowercase letter." - return 1 - fi - - # Check if password contains at least one digit - if ! [[ $password =~ [0-9] ]]; then - echo "Password should contain at least one digit." - return 1 - fi - - # Check if password contains at least one special character - if ! [[ $password =~ [[:punct:]] ]]; then - echo "Password should contain at least one special character." - return 1 - fi - - # Check if password is not a common pattern (e.g., "password", "123456") - local common_patterns=("password" "123456" "qwerty") - for pattern in "${common_patterns[@]}"; do - if [[ $password == *"$pattern"* ]]; then - echo "Password should not contain common patterns." - return 1 - fi - done - - # If all checks pass, the password is MySQL secure compliant - return 0 -} - -## Main -echo "Starting PandoraFMS External DB deployment EL8 ver. $S_VERSION" - -if ! grep --version &>> $LOGFILE ; then echo 'Error grep is not detected on the system, grep tool is needed for installation.'; exit -1 ;fi -if ! sed --version &>> $LOGFILE ; then echo 'Error grep is not detected on the system, grep tool is needed for installation.'; exit -1 ;fi - - -# Centos Version -if [ ! "$(grep -Ei 'centos|rocky|Almalinux|Red Hat Enterprise' /etc/redhat-release)" ]; then - printf "\n ${red}Error this is not a Centos/Rocky/Almalinux Base system, this installer is compatible with RHEL/Almalinux/Centos/Rockylinux systems only${reset}\n" - exit 1 -fi - - -echo -en "${cyan}Check Centos Version...${reset}" -[ $(sed -nr 's/VERSION_ID+=\s*"([0-9]).*"$/\1/p' /etc/os-release) -eq '8' ] -check_cmd_status 'Error OS version, RHEL/Almalinux/Centos/Rockylinux 8+ is expected' - -#Detect OS -os_name=$(grep ^PRETTY_NAME= /etc/os-release | cut -d '=' -f2 | tr -d '"') -execute_cmd "echo $os_name" "OS detected: ${os_name}" - -# initialice logfile -execute_cmd "echo 'Starting community deployment' > $LOGFILE" "All installer activity is logged on $LOGFILE" -echo "Community installer version: $S_VERSION" >> "$LOGFILE" - -# Pre checks -# Root permisions -check_root_permissions - -# Systemd -execute_cmd "systemctl status" "Checking SystemD" 'This is not a SystemD enable system, if tryng to use in a docker env please check: https://github.com/pandorafms/pandorafms/tree/develop/extras/docker/centos8' - -# Check memomry greather or equal to 2G -execute_cmd "[ $(grep MemTotal /proc/meminfo | awk '{print $2}') -ge 1700000 ]" 'Checking memory (required: 2 GB)' - -# Check disk size at least 10 Gb free space -execute_cmd "[ $(df -BM / | tail -1 | awk '{print $4}' | tr -d M) -gt 10000 ]" 'Checking Disk (required: 10 GB free min)' - -# Setting timezone -rm -rf /etc/localtime &>> "$LOGFILE" -execute_cmd "timedatectl set-timezone $TZ" "Setting Timezone $TZ" - -# Execute tools check -execute_cmd "awk --version" 'Checking needed tools: awk' -execute_cmd "grep --version" 'Checking needed tools: grep' -execute_cmd "sed --version" 'Checking needed tools: sed' -execute_cmd "dnf --version" 'Checking needed tools: dnf' - -#Check mysql pass -execute_cmd "is_mysql_secure_password $DBROOTPASS" "Checking DBROOTPASS password match policy" 'This password do not match minimum MySQL policy requirements, more info in: https://dev.mysql.com/doc/refman/8.0/en/validate-password.html' -execute_cmd "is_mysql_secure_password $DBPASS" "Checking DBPASS password match policy" 'This password do not match minimum MySQL policy requirements, more info in: https://dev.mysql.com/doc/refman/8.0/en/validate-password.html' - -# Creating working directory -rm -rf "$HOME"/pandora_deploy_tmp/*.rpm* &>> "$LOGFILE" -mkdir "$HOME"/pandora_deploy_tmp &>> "$LOGFILE" -execute_cmd "cd $HOME/pandora_deploy_tmp" "Moving to workspace: $HOME/pandora_deploy_tmp" - -## Extra steps on redhat envs -if [ "$(grep -Ei 'Red Hat Enterprise' /etc/redhat-release)" ]; then - ## In case REDHAT - # Check susbscription manager status: - echo -en "${cyan}Checking Red Hat Enterprise subscription... ${reset}" - subscription-manager list &>> "$LOGFILE" - subscription-manager status &>> "$LOGFILE" - check_cmd_status 'Error checking subscription status, make sure your server is activated and suscribed to Red Hat Enterprise repositories' - - # Ckeck repolist - dnf repolist &>> "$LOGFILE" - echo -en "${cyan}Checking Red Hat Enterprise repolist... ${reset}" - dnf repolist | grep 'rhel-8-for-x86_64-baseos-rpms' &>> "$LOGFILE" - check_cmd_status 'Error checking repositories status, could try a subscription-manager attach command or contact sysadmin' - - #install extra repos - extra_repos=" \ - tar \ - dnf-utils \ - https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm \ - https://repo.percona.com/yum/percona-release-latest.noarch.rpm" - - execute_cmd "dnf install -y $extra_repos" "Installing extra repositories" - execute_cmd "subscription-manager repos --enable codeready-builder-for-rhel-8-x86_64-rpms" "Enabling subscription to codeready-builder" -else - # For alma/rocky/centos - extra_repos=" \ - tar \ - dnf-utils \ - epel-release \ - https://repo.percona.com/yum/percona-release-latest.noarch.rpm" - - execute_cmd "dnf install -y $extra_repos" "Installing extra repositories" - execute_cmd "dnf config-manager --set-enabled powertools" "Configuring Powertools" -fi - - -#Installing wget -execute_cmd "dnf install -y wget" "Installing wget" - - -# Install percona Database -execute_cmd "dnf module disable -y mysql" "Disabiling mysql module" - -if [ "$MYVER" -eq '80' ] ; then - execute_cmd "percona-release setup ps80 -y" "Enabling mysql80 module" - execute_cmd "dnf install -y percona-server-server percona-xtrabackup-80" "Installing Percona Server 80" -fi - -if [ "$MYVER" -ne '80' ] ; then - execute_cmd "dnf install -y Percona-Server-server-57 percona-xtrabackup-24" "Installing Percona Server 57" -fi - -# Disabling SELINUX and firewalld -setenforce 0 &>> "$LOGFILE" -sed -i -e "s/^SELINUX=.*/SELINUX=disabled/g" /etc/selinux/config &>> "$LOGFILE" -systemctl disable firewalld --now &>> "$LOGFILE" - -# Adding standar cnf for initial setup. -cat > /etc/my.cnf << EO_CONFIG_TMP -[mysqld] -datadir=/var/lib/mysql -socket=/var/lib/mysql/mysql.sock -symbolic-links=0 -log-error=/var/log/mysqld.log -pid-file=/var/run/mysqld/mysqld.pid -EO_CONFIG_TMP - -#Configuring Database -if [ "$SKIP_DATABASE_INSTALL" -eq '0' ] ; then - execute_cmd "systemctl start mysqld" "Starting database engine" - export MYSQL_PWD=$(grep "temporary password" /var/log/mysqld.log | rev | cut -d' ' -f1 | rev) - if [ "$MYVER" -eq '80' ] ; then - echo """ - SET PASSWORD FOR '$DBROOTUSER'@'localhost' = '$DBROOTPASS'; - """ | mysql --connect-expired-password -u$DBROOTUSER &>> "$LOGFILE" - fi - - if [ "$MYVER" -ne '80' ] ; then - echo """ - SET PASSWORD FOR '$DBROOTUSER'@'localhost' = PASSWORD('$DBROOTPASS'); - """ | mysql --connect-expired-password -u$DBROOTUSER &>> "$LOGFILE"fi - fi - - export MYSQL_PWD=$DBROOTPASS - echo -en "${cyan}Creating Pandora FMS database...${reset}" - echo "create database $DBNAME" | mysql -u$DBROOTUSER -P$DBPORT -h$DBHOST - check_cmd_status "Error creating database $DBNAME, is this an empty node? if you have a previus installation please contact with support." - - echo "CREATE USER \"$DBUSER\"@'%' IDENTIFIED BY \"$DBPASS\";" | mysql -u$DBROOTUSER -P$DBPORT -h$DBHOST - echo "ALTER USER \"$DBUSER\"@'%' IDENTIFIED WITH mysql_native_password BY \"$DBPASS\"" | mysql -u$DBROOTUSER -P$DBPORT -h$DBHOST - echo "GRANT ALL PRIVILEGES ON $DBNAME.* TO \"$DBUSER\"@'%'" | mysql -u$DBROOTUSER -P$DBPORT -h$DBHOST - -#Generating my.cnf -cat > /etc/my.cnf << EO_CONFIG_F -[mysqld] -datadir=/var/lib/mysql -socket=/var/lib/mysql/mysql.sock -user=mysql -character-set-server=utf8 -skip-character-set-client-handshake -# Disabling symbolic-links is recommended to prevent assorted security risks -symbolic-links=0 -# Mysql optimizations for Pandora FMS -# Please check the documentation in http://pandorafms.com for better results - -max_allowed_packet = 64M -innodb_buffer_pool_size = $POOL_SIZE -innodb_lock_wait_timeout = 90 -innodb_file_per_table -innodb_flush_log_at_trx_commit = 0 -innodb_flush_method = O_DIRECT -innodb_log_file_size = 64M -innodb_log_buffer_size = 16M -innodb_io_capacity = 100 -thread_cache_size = 8 -thread_stack = 256K -max_connections = 100 - -key_buffer_size=4M -read_buffer_size=128K -read_rnd_buffer_size=128K -sort_buffer_size=128K -join_buffer_size=4M - -query_cache_type = 1 -query_cache_size = 64M -query_cache_min_res_unit = 2k -query_cache_limit = 256K - -#skip-log-bin - -sql_mode="" - -[mysqld_safe] -log-error=/var/log/mysqld.log -pid-file=/var/run/mysqld/mysqld.pid - -EO_CONFIG_F - - if [ "$MYVER" -eq '80' ] ; then - sed -i -e "/query_cache.*/ s/^#*/#/g" /etc/my.cnf - sed -i -e "s/#skip-log-bin/skip-log-bin/g" /etc/my.cnf - sed -i -e "s/character-set-server=utf8/character-set-server=utf8mb4/g" /etc/my.cnf - - fi - - execute_cmd "systemctl restart mysqld" "Configuring database engine" - execute_cmd "systemctl enable mysqld --now" "Enabling Database service" -fi -export MYSQL_PWD=$DBPASS - - -# Kernel optimization - -if [ "$SKIP_KERNEL_OPTIMIZATIONS" -eq '0' ] ; then -cat >> /etc/sysctl.conf < /dev/null # remove last log before start - -# define default variables -[ "$TZ" ] || TZ="Europe/Madrid" -[ "$DBHOST" ] || DBHOST=127.0.0.1 -[ "$DBNAME" ] || DBNAME=pandora -[ "$DBUSER" ] || DBUSER=pandora -[ "$DBPASS" ] || DBPASS='Pandor4!' -[ "$DBPORT" ] || DBPORT=3306 -[ "$DBROOTPASS" ] || DBROOTPASS='Pandor4!' -[ "$SKIP_DATABASE_INSTALL" ] || SKIP_DATABASE_INSTALL=0 -[ "$SKIP_KERNEL_OPTIMIZATIONS" ] || SKIP_KERNEL_OPTIMIZATIONS=0 -[ "$POOL_SIZE" ] || POOL_SIZE=$(grep -i total /proc/meminfo | head -1 | awk '{printf "%.2f \n", $(NF-1)*0.4/1024}' | sed "s/\\..*$/M/g") - - -# Ansi color code variables -red="\e[0;91m" -green="\e[0;92m" -cyan="\e[0;36m" -reset="\e[0m" - -# Functions - -execute_cmd () { - local cmd="$1" - local msg="$2" - - echo -e "${cyan}$msg...${reset}" - $cmd &>> "$LOGFILE" - if [ $? -ne 0 ]; then - echo -e "${red}Fail${reset}" - [ "$3" ] && echo "$3" - echo "Error installing Pandora FMS for detailed error please check log: $LOGFILE" - rm -rf "$WORKDIR" &>> "$LOGFILE" - exit 1 - else - echo -e "\e[1A\e ${cyan}$msg...${reset} ${green}OK${reset}" - return 0 - fi -} - -check_cmd_status () { - if [ $? -ne 0 ]; then - echo -e "${red}Fail${reset}" - [ "$1" ] && echo "$1" - echo "Error installing Pandora FMS for detailed error please check log: $LOGFILE" - rm -rf "$WORKDIR" &>> "$LOGFILE" - exit 1 - else - echo -e "${green}OK${reset}" - return 0 - fi -} - -check_root_permissions () { - echo -en "${cyan}Checking root account... ${reset}" - if [ "$(whoami)" != "root" ]; then - echo -e "${red}Fail${reset}" - echo "Please use a root account or sudo for installing Pandora FMS" - echo "Error installing Pandora FMS for detailed error please check log: $LOGFILE" - exit 1 - - else - echo -e "${green}OK${reset}" - fi -} - -# Function to check if a password meets the MySQL secure password requirements -is_mysql_secure_password() { - local password=$1 - - # Check password length (at least 8 characters) - if [[ ${#password} -lt 8 ]]; then - echo "Password length should be at least 8 characters." - return 1 - fi - - # Check if password contains at least one uppercase letter - if [[ $password == ${password,,} ]]; then - echo "Password should contain at least one uppercase letter." - return 1 - fi - - # Check if password contains at least one lowercase letter - if [[ $password == ${password^^} ]]; then - echo "Password should contain at least one lowercase letter." - return 1 - fi - - # Check if password contains at least one digit - if ! [[ $password =~ [0-9] ]]; then - echo "Password should contain at least one digit." - return 1 - fi - - # Check if password contains at least one special character - if ! [[ $password =~ [[:punct:]] ]]; then - echo "Password should contain at least one special character." - return 1 - fi - - # Check if password is not a common pattern (e.g., "password", "123456") - local common_patterns=("password" "123456" "qwerty") - for pattern in "${common_patterns[@]}"; do - if [[ $password == *"$pattern"* ]]; then - echo "Password should not contain common patterns." - return 1 - fi - done - - # If all checks pass, the password is MySQL secure compliant - return 0 -} - -## Main -echo "Starting PandoraFMS External DB deployment Ubuntu 22.04 ver. $S_VERSION" - -if ! grep --version &>> $LOGFILE ; then echo 'Error grep is not detected on the system, grep tool is needed for installation.'; exit -1 ;fi -if ! sed --version &>> $LOGFILE ; then echo 'Error grep is not detected on the system, grep tool is needed for installation.'; exit -1 ;fi - -# Ubuntu Version -if [ ! "$(grep -Ei 'Ubuntu' /etc/lsb-release)" ]; then - printf "\n ${red}Error this is not a Ubuntu system, this installer is compatible with Ubuntu systems only${reset}\n" - exit 1 -fi - - -echo -en "${cyan}Check Ubuntu Version...${reset}" -[ $(sed -nr 's/VERSION_ID+=\s*"([0-9][0-9].[0-9][0-9])"$/\1/p' /etc/os-release) == "22.04" ] -check_cmd_status 'Error OS version, Ubuntu 22.04 is expected' - -#Detect OS -os_name=$(grep ^PRETTY_NAME= /etc/os-release | cut -d '=' -f2 | tr -d '"') -execute_cmd "echo $os_name" "OS detected: ${os_name}" - -# initialice logfile -execute_cmd "echo 'Starting community deployment' > $LOGFILE" "All installer activity is logged on $LOGFILE" -echo "Community installer version: $S_VERSION" >> "$LOGFILE" - -# Pre checks -# Root permisions -check_root_permissions - -#Install awk, sed, grep if not present -execute_cmd "apt install -y gawk sed grep" 'Installing needed tools' - -# Systemd -execute_cmd "systemctl --version" "Checking SystemD" 'This is not a SystemD enable system, if tryng to use in a docker env please check: https://github.com/pandorafms/pandorafms/tree/develop/extras/docker/centos8' - -# Check memomry greather or equal to 2G -execute_cmd "[ $(grep MemTotal /proc/meminfo | awk '{print $2}') -ge 1700000 ]" 'Checking memory (required: 2 GB)' - -# Check disk size at least 10 Gb free space -execute_cmd "[ $(df -BM / | tail -1 | awk '{print $4}' | tr -d M) -gt 10000 ]" 'Checking Disk (required: 10 GB free min)' - -# Setting timezone -rm -rf /etc/localtime &>> "$LOGFILE" -execute_cmd "timedatectl set-timezone $TZ" "Setting Timezone $TZ" - -# Execute tools check -execute_cmd "awk --version" 'Checking needed tools: awk' -execute_cmd "grep --version" 'Checking needed tools: grep' -execute_cmd "sed --version" 'Checking needed tools: sed' -execute_cmd "apt --version" 'Checking needed tools: apt' - -#Check mysql pass -execute_cmd "is_mysql_secure_password $DBROOTPASS" "Checking DBROOTPASS password match policy" 'This password do not match minimum MySQL policy requirements, more info in: https://dev.mysql.com/doc/refman/8.0/en/validate-password.html' -execute_cmd "is_mysql_secure_password $DBPASS" "Checking DBPASS password match policy" 'This password do not match minimum MySQL policy requirements, more info in: https://dev.mysql.com/doc/refman/8.0/en/validate-password.html' - -# Creating working directory -rm -rf "$WORKDIR" &>> "$LOGFILE" -mkdir -p "$WORKDIR" &>> "$LOGFILE" -execute_cmd "cd $WORKDIR" "Moving to workdir: $WORKDIR" - -## Install utils -execute_cmd "apt update" "Updating repos" -execute_cmd "apt install -y net-tools vim curl wget software-properties-common apt-transport-https" "Installing utils" - -# Disabling apparmor and ufw -systemctl stop ufw.service &>> "$LOGFILE" -systemctl disable ufw &>> "$LOGFILE" -systemctl stop apparmor &>> "$LOGFILE" -systemctl disable apparmor &>> "$LOGFILE" - -#install mysql -execute_cmd "curl -O https://repo.percona.com/apt/percona-release_latest.generic_all.deb" "Downloading Percona repository for MySQL8" -execute_cmd "apt install -y gnupg2 lsb-release ./percona-release_latest.generic_all.deb" "Installing Percona repository for MySQL8" -execute_cmd "percona-release setup ps80" "Configuring Percona repository for MySQL8" - -echo -en "${cyan}Installing Percona Server for MySQL8...${reset}" - env DEBIAN_FRONTEND=noninteractive apt install -y percona-server-server percona-xtrabackup-80 &>> "$LOGFILE" -check_cmd_status "Error Installing MySql Server" - -#Configuring Database -if [ "$SKIP_DATABASE_INSTALL" -eq '0' ] ; then - execute_cmd "systemctl start mysql" "Starting database engine" - - echo """ - ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '$DBROOTPASS'; - """ | mysql -uroot &>> "$LOGFILE" - - export MYSQL_PWD=$DBROOTPASS - echo "INSTALL COMPONENT 'file://component_validate_password';" | mysql -uroot -P$DBPORT -h$DBHOST &>> "$LOGFILE" - echo -en "${cyan}Creating Pandora FMS database...${reset}" - echo "create database $DBNAME" | mysql -uroot -P$DBPORT -h$DBHOST - check_cmd_status "Error creating database $DBNAME, is this an empty node? if you have a previus installation please contact with support." - - echo "CREATE USER \"$DBUSER\"@'%' IDENTIFIED BY \"$DBPASS\";" | mysql -uroot -P$DBPORT -h$DBHOST - echo "ALTER USER \"$DBUSER\"@'%' IDENTIFIED WITH mysql_native_password BY \"$DBPASS\"" | mysql -uroot -P$DBPORT -h$DBHOST - echo "GRANT ALL PRIVILEGES ON $DBNAME.* TO \"$DBUSER\"@'%'" | mysql -uroot -P$DBPORT -h$DBHOST -fi -export MYSQL_PWD=$DBPASS - -#Generating my.cnf -cat > /etc/mysql/my.cnf << EOF_DB -[mysqld] -datadir=/var/lib/mysql -user=mysql -character-set-server=utf8mb4 -skip-character-set-client-handshake -# Disabling symbolic-links is recommended to prevent assorted security risks -symbolic-links=0 -# Mysql optimizations for Pandora FMS -# Please check the documentation in http://pandorafms.com for better results - -max_allowed_packet = 64M -innodb_buffer_pool_size = $POOL_SIZE -innodb_lock_wait_timeout = 90 -innodb_file_per_table -innodb_flush_log_at_trx_commit = 0 -innodb_flush_method = O_DIRECT -innodb_log_file_size = 64M -innodb_log_buffer_size = 16M -innodb_io_capacity = 300 -thread_cache_size = 8 -thread_stack = 256K -max_connections = 100 - -key_buffer_size=4M -read_buffer_size=128K -read_rnd_buffer_size=128K -sort_buffer_size=128K -join_buffer_size=4M - -skip-log-bin - -sql_mode="" - -log-error=/var/log/mysql/error.log -[mysqld_safe] -log-error=/var/log/mysqld.log -pid-file=/var/run/mysqld/mysqld.pid - -EOF_DB - -execute_cmd "systemctl restart mysql" "Configuring and restarting database engine" - -# Kernel optimization -if [ "$SKIP_KERNEL_OPTIMIZATIONS" -eq '0' ] ; then -cat >> /etc/sysctl.conf <> "$LOGFILE" -#dnf config-manager --set-disable packages-microsoft-com-prod + libnsl " + execute_cmd "dnf install -y $server_dependencies" "Installing Pandora FMS Server dependencies" # Disabling SELINUX and firewalld setenforce 0 &>> "$LOGFILE" @@ -568,23 +519,12 @@ EO_CONFIG_F fi export MYSQL_PWD=$DBPASS -#Define packages -if [ "$PANDORA_LTS" -eq '1' ] ; then - [ "$PANDORA_SERVER_PACKAGE" ] || PANDORA_SERVER_PACKAGE="https://firefly.pandorafms.com/pandorafms/latest/RHEL_CentOS/LTS/pandorafms_server-7.0NG.noarch.rpm" - [ "$PANDORA_CONSOLE_PACKAGE" ] || PANDORA_CONSOLE_PACKAGE="https://firefly.pandorafms.com/pandorafms/latest/RHEL_CentOS/LTS/pandorafms_console-7.0NG.noarch.rpm" - [ "$PANDORA_AGENT_PACKAGE" ] || PANDORA_AGENT_PACKAGE="https://firefly.pandorafms.com/pandorafms/latest/RHEL_CentOS/pandorafms_agent_linux_bin-7.0NG.x86_64.rpm" -elif [ "$PANDORA_LTS" -ne '1' ] ; then - [ "$PANDORA_SERVER_PACKAGE" ] || PANDORA_SERVER_PACKAGE="https://firefly.pandorafms.com/pandorafms/latest/RHEL_CentOS/pandorafms_server-7.0NG.x86_64.rpm" - [ "$PANDORA_CONSOLE_PACKAGE" ] || PANDORA_CONSOLE_PACKAGE="https://firefly.pandorafms.com/pandorafms/latest/RHEL_CentOS/pandorafms_console-7.0NG.x86_64.rpm" - [ "$PANDORA_AGENT_PACKAGE" ] || PANDORA_AGENT_PACKAGE="https://firefly.pandorafms.com/pandorafms/latest/RHEL_CentOS/pandorafms_agent_linux_bin-7.0NG.x86_64.rpm" -fi +# packages + +[ "$PANDORA_SERVER_PACKAGE" ] || PANDORA_SERVER_PACKAGE="https://github.com/pandorafms/pandorafms/releases/download/v772-LTS/pandorafms_server-7.0NG.772.x86_64.rpm" +[ "$PANDORA_CONSOLE_PACKAGE" ] || PANDORA_CONSOLE_PACKAGE="https://github.com/pandorafms/pandorafms/releases/download/v772-LTS/pandorafms_console-7.0NG.772.noarch.rpm" +[ "$PANDORA_AGENT_PACKAGE" ] || PANDORA_AGENT_PACKAGE="https://github.com/pandorafms/pandorafms/releases/download/v772-LTS/pandorafms_agent_linux-7.0NG.772.noarch.rpm" -# if beta is enable -if [ "$PANDORA_BETA" -eq '1' ] ; then - PANDORA_SERVER_PACKAGE="https://firefly.pandorafms.com/pandora_enterprise_nightlies/pandorafms_server-latest.x86_64.rpm" - PANDORA_CONSOLE_PACKAGE="https://firefly.pandorafms.com/pandora_enterprise_nightlies/pandorafms_console-latest.x86_64.rpm" - PANDORA_AGENT_PACKAGE="https://firefly.pandorafms.com/pandorafms/latest/RHEL_CentOS/pandorafms_agent_linux_bin-7.0NG.x86_64.rpm" -fi # Downloading Pandora Packages execute_cmd "curl -LSs --output pandorafms_server-7.0NG.noarch.rpm ${PANDORA_SERVER_PACKAGE}" "Downloading Pandora FMS Server community" @@ -594,11 +534,6 @@ execute_cmd "curl -LSs --output pandorafms_agent_linux-7.0NG.noarch.rpm ${PANDOR # Install Pandora execute_cmd "dnf install -y $HOME/pandora_deploy_tmp/pandorafms*.rpm" "Installing Pandora FMS packages" -# Copy gotty utility -execute_cmd "wget https://firefly.pandorafms.com/pandorafms/utils/gotty_linux_amd64.tar.gz" 'Dowloading gotty util' -tar xvzf gotty_linux_amd64.tar.gz &>> $LOGFILE -execute_cmd "mv gotty /usr/bin/" 'Installing gotty util' - # Enable Services execute_cmd "systemctl enable httpd --now" "Enabling HTTPD service" execute_cmd "systemctl enable php-fpm --now" "Enabling PHP-FPM service" diff --git a/extras/deploy-scripts/pandora_deploy_community_el9.sh b/extras/deploy-scripts/pandora_deploy_community_el9_gh.sh similarity index 90% rename from extras/deploy-scripts/pandora_deploy_community_el9.sh rename to extras/deploy-scripts/pandora_deploy_community_el9_gh.sh index 738833d774..641715089c 100644 --- a/extras/deploy-scripts/pandora_deploy_community_el9.sh +++ b/extras/deploy-scripts/pandora_deploy_community_el9_gh.sh @@ -30,8 +30,6 @@ LOGFILE="/tmp/pandora-deploy-community-$(date +%F).log" [ "$SKIP_DATABASE_INSTALL" ] || SKIP_DATABASE_INSTALL=0 [ "$SKIP_KERNEL_OPTIMIZATIONS" ] || SKIP_KERNEL_OPTIMIZATIONS=0 [ "$POOL_SIZE" ] || POOL_SIZE=$(grep -i total /proc/meminfo | head -1 | awk '{printf "%.2f \n", $(NF-1)*0.4/1024}' | sed "s/\\..*$/M/g") -[ "$PANDORA_LTS" ] || PANDORA_LTS=1 -[ "$PANDORA_BETA" ] || PANDORA_BETA=0 [ "$RHEL_CHECK_SUBSCRIPTION" ] || RHEL_CHECK_SUBSCRIPTION=1 #Check if possible to get os version @@ -97,8 +95,7 @@ check_pre_pandora () { } check_repo_connection () { - execute_cmd "ping -c 2 firefly.pandorafms.com" "Checking Community repo" - execute_cmd "ping -c 2 support.pandorafms.com" "Checking Enterprise repo" + execute_cmd "ping -c 2 github.com" "Checking Community repo" } check_root_permissions () { @@ -207,9 +204,7 @@ check_root_permissions [ "$SKIP_PRECHECK" == 1 ] || check_pre_pandora #advicing BETA PROGRAM -INSTALLING_VER="${green}RRR version enable using RRR PandoraFMS packages${reset}" -[ "$PANDORA_LTS" -ne '0' ] && INSTALLING_VER="${green}LTS version enable using LTS PandoraFMS packages${reset}" -[ "$PANDORA_BETA" -ne '0' ] && INSTALLING_VER="${red}BETA version enable using nightly PandoraFMS packages${reset}" +INSTALLING_VER="${green}LTS version enable ${reset}" echo -e $INSTALLING_VER # Connectivity @@ -386,10 +381,7 @@ console_dependencies=" \ mod_ssl \ libzstd \ openldap-clients \ - https://firefly.pandorafms.com/centos8/chromium-122.0.6261.128-1.el8.x86_64.rpm \ - https://firefly.pandorafms.com/centos8/chromium-common-122.0.6261.128-1.el8.x86_64.rpm \ - https://firefly.pandorafms.com/centos8/pandora_gotty-1.0-1.el8.x86_64.rpm \ - https://firefly.pandorafms.com/centos8/pandorafms_made-0.1.0-1.el8.x86_64.rpm " + chromium " execute_cmd "dnf install -y $console_dependencies" "Installing Pandora FMS Console dependencies" # Server dependencies @@ -416,9 +408,7 @@ server_dependencies=" \ bind-utils \ whois \ libnsl \ - libxcrypt-compat \ - https://firefly.pandorafms.com/pandorafms-el9/perl-Geo-IP-1.51-1.el9.x86_64.rpm \ - https://firefly.pandorafms.com/centos8/pandorawmic-1.0.0-1.x86_64.rpm" + libxcrypt-compat " execute_cmd "dnf install -y $server_dependencies" "Installing Pandora FMS Server dependencies" #ipam dependencies @@ -521,23 +511,12 @@ EO_CONFIG_F fi export MYSQL_PWD=$DBPASS -#Define packages -if [ "$PANDORA_LTS" -eq '1' ] ; then - [ "$PANDORA_SERVER_PACKAGE" ] || PANDORA_SERVER_PACKAGE="https://firefly.pandorafms.com/pandorafms/latest/RHEL_CentOS/LTS/pandorafms_server-7.0NG.noarch.rpm" - [ "$PANDORA_CONSOLE_PACKAGE" ] || PANDORA_CONSOLE_PACKAGE="https://firefly.pandorafms.com/pandorafms/latest/RHEL_CentOS/LTS/pandorafms_console-7.0NG.noarch.rpm" - [ "$PANDORA_AGENT_PACKAGE" ] || PANDORA_AGENT_PACKAGE="https://firefly.pandorafms.com/pandorafms/latest/RHEL_CentOS/pandorafms_agent_linux_bin-7.0NG.x86_64.rpm" -elif [ "$PANDORA_LTS" -ne '1' ] ; then - [ "$PANDORA_SERVER_PACKAGE" ] || PANDORA_SERVER_PACKAGE="https://firefly.pandorafms.com/pandorafms/latest/RHEL_CentOS/pandorafms_server-7.0NG.x86_64.rpm" - [ "$PANDORA_CONSOLE_PACKAGE" ] || PANDORA_CONSOLE_PACKAGE="https://firefly.pandorafms.com/pandorafms/latest/RHEL_CentOS/pandorafms_console-7.0NG.x86_64.rpm" - [ "$PANDORA_AGENT_PACKAGE" ] || PANDORA_AGENT_PACKAGE="https://firefly.pandorafms.com/pandorafms/latest/RHEL_CentOS/pandorafms_agent_linux_bin-7.0NG.x86_64.rpm" -fi +# packages + +[ "$PANDORA_SERVER_PACKAGE" ] || PANDORA_SERVER_PACKAGE="https://github.com/pandorafms/pandorafms/releases/download/v772-LTS/pandorafms_server-7.0NG.772.x86_64.rpm" +[ "$PANDORA_CONSOLE_PACKAGE" ] || PANDORA_CONSOLE_PACKAGE="https://github.com/pandorafms/pandorafms/releases/download/v772-LTS/pandorafms_console-7.0NG.772.noarch.rpm" +[ "$PANDORA_AGENT_PACKAGE" ] || PANDORA_AGENT_PACKAGE="https://github.com/pandorafms/pandorafms/releases/download/v772-LTS/pandorafms_agent_linux-7.0NG.772.noarch.rpm" -# if beta is enable -if [ "$PANDORA_BETA" -eq '1' ] ; then - PANDORA_SERVER_PACKAGE="https://firefly.pandorafms.com/pandora_enterprise_nightlies/pandorafms_server-latest.x86_64.rpm" - PANDORA_CONSOLE_PACKAGE="https://firefly.pandorafms.com/pandora_enterprise_nightlies/pandorafms_console-latest.x86_64.rpm" - PANDORA_AGENT_PACKAGE="https://firefly.pandorafms.com/pandorafms/latest/RHEL_CentOS/pandorafms_agent_linux_bin-7.0NG.x86_64.rpm" -fi # Downloading Pandora Packages execute_cmd "curl -LSs --output pandorafms_server-7.0NG.noarch.rpm ${PANDORA_SERVER_PACKAGE}" "Downloading Pandora FMS Server community" diff --git a/extras/deploy-scripts/pandora_deploy_community.sh b/extras/deploy-scripts/pandora_deploy_community_gh.sh similarity index 84% rename from extras/deploy-scripts/pandora_deploy_community.sh rename to extras/deploy-scripts/pandora_deploy_community_gh.sh index 6433324056..7006c275d5 100644 --- a/extras/deploy-scripts/pandora_deploy_community.sh +++ b/extras/deploy-scripts/pandora_deploy_community_gh.sh @@ -28,8 +28,6 @@ LOGFILE="/tmp/pandora-deploy-community-$(date +%F).log" [ "$SKIP_DATABASE_INSTALL" ] || SKIP_DATABASE_INSTALL=0 [ "$SKIP_KERNEL_OPTIMIZATIONS" ] || SKIP_KERNEL_OPTIMIZATIONS=0 [ "$POOL_SIZE" ] || POOL_SIZE=$(grep -i total /proc/meminfo | head -1 | awk '{printf "%.2f \n", $(NF-1)*0.4/1024}' | sed "s/\\..*$/M/g") -[ "$PANDORA_BETA" ] || PANDORA_BETA=0 -[ "$PANDORA_LTS" ] || PANDORA_LTS=1 #Check if possible to get os version if [ ! -e /etc/os-release ]; then @@ -92,8 +90,7 @@ check_pre_pandora () { } check_repo_connection () { - execute_cmd "ping -c 2 firefly.pandorafms.com" "Checking Community repo" - execute_cmd "ping -c 2 support.pandorafms.com" "Checking Enterprise repo" + execute_cmd "ping -c 2 github.com" "Checking Community repo" } check_root_permissions () { @@ -146,9 +143,7 @@ check_root_permissions [ "$SKIP_PRECHECK" == 1 ] || check_pre_pandora #advicing BETA PROGRAM -INSTALLING_VER="${green}RRR version enable using RRR PandoraFMS packages${reset}" -[ "$PANDORA_LTS" -ne '0' ] && INSTALLING_VER="${green}LTS version enable using LTS PandoraFMS packages${reset}" -[ "$PANDORA_BETA" -ne '0' ] && INSTALLING_VER="${red}BETA version enable using nightly PandoraFMS packages${reset}" +INSTALLING_VER="${green}LTS version enable ${reset}" echo -e $INSTALLING_VER # Connectivity @@ -285,7 +280,6 @@ console_dependencies=" \ mod_ssl \ libzstd \ openldap-clients \ - https://firefly.pandorafms.com/centos8/pandora_gotty-1.0-1.el8.x86_64.rpm \ chromium" execute_cmd "yum install -y $console_dependencies" "Installing Pandora FMS Console dependencies" @@ -311,33 +305,12 @@ server_dependencies=" \ java \ bind-utils \ whois \ - cpanminus \ - https://firefly.pandorafms.com/centos7/wmic-1.4-1.el7.x86_64.rpm \ - https://firefly.pandorafms.com/centos7/pandorawmic-1.0.0-1.x86_64.rpm" + cpanminus" execute_cmd "yum install -y $server_dependencies" "Installing Pandora FMS Server dependencies" # install cpan dependencies execute_cmd "cpanm -i Thread::Semaphore" "Installing Thread::Semaphore" - -# SDK VMware perl dependencies -vmware_dependencies=" \ - https://firefly.pandorafms.com/centos8/VMware-vSphere-Perl-SDK-6.5.0-4566394.x86_64.rpm \ - perl-JSON \ - perl-Archive-Zip \ - openssl-devel \ - perl-Crypt-CBC \ - perl-Digest-SHA \ - https://firefly.pandorafms.com/centos7/perl-Crypt-OpenSSL-AES-0.02-1.el7.x86_64.rpm" -execute_cmd "yum install -y $vmware_dependencies" "Installing SDK VMware perl dependencies" - -# Instant client Oracle -oracle_dependencies=" \ - https://download.oracle.com/otn_software/linux/instantclient/19800/oracle-instantclient19.8-basic-19.8.0.0.0-1.x86_64.rpm \ - https://download.oracle.com/otn_software/linux/instantclient/19800/oracle-instantclient19.8-sqlplus-19.8.0.0.0-1.x86_64.rpm" -execute_cmd "yum install -y $oracle_dependencies || yum reinstall -y $oracle_dependencies" "Installing Oracle Instant client" - -#ipam dependencies ipam_dependencies=" \ perl(NetAddr::IP) \ perl(Sys::Syslog) \ @@ -347,12 +320,6 @@ ipam_dependencies=" \ perl(XML::Twig)" execute_cmd "yum install -y $ipam_dependencies" "Installing IPAM Instant client" -# MSSQL dependencies el7 -execute_cmd "curl https://packages.microsoft.com/config/rhel/7/prod.repo -o /etc/yum.repos.d/mssql-release.repo" "Configuring Microsoft repositories" -execute_cmd "yum remove unixODBC-utf16 unixODBC-utf16-devel" "Removing default unixODBC packages" -execute_cmd "env ACCEPT_EULA=Y yum install -y msodbcsql17" "Installing ODBC Driver for Microsoft(R) SQL Server(R)" -MS_ID=$(head -1 /etc/odbcinst.ini | tr -d '[]') &>> "$LOGFILE" -#yum config-manager --set-disable packages-microsoft-com-prod # Disabling SELINUX and firewalld setenforce 0 @@ -458,23 +425,10 @@ fi export MYSQL_PWD=$DBPASS #Define packages -#Define packages -if [ "$PANDORA_LTS" -eq '1' ] ; then - [ "$PANDORA_SERVER_PACKAGE" ] || PANDORA_SERVER_PACKAGE="https://firefly.pandorafms.com/pandorafms/latest/RHEL_CentOS/LTS/pandorafms_server-7.0NG.noarch.rpm" - [ "$PANDORA_CONSOLE_PACKAGE" ] || PANDORA_CONSOLE_PACKAGE="https://firefly.pandorafms.com/pandorafms/latest/RHEL_CentOS/LTS/pandorafms_console-7.0NG.noarch.rpm" - [ "$PANDORA_AGENT_PACKAGE" ] || PANDORA_AGENT_PACKAGE="https://firefly.pandorafms.com/pandorafms/latest/RHEL_CentOS/LTS/pandorafms_agent_linux-7.0NG.noarch.rpm" -elif [ "$PANDORA_LTS" -ne '1' ] ; then - [ "$PANDORA_SERVER_PACKAGE" ] || PANDORA_SERVER_PACKAGE="https://firefly.pandorafms.com/pandorafms/latest/RHEL_CentOS/pandorafms_server-7.0NG.x86_64.rpm" - [ "$PANDORA_CONSOLE_PACKAGE" ] || PANDORA_CONSOLE_PACKAGE="https://firefly.pandorafms.com/pandorafms/latest/RHEL_CentOS/pandorafms_console-7.0NG.x86_64.rpm" - [ "$PANDORA_AGENT_PACKAGE" ] || PANDORA_AGENT_PACKAGE="https://firefly.pandorafms.com/pandorafms/latest/RHEL_CentOS/pandorafms_agent_linux-7.0NG.noarch.rpm" -fi +[ "$PANDORA_SERVER_PACKAGE" ] || PANDORA_SERVER_PACKAGE="https://github.com/pandorafms/pandorafms/releases/download/v772-LTS/pandorafms_server-7.0NG.772.x86_64.rpm" +[ "$PANDORA_CONSOLE_PACKAGE" ] || PANDORA_CONSOLE_PACKAGE="https://github.com/pandorafms/pandorafms/releases/download/v772-LTS/pandorafms_console-7.0NG.772.noarch.rpm" +[ "$PANDORA_AGENT_PACKAGE" ] || PANDORA_AGENT_PACKAGE="https://github.com/pandorafms/pandorafms/releases/download/v772-LTS/pandorafms_agent_linux-7.0NG.772.noarch.rpm" -# if beta is enable -if [ "$PANDORA_BETA" -eq '1' ] ; then - PANDORA_SERVER_PACKAGE="https://firefly.pandorafms.com/pandora_enterprise_nightlies/pandorafms_server-latest.x86_64.rpm" - PANDORA_CONSOLE_PACKAGE="https://firefly.pandorafms.com/pandora_enterprise_nightlies/pandorafms_console-latest.x86_64.rpm" - PANDORA_AGENT_PACKAGE="https://firefly.pandorafms.com/pandorafms/latest/RHEL_CentOS/pandorafms_agent_linux-7.0NG.noarch.rpm" -fi # Downloading Pandora Packages execute_cmd "curl -LSs --output pandorafms_server-7.0NG.noarch.rpm ${PANDORA_SERVER_PACKAGE}" "Downloading Pandora FMS Server community" @@ -484,11 +438,6 @@ execute_cmd "curl -LSs --output pandorafms_agent_linux-7.0NG.noarch.rpm ${PANDOR # Install Pandora execute_cmd "yum install -y $HOME/pandora_deploy_tmp/pandorafms*.rpm" "installing PandoraFMS packages" -# Copy gotty utility -execute_cmd "wget https://firefly.pandorafms.com/pandorafms/utils/gotty_linux_amd64.tar.gz" 'Dowloading gotty util' -tar xvzf gotty_linux_amd64.tar.gz &>> $LOGFILE -execute_cmd "mv gotty /usr/bin/" 'Installing gotty util' - # Enable Services execute_cmd "systemctl enable mysqld --now" "Enabling Database service" execute_cmd "systemctl enable httpd --now" "Enabling HTTPD service" diff --git a/extras/deploy-scripts/pandora_deploy_community_ubuntu_2204.sh b/extras/deploy-scripts/pandora_deploy_community_ubuntu_2204_gh.sh similarity index 84% rename from extras/deploy-scripts/pandora_deploy_community_ubuntu_2204.sh rename to extras/deploy-scripts/pandora_deploy_community_ubuntu_2204_gh.sh index 64beb74eb2..0677f22d2b 100644 --- a/extras/deploy-scripts/pandora_deploy_community_ubuntu_2204.sh +++ b/extras/deploy-scripts/pandora_deploy_community_ubuntu_2204_gh.sh @@ -34,8 +34,6 @@ rm -f $LOGFILE &> /dev/null # remove last log before start [ "$SKIP_DATABASE_INSTALL" ] || SKIP_DATABASE_INSTALL=0 [ "$SKIP_KERNEL_OPTIMIZATIONS" ] || SKIP_KERNEL_OPTIMIZATIONS=0 [ "$POOL_SIZE" ] || POOL_SIZE=$(grep -i total /proc/meminfo | head -1 | awk '{printf "%.2f \n", $(NF-1)*0.4/1024}' | sed "s/\\..*$/M/g") -[ "$PANDORA_BETA" ] || PANDORA_BETA=0 -[ "$PANDORA_LTS" ] || PANDORA_LTS=1 #Check if possible to get os version if [ ! -e /etc/os-release ]; then @@ -100,8 +98,7 @@ check_pre_pandora () { } check_repo_connection () { - execute_cmd "ping -c 2 firefly.pandorafms.com" "Checking Community repo" - execute_cmd "ping -c 2 support.pandorafms.com" "Checking Enterprise repo" + execute_cmd "ping -c 2 github.com" "Checking Community repo" } check_root_permissions () { @@ -215,9 +212,7 @@ check_root_permissions [ "$SKIP_PRECHECK" == 1 ] || check_pre_pandora #advicing BETA PROGRAM -INSTALLING_VER="${green}RRR version enable using RRR PandoraFMS packages${reset}" -[ "$PANDORA_LTS" -ne '0' ] && INSTALLING_VER="${green}LTS version enable using LTS PandoraFMS packages${reset}" -[ "$PANDORA_BETA" -ne '0' ] && INSTALLING_VER="${red}BETA version enable using nightly PandoraFMS packages${reset}" +INSTALLING_VER="${green}LTS version enable ${reset}" echo -e $INSTALLING_VER # Connectivity @@ -343,27 +338,12 @@ server_dependencies=" \ snmp-mibs-downloader \ snmptrapd \ libnsl2 \ + make \ openjdk-8-jdk " execute_cmd "apt install -y $server_dependencies" "Installing Pandora FMS Server dependencies" execute_cmd "installing_docker" "Installing Docker for debug" -# Installing pandora_gotty -execute_cmd "curl --output pandora_gotty.deb https://firefly.pandorafms.com/ubuntu/pandora_gotty_1.0.0.deb" "Downloading pandora_gotty" -execute_cmd "apt install -y ./pandora_gotty.deb" "Intalling pandora_gotty" - -# Installing MADE -execute_cmd "curl --output pandora_made.deb https://firefly.pandorafms.com/ubuntu/pandorafms-made_0.1.0-2_amd64.deb" "Downloading pandora MADE" -execute_cmd "apt install -y ./pandora_made.deb" "Intalling pandora MADE" - -# wmic and pandorawmic -execute_cmd "curl -O https://firefly.pandorafms.com/pandorafms/utils/bin/wmic" "Downloading wmic" -execute_cmd "curl -O https://firefly.pandorafms.com/pandorafms/utils/bin/pandorawmic" "Downloading pandorawmic" -echo -en "${cyan}Installing wmic and pandorawmic...${reset}" - chmod +x pandorawmic wmic &>> "$LOGFILE" && \ - cp -a wmic /usr/bin/ &>> "$LOGFILE" && \ - cp -a pandorawmic /usr/bin/ &>> "$LOGFILE" -check_cmd_status "Error Installing pandorawmic/wmic" # create symlink for fping rm -f /usr/sbin/fping &>> "$LOGFILE" @@ -376,40 +356,6 @@ execute_cmd "wget https://dl.google.com/linux/deb/pool/main/g/google-chrome-stab execute_cmd "apt install -y ./${CHROME_VERSION}" "Intalling google chrome" execute_cmd "ln -s /usr/bin/google-chrome /usr/bin/chromium-browser" "Creating /usr/bin/chromium-browser Symlink" -# SDK VMware perl dependencies -vmware_dependencies="\ - lib32z1 \ - lib32z1 \ - build-essential \ - uuid uuid-dev \ - libssl-dev \ - perl-doc \ - libxml-libxml-perl \ - libcrypt-ssleay-perl \ - libsoap-lite-perl \ - libmodule-build-perl" -execute_cmd "apt install -y $vmware_dependencies" "Installing VMware SDK dependencies" -execute_cmd "wget https://firefly.pandorafms.com/pandorafms/utils/VMware-vSphere-Perl-SDK-7.0.0-16453907.x86_64.tar.gz" "Downloading VMware SDK" -echo -en "${cyan}Installing VMware SDK...${reset}" - tar xvzf VMware-vSphere-Perl-SDK-7.0.0-16453907.x86_64.tar.gz &>> "$LOGFILE" - cd vmware-vsphere-cli-distrib/ &>> "$LOGFILE" - sed --follow-symlinks -i -e "s/[^#].*show_EULA().*/ #show_EULA();/g" vmware-install.pl &>> "$LOGFILE" - ./vmware-install.pl --default &>> "$LOGFILE" -check_cmd_status "Error Installing VMware SDK" -execute_cmd "cpan Crypt::OpenSSL::AES" "Installing extra vmware dependencie" -cd $WORKDIR &>> "$LOGFILE" - - - -# Instant client Oracle -execute_cmd "mkdir -p /opt/oracle" "Creating Oracle instant client directory /opt/oracle" -execute_cmd "wget https://download.oracle.com/otn_software/linux/instantclient/19800/instantclient-basic-linux.x64-19.8.0.0.0dbru.zip" "Downloading Oracle instant client" -execute_cmd "wget https://download.oracle.com/otn_software/linux/instantclient/19800/instantclient-sqlplus-linux.x64-19.8.0.0.0dbru.zip" "Downloading Oracle sqlplus" -echo -en "${cyan}Installing Oracle instant client...${reset}" - rm -fr /opt/oracle/* &>> "$LOGFILE" - unzip instantclient-basic-linux.x64-19.8.0.0.0dbru.zip -d /opt/oracle/ &>> "$LOGFILE" - unzip instantclient-sqlplus-linux.x64-19.8.0.0.0dbru.zip -d /opt/oracle/ &>> "$LOGFILE" -check_cmd_status "Error Installing Oracle instant client" #Configuring env variables cat >> /root/.profile << 'EOF_ENV' @@ -434,13 +380,6 @@ ipam_dependencies=" \ libnetaddr-ip-perl" execute_cmd "apt install -y $ipam_dependencies" "Installing IPAM Dependencies" -# MSSQL dependencies el8 -curl -sSL https://packages.microsoft.com/keys/microsoft.asc | tee /etc/apt/trusted.gpg.d/microsoft.asc &>> "$LOGFILE" -curl -sSL https://packages.microsoft.com/config/ubuntu/20.04/prod.list | tee /etc/apt/sources.list.d/microsoft-prod.list &>> "$LOGFILE" -apt update &>> "$LOGFILE" -execute_cmd "env ACCEPT_EULA=Y apt install -y msodbcsql17" "Installing ODBC Driver for Microsoft(R) SQL Server(R)" -MS_ID=$(head -1 /etc/odbcinst.ini | tr -d '[]') &>> "$LOGFILE" - # Disabling apparmor and ufw systemctl stop ufw.service &>> "$LOGFILE" systemctl disable ufw &>> "$LOGFILE" @@ -523,21 +462,11 @@ execute_cmd "systemctl restart mysql" "Configuring and restarting database engin #Define packages -if [ "$PANDORA_LTS" -eq '1' ] ; then - [ "$PANDORA_SERVER_PACKAGE" ] || PANDORA_SERVER_PACKAGE="https://firefly.pandorafms.com/pandorafms/latest/Tarball/LTS/pandorafms_server-7.0NG.tar.gz" - [ "$PANDORA_CONSOLE_PACKAGE" ] || PANDORA_CONSOLE_PACKAGE="https://firefly.pandorafms.com/pandorafms/latest/Tarball/LTS/pandorafms_console-7.0NG.tar.gz" - [ "$PANDORA_AGENT_PACKAGE" ] || PANDORA_AGENT_PACKAGE="https://firefly.pandorafms.com/pandorafms/latest/Tarball/pandorafms_agent_linux-7.0NG.x86_64.tar.gz" -elif [ "$PANDORA_LTS" -ne '1' ] ; then - [ "$PANDORA_SERVER_PACKAGE" ] || PANDORA_SERVER_PACKAGE="https://firefly.pandorafms.com/pandorafms/latest/Tarball/pandorafms_server-7.0NG.tar.gz" - [ "$PANDORA_CONSOLE_PACKAGE" ] || PANDORA_CONSOLE_PACKAGE="https://firefly.pandorafms.com/pandorafms/latest/Tarball/pandorafms_console-7.0NG.tar.gz" - [ "$PANDORA_AGENT_PACKAGE" ] || PANDORA_AGENT_PACKAGE="https://firefly.pandorafms.com/pandorafms/latest/Tarball/pandorafms_agent_linux-7.0NG.x86_64.tar.gz" -fi -if [ "$PANDORA_BETA" -eq '1' ] ; then - PANDORA_SERVER_PACKAGE="https://firefly.pandorafms.com/pandora_enterprise_nightlies/pandorafms_server-latest.tar.gz" - PANDORA_CONSOLE_PACKAGE="https://firefly.pandorafms.com/pandora_enterprise_nightlies/pandorafms_console-latest.tar.gz" - PANDORA_AGENT_PACKAGE="https://firefly.pandorafms.com/pandorafms/latest/Tarball/pandorafms_agent_linux-7.0NG.x86_64.tar.gz" -fi +PANDORA_SERVER_PACKAGE="https://github.com/pandorafms/pandorafms/releases/download/v772-LTS/pandorafms_server-7.0NG.772_x86_64.tar.gz" +PANDORA_CONSOLE_PACKAGE="https://github.com/pandorafms/pandorafms/releases/download/v772-LTS/pandorafms_console-7.0NG.772.tar.gz" +PANDORA_AGENT_PACKAGE="https://github.com/pandorafms/pandorafms/releases/download/v772-LTS/pandorafms_agent_linux-7.0NG.772.tar.gz" + # Downloading Pandora Packages cd $WORKDIR &>> "$LOGFILE"