Created
April 8, 2019 22:03
-
-
Save acl/b3adad17e25cce9fdc7eb7c1c73eebdc to your computer and use it in GitHub Desktop.
Librenms ova build commands.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config | |
/usr/sbin/setenforce 0 | |
yum --enablerepo=extras install epel-release | |
yum-config-manager --enable remi-php71 | |
yum-config-manager --enable mysql57-community | |
yum install -y open-vm-tools | |
ln /usr/bin/vmware-rpctool /usr/sbin/vmware-rpctool | |
yum install -y mysql-community-client mysql-community-server | |
mv /etc/my.cnf /etc/my.cnf.orig | |
cat <<EOF | tee /etc/my.cnf | |
[mysqld] | |
datadir=/var/lib/mysql | |
socket=/var/lib/mysql/mysql.sock | |
user=mysql | |
# Disabling symbolic-links is recommended to prevent assorted security risks | |
symbolic-links=0 | |
sql-mode="" | |
lower_case_table_names=0 | |
innodb_file_per_table=1 | |
innodb_flush_log_at_trx_commit = 0 | |
[mysqld_safe] | |
log-error=/var/log/mysqld.log | |
pid-file=/var/run/mysqld/mysqld.pid | |
EOF | |
mysqld --initialize-insecure | |
service mysqld start | |
chkconfig --levels 235 mysqld on | |
mysqladmin -u root password 'root.ABC123@' | |
yum install -y php php-cli php-gd php-mysql php-snmp php-pear php-curl php-mbstring | |
yum install -y httpd net-snmp graphviz mysql php-mcrypt | |
yum install -y ImageMagick jwhois nmap mtr rrdtool MySQL-python | |
yum install -y net-snmp-utils vixie-cron fping | |
yum install -y nagios-plugins-all nagios-plugins-nrpe | |
yum install -y ntpdate unzip mod_ssl ipmitool rsync python-memcached | |
yum install -y git | |
service snmpd start | |
chkconfig --levels 235 snmpd on | |
sed -i.orig 's@^;\(date.timezone\).*@\1 = "America/New_York"@' /etc/php.ini | |
ln -sf /usr/share/zoneinfo/America/New_York /etc/localtime | |
useradd librenms -d /opt/librenms -M -r | |
usermod -a -G librenms apache | |
chkconfig --levels 235 httpd on | |
chkconfig --levels 235 ntpd on | |
mysql -u root -proot.ABC123@ -e 'CREATE DATABASE librenms CHARACTER SET utf8 COLLATE utf8_unicode_ci;' | |
mysql -u root -proot.ABC123@ -e "CREATE USER 'librenms'@'localhost' IDENTIFIED BY 'l1bre.3NMS';" | |
mysql -u root -proot.ABC123@ -e "GRANT ALL PRIVILEGES ON librenms.* TO 'librenms'@'localhost';" | |
mysql -u root -proot.ABC123@ -e "FLUSH PRIVILEGES;" | |
touch /etc/httpd/conf.d/librenms.conf | |
echo '<VirtualHost *:80>' >> /etc/httpd/conf.d/librenms.conf | |
echo " DocumentRoot /opt/librenms/html/">> /etc/httpd/conf.d/librenms.conf | |
echo " ServerName librenms.example.com">> /etc/httpd/conf.d/librenms.conf | |
echo " CustomLog /opt/librenms/logs/access_log combined" >> /etc/httpd/conf.d/librenms.conf | |
echo " ErrorLog /opt/librenms/logs/error_log" >> /etc/httpd/conf.d/librenms.conf | |
echo " AllowEncodedSlashes On" >> /etc/httpd/conf.d/librenms.conf | |
echo ' <Directory "/opt/librenms/html/">'>> /etc/httpd/conf.d/librenms.conf | |
echo " AllowOverride All">> /etc/httpd/conf.d/librenms.conf | |
echo " Options FollowSymLinks MultiViews" >> /etc/httpd/conf.d/librenms.conf | |
echo " </Directory>">> /etc/httpd/conf.d/librenms.conf | |
echo "RewriteEngine On" >> /etc/httpd/conf.d/librenms.conf | |
echo "RewriteCond %{HTTPS} off " >> /etc/httpd/conf.d/librenms.conf | |
echo "RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} " >> /etc/httpd/conf.d/librenms.conf | |
echo "</VirtualHost>">> /etc/httpd/conf.d/librenms.conf | |
echo "<VirtualHost *:443>" >> /etc/httpd/conf.d/librenms.conf | |
echo " SSLEngine on" >> /etc/httpd/conf.d/librenms.conf | |
echo " SSLCertificateFile /etc/pki/tls/certs/localhost.crt" >> /etc/httpd/conf.d/librenms.conf | |
echo " SSLCertificateKeyFile /etc/pki/tls/private/localhost.key" >> /etc/httpd/conf.d/librenms.conf | |
echo " DocumentRoot /opt/librenms/html/" >> /etc/httpd/conf.d/librenms.conf | |
echo " ServerName librenms.example.com" >> /etc/httpd/conf.d/librenms.conf | |
echo " CustomLog /opt/librenms/logs/access_log combined" >> /etc/httpd/conf.d/librenms.conf | |
echo " ErrorLog /opt/librenms/logs/error_log" >> /etc/httpd/conf.d/librenms.conf | |
echo " AllowEncodedSlashes On" >> /etc/httpd/conf.d/librenms.conf | |
echo ' <Directory "/opt/librenms/html/"> ' >> /etc/httpd/conf.d/librenms.conf | |
echo " AllowOverride All" >> /etc/httpd/conf.d/librenms.conf | |
echo " Options FollowSymLinks MultiViews" >> /etc/httpd/conf.d/librenms.conf | |
echo " </Directory>" >> /etc/httpd/conf.d/librenms.conf | |
echo "</VirtualHost>" >> /etc/httpd/conf.d/librenms.conf | |
cd /opt | |
git clone https://github.com/librenms/librenms.git librenms | |
cd /opt/librenms | |
mkdir rrd logs | |
mkdir html/images/custom/ | |
chown apache:apache logs/ | |
chown librenms:librenms rrd/ | |
chown -R librenms:librenms /opt/librenms | |
chmod 775 rrd | |
chmod ug+rw /opt/librenms/logs | |
cp librenms.nonroot.cron /etc/cron.d/librenms | |
cp config.php.default config.php | |
sed -i 's/USERNAME/librenms/g' config.php | |
sed -i 's/PASSWORD/l1bre.3NMS/g' config.php | |
echo "\$config['update'] = 0;" >> config.php | |
echo "\$config['fping'] = '/usr/sbin/fping';" >> config.php | |
echo "\$config['nagios_plugins'] = '/usr/lib64/nagios/plugins';" >> config.php | |
echo "\$config['enable_syslog'] = 1;" >> config.php | |
echo "\$config['web_mouseover'] = false; " >> config.php | |
cp librenms.nonroot.cron /etc/cron.d/librenms | |
cp misc/librenms.logrotate /etc/logrotate.d/librenms | |
chown -R librenms:librenms /opt/librenms | |
COMPOSER_HOME="/opt/librenms" php /opt/librenms/scripts/composer_wrapper.php install --no-dev | |
php /opt/librenms/build-base.php | |
php /opt/librenms/adduser.php admin abc123 10 "alerts@test.com" | |
echo "\$ModLoad imudp " > /etc/rsyslog.d/10-listner.conf | |
echo "\$UDPServerRun 514" >> /etc/rsyslog.d/10-listner.conf | |
echo "\$ModLoad imtcp" >> /etc/rsyslog.d/10-listner.conf | |
echo "\$InputTCPServerRun 514" >> /etc/rsyslog.d/10-listner.conf | |
echo '$ModLoad omprog' > /etc/rsyslog.d/30-librenms.conf | |
echo '$template librenms,"%FROMHOST%||%syslogfacility-text%||%syslogpriority-text%||%syslogseverity%||%syslogtag%||%$YEAR%-%$MONTH%-%$DAY% %timegenerated:8:25%||%msg%||%programname%\n" ' >> /etc/rsyslog.d/30-librenms.conf | |
echo '$ActionOMProgBinary /opt/librenms/syslog.php ' >> /etc/rsyslog.d/30-librenms.conf | |
echo '*.* :omprog:;librenms ' >> /etc/rsyslog.d/30-librenms.conf | |
echo ':fromhost-ip, !isequal,"127.0.0.1" ~' > /etc/rsyslog.d/50-default.conf | |
curl -o /usr/bin/distro https://raw.githubusercontent.com/librenms/librenms-agent/master/snmp/distro | |
chmod +x /usr/bin/distro | |
setcap cap_net_raw+ep /usr/sbin/fping | |
setcap cap_net_raw+ep /usr/sbin/fping6 | |
mv /etc/snmp/snmpd.conf /etc/snmp/snmpd.conf.orig | |
#fixes | |
mysql -u root -proot.ABC123@ -e "USE librenms;ALTER TABLE notifications CHANGE datetime datetime timestamp NOT NULL DEFAULT '1970-01-02 00:00:00';" | |
mysql -u root -proot.ABC123@ -e "USE librenms;ALTER TABLE users CHANGE created_at created_at timestamp NOT NULL DEFAULT '1970-01-02 00:00:01';" | |
echo "mysql -u root -proot.ABC123@ -e \"USE librenms;ALTER TABLE notifications CHANGE datetime datetime timestamp NOT NULL DEFAULT '1970-01-02 00:00:00';\" " >> /root/tablefix.sh | |
echo "mysql -u root -proot.ABC123@ -e \"USE librenms;ALTER TABLE users CHANGE created_at created_at timestamp NOT NULL DEFAULT '1970-01-02 00:00:01';\" " >> /root/tablefix.sh | |
chmod +x /root/tablefix.sh | |
cat <<EOF | tee /etc/snmp/snmpd.conf | |
com2sec readonly default public | |
group MyROGroup v2c readonly | |
view all included .1 80 | |
access MyROGroup "" any noauth exact all none none | |
syslocation '<syslocation>' | |
syscontact '<contact person>' | |
dontLogTCPWrappersConnects yes | |
#Distro Detection | |
extend .1.3.6.1.4.1.2021.7890.1 distro /usr/bin/distro | |
#Hardware Detection (uncomment to enable on physical servers) | |
#extend .1.3.6.1.4.1.2021.7890.2 hardware '/bin/cat /sys/devices/virtual/dmi/id/product_name' | |
#extend .1.3.6.1.4.1.2021.7890.3 manufacturer '/bin/cat /sys/devices/virtual/dmi/id/sys_vendor' | |
#extend .1.3.6.1.4.1.2021.7890.4 serial '/bin/cat /sys/devices/virtual/dmi/id/product_serial' | |
EOF | |
chown -R librenms:librenms /opt/librenms | |
yum-config-manager --disable updates | |
service mysqld stop |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment