If you have to install a really great network those such as Nagios those will be steps needed:
1.Installing Apache2 + PHP (Skip if you already have one):
apt-get install apache2 libapache2-mod-php7.0 php7.0 # enable cgi a2enmod rewrite headers cgi systemctl restart apache2 # setup correct timezone in php mcedit /etc/php/7.0/apache2/php.ini # set date.timezone according to http://php.net/manual/en/timezones.php systemctl restart apache2 # info.php echo '<?php phpinfo(); ?>' >/var/www/html/info.php # open browser apache_server_ip/info.php and check 'default timezone'
2.Installing Nagios core:
# pre-request to build nagios from source: apt-get install autoconf gcc libc6 make apache2-utils libgd-dev # get source from https://www.nagios.org/downloads/nagios-core/ wget https://assets.nagios.com/downloads/nagioscore/releases/nagios-4.3.4.tar.gz tar xzf nagios-4.3.4.tar.gz cd nagios-4.3.4/ ./configure --with-httpd-conf=/etc/apache2/sites-enabled # Output should look like this: *** Configuration summary for nagios 4.3.4 2017-08-24 ***: General Options: ------------------------- Nagios executable: nagios Nagios user/group: nagios,nagios Command user/group: nagios,nagios Event Broker: yes Install ${prefix}: /usr/local/nagios Install ${includedir}: /usr/local/nagios/include/nagios Lock file: /run/nagios.lock Check result directory: ${prefix}/var/spool/checkresults Init directory: /etc/init.d Apache conf.d directory: /etc/apache2/sites-enabled Mail program: /usr/bin/mail Host OS: linux-gnu IOBroker Method: epoll Web Interface Options: ------------------------ HTML URL: http://localhost/nagios/ CGI URL: http://localhost/nagios/cgi-bin/ Traceroute (used by WAP): /usr/sbin/traceroute Review the options above for accuracy. If they look okay, type 'make all' to compile the main program and CGIs. ################## # next we need to 'make' it ;-) make all # Output should look like this: Enjoy. # and we will in few minutes # lets us create user for nagios useradd nagios # we will add him to apache group usermod -a -G nagios www-data # last but not least: make install # Output should look like this: /usr/bin/install -c -m 775 -o nagios -g nagios -d /usr/local/nagios/libexec /usr/bin/install -c -m 775 -o nagios -g nagios -d /usr/local/nagios/var /usr/bin/install -c -m 775 -o nagios -g nagios -d /usr/local/nagios/var/archives /usr/bin/install -c -m 775 -o nagios -g nagios -d /usr/local/nagios/var/spool/checkresults chmod g+s /usr/local/nagios/var/spool/checkresults *** Main program, CGIs and HTML files installed *** You can continue with installing Nagios as follows (type 'make' without any arguments for a list of all possible options): make install-init - This installs the init script in /etc/init.d make install-commandmode - This installs and configures permissions on the directory for holding the external command file make install-config - This installs sample config files in /usr/local/nagios/etc ############## # let's add init script make install-init # and enable init script systemctl enable nagios.service # install and configure permissions for external command file: make install-commandmode # and add sample configuration so nagios will start: make install-config # add nagios-site apache configuration file: make install-webconf # we need to create nagiosadmin account for http htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin # finally we can restart apache and start nagios: systemctl restart apache2 systemctl start nagios # open browser and type: nagios_ip_address/nagios/
3.Installing Nagios Plugins (needed !)
# pre-require apt-get install libmcrypt-dev make libssl-dev bc gawk dc build-essential snmp libnet-snmp-perl gettext libldap2-dev smbclient fping default-libmysqlclient-dev # get latest source file! from https://github.com/nagios-plugins/nagios-plugins/releases wget https://github.com/nagios-plugins/nagios-plugins/archive/release-2.2.1.tar.gz tar zxvf release-2.2.1.tar.gz cd nagios-plugins-release-2.2.1/ ./tools/setup ./configure make make install # now we should have all commands in /usr/local/nagios/libexec/ ls /usr/local/nagios/libexec/ # restart nagios so he can load those: systemctl restart nagios.service
4.Enable SSL for Nagios (and not only)
# enable module a2enmod ssl systemctl restart apache2 # edit apache to redirect traffic to ssl mcedit /etc/apache2/sites-enabled/000-default.conf # add this to VirtualHost: RewriteEngine on RewriteCond %{HTTPS} off RewriteRule ^(.*) https://%{HTTP_HOST}/$1 # after modification file should look like this: <VirtualHost *:80> ServerAdmin webmaster@localhost DocumentRoot /var/www/html RewriteEngine on RewriteCond %{HTTPS} off RewriteRule ^(.*) https://%{HTTP_HOST}/$1 ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost> # enable ssl apache config file without it you will get SSL_ERROR_RX_RECORD_TOO_LONG error a2ensite default-ssl.conf # let us restart apache systemctl restart apache2.service