# MALP - Monitor A Linux Platform A lightweight Ruby CGI status page for home server monitoring. ## Install Copy this repository directory to `/var/www`, so `/var/www/malp/cgi-bin` exists. ``` mkdir /var/www/malp/data chown apache:apache /var/www/malp/data ``` ### If using SELinux (e.g. AlmaLinux) ``` chcon -R -t httpd_sys_script_exec_t /var/www/malp/cgi-bin chcon -R -t httpd_sys_rw_content_t /var/www/malp/data ``` ### Example Apache HTTPD Setup Here is my example setup. My server's name is `anubis`. Replace as desired. #### Create self-signed TLS certificate ``` mkdir /etc/httpd/tls cd /etc/httpd/tls openssl ecparam -name secp384r1 -genkey -noout -out anubis.key openssl req -new -x509 -key anubis.key -out anubis.crt -days 3650 -sha384 ``` #### /etc/httpd/conf.d/anubis.conf ``` ServerName anubis ServerAlias anubis # Permanent redirect to the same URI on HTTPS Redirect permanent / https://anubis/ ServerName anubis DocumentRoot /var/www/html SSLEngine on SSLCertificateFile /etc/httpd/tls/anubis.crt SSLCertificateKeyFile /etc/httpd/tls/anubis.key # Modern TLS Security (Recommended for ECDSA) SSLProtocol all -SSLv3 -TLSv1 -TLSv1.1 SSLCipherSuite ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384 SSLHonorCipherOrder off SSLSessionTickets off ErrorLog /var/log/httpd/anubis-error.log CustomLog /var/log/httpd/anubis-access.log combined Options Indexes FollowSymLinks AllowOverride All Require all granted ScriptAlias / /var/www/malp/cgi-bin/malp.rb ``` ### Set user name and password ``` /var/www/malp/bin/setpasswd ```