From 13a8050b4eaae78aee6cba92ed3806fa6eda97bc Mon Sep 17 00:00:00 2001 From: Oddvar Lovaas Date: Thu, 17 Mar 2016 17:12:04 +0000 Subject: [PATCH] added intro --- supporting-docs/guides/2016-01-01-index.md | 1 + .../guides/2016-03-15-lets-encrypt.rst | 40 +++++++++++++++++++ 2 files changed, 41 insertions(+) create mode 100644 supporting-docs/guides/2016-03-15-lets-encrypt.rst diff --git a/supporting-docs/guides/2016-01-01-index.md b/supporting-docs/guides/2016-01-01-index.md index 03b97858..0ac249b4 100644 --- a/supporting-docs/guides/2016-01-01-index.md +++ b/supporting-docs/guides/2016-01-01-index.md @@ -9,6 +9,7 @@ categories: guides

Here is a collection of guides that might help you get involved with Matrix.

First, there is the Getting Involved guide, which explains various ways of getting started with Matrix.

The Client-Server API guide explains in detail how to use the CS API, which is useful if you want to write a client (or modify an existing one) - or if you're just interested in how it works "under the hood".

+

Let's Encrypt Matrix explains how to use Let's Encrypt's certificates with your Synapse installation.

The Application services guide introduces and explains Application services, and what they can be used for.

Finally there is the FAQ, which tries to answer all your questions relating to Matrix!

diff --git a/supporting-docs/guides/2016-03-15-lets-encrypt.rst b/supporting-docs/guides/2016-03-15-lets-encrypt.rst new file mode 100644 index 00000000..e28061b0 --- /dev/null +++ b/supporting-docs/guides/2016-03-15-lets-encrypt.rst @@ -0,0 +1,40 @@ +--- +layout: post +title: Let's Encrypt Matrix +categories: guides +--- + +==================== +Let's Encrypt Matrix +==================== + +Let's Encrypt is a free Certificate Authority that makes it easy to secure your server's internet traffic. This makes it really easy to secure your Matrix homeserver, and this guide will explain exactly how you do this. + +0: Prerequisites +================ +* Install Synapse_. +* Install (or Download) `Let's Encrypt`_ + +1: Get certificates +=================== +When executing the Let's Encrypt client, it will ask for the domain name of your server, and your email address. The domain list can include multiple names and should include any domain you want to access the server from. + +Also, the certificates will be in a folder under /etc/letsencrypt (see below) and owned by root. These files should be copied to the same directory as the synapse install and owned by the user synapse is run as. + +:: + +# cd (path to synapse) +# ./letsencrypt-auto certonly --standalone +# sudo cp /etc/letsencrypt/live/(your domain name)/* . +# sudo chown (user synapse runs as) *.pem + +A note about renewal +-------------------- +These certificates will expire in 3 months. To renew certificates, just repeat this step. + +2: Install Certificates +======================= +At the top of your homeserver.yaml there should be two keys, ```tls_certificate_path``` and ```tls_private_key_path```. These should be changed so that instead of pointing to the default keys, they now point to the Let's Encrypt keys. ```tls_certificate_path``` should point to the ```fullchain.pem``` in the synapse install directory. ```tls_private_key_path``` should point to the ```privkey.pem``` in the synapse install directory. ```tls_dh_params_path``` can stay the same as before. + +.. _Synapse: https://github.com/matrix-org/synapse/blob/master/README.rst#synapse-installation +.. _Let's Encrypt: https://letsencrypt.readthedocs.org/en/latest/using.html#installation