kolla/docker/base/httpd_setup.sh
Mark Goddard 3590188383 CentOS 8: work around mod_ssl certificate issue
CentOS 8 has an issue with mod_ssl which produces an invalid Apache
configuration in /etc/httpd/conf.d/ssl.conf. This causes the following
error on startup:

SSLCertificateFile: file '/etc/pki/tls/certs/localhost.crt' does not exist or is empty

Work around this by generating certificates manually.

Partially-Implements: blueprint centos-rhel-8

Change-Id: Id8bcefa3527575ba72fe37013787ba716e435ac8
2019-12-21 14:35:18 +01:00

28 lines
1.2 KiB
Bash

#!/bin/bash
# This script performs setup necessary to run the Apache httpd web server.
# It should be sourced rather than executed as environment variables are set.
# Assume the service runs on top of Apache httpd when user is root.
if [[ "$(whoami)" == 'root' ]]; then
# NOTE(pbourke): httpd will not clean up after itself in some cases which
# results in the container not being able to restart. (bug #1489676, 1557036)
if [[ "${KOLLA_BASE_DISTRO}" =~ debian|ubuntu ]]; then
# Loading Apache2 ENV variables
. /etc/apache2/envvars
install -d /var/run/apache2/
rm -rf /var/run/apache2/*
else
rm -rf /var/run/httpd/* /run/httpd/* /tmp/httpd*
fi
# CentOS 8 has an issue with mod_ssl which produces an invalid Apache
# configuration in /etc/httpd/conf.d/ssl.conf. This causes the following error
# on startup:
# SSLCertificateFile: file '/etc/pki/tls/certs/localhost.crt' does not exist or is empty
# Work around this by generating certificates manually.
if [[ ${KOLLA_BASE_DISTRO} = centos ]] && [[ ! -e /etc/pki/tls/certs/localhost.crt ]]; then
/usr/libexec/httpd-ssl-gencerts
fi
fi