I'm installing SSL using certbot on windows 10 and I'm using xampp server; so what will be the webroot?

I'm installing SSL using certbot on windows 10 and I'm using xampp server; so what will be the webroot? What is webroot actually; and what is the webroot path for the users using xampp server. Webroot is the directory where the site files are stored?? So is it the route to the htdocs/example.com directory. Please help.

There is no webroot in a xampp server, I think.

What's running on port 80? If nothing is running on port 80, you can use --standalone instead of --webroot.

1 Like

@9peppe 9peppe xampp is running on port 80. What's htdocs then? is it not webroot; where websites are stored?

What server is listening on port 80? You can use their webroot, yes.

Only thing, make sure the webserver is responding correctly on the fully qualified domain name (the entire string between https:// and the first /).

You can make any experiment you want if you add the --dry-run option.

1 Like

@9peppe peppe xampp is listening on port 80.

Ok, I read xmpp which is another thing.

Yes, webroot is where websites are stored. More importantly, each website has its own webroot.


@9peppe Thanks alot for help. Each website has its own webroot, right? that means each website webroot will be the path where it is stored right?

yes, if you are unsure just use --dry-run the first time, then remove it once sure.


@9peppe Dry run renewal was successful.

1 Like

@9peppe Thanks alot for clarifying things, By running dry run on renewal; everything was successful; so webroot entered is correct?

1 Like

It means it works. It should be correct but you're the only one who can tell.

If dry-run works, you can go on to the actual run.


@9peppe I've done installing the ssl with actual run; but I had to copy the certificate files to another location (to one of the apache directories) and mention the cerficate paths in httpd-vhosts.conf & httpd-ssl.conf and it works. Everytime it renews in certbot folder; i'll have copy those files to one of those directories (config directory) in apache.

I mean certificates were issued; but had to move to different location (to apache folder) to make it work.

There are options for that.

  --key-path KEY_PATH   Path to private key for certificate installation or
                        revocation (if account key is missing) (default: None)
  --fullchain-path FULLCHAIN_PATH
                        Accompanying path to a full certificate chain
                        (certificate plus chain). (default: None)

certbot renew --cert-name your cert name --fullchain-path path you want the cert in --key-path same for the key (it won't renew if there is no reason to, but should save the config)

Or you can tell apache to look for the certificates and keys in the certbot live directory (and then reload the server apache.exe -k restart or something like that.)


I did tried it; but any path out off apache is not being picked up by apache and apache throws up error something like=> missing dependencies.

ok, use the two options above and add a --deploy-hook with a command to reload or restart apache

1 Like

That way it autorenews certs being at apache folder?

Yes, it should.

1 Like

@9peppe I should edit the cert paths in domain's config file that's in renewal directory right?

@9peppe I edited the paths of certs in domain's config file; I gave the certbot, the apache directory path (where I copied the certs).

And it throws the error when I dry ran renewal =>

Renewal configuration file C:\Certbot\renewal\qrcircuit.com.conf is broken.
The error was: expected C:/xampp/apache/conf/qrcircuit.com/cert.pem to be a symlink

I might have misunderstood the purpose of those options. You should write your own deploy hook that makes the copies.

1 Like