apt update
apt install openssl

# edit me, MUST have trailing slash
export fusion_host="http://192.168.1.199:8764/"


export myip="$(hostname --ip-address)"
echo '[ req ]' >> /usr/local/apache2/fusion.com.conf
echo 'default_bits = 4096' >> /usr/local/apache2/fusion.com.conf
echo 'prompt = no' >> /usr/local/apache2/fusion.com.conf
echo 'encrypt_key = no' >> /usr/local/apache2/fusion.com.conf
echo 'default_md = sha256' >> /usr/local/apache2/fusion.com.conf
echo 'distinguished_name = dn' >> /usr/local/apache2/fusion.com.conf
echo 'req_extensions = req_ext' >> /usr/local/apache2/fusion.com.conf
echo '' >> /usr/local/apache2/fusion.com.conf
echo '[ dn ]' >> /usr/local/apache2/fusion.com.conf
echo 'CN = lucidworks.com' >> /usr/local/apache2/fusion.com.conf
echo 'emailAddress = nicholas.dipiazza@lucidworks.com' >> /usr/local/apache2/fusion.com.conf
echo 'O = Lucidworks' >> /usr/local/apache2/fusion.com.conf
echo 'OU = Engineering' >> /usr/local/apache2/fusion.com.conf
echo 'L = Madison' >> /usr/local/apache2/fusion.com.conf
echo 'ST = Wisconsin' >> /usr/local/apache2/fusion.com.conf
echo 'C = US' >> /usr/local/apache2/fusion.com.conf
echo '' >> /usr/local/apache2/fusion.com.conf
echo '[ req_ext ]' >> /usr/local/apache2/fusion.com.conf
echo "subjectAltName = IP: ${myip}" >> /usr/local/apache2/fusion.com.conf

mkdir -p /etc/pki/tls/certs
mkdir -p /etc/pki/tls/private

openssl req -x509 -nodes -days 365 -newkey rsa:2048 -config /usr/local/apache2/fusion.com.conf -keyout /etc/pki/tls/private/ca.key -out /etc/pki/tls/certs/ca.crt

# Copy the files to the correct locations

sed -i '/LoadModule proxy_http/s/^#//g' /usr/local/apache2/conf/httpd.conf
sed -i '/LoadModule proxy_module/s/^#//g' /usr/local/apache2/conf/httpd.conf
sed -i '/LoadModule ssl_module/s/^#//g' /usr/local/apache2/conf/httpd.conf
echo 'Listen 8443' >> /usr/local/apache2/conf/httpd.conf
echo '<VirtualHost *:8443>' >> /usr/local/apache2/conf/httpd.conf
echo '    RequestHeader set iv-user "admin"'  >> /usr/local/apache2/conf/httpd.conf
echo '    RequestHeader set iv-groups "admin"'  >> /usr/local/apache2/conf/httpd.conf
echo '    SSLEngine on'  >> /usr/local/apache2/conf/httpd.conf
echo '    SSLCertificateFile /etc/pki/tls/certs/ca.crt'  >> /usr/local/apache2/conf/httpd.conf
echo '    SSLCertificateKeyFile /etc/pki/tls/private/ca.key'  >> /usr/local/apache2/conf/httpd.conf
echo "    ServerName ${myip}"  >> /usr/local/apache2/conf/httpd.conf
echo "    ProxyPass / ${fusion_host}"  >> /usr/local/apache2/conf/httpd.conf
echo "    ProxyPassReverse / ${fusion_host}"  >> /usr/local/apache2/conf/httpd.conf
echo '</VirtualHost>' >> /usr/local/apache2/conf/httpd.conf

/usr/local/apache2/bin/apachectl -k restart