Thank you Jack. The problem I have is that I don't have a DocRoot IMO. I will check this configuration.
Regards. On Sun, Jul 3, 2022 at 7:53 PM Jacques Deguest <j...@deguest.jp> wrote: > Re, > You're probably going to need a DocRoot directive somewhere though. > You might want to check the sanity of your configuration with Apache > command line -t flag > > On 2022/07/03 19:32, Jacques Deguest wrote: > > Sure, comment out all the perl stuff that are not required for certbot to > work, run something like: > certbot certonly --rsa-key-size 4096 --agree-tos --email > yongw...@gmail.com -d luck.cloudcache.net > Get the cert, and then after uncomment what you previously commented out. > It should work. > > Regards, > Jacques > > On 2022/07/03 19:29, Yong Walt wrote: > > This is my httpd.conf. > > <VirtualHost *:80> > > ServerAdmin webmaster@localhost > > ServerName luck.cloudcache.net > > > > PerlPostConfigRequire /etc/apache2/modperl/startup.pl > > > <Location /> > > SetHandler modperl > > PerlResponseHandler LuckyNum > > </Location> > > > > ErrorLog ${APACHE_LOG_DIR}/error.log > > LogLevel warn > > CustomLog ${APACHE_LOG_DIR}/luck.access.log combined > > > </VirtualHost> > > > > How do you think I can set up the SSL? > > > I asked it just b/c "certbot --apache" doesn't work for this handler. > > > Thanks. > > On Sun, Jul 3, 2022 at 6:24 PM Jacques Deguest <j...@deguest.jp> wrote: > >> You do not even need to have a virtualhost with ssl enabled for certbot >> to work. >> You can have a simple VirtualHost responding to regular 80 port, then get >> the ssl certificate, then add the VirtualHost for SSL and all your modperl >> specifications to it. Something like the following, and once you got the >> certificate, you uncomment the 2nd part. >> >> ---- >> <Virtualhost *:80> >> ServerName api.example.org:80 >> ServerAdmin w...@example.org >> DocumentRoot /var/www/api.example.org >> DirectoryIndex "index.html" "index.pl" "index.php" >> CustomLog "/var/log/apache2/api.example.org-access.log" combined >> ErrorLog "/var/log/apache2/api.example.org-error.log" >> LogLevel warn >> <Directory "/var/www/api.example.org"> >> Options All +MultiViews -ExecCGI -Indexes -Includes >> AllowOverride All >> </Directory> >> ScriptAlias "/cgi-bin/" "/var/www/api.example.org/cgi-bin/" >> <IfModule mod_alias.c> >> Alias "/icons/" "/var/www/icons/" >> </IfModule> >> <IfModule mod_ssl.c> >> RewriteEngine on >> RewriteRule ^\/?(.*)$ https://%{SERVER_NAME}/$1 [R,L] >> </IfModule> >> </VirtualHost> >> >> # <IfModule mod_ssl.c> >> # <VirtualHost *:443> >> # ServerName api.example.org:443 >> # ServerAdmin w...@example.org >> # DocumentRoot /var/www/api.example.org >> # DirectoryIndex "index.html" "index.php" >> # CustomLog "/var/log/apache2/api.example.org-access.log" combined >> # ErrorLog "/var/log/apache2/api.example.org-error.log" >> # LogLevel warn >> # <Directory "/var/www/api.example.org"> >> # RewriteEngine Off >> # Options All +MultiViews -ExecCGI -Indexes -Includes >> # AllowOverride All >> # </Directory> >> # ScriptAlias "/cgi-bin/" "/var/www/api.example.org/cgi-bin/" >> # <Directory "/var/www/api.example.org/cgi-bin/"> >> # RewriteEngine Off >> # Options All +Includes +ExecCGI -Indexes +MultiViews >> # AllowOverride All >> # SetHandler cgi-script >> # AcceptPathInfo On >> # Require all granted >> # </Directory> >> # <IfModule mod_perl.c> >> # PerlOptions +GlobalRequest >> # PerlPassEnv MOD_PERL >> # PerlPassEnv HOME >> # PerlPassEnv SERVER_NAME >> # PerlPassEnv HTTP_HOST >> # PerlPassEnv REMOTE_ADDR >> # PerlPassEnv REMOTE_HOST >> # PerlPassEnv PATH_INFO >> # PerlPassEnv LC_MESSAGES >> # PerlPassEnv LANGUAGE >> # PerlModule Apache2::Request >> # PerlModule Apache2::Status >> # PerlModule Apache::DBI >> # <Location /> >> # SetHandler modperl >> # PerlHandler Apache::Registry >> # PerlSendHeader On >> # PerlSetupEnv On >> # PerlOptions +GlobalRequest >> # Options +Includes +ExecCGI >> # Order allow,deny >> # Allow from all >> # </Location> >> # </IfModule> >> # >> # SSLCertificateFile /etc/ssl/private/api.example.org/cert.pem >> # SSLCertificateKeyFile /etc/ssl/private/ >> api.example.org/privkey.pem >> # Include /etc/ssl/options-ssl-apache.conf >> # >> # <IfModule mod_alias.c> >> # Alias "/icons/" "/var/www/icons/" >> # </IfModule> >> # </Virtualhost> >> # </IfModule> >> ---- >> >> >> On 2022/07/03 19:00, Yong Walt wrote: >> >> but that vhost has a modperl handler as the endpoint only. >> >> On Sun, Jul 3, 2022 at 12:19 PM Mithun Bhattacharya <mit...@gmail.com> >> wrote: >> >>> You don't enable SSL for a endpoint you do it for a host/port >>> combination. All endpoints under that virtual host is SSL enabled. >>> >>> On Sat, Jul 2, 2022, 9:01 PM Yong Walt <yongw...@gmail.com> wrote: >>> >>>> Hello >>>> >>>> When I run certbot --apache for modperl handler service, it doesn't >>>> work. >>>> So how can I setup letsencrypt SSL for a pure handler web API? >>>> >>>> Thanks >>>> >>> >> > >