diff --git a/ansible/roles/keystone/templates/wsgi-keystone.conf.j2 b/ansible/roles/keystone/templates/wsgi-keystone.conf.j2
index 7287e4b467..5c46c8be68 100644
--- a/ansible/roles/keystone/templates/wsgi-keystone.conf.j2
+++ b/ansible/roles/keystone/templates/wsgi-keystone.conf.j2
@@ -1,3 +1,4 @@
+{% set apache_dir = 'apache2' if kolla_base_distro in ['ubuntu', 'debian'] else 'httpd' %}
Listen {{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['address'] }}:{{ keystone_public_port }}
Listen {{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['address'] }}:{{ keystone_admin_port }}
@@ -10,8 +11,8 @@ Listen {{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['addr
= 2.4>
ErrorLogFormat "%{cu}t %M"
- ErrorLog /var/log/httpd/keystone.log
- CustomLog /var/log/httpd/keystone_access.log combined
+ ErrorLog /var/log/{{ apache_dir }}/keystone.log
+ CustomLog /var/log/{{ apache_dir }}/keystone_access.log combined
@@ -23,6 +24,6 @@ Listen {{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['addr
= 2.4>
ErrorLogFormat "%{cu}t %M"
- ErrorLog /var/log/httpd/keystone.log
- CustomLog /var/log/httpd/keystone_access.log combined
+ ErrorLog /var/log/{{ apache_dir }}/keystone.log
+ CustomLog /var/log/{{ apache_dir }}/keystone_access.log combined
diff --git a/docker/common/keystone/config-external.sh b/docker/common/keystone/config-external.sh
index 9742e3b127..1bd4e3bb4e 100644
--- a/docker/common/keystone/config-external.sh
+++ b/docker/common/keystone/config-external.sh
@@ -1,8 +1,6 @@
#!/bin/bash
SOURCE="/opt/kolla/keystone/keystone.conf"
TARGET="/etc/keystone/keystone.conf"
-SOURCE_WSGI="/opt/kolla/keystone/wsgi-keystone.conf"
-TARGET_WSGI="/etc/httpd/conf.d/wsgi-keystone.conf"
OWNER="keystone"
if [[ -f "$SOURCE" ]]; then
@@ -11,6 +9,15 @@ if [[ -f "$SOURCE" ]]; then
chmod 0644 $TARGET
fi
+if [[ "${KOLLA_BASE_DISTRO}" == "ubuntu" || \
+ "${KOLLA_BASE_DISTRO}" == "debian" ]]; then
+ SOURCE_WSGI="/opt/kolla/keystone/wsgi-keystone.conf"
+ TARGET_WSGI="/etc/apache2/conf-enabled/wsgi-keystone.conf"
+else
+ SOURCE_WSGI="/opt/kolla/keystone/wsgi-keystone.conf"
+ TARGET_WSGI="/etc/httpd/conf.d/wsgi-keystone.conf"
+fi
+
if [[ -f "$SOURCE_WSGI" ]]; then
cp $SOURCE_WSGI $TARGET_WSGI
chown ${OWNER}: $TARGET_WSGI
diff --git a/docker/common/keystone/start.sh b/docker/common/keystone/start.sh
index a68995f81c..d964b0303c 100755
--- a/docker/common/keystone/start.sh
+++ b/docker/common/keystone/start.sh
@@ -2,12 +2,21 @@
set -o errexit
-CMD="/usr/sbin/httpd"
-ARGS="-DFOREGROUND"
-
-# Loading common functions.
+# Loading common functions
source /opt/kolla/kolla-common.sh
+if [[ "${KOLLA_BASE_DISTRO}" == "ubuntu" || \
+ "${KOLLA_BASE_DISTRO}" == "debian" ]]; then
+ CMD="/usr/sbin/apache2"
+ ARGS="-DFOREGROUND"
+
+ # Loading Apache2 ENV variables
+ source /etc/apache2/envvars
+else
+ CMD="/usr/sbin/httpd"
+ ARGS="-DFOREGROUND"
+fi
+
# Execute config strategy
set_configs
diff --git a/docker_templates/keystone/Dockerfile.j2 b/docker_templates/keystone/Dockerfile.j2
index f3b7e0e9fc..3a69691fa2 100644
--- a/docker_templates/keystone/Dockerfile.j2
+++ b/docker_templates/keystone/Dockerfile.j2
@@ -42,7 +42,6 @@ RUN yum -y install \
RUN apt-get install -y --no-install-recommends \
apache2 \
- keystone \
libapache2-mod-wsgi \
&& apt-get clean
@@ -54,8 +53,8 @@ RUN ln -s /keystone-* /keystone
RUN cd /keystone \
&& useradd --user-group keystone \
&& pip install -r requirements.txt \
- && pip install /keystone \
- && mkdir /etc/keystone /var/www/cgi-bin/keystone \
+ && pip install --install-option="--install-scripts=/usr/bin" /keystone \
+ && mkdir -p /etc/keystone /var/www/cgi-bin/keystone /var/log/apache2 /home/keystone \
&& cp -r /keystone/etc/* /etc/keystone/ \
&& cp -a httpd/keystone.py /var/www/cgi-bin/keystone/admin \
&& cp -a httpd/keystone.py /var/www/cgi-bin/keystone/main