Lets encrypt commands
HTML
Domain <input type="text" id="domain" onchange="onDatachange()" value="app.domain.com" /> App User <input type="text" id="appName" onchange="onDatachange()" value="operator" /> Super secret <input type="text" id="super" onchange="onDatachange()" value="super123"
/>
<br />
<textarea id="commandsText" cols="100" rows="25"></textarea>
JavaScript
function onDatachange() {
var FQDN = document.getElementById('domain').value;
var APP_USER = document.getElementById('appName').value;
var SUPER_SECRET = document.getElementById('super').value;
var text1 = `
sudo /etc/init.d/apache2 stop
sudo /root/certbot certonly
sudo /etc/init.d/apache2 start
sudo openssl pkcs12 -export -in /etc/letsencrypt/live/${FQDN}/fullchain.pem -inkey /etc/letsencrypt/live/${FQDN}/privkey.pem -out /home/${APP_USER}/etc/${FQDN}/${FQDN}.cert.p12 -name ${FQDN}
<<Supply 'secret' as password>>
sudo chown -R ${APP_USER}.${APP_USER} /home/${APP_USER}/etc/${FQDN}
keytool -importkeystore -deststorepass ${SUPER_SECRET} -destkeypass ${SUPER_SECRET} -destkeystore /home/${APP_USER}/etc/${FQDN}/${FQDN}.cert.jks -srckeystore /home/${APP_USER}/etc/${FQDN}/${FQDN}.cert.p12 -srcstorepass secret -srcstoretype PKCS12 -alias ${FQDN}
rm /home/${APP_USER}/etc/${FQDN}/${FQDN}.cert.p12
echo ./grailsw \\
-Dserver.address=0.0.0.0 \\
-Dserver.port=8443 \\
-Dserver.ssl.enabled=true \\
-Dserver.ssl.key-store-password=${SUPER_SECRET} \\
-Dserver.ssl.key-store=/home/${APP_USER}/etc/${FQDN}/${FQDN}.cert.jks \\
-Dserver.ssl.key-alias=${FQDN} \\
prod run-app
`
document.getElementById('commandsText').value = text1
}
setTimeout(onDatachange, 2000);