Certbot install ignores existing httpd installation and downloads default httpd


#1

Hi to all:

I am trying to download and run the certbot on Centos 7. I have apache httpd installed in /opt folder. During the install certbot seems not to see that the Apache has been installed and running. Instead it downloads httpd 2.4.6 version as a dependency. When running certbot --apache, it goes after the version it has downloaded to /etc/httpd.

How can I make it see my apache installation and not download the default?

Thank you.


#2

You can pass these options to certbot:

apache:
  Apache Web Server plugin - Beta

  --apache-enmod APACHE_ENMOD
                        Path to the Apache 'a2enmod' binary (default: a2enmod)
  --apache-dismod APACHE_DISMOD
                        Path to the Apache 'a2dismod' binary (default:
                        a2dismod)
  --apache-le-vhost-ext APACHE_LE_VHOST_EXT
                        SSL vhost configuration extension (default: -le-
                        ssl.conf)
  --apache-server-root APACHE_SERVER_ROOT
                        Apache server root directory (default: /etc/apache2)
  --apache-vhost-root APACHE_VHOST_ROOT
                        Apache server VirtualHost configuration root (default:
                        None)
  --apache-logs-root APACHE_LOGS_ROOT
                        Apache server logs directory (default:
                        /var/log/apache2)
  --apache-challenge-location APACHE_CHALLENGE_LOCATION
                        Directory path for challenge configuration (default:
                        /etc/apache2)
  --apache-handle-modules APACHE_HANDLE_MODULES
                        Let installer handle enabling required modules for you
                        (Only Ubuntu/Debian currently) (default: True)
  --apache-handle-sites APACHE_HANDLE_SITES
                        Let installer handle enabling sites for you (Only
                        Ubuntu/Debian currently) (default: True)
  --apache-ctl APACHE_CTL
                        Full path to Apache control script (default:
                        apache2ctl)

I don’t think there’s anything you can do about python2-certbot-apache depending on httpd. Perhaps you can use certbot-auto if you want to avoid that, which does not pull a bunch of system dependencies.


#3

Did you manually install Apache? I.e., not using the CentOS package manager?


#4

Yes. Installed msnually.


#5

Well, if you install a package from the package manager which is requiring Apache and the package manager thinks Apache isn’t installed (because you installed it manually), Apache is going to get installed again obviously. And certbot has default locations for Apache hardcoded depending on the distribution. So if you installed Apache in a non-default location, certbot won’t use it.

You can try the options @_az refered to.


#6

_az, Osiris, thank you very much for your help. This approach works. The manually installed https is visible to certbot.