5.9 KiB
User Guide
Table of Contents
Installation
Unless you have a very specific requirements, we kindly ask you to use the letsencrypt-auto method described below. It's the fastest, the most thoroughly tested and the most reliable way of getting our software and the free SSL certificates!
letsencrypt-auto
letsencrypt-auto is a wrapper which installs some
dependencies from your OS standard package repositories (e.g using apt-get or yum),
and for other dependencies it sets up a virtualized Python environment
with packages downloaded from PyPI1. It also provides
automated updates.
Firstly, please install Git and run the following commands:
git clone https://github.com/letsencrypt/letsencrypt
cd letsencrypt
Warning
Alternatively you could download the ZIP archive and extract the snapshot of our repository, but it's strongly recommended to use the above method instead.
To install and run the client you just need to type:
./letsencrypt-auto
Throughout the documentation, whenever you see references to
letsencrypt script/binary, you can substitute in
letsencrypt-auto. For example, to get the help you would
type:
./letsencrypt-auto --help
Running with Docker
Docker is another way to quickly obtain testing certs. From the server that the domain your requesting a cert for resolves to, install Docker, issue the following command:
sudo docker run -it --rm -p 443:443 --name letsencrypt \
-v "/etc/letsencrypt:/etc/letsencrypt" \
-v "/var/lib/letsencrypt:/var/lib/letsencrypt" \
quay.io/letsencrypt/letsencrypt:latest auth
and follow the instructions. Your new cert will be available in
/etc/letsencrypt/certs.
Distro packages
Unfortunately, this is an ongoing effort. If you'd like to package
Let's Encrypt client for your distribution of choice please have a look
at the packaging.
From source
Installation from source is only supported for developers and the
whole process is described in the contributing.
Warning
Please do not use
python setup.py install or
python pip install .. Please do not
attempt the installation commands as superuser/root and/or without
virtual environment, e.g. sudo python setup.py install,
sudo pip install, sudo ./venv/bin/.... These
modes of operation might corrupt your operating system and are
not supported by the Let's Encrypt team!
Plugins
Officially supported plugins:
| Plugin | A | I | Notes and status |
|---|---|---|---|
| standalone | Y | N | Very stable. Uses port 80 (force by
--standalone-supported-challenges simpleHttp) or 443 (force
by standalone-supported-challenges dvsni). |
| webroot | Y | N | Works with already running webserver, by writing necessary files to
the disk (--webroot-path should be pointed to your
public_html). Currently, when multiple domains are
specified (-d), they must all use the
same web root path. |
| manual | Y | N | Hidden from standard UI, use with --a manual. Requires
to copy and paste commands into a new terminal session. Allows to run
client on machine different than target webserver, e.g. your
laptop. |
| apache | Y | Y | Alpha - might break stuff, so be careful. Support for Debian-derived distros only. |
| nginx | Y | Y | Very experimental. Not included in letsencrypt-auto. |
Third party plugins are listed at https://github.com/letsencrypt/letsencrypt/wiki/Plugins.
If that that's not enough, you can always write your own plugin
<dev-plugin>.
Configuration file
It is possible to specify configuration file with
letsencrypt-auto --config cli.ini (or shorter
-c cli.ini). An example configuration file is shown
below:
By default, the following locations are searched:
/etc/letsencrypt/cli.ini$XDG_CONFIG_HOME/letsencrypt/cli.ini(or~/.config/letsencrypt/cli.iniif$XDG_CONFIG_HOMEis not set).
Getting help
If you're having problems you can chat with us on IRC (#letsencrypt @ Freenode) or get support on our forums.
If you find a bug in the software, please do report it in our issue tracker. Remember to give us us as much information as possible:
- copy and paste exact command line used and the output (though mind that the latter might include some personally identifiable information, including your email and domains)
- copy and paste logs from
/var/log/letsencrypt(though mind they also might contain personally identifiable information) - copy and paste
letsencrypt --versionoutput - your operating system, including specific version
- specify which installation method you've chosen
Footnotes
By using this virtualized Python environment (virtualenv) we don't pollute the main OS space with packages from PyPI!↩︎