#!/bin/bash sudo cat < /etc/yum.repos.d/pandorafms.repo [artica_pandorafms] name=CentOS6 - PandoraFMS official repo baseurl=http://firefly.artica.es/centos6 gpgcheck=0 enabled=1 EOF yum update -y yum makecache sudo yum install -y git httpd cronie ntp openldap anytermd nfdump wget curl openldap plymouth xterm php php-gd graphviz php-mysql php-pear-DB php-pear php-pdo php-mbstring php-ldap php-snmp php-ldap php-common php-zip nmap xprobe2 mysql-server mysql git cronie ntp wget curl xterm postfix wmic perl-HTML-Tree perl-DBI perl-Crypt-SSLeay perl-DBD-mysql perl-libwww-perl perl-XML-Simple perl-XML-SAX perl-NetAddr-IP net-snmp net-tools perl-IO-Socket-INET6 perl-Socket6 nmap sudo xprobe2 make perl-CPAN perl-JSON net-snmp-perl perl-Time-HiRes perl-XML-Twig perl-Encode-Locale net-snmp net-snmp-utils perl-Test-Simple fping pandorafms_server pandorafms_console pandorafms_agent_unix yum clean all # Enable vital services sudo chkconfig --level 345 mysqld on 2>/dev/null sudo chkconfig --level 345 sshd on 2>/dev/null sudo chkconfig --level 345 httpd on 2>/dev/null sudo chkconfig --level 345 anytermd on 2> /dev/null sudo chkconfig --level 345 pandora_agent_daemon on 2> /dev/null sudo chkconfig --level 345 postfix on 2> /dev/null #Optimisations of the MySQL Database (thanks to Mr. CODDNS!) sudo cat < /etc/my.cnf [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://wiki.pandorafms.com/index.php?title=Pandora:Documentation_en:Optimization for better results max_allowed_packet = 32M innodb_buffer_pool_size = 256M innodb_additional_mem_pool_size = 16M 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 = 1500 thread_cache_size = 8 max_connections = 500 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 = 8M query_cache_limit = 8M sql_mode="" EOF sudo /etc/init.d/mysqld start mysqladmin -u root password pandora; # Set new random password for root and pandora users for mysql echo "create database pandora;" | mysql -u root -ppandora cat /var/www/html/pandora_console/pandoradb.sql | mysql -u root -ppandora -D pandora cat /var/www/html/pandora_console/pandoradb_data.sql | mysql -u root -ppandora -D pandora echo "flush privileges" | mysql -u root -ppandora # Customize php.ini sed -i -e "s/.*error_reporting =.*/error_reporting = E_ALL \& \~E_DEPRECATED \& \~E_NOTICE \& \~E_USER_WARNING/" /etc/php.ini sed -i -e "s/.*max_execution_time =.*/max_execution_time = 0/" /etc/php.ini sed -i -e "s/.*max_input_time =.*/max_input_time = -1/" /etc/php.ini sed -i -e "s/.*upload_max_filesize =.*/upload_max_filesize = 800M/" /etc/php.ini sed -i -e "s/.*memory_limit =.*/memory_limit = 500M/" /etc/php.ini # Remove install.php rm -Rf /var/www/html/pandora_console/install.php # We need to remove a line in /etc/sudoers, which forbid tentacle_serverd to run # because doesnt have a valid tty. Could be done with sed or just a inverse grep: cat /etc/sudoers | grep -v requiretty > /tmp/sudoers cat /tmp/sudoers > /etc/sudoers rm -f /tmp/sudoers echo "#Init Pandora DB" >> /etc/rc.local echo "pass=\`curl -s http://169.254.169.254/latest/meta-data/instance-id\`;" >> /etc/rc.local echo "sudo /etc/init.d/mysqld start" >> /etc/rc.local echo "sleep 10" >> /etc/rc.local echo "echo \"grant all privileges on pandora.* to pandora@localhost identified by '\$pass'\" | mysql -u root -ppandora" >> /etc/rc.local echo "mysqladmin -u root -ppandora password \$pass;" >> /etc/rc.local # Substitute old database password for new random password cat <> /etc/rc.local # This requires double encoding for $ ! # Crear config.php de pandora cat > /var/www/html/pandora_console/include/config.php << EOF_configpandora EOF_configpandora EOF echo "chown apache apache /var/www/html/pandora_console/include/config.php" >> /etc/rc.local echo "chmod 600 /var/www/html/pandora_console/include/config.php" >> /etc/rc.local # Substitute old database password for new random password echo "sed -i -e \"s/dbpass pandora/dbpass \$pass/g\" /etc/pandora/pandora_server.conf;" >> /etc/rc.local echo "/etc/init.d/pandora_server start;" >> /etc/rc.local echo "perl /usr/share/pandora_server/util/pandora_manage.pl /etc/pandora/pandora_server.conf --update_user 'admin' password \"\$pass\";" >> /etc/rc.local echo "sudo chkconfig --level 345 pandora_server on 2> /dev/null" >> /etc/rc.local passwd -l root shred -u /etc/ssh/*_key.pub shred -u /etc/ssh/*_key rm -Rf ~/.ssh rm -Rf /home/ec2-user/.ssh/ shred -u /home/ec2-user/.*history shred -u /root/.*history history -w history -c