Convert `$(hostname)` usage to `$(hostname -f)` (#459)
* Convert `$(hostname)` usage to `$(hostname -f)`
This commit is contained in:
parent
d4cee677ce
commit
5020ab0a0f
2
Makefile
2
Makefile
|
@ -81,7 +81,7 @@ run:
|
||||||
sleep 15
|
sleep 15
|
||||||
docker run -d --name ldap_for_mail \
|
docker run -d --name ldap_for_mail \
|
||||||
-e LDAP_DOMAIN="localhost.localdomain" \
|
-e LDAP_DOMAIN="localhost.localdomain" \
|
||||||
-h mail.my-domain.com -t ldap
|
-h ldap.my-domain.com -t ldap
|
||||||
sleep 15
|
sleep 15
|
||||||
docker run -d --name mail_with_ldap \
|
docker run -d --name mail_with_ldap \
|
||||||
-v "`pwd`/test/config":/tmp/docker-mailserver \
|
-v "`pwd`/test/config":/tmp/docker-mailserver \
|
||||||
|
|
|
@ -22,6 +22,19 @@ DEFAULT_VARS["DMS_DEBUG"]="${DMS_DEBUG:="0"}"
|
||||||
# << DEFAULT VARS
|
# << DEFAULT VARS
|
||||||
##########################################################################
|
##########################################################################
|
||||||
|
|
||||||
|
##########################################################################
|
||||||
|
# >> GLOBAL VARS
|
||||||
|
#
|
||||||
|
# add your global script variables here.
|
||||||
|
#
|
||||||
|
# Example: KEY="VALUE"
|
||||||
|
##########################################################################
|
||||||
|
HOSTNAME="$(hostname -f)"
|
||||||
|
DOMAINNAME="$(hostname -d)"
|
||||||
|
##########################################################################
|
||||||
|
# << GLOBAL VARS
|
||||||
|
##########################################################################
|
||||||
|
|
||||||
|
|
||||||
##########################################################################
|
##########################################################################
|
||||||
# >> REGISTER FUNCTIONS
|
# >> REGISTER FUNCTIONS
|
||||||
|
@ -300,11 +313,11 @@ function check() {
|
||||||
function _check_hostname() {
|
function _check_hostname() {
|
||||||
notify "task" "Check that hostname/domainname is provided (no default docker hostname) [$FUNCNAME]"
|
notify "task" "Check that hostname/domainname is provided (no default docker hostname) [$FUNCNAME]"
|
||||||
|
|
||||||
if ( ! echo $(hostname) | grep -E '^(\S+[.]\S+)$' > /dev/null ); then
|
if ( ! echo $HOSTNAME | grep -E '^(\S+[.]\S+)$' > /dev/null ); then
|
||||||
notify 'err' "Setting hostname/domainname is required"
|
notify 'err' "Setting hostname/domainname is required"
|
||||||
return 1
|
return 1
|
||||||
else
|
else
|
||||||
notify 'inf' "Hostname has been set to $(hostname)"
|
notify 'inf' "Hostname has been set to $HOSTNAME"
|
||||||
return 0
|
return 0
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
@ -344,7 +357,7 @@ function _setup_mailname() {
|
||||||
notify 'task' 'Setting up Mailname'
|
notify 'task' 'Setting up Mailname'
|
||||||
|
|
||||||
notify 'inf' "Creating /etc/mailname"
|
notify 'inf' "Creating /etc/mailname"
|
||||||
echo $(hostname -d) > /etc/mailname
|
echo $DOMAINNAME > /etc/mailname
|
||||||
}
|
}
|
||||||
|
|
||||||
function _setup_dovecot() {
|
function _setup_dovecot() {
|
||||||
|
@ -437,7 +450,7 @@ function _setup_ldap() {
|
||||||
/etc/dovecot/dovecot-ldap.conf.ext
|
/etc/dovecot/dovecot-ldap.conf.ext
|
||||||
|
|
||||||
# Add domainname to vhost.
|
# Add domainname to vhost.
|
||||||
echo $(hostname -d) >> /tmp/vhost.tmp
|
echo $DOMAINNAME >> /tmp/vhost.tmp
|
||||||
|
|
||||||
notify 'inf' "Enabling dovecot LDAP authentification"
|
notify 'inf' "Enabling dovecot LDAP authentification"
|
||||||
sed -i -e '/\!include auth-ldap\.conf\.ext/s/^#//' /etc/dovecot/conf.d/10-auth.conf
|
sed -i -e '/\!include auth-ldap\.conf\.ext/s/^#//' /etc/dovecot/conf.d/10-auth.conf
|
||||||
|
@ -571,24 +584,24 @@ function _setup_ssl() {
|
||||||
case $SSL_TYPE in
|
case $SSL_TYPE in
|
||||||
"letsencrypt" )
|
"letsencrypt" )
|
||||||
# letsencrypt folders and files mounted in /etc/letsencrypt
|
# letsencrypt folders and files mounted in /etc/letsencrypt
|
||||||
if [ -e "/etc/letsencrypt/live/$(hostname)/cert.pem" ] \
|
if [ -e "/etc/letsencrypt/live/$HOSTNAME/cert.pem" ] \
|
||||||
&& [ -e "/etc/letsencrypt/live/$(hostname)/fullchain.pem" ]; then
|
&& [ -e "/etc/letsencrypt/live/$HOSTNAME/fullchain.pem" ]; then
|
||||||
KEY=""
|
KEY=""
|
||||||
if [ -e "/etc/letsencrypt/live/$(hostname)/privkey.pem" ]; then
|
if [ -e "/etc/letsencrypt/live/$HOSTNAME/privkey.pem" ]; then
|
||||||
KEY="privkey"
|
KEY="privkey"
|
||||||
elif [ -e "/etc/letsencrypt/live/$(hostname)/key.pem" ]; then
|
elif [ -e "/etc/letsencrypt/live/$HOSTNAME/key.pem" ]; then
|
||||||
KEY="key"
|
KEY="key"
|
||||||
fi
|
fi
|
||||||
if [ -n "$KEY" ]; then
|
if [ -n "$KEY" ]; then
|
||||||
notify 'inf' "Adding $(hostname) SSL certificate"
|
notify 'inf' "Adding $HOSTNAME SSL certificate"
|
||||||
|
|
||||||
# Postfix configuration
|
# Postfix configuration
|
||||||
sed -i -r 's~smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem~smtpd_tls_cert_file=/etc/letsencrypt/live/'$(hostname)'/fullchain.pem~g' /etc/postfix/main.cf
|
sed -i -r 's~smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem~smtpd_tls_cert_file=/etc/letsencrypt/live/'$HOSTNAME'/fullchain.pem~g' /etc/postfix/main.cf
|
||||||
sed -i -r 's~smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key~smtpd_tls_key_file=/etc/letsencrypt/live/'$(hostname)'/'"$KEY"'\.pem~g' /etc/postfix/main.cf
|
sed -i -r 's~smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key~smtpd_tls_key_file=/etc/letsencrypt/live/'$HOSTNAME'/'"$KEY"'\.pem~g' /etc/postfix/main.cf
|
||||||
|
|
||||||
# Dovecot configuration
|
# Dovecot configuration
|
||||||
sed -i -e 's~ssl_cert = </etc/dovecot/dovecot\.pem~ssl_cert = </etc/letsencrypt/live/'$(hostname)'/fullchain\.pem~g' /etc/dovecot/conf.d/10-ssl.conf
|
sed -i -e 's~ssl_cert = </etc/dovecot/dovecot\.pem~ssl_cert = </etc/letsencrypt/live/'$HOSTNAME'/fullchain\.pem~g' /etc/dovecot/conf.d/10-ssl.conf
|
||||||
sed -i -e 's~ssl_key = </etc/dovecot/private/dovecot\.pem~ssl_key = </etc/letsencrypt/live/'$(hostname)'/'"$KEY"'\.pem~g' /etc/dovecot/conf.d/10-ssl.conf
|
sed -i -e 's~ssl_key = </etc/dovecot/private/dovecot\.pem~ssl_key = </etc/letsencrypt/live/'$HOSTNAME'/'"$KEY"'\.pem~g' /etc/dovecot/conf.d/10-ssl.conf
|
||||||
|
|
||||||
notify 'inf' "SSL configured with 'letsencrypt' certificates"
|
notify 'inf' "SSL configured with 'letsencrypt' certificates"
|
||||||
fi
|
fi
|
||||||
|
@ -596,18 +609,18 @@ function _setup_ssl() {
|
||||||
;;
|
;;
|
||||||
"custom" )
|
"custom" )
|
||||||
# Adding CA signed SSL certificate if provided in 'postfix/ssl' folder
|
# Adding CA signed SSL certificate if provided in 'postfix/ssl' folder
|
||||||
if [ -e "/tmp/docker-mailserver/ssl/$(hostname)-full.pem" ]; then
|
if [ -e "/tmp/docker-mailserver/ssl/$HOSTNAME-full.pem" ]; then
|
||||||
notify 'inf' "Adding $(hostname) SSL certificate"
|
notify 'inf' "Adding $HOSTNAME SSL certificate"
|
||||||
mkdir -p /etc/postfix/ssl
|
mkdir -p /etc/postfix/ssl
|
||||||
cp "/tmp/docker-mailserver/ssl/$(hostname)-full.pem" /etc/postfix/ssl
|
cp "/tmp/docker-mailserver/ssl/$HOSTNAME-full.pem" /etc/postfix/ssl
|
||||||
|
|
||||||
# Postfix configuration
|
# Postfix configuration
|
||||||
sed -i -r 's~smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem~smtpd_tls_cert_file=/etc/postfix/ssl/'$(hostname)'-full.pem~g' /etc/postfix/main.cf
|
sed -i -r 's~smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem~smtpd_tls_cert_file=/etc/postfix/ssl/'$HOSTNAME'-full.pem~g' /etc/postfix/main.cf
|
||||||
sed -i -r 's~smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key~smtpd_tls_key_file=/etc/postfix/ssl/'$(hostname)'-full.pem~g' /etc/postfix/main.cf
|
sed -i -r 's~smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key~smtpd_tls_key_file=/etc/postfix/ssl/'$HOSTNAME'-full.pem~g' /etc/postfix/main.cf
|
||||||
|
|
||||||
# Dovecot configuration
|
# Dovecot configuration
|
||||||
sed -i -e 's~ssl_cert = </etc/dovecot/dovecot\.pem~ssl_cert = </etc/postfix/ssl/'$(hostname)'-full\.pem~g' /etc/dovecot/conf.d/10-ssl.conf
|
sed -i -e 's~ssl_cert = </etc/dovecot/dovecot\.pem~ssl_cert = </etc/postfix/ssl/'$HOSTNAME'-full\.pem~g' /etc/dovecot/conf.d/10-ssl.conf
|
||||||
sed -i -e 's~ssl_key = </etc/dovecot/private/dovecot\.pem~ssl_key = </etc/postfix/ssl/'$(hostname)'-full\.pem~g' /etc/dovecot/conf.d/10-ssl.conf
|
sed -i -e 's~ssl_key = </etc/dovecot/private/dovecot\.pem~ssl_key = </etc/postfix/ssl/'$HOSTNAME'-full\.pem~g' /etc/dovecot/conf.d/10-ssl.conf
|
||||||
|
|
||||||
notify 'inf' "SSL configured with 'CA signed/custom' certificates"
|
notify 'inf' "SSL configured with 'CA signed/custom' certificates"
|
||||||
fi
|
fi
|
||||||
|
@ -636,29 +649,29 @@ function _setup_ssl() {
|
||||||
;;
|
;;
|
||||||
"self-signed" )
|
"self-signed" )
|
||||||
# Adding self-signed SSL certificate if provided in 'postfix/ssl' folder
|
# Adding self-signed SSL certificate if provided in 'postfix/ssl' folder
|
||||||
if [ -e "/tmp/docker-mailserver/ssl/$(hostname)-cert.pem" ] \
|
if [ -e "/tmp/docker-mailserver/ssl/$HOSTNAME-cert.pem" ] \
|
||||||
&& [ -e "/tmp/docker-mailserver/ssl/$(hostname)-key.pem" ] \
|
&& [ -e "/tmp/docker-mailserver/ssl/$HOSTNAME-key.pem" ] \
|
||||||
&& [ -e "/tmp/docker-mailserver/ssl/$(hostname)-combined.pem" ] \
|
&& [ -e "/tmp/docker-mailserver/ssl/$HOSTNAME-combined.pem" ] \
|
||||||
&& [ -e "/tmp/docker-mailserver/ssl/demoCA/cacert.pem" ]; then
|
&& [ -e "/tmp/docker-mailserver/ssl/demoCA/cacert.pem" ]; then
|
||||||
notify 'inf' "Adding $(hostname) SSL certificate"
|
notify 'inf' "Adding $HOSTNAME SSL certificate"
|
||||||
mkdir -p /etc/postfix/ssl
|
mkdir -p /etc/postfix/ssl
|
||||||
cp "/tmp/docker-mailserver/ssl/$(hostname)-cert.pem" /etc/postfix/ssl
|
cp "/tmp/docker-mailserver/ssl/$HOSTNAME-cert.pem" /etc/postfix/ssl
|
||||||
cp "/tmp/docker-mailserver/ssl/$(hostname)-key.pem" /etc/postfix/ssl
|
cp "/tmp/docker-mailserver/ssl/$HOSTNAME-key.pem" /etc/postfix/ssl
|
||||||
# Force permission on key file
|
# Force permission on key file
|
||||||
chmod 600 /etc/postfix/ssl/$(hostname)-key.pem
|
chmod 600 /etc/postfix/ssl/$HOSTNAME-key.pem
|
||||||
cp "/tmp/docker-mailserver/ssl/$(hostname)-combined.pem" /etc/postfix/ssl
|
cp "/tmp/docker-mailserver/ssl/$HOSTNAME-combined.pem" /etc/postfix/ssl
|
||||||
cp /tmp/docker-mailserver/ssl/demoCA/cacert.pem /etc/postfix/ssl
|
cp /tmp/docker-mailserver/ssl/demoCA/cacert.pem /etc/postfix/ssl
|
||||||
|
|
||||||
# Postfix configuration
|
# Postfix configuration
|
||||||
sed -i -r 's~smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem~smtpd_tls_cert_file=/etc/postfix/ssl/'$(hostname)'-cert.pem~g' /etc/postfix/main.cf
|
sed -i -r 's~smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem~smtpd_tls_cert_file=/etc/postfix/ssl/'$HOSTNAME'-cert.pem~g' /etc/postfix/main.cf
|
||||||
sed -i -r 's~smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key~smtpd_tls_key_file=/etc/postfix/ssl/'$(hostname)'-key.pem~g' /etc/postfix/main.cf
|
sed -i -r 's~smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key~smtpd_tls_key_file=/etc/postfix/ssl/'$HOSTNAME'-key.pem~g' /etc/postfix/main.cf
|
||||||
sed -i -r 's~#smtpd_tls_CAfile=~smtpd_tls_CAfile=/etc/postfix/ssl/cacert.pem~g' /etc/postfix/main.cf
|
sed -i -r 's~#smtpd_tls_CAfile=~smtpd_tls_CAfile=/etc/postfix/ssl/cacert.pem~g' /etc/postfix/main.cf
|
||||||
sed -i -r 's~#smtp_tls_CAfile=~smtp_tls_CAfile=/etc/postfix/ssl/cacert.pem~g' /etc/postfix/main.cf
|
sed -i -r 's~#smtp_tls_CAfile=~smtp_tls_CAfile=/etc/postfix/ssl/cacert.pem~g' /etc/postfix/main.cf
|
||||||
ln -s /etc/postfix/ssl/cacert.pem "/etc/ssl/certs/cacert-$(hostname).pem"
|
ln -s /etc/postfix/ssl/cacert.pem "/etc/ssl/certs/cacert-$HOSTNAME.pem"
|
||||||
|
|
||||||
# Dovecot configuration
|
# Dovecot configuration
|
||||||
sed -i -e 's~ssl_cert = </etc/dovecot/dovecot\.pem~ssl_cert = </etc/postfix/ssl/'$(hostname)'-combined\.pem~g' /etc/dovecot/conf.d/10-ssl.conf
|
sed -i -e 's~ssl_cert = </etc/dovecot/dovecot\.pem~ssl_cert = </etc/postfix/ssl/'$HOSTNAME'-combined\.pem~g' /etc/dovecot/conf.d/10-ssl.conf
|
||||||
sed -i -e 's~ssl_key = </etc/dovecot/private/dovecot\.pem~ssl_key = </etc/postfix/ssl/'$(hostname)'-key\.pem~g' /etc/dovecot/conf.d/10-ssl.conf
|
sed -i -e 's~ssl_key = </etc/dovecot/private/dovecot\.pem~ssl_key = </etc/postfix/ssl/'$HOSTNAME'-key\.pem~g' /etc/dovecot/conf.d/10-ssl.conf
|
||||||
|
|
||||||
notify 'inf' "SSL configured with 'self-signed' certificates"
|
notify 'inf' "SSL configured with 'self-signed' certificates"
|
||||||
fi
|
fi
|
||||||
|
@ -1038,7 +1051,7 @@ start_daemons
|
||||||
|
|
||||||
notify 'taskgrp' ""
|
notify 'taskgrp' ""
|
||||||
notify 'taskgrp' "#"
|
notify 'taskgrp' "#"
|
||||||
notify 'taskgrp' "# $(hostname) is up and running"
|
notify 'taskgrp' "# $HOSTNAME is up and running"
|
||||||
notify 'taskgrp' "#"
|
notify 'taskgrp' "#"
|
||||||
notify 'taskgrp' ""
|
notify 'taskgrp' ""
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue