I should start out by saying that I'm not using DirectAdmin v1.662 and Apache v2.4.59 yet. It's specifically for the reasons that are in this thread that I always hold off on DirectAdmin updates until I can glean where potential issues are with updates. Having said all of that, I'm still having trouble wrapping my head around what specifically is going on with this thread and probably will until I peform an upgrade and see this for myself. But at least I know that this can be a potential issue.
The default DA file here:
/usr/local/directadmin/custombuild/configure/ap2/conf/extra/httpd-ssl.conf
Doesn't have that line commented out, so I don't know why yours is.
To me this is the crux of the issue (or "a" issue). Why are
/usr/local/directadmin/custombuild/configure/ap2/conf/extra/httpd-ssl.conf
and
/etc/httpd/conf/extra/httpd-ssl.conf
different? Where is
/etc/httpd/conf/extra/httpd-ssl.conf
being built from? As far as I know, I don't have anything customized to answer this. And if that were the case, then others in this thread would seem to be using the same customization.
/etc/httpd/conf/extra/httpd-ssl.conf
has
SSLCACertificateFile /etc/httpd/conf/ssl.crt/server.ca
comment out,
/usr/local/directadmin/custombuild/configure/ap2/conf/extra/httpd-ssl.conf
has
SSLCACertificateFile /etc/httpd/conf/ssl.crt/server.ca
active.
I assume all of this stems from DirectAdmin v1.662's update:
DirectAdmin Knowledge Base
docs.directadmin.com
And the fact that this is not a togglable option is disappointing.
My intent isn't to be overly critical here, but constructive criticism is valuable.
Much like
@Richpark - I too run my own Let's Encrypt certificate issuance system. My story goes that I created this system for another control panel before they released their own system and then when I started with DirectAdmin I just integrated that system into DirectAdmin. Anybody that programs - at least at this scale - will probably tell you, they prefer their own system rather than someone else's. If there's an issue with my system... I get to fix it, which means I can fix it on my timetable. When you're constantly depending on someone else's system, then you have to depend on their timetable for fixing issues. That's not a knock against people who depend on other's systems, it's just meant to reveal why people who design their own systems often prefer their own systems.
For me this always comes down to the question: Is a web hosting control panel meant to be a tool for server administrators or is it meant to be an all-encompassing self-contained web hosting management system?
How you answer that question will likely decide your stance on this change in DirectAdmin v1.662.
I fear that this change is a step towards DirectAdmin wanting to become an all-encompassing self-contained web hosting management system. And this may be, or probably is, what the mass of DirectAdmin license holders want: Install DirectAdmin and sit back and watch it work. I've already voiced an opinion against tying stack application updates to DirectAdmin updates and this change seems to go hand in hand with this move.
Those of us who see a control panel as a tool for server administration probably prefer a bit more compartmentalization: Web server, MTA, MDA, Database server, PHP, certificate issuance, and control panel - all work largely independently of each other. There does have to be some interoperability between the elements - i.e. PHP has to be compiled with support for the database server in use on the server (although, technically database isn't a requirement for PHP) - but largely one element doesn't depend on specifics of the other elements.
In this way, the web server being upgraded doesn't depend on any other elements being upgraded.
A quick aside, may be off-topic... but may also help to round this into form. Let's Encrypt is not a web server (Apache), MTA (Exim), or MDA (Dovecot) thing. Let's Encrypt is a certificate authority. You get certificates from a certificate authority, what you do with those certificates is another process. The ACME protocol is a system from which you can automatically request a certificate from a certificate authority (i.e. Let's Encrypt). The ACME protocol doesn't have anything to do with installing requested certificates into your front-end systems. Control panels seem to like to automate this into an all-in-one - and largely that's what the web hosting industry wants to do. But if you break this up into its individual parts then you gain more control of how the system reacts. This is why I differentiate between certificate installation and certificate issuance. You have to request->get issued->retrieve a certificate from a certificate authority (or a self-signed certificate) before you can install the certificate anywhere.
This is how I wrote my system. It requests and gets issued a certificate for a given domain name (plus SANs) and when retrieved - I then have a certificate. From there I can use the API system (Thanks DirectAdmin!) of the control panel to install the certificate for the domain name for the given services. The certificate issuance system is monolithic. I can use that system on any control panel. It's installing the certificate that depends on the individual web server, MTA, MDA - or if there is a control panel API for installing these.
Again, I don't use DirectAdmin's built-in certificate issuance and installation system so I don't really know how it works, but I suspect that it's doing a similar thing all at once. But you sacrifice control with this system because you are walled into operating exactly how DirectAdmin does this. And that's fine, I'm not meaning to be critical of that. However I am hoping to illustrate the difference between using DirectAdmin (or any control panel) as a tool versus using the control panel as a full self-administration system.
The fact that DirectAdmin is wanting to sync certificates after every web server rebuild breaks that compartmentalization. Installing or upgrading a web server doesn't have anything to do with the certificates in use. If the argument is that service certificates get mangled up to where they are not always in sync... then that's an issue with the server administrator. The system they are using to issue and install certificates isn't doing proper clean-up or maybe they specifically want it that way.
It is my belief that it's not DirectAdmin's responsibility to decide this fate. Now if DirectAdmin wants to add a togglable post-web server install/upgrade hook that performs this synchronization, I'd be OK with that - and maybe that helps a lot of users. But that doesn't appear to be what is happening. Instead of seeing each service as its own independent system, it's saying that it owns the whole ecosystem and can do with it however it pleases. I think that's a dangerous road to head down.