Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Move ssl.conf to main conf directory on EL7 #1543

Merged
merged 1 commit into from
Nov 28, 2016

Conversation

stbenjam
Copy link
Contributor

This is solving a problem with the SSL configuration on a Red Hat-based
OS that results in a duplicate 'Listen 443' statement after a package
update, causing Apache to no longer start.

The mod_ssl packaging ships a default ssl.conf in apache's main conf
dir, that among other things, contains 'Listen 443'.

However, this module puts all the Listen statements in ports.conf
centralized.

Generally this is no problem, because the module would purge the conf
directory. Apache hums along happily -- until the apache package gets
an update and it restores the default ssl.conf into
/etc/httpd/conf.d/ssl.conf as no such file exists by the name on EL7
(the module's ssl.conf goes into conf.modules.d).

Apache will then fail to start with this error until puppet runs again:

    Address already in use: AH00072: make_sock: could not bind to address 0.0.0.0:443

The RPM won't overwrite the file if it's changed, but it does put it
back when removed. So to avoid this problem, this change moves the
ssl.conf to the Apache conf dir on EL7. That replaces the one created by
the RPM.

When the package is updated, it won't touch the ssl.conf and apache
will continue to work.

This is solving a problem with the SSL configuration on a Red Hat-based
OS that results in a duplicate 'Listen 443' statement after a package
update, causing Apache to no longer start.

The mod_ssl packaging ships a default ssl.conf in apache's main conf
dir, that among other things, contains 'Listen 443'.

However, this module puts all the Listen statements in ports.conf
centralized.

Generally this is no problem, because the module would purge the conf
directory.  Apache hums along happily -- until the apache package gets
an update and it restores the default ssl.conf into
/etc/httpd/conf.d/ssl.conf as no such file exists by the name on EL7
(the module's ssl.conf goes into conf.modules.d).

Apache will then fail to start with this error until puppet runs again:

        Address already in use: AH00072: make_sock: could not bind to address 0.0.0.0:443

The RPM won't overwrite the file if it's changed, but it does put it
back when removed.  So to avoid this problem, this change moves the
ssl.conf to the Apache conf dir on EL7. That replaces the one created by
the RPM.

When the package is updated, it won't touch the ssl.conf and apache
will continue to work.
@stbenjam
Copy link
Contributor Author

Will be red until #1542 is merged

@eputnam eputnam merged commit 843a2ca into puppetlabs:master Nov 28, 2016
@eputnam
Copy link
Contributor

eputnam commented Nov 28, 2016

Thanks for the PR, @stbenjam!

@eputnam
Copy link
Contributor

eputnam commented Nov 28, 2016

@stbenjam would you mind opening another PR with a README update?

@stbenjam stbenjam deleted the ssl-conf branch November 28, 2016 19:52
@stbenjam
Copy link
Contributor Author

Sure, thanks for the merge. Readme PR #1559

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants