I'd recommend using the --webroot authenticator instead of the manual plugin you're using now. See its documentation at User Guide — Certbot 2.6.0 documentation
Depending on the version of certbot, it may be "smart enough" to notice if there already exists a cert that covers that name [or not].
And depending on such factors, it may create a new, or renew, an existing cert.
When you run it interactively, it will prompt you for input and let you choose your path.
No, it will create the challenge at the specified webroot path, the certificates go into their regular location in /etc/letsencrypt/ (Or C:\certbot on Windows I guess).
I tried this command after I had time today, but challenge failed.
Could you help me to fix it?
Attach fail message
It produced this output: It's returning 404.
http://[mydomain].com.tw/.well-known/acme-challenge/kA69FYtRB1AfQXnZEkv891XzM31PsT0Xo8kHbSyfIeM: 404
I tried this command after I had time today, but challenge failed.
Command >certbot certonly --webroot -w C:\Certbot -d domain
Could you help me to fix it?
Attach fail message
It produced this output: It's returning 404.
http://[mydomain].com.tw/.well-known/acme-challenge/kA69FYtRB1AfQXnZEkv891XzM31PsT0Xo8kHbSyfIeM: 404
The apache document root is where your website html files are, if you are using apache.
However, if I browse to http://bot.gumptech.com.tw it's using the Microsoft IIS web server, not Apache. If this choice of web server is intentional (i.e. your website doesn't need to use Apache specifically) I would suggest using https://certifytheweb.com to manage certificates on Windows because it has special integration with IIS. I develop this application, so I'm biased, there are many other tools available.
Install the app, follow the instructions from Requesting a Certificate | Certify The Web Docs to get started, assuming your IIS site has the domains correctly set as hostnames in the http bindings it's basically:
Click "New Certificate", (you will be prompted to add a contact email for Let's Encrypt account registration)
select your IIS site from the dropdown and it will read your website configuration to populate the correct domains to include in the certificate.
Click "Request Certificate". If the certificate order and binding updates all succeed, then your website will now also be accessible at https://bot.gumptech.com.tw and the certificate will renew automatically as required.
If you do want to use Certbot for that, you should look up your DocumentRoot path, and then supply that with the -w option. The -w is not supposed to be a reference to where Certbot itself is installed, but rather to where content is served from by your specific web server.
As long as the Apache server is capable of serving static files from this location, its configuration would not need to be changed.
You might also be able to use the --apache method instead of the --webroot method, although I don't know how reliable --apache is on Windows.
No, it is not. First, locate the Apache config file that contains the VirtualHost definition for this domain. Look for a line with DocumentRoot that names a folder. This is what the -w folder on the Certbot command line should specify.