<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://docs.ulyssis.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Principis</id>
	<title>ULYSSIS documentation - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://docs.ulyssis.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Principis"/>
	<link rel="alternate" type="text/html" href="https://docs.ulyssis.org/Special:Contributions/Principis"/>
	<updated>2026-05-02T22:58:26Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.39.15</generator>
	<entry>
		<id>https://docs.ulyssis.org/index.php?title=Getting_SSL/TLS&amp;diff=1196</id>
		<title>Getting SSL/TLS</title>
		<link rel="alternate" type="text/html" href="https://docs.ulyssis.org/index.php?title=Getting_SSL/TLS&amp;diff=1196"/>
		<updated>2020-12-12T00:35:48Z</updated>

		<summary type="html">&lt;p&gt;Principis: /* Getting your certificates installed */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;ULYSSIS does not sell or offer any other SSL certificates than our self-signed certificate. We will however guide requests and install a certificate from the KU Leuven is you are eligible for one, and we will also install certificates you have bought or obtained elsewhere.&lt;br /&gt;
&lt;br /&gt;
==Requesting SSL from the KU Leuven==&lt;br /&gt;
&lt;br /&gt;
The KU Leuven partners with other universities through TERENA/Géant to arrange certificates for its services, organisations and academic structures. We have permission to request free SSL/TLS certificates for student unions (kringen) recognized by LOKO or faculty consultative bodies (facultaire overlegorganen) recognized by Stura body as well as organisations (vrije verenigingen) recognized by LOKO or KU Leuven.&lt;br /&gt;
&lt;br /&gt;
Before sending us a request, the following steps have to be performed:&lt;br /&gt;
* Set up the site that needs SSL if that's not already the case&lt;br /&gt;
* Create a forwarder from hostmaster@yourdomain.tld to ulyssis@ulyssis.org&lt;br /&gt;
* Make sure our nameservers are being used for the involved domain(s), as explained on [[Adding domain names]]&lt;br /&gt;
* Consider all subdomains (whether separate websites or not) you wish to have certificates for&lt;br /&gt;
* Make a list of all relevant arguments for your use of SSL/TLS certificates. It's important to consider aspects of your website where important or personal information is exchanged: registration, login pages, newsletter signup, etc.&lt;br /&gt;
&lt;br /&gt;
When '''all''' steps are done, the account holder of the ULYSSIS account can send an email to ulyssis@ulyssis.org containing their name, the name of the organisation, the relevant arguments what you will use SSL for and the domain and if needed a list of subdomains that should be covered by the certificate.&lt;br /&gt;
&lt;br /&gt;
Based on our previous experience and our arrangements with ICTS we will consider whether you are eligible for certificates and whether your request is well-founded. We will then generate the required cryptographic key and request and submit them on the certificate platform supplied by ICTS and its partners. Depending on the situation, the verification and delivery of the certificate can take some time. As soon as the certificate has been issued, we will install it and notify you.&lt;br /&gt;
&lt;br /&gt;
For procedures to request certificates, we follow instructions from ICTS. These instructions have changed several times in the past, so it's possible for a new request or for a renewal, you may have to follow a different procedure or make changes.&lt;br /&gt;
&lt;br /&gt;
{{notice|Limitations|ICTS does not allow SSL requests for historic *.student.kuleuven.be domains. We judge requests for username.ulyssis.be and username.studentenweb.org on an individual basis.}}&lt;br /&gt;
&lt;br /&gt;
==External certificates==&lt;br /&gt;
To install external certificates we require the certificate itself, the private key, and possibly the chain. We prefer you also send us (a link to) the documentation of your supplier. As certificate files, especially private keys, are a delicate matter we suggest you just email us the path in your homedirectory you've put them and we will move them over to the webserver safely. For more information concerning this procedure you can always contact us on ulyssis@ulyssis.org&lt;br /&gt;
&lt;br /&gt;
===Let's Encrypt===&lt;br /&gt;
We currently do not have an automated system for renewing and deploying certificates such as those supplied by Let's Encrypt. We are however looking into automating this process in the future. Since more of our users are starting to use Let's Encrypt, and all of their certificates need to be renewed frequently, we have a specific procedure now.&lt;br /&gt;
&lt;br /&gt;
When wishing to add a certificate with Let's Encrypt to your website, or renew your existing one, first create a folder &amp;lt;code&amp;gt;letsencrypt&amp;lt;/code&amp;gt; in your '''home directory'''. Then add a folder per domain or group of domains:&lt;br /&gt;
&lt;br /&gt;
 mkdir -p ~/letsencrypt/mydomain.be&lt;br /&gt;
&lt;br /&gt;
Certificates should be stored in these folders, according to the following file structure:&lt;br /&gt;
&lt;br /&gt;
 letsencrypt/&lt;br /&gt;
 └── mydomain.be/&lt;br /&gt;
     ├── mydomain.be.chain (the CA file)&lt;br /&gt;
     ├── mydomain.be.crt (the cert file; &amp;quot;public key&amp;quot;)&lt;br /&gt;
     └── mydomain.be.key (the key file; &amp;quot;private key&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
If you already possess the necessary files, renaming and copying them accordingly is sufficient. &lt;br /&gt;
'''You still have to email us to install your certificate.''' More information in the last section on this page.&lt;br /&gt;
&lt;br /&gt;
Otherwise, you can generate or renew your certificates using acme.sh. This is explained in the next section.&lt;br /&gt;
&lt;br /&gt;
==== Generating certificates ====&lt;br /&gt;
{{notice|If you use a &amp;lt;code&amp;gt;.htaccess&amp;lt;/code&amp;gt; file in the webroot of the domain name, make sure to add the following lines at the top of the file:|&amp;lt;pre&amp;gt;&amp;lt;IfModule mod_rewrite.c&amp;gt;&lt;br /&gt;
    RewriteRule &amp;quot;^.well-known/acme-challenge&amp;quot; - [L]&lt;br /&gt;
&amp;lt;/IfModule&amp;gt;&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
Because the normal method of generating Let's Encrypt certificates, certbot, requires root access, it's impossible for normal users to do so on our servers. Luckily there are plenty of alternatives which implement the Let's Encrypt protocol. In this tutorial, we'll show how to use the acme.sh program to generate certificates on the ULYSSIS servers. '''If you already followed this section to generate certificates, skip to the next section on renewing certificates.'''&lt;br /&gt;
&lt;br /&gt;
Firstly, execute the following commands to download the acme.sh script in your home directory and make it executable:&lt;br /&gt;
&lt;br /&gt;
 curl -o ~/acme.sh https://raw.githubusercontent.com/acmesh-official/acme.sh/master/acme.sh&lt;br /&gt;
 chmod +x ~/acme.sh&lt;br /&gt;
&lt;br /&gt;
Next, determine for which domains and subdomains you want to generate a certificate. You will need to generate a single certificate for each domain and subdomain which points to the same folder on your account (in most cases this is &amp;lt;code&amp;gt;www&amp;lt;/code&amp;gt; in your home directory).&lt;br /&gt;
&lt;br /&gt;
The following example command will generate a certificate for &amp;lt;code&amp;gt;mydomain.be&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;www.mydomain.be&amp;lt;/code&amp;gt; which points to the &amp;lt;code&amp;gt;www&amp;lt;/code&amp;gt; folder in the home directory. '''Change the parameters''' as explained below before executing this command!&lt;br /&gt;
&lt;br /&gt;
 ~/acme.sh --issue --cert-file ~/letsencrypt/mydomain.be/mydomain.be.crt --key-file ~/letsencrypt/mydomain.be/mydomain.be.key --ca-file ~/letsencrypt/mydomain.be/mydomain.be.chain -m &amp;quot;email@mydomain.be&amp;quot; -w ~/www -d mydomain.be -d www.mydomain.be&lt;br /&gt;
&lt;br /&gt;
The explanation of these many parameters is as follows:&lt;br /&gt;
* &amp;lt;code&amp;gt;--issue&amp;lt;/code&amp;gt; tells acme.sh to generate a new certificate.&lt;br /&gt;
* &amp;lt;code&amp;gt;--cert-file ~/letsencrypt/mydomain.be/mydomain.be.crt&amp;lt;/code&amp;gt; tells acme.sh to store the certificate file in the &amp;lt;code&amp;gt;letsencrypt/mydomain.be&amp;lt;/code&amp;gt; folder in your home directory, using the special file name as required by the file structure. '''This folder should already exist''', please refer to the previous section if you have not created this folder yet.&lt;br /&gt;
* &amp;lt;code&amp;gt;--key-file ~/letsencrypt/mydomain.be/mydomain.be.key&amp;lt;/code&amp;gt; tells acme.sh to store the key file in the &amp;lt;code&amp;gt;letsencrypt/mydomain.be&amp;lt;/code&amp;gt; folder in your home directory, using the special file name as required by the file structure.&lt;br /&gt;
* &amp;lt;code&amp;gt;--ca-file ~/letsencrypt/mydomain.be/mydomain.be.chain&amp;lt;/code&amp;gt; tells acme.sh to store the CA file in the &amp;lt;code&amp;gt;letsencrypt/mydomain.be&amp;lt;/code&amp;gt; folder in your home directory, using the special file name as required by the file structure.&lt;br /&gt;
* &amp;lt;code&amp;gt;-m &amp;quot;email@mydomain.be&amp;quot;&amp;lt;/code&amp;gt; tells acme.sh the email address associated with the certificate. Let's Encrypt will remind this email address (if provided) when the certificate is close to expiring.&lt;br /&gt;
* &amp;lt;code&amp;gt;-w ~/www&amp;lt;/code&amp;gt; tells acme.sh where the domains in this certificate point to. Make sure to change the &amp;lt;code&amp;gt;www&amp;lt;/code&amp;gt; part if the domains point to a different folder in your home directory.&lt;br /&gt;
* &amp;lt;code&amp;gt;-d mydomain.be&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;-d www.mydomain.be&amp;lt;/code&amp;gt; tell acme.sh that the certificate should protect &amp;lt;code&amp;gt;mydomain.be&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;www.mydomain.be&amp;lt;/code&amp;gt;. The first domain name will be the &amp;quot;main domain&amp;quot;, which is important for renewing. You should '''add all domain names''' pointing to the &amp;lt;code&amp;gt;-w&amp;lt;/code&amp;gt; folder.&lt;br /&gt;
&lt;br /&gt;
After executing this command with the right parameters, your certificate should be generated successfully. When you have to renew the certificate in the future, you should follow the instructions in the next section. '''Don't forget to email us to install your new certificate.''' More information in the last section on this page.&lt;br /&gt;
&lt;br /&gt;
==== Renewing certificates ====&lt;br /&gt;
To renew the certificates of &amp;lt;code&amp;gt;mydomain.be&amp;lt;/code&amp;gt;, just execute:&lt;br /&gt;
 ~/acme.sh --renew -d mydomain.be&lt;br /&gt;
&lt;br /&gt;
For the &amp;lt;code&amp;gt;-d&amp;lt;/code&amp;gt; parameter, you have to provide the '''first''' domain name you provided when generating the certificate (in the previous section, this was &amp;lt;code&amp;gt;mydomain.be&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
If you are not sure which domain name to use, you can execute the command:&lt;br /&gt;
 ~/acme.sh --list&lt;br /&gt;
&lt;br /&gt;
This will generate a list of available certificates, which looks a bit like this:&lt;br /&gt;
 Main_Domain  KeyLength  SAN_Domains      CA               Created  Renew&lt;br /&gt;
 mydomain.be  &amp;quot;&amp;quot;         www.mydomain.be  LetsEncrypt.org  ...      ...&lt;br /&gt;
 ...          ...        ...              ...              ...      ...&lt;br /&gt;
&lt;br /&gt;
In this example, the main domain is &amp;lt;code&amp;gt;mydomain.be&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
The renewed certificates will automatically be copied to the files you provided in the command to generate the certificates (see previous section).&lt;br /&gt;
&lt;br /&gt;
'''After renewing the certificate, you have to email us to install your certificate.''' More information in the next section.&lt;br /&gt;
&lt;br /&gt;
==== Getting your certificates installed ====&lt;br /&gt;
Check whether everything is stored correctly by executing the following command:&lt;br /&gt;
 ulyssis-certificate check mydomain.be&lt;br /&gt;
&lt;br /&gt;
If everything looks good, you should only see lines starting with &amp;lt;code&amp;gt;[ OK ]&amp;lt;/code&amp;gt;. Any line starting with &amp;lt;code&amp;gt;[FAIL]&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;[ABRT]&amp;lt;/code&amp;gt; means a check has failed, you must correct this error before asking us to install your certificate. &lt;br /&gt;
&lt;br /&gt;
Once all steps are done and if you are the '''account holder''', '''you can send us an email clearly stating the account name, for which domains we need to add certificates and where the files are stored'''. If you are renewing existing certificates, also clearly state that in your email.&lt;br /&gt;
&lt;br /&gt;
We have largely automated the installation of certificates. If you do not follow these instructions, your request will be denied or you may end up with broken SSL, so make sure you follow this procedure carefully.&lt;br /&gt;
&lt;br /&gt;
[[Category:Webserver]]&lt;/div&gt;</summary>
		<author><name>Principis</name></author>
	</entry>
	<entry>
		<id>https://docs.ulyssis.org/index.php?title=Getting_SSL/TLS&amp;diff=1195</id>
		<title>Getting SSL/TLS</title>
		<link rel="alternate" type="text/html" href="https://docs.ulyssis.org/index.php?title=Getting_SSL/TLS&amp;diff=1195"/>
		<updated>2020-12-12T00:31:56Z</updated>

		<summary type="html">&lt;p&gt;Principis: /* Getting your certificates installed */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;ULYSSIS does not sell or offer any other SSL certificates than our self-signed certificate. We will however guide requests and install a certificate from the KU Leuven is you are eligible for one, and we will also install certificates you have bought or obtained elsewhere.&lt;br /&gt;
&lt;br /&gt;
==Requesting SSL from the KU Leuven==&lt;br /&gt;
&lt;br /&gt;
The KU Leuven partners with other universities through TERENA/Géant to arrange certificates for its services, organisations and academic structures. We have permission to request free SSL/TLS certificates for student unions (kringen) recognized by LOKO or faculty consultative bodies (facultaire overlegorganen) recognized by Stura body as well as organisations (vrije verenigingen) recognized by LOKO or KU Leuven.&lt;br /&gt;
&lt;br /&gt;
Before sending us a request, the following steps have to be performed:&lt;br /&gt;
* Set up the site that needs SSL if that's not already the case&lt;br /&gt;
* Create a forwarder from hostmaster@yourdomain.tld to ulyssis@ulyssis.org&lt;br /&gt;
* Make sure our nameservers are being used for the involved domain(s), as explained on [[Adding domain names]]&lt;br /&gt;
* Consider all subdomains (whether separate websites or not) you wish to have certificates for&lt;br /&gt;
* Make a list of all relevant arguments for your use of SSL/TLS certificates. It's important to consider aspects of your website where important or personal information is exchanged: registration, login pages, newsletter signup, etc.&lt;br /&gt;
&lt;br /&gt;
When '''all''' steps are done, the account holder of the ULYSSIS account can send an email to ulyssis@ulyssis.org containing their name, the name of the organisation, the relevant arguments what you will use SSL for and the domain and if needed a list of subdomains that should be covered by the certificate.&lt;br /&gt;
&lt;br /&gt;
Based on our previous experience and our arrangements with ICTS we will consider whether you are eligible for certificates and whether your request is well-founded. We will then generate the required cryptographic key and request and submit them on the certificate platform supplied by ICTS and its partners. Depending on the situation, the verification and delivery of the certificate can take some time. As soon as the certificate has been issued, we will install it and notify you.&lt;br /&gt;
&lt;br /&gt;
For procedures to request certificates, we follow instructions from ICTS. These instructions have changed several times in the past, so it's possible for a new request or for a renewal, you may have to follow a different procedure or make changes.&lt;br /&gt;
&lt;br /&gt;
{{notice|Limitations|ICTS does not allow SSL requests for historic *.student.kuleuven.be domains. We judge requests for username.ulyssis.be and username.studentenweb.org on an individual basis.}}&lt;br /&gt;
&lt;br /&gt;
==External certificates==&lt;br /&gt;
To install external certificates we require the certificate itself, the private key, and possibly the chain. We prefer you also send us (a link to) the documentation of your supplier. As certificate files, especially private keys, are a delicate matter we suggest you just email us the path in your homedirectory you've put them and we will move them over to the webserver safely. For more information concerning this procedure you can always contact us on ulyssis@ulyssis.org&lt;br /&gt;
&lt;br /&gt;
===Let's Encrypt===&lt;br /&gt;
We currently do not have an automated system for renewing and deploying certificates such as those supplied by Let's Encrypt. We are however looking into automating this process in the future. Since more of our users are starting to use Let's Encrypt, and all of their certificates need to be renewed frequently, we have a specific procedure now.&lt;br /&gt;
&lt;br /&gt;
When wishing to add a certificate with Let's Encrypt to your website, or renew your existing one, first create a folder &amp;lt;code&amp;gt;letsencrypt&amp;lt;/code&amp;gt; in your '''home directory'''. Then add a folder per domain or group of domains:&lt;br /&gt;
&lt;br /&gt;
 mkdir -p ~/letsencrypt/mydomain.be&lt;br /&gt;
&lt;br /&gt;
Certificates should be stored in these folders, according to the following file structure:&lt;br /&gt;
&lt;br /&gt;
 letsencrypt/&lt;br /&gt;
 └── mydomain.be/&lt;br /&gt;
     ├── mydomain.be.chain (the CA file)&lt;br /&gt;
     ├── mydomain.be.crt (the cert file; &amp;quot;public key&amp;quot;)&lt;br /&gt;
     └── mydomain.be.key (the key file; &amp;quot;private key&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
If you already possess the necessary files, renaming and copying them accordingly is sufficient. &lt;br /&gt;
'''You still have to email us to install your certificate.''' More information in the last section on this page.&lt;br /&gt;
&lt;br /&gt;
Otherwise, you can generate or renew your certificates using acme.sh. This is explained in the next section.&lt;br /&gt;
&lt;br /&gt;
==== Generating certificates ====&lt;br /&gt;
{{notice|If you use a &amp;lt;code&amp;gt;.htaccess&amp;lt;/code&amp;gt; file in the webroot of the domain name, make sure to add the following lines at the top of the file:|&amp;lt;pre&amp;gt;&amp;lt;IfModule mod_rewrite.c&amp;gt;&lt;br /&gt;
    RewriteRule &amp;quot;^.well-known/acme-challenge&amp;quot; - [L]&lt;br /&gt;
&amp;lt;/IfModule&amp;gt;&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
Because the normal method of generating Let's Encrypt certificates, certbot, requires root access, it's impossible for normal users to do so on our servers. Luckily there are plenty of alternatives which implement the Let's Encrypt protocol. In this tutorial, we'll show how to use the acme.sh program to generate certificates on the ULYSSIS servers. '''If you already followed this section to generate certificates, skip to the next section on renewing certificates.'''&lt;br /&gt;
&lt;br /&gt;
Firstly, execute the following commands to download the acme.sh script in your home directory and make it executable:&lt;br /&gt;
&lt;br /&gt;
 curl -o ~/acme.sh https://raw.githubusercontent.com/acmesh-official/acme.sh/master/acme.sh&lt;br /&gt;
 chmod +x ~/acme.sh&lt;br /&gt;
&lt;br /&gt;
Next, determine for which domains and subdomains you want to generate a certificate. You will need to generate a single certificate for each domain and subdomain which points to the same folder on your account (in most cases this is &amp;lt;code&amp;gt;www&amp;lt;/code&amp;gt; in your home directory).&lt;br /&gt;
&lt;br /&gt;
The following example command will generate a certificate for &amp;lt;code&amp;gt;mydomain.be&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;www.mydomain.be&amp;lt;/code&amp;gt; which points to the &amp;lt;code&amp;gt;www&amp;lt;/code&amp;gt; folder in the home directory. '''Change the parameters''' as explained below before executing this command!&lt;br /&gt;
&lt;br /&gt;
 ~/acme.sh --issue --cert-file ~/letsencrypt/mydomain.be/mydomain.be.crt --key-file ~/letsencrypt/mydomain.be/mydomain.be.key --ca-file ~/letsencrypt/mydomain.be/mydomain.be.chain -m &amp;quot;email@mydomain.be&amp;quot; -w ~/www -d mydomain.be -d www.mydomain.be&lt;br /&gt;
&lt;br /&gt;
The explanation of these many parameters is as follows:&lt;br /&gt;
* &amp;lt;code&amp;gt;--issue&amp;lt;/code&amp;gt; tells acme.sh to generate a new certificate.&lt;br /&gt;
* &amp;lt;code&amp;gt;--cert-file ~/letsencrypt/mydomain.be/mydomain.be.crt&amp;lt;/code&amp;gt; tells acme.sh to store the certificate file in the &amp;lt;code&amp;gt;letsencrypt/mydomain.be&amp;lt;/code&amp;gt; folder in your home directory, using the special file name as required by the file structure. '''This folder should already exist''', please refer to the previous section if you have not created this folder yet.&lt;br /&gt;
* &amp;lt;code&amp;gt;--key-file ~/letsencrypt/mydomain.be/mydomain.be.key&amp;lt;/code&amp;gt; tells acme.sh to store the key file in the &amp;lt;code&amp;gt;letsencrypt/mydomain.be&amp;lt;/code&amp;gt; folder in your home directory, using the special file name as required by the file structure.&lt;br /&gt;
* &amp;lt;code&amp;gt;--ca-file ~/letsencrypt/mydomain.be/mydomain.be.chain&amp;lt;/code&amp;gt; tells acme.sh to store the CA file in the &amp;lt;code&amp;gt;letsencrypt/mydomain.be&amp;lt;/code&amp;gt; folder in your home directory, using the special file name as required by the file structure.&lt;br /&gt;
* &amp;lt;code&amp;gt;-m &amp;quot;email@mydomain.be&amp;quot;&amp;lt;/code&amp;gt; tells acme.sh the email address associated with the certificate. Let's Encrypt will remind this email address (if provided) when the certificate is close to expiring.&lt;br /&gt;
* &amp;lt;code&amp;gt;-w ~/www&amp;lt;/code&amp;gt; tells acme.sh where the domains in this certificate point to. Make sure to change the &amp;lt;code&amp;gt;www&amp;lt;/code&amp;gt; part if the domains point to a different folder in your home directory.&lt;br /&gt;
* &amp;lt;code&amp;gt;-d mydomain.be&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;-d www.mydomain.be&amp;lt;/code&amp;gt; tell acme.sh that the certificate should protect &amp;lt;code&amp;gt;mydomain.be&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;www.mydomain.be&amp;lt;/code&amp;gt;. The first domain name will be the &amp;quot;main domain&amp;quot;, which is important for renewing. You should '''add all domain names''' pointing to the &amp;lt;code&amp;gt;-w&amp;lt;/code&amp;gt; folder.&lt;br /&gt;
&lt;br /&gt;
After executing this command with the right parameters, your certificate should be generated successfully. When you have to renew the certificate in the future, you should follow the instructions in the next section. '''Don't forget to email us to install your new certificate.''' More information in the last section on this page.&lt;br /&gt;
&lt;br /&gt;
==== Renewing certificates ====&lt;br /&gt;
To renew the certificates of &amp;lt;code&amp;gt;mydomain.be&amp;lt;/code&amp;gt;, just execute:&lt;br /&gt;
 ~/acme.sh --renew -d mydomain.be&lt;br /&gt;
&lt;br /&gt;
For the &amp;lt;code&amp;gt;-d&amp;lt;/code&amp;gt; parameter, you have to provide the '''first''' domain name you provided when generating the certificate (in the previous section, this was &amp;lt;code&amp;gt;mydomain.be&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
If you are not sure which domain name to use, you can execute the command:&lt;br /&gt;
 ~/acme.sh --list&lt;br /&gt;
&lt;br /&gt;
This will generate a list of available certificates, which looks a bit like this:&lt;br /&gt;
 Main_Domain  KeyLength  SAN_Domains      CA               Created  Renew&lt;br /&gt;
 mydomain.be  &amp;quot;&amp;quot;         www.mydomain.be  LetsEncrypt.org  ...      ...&lt;br /&gt;
 ...          ...        ...              ...              ...      ...&lt;br /&gt;
&lt;br /&gt;
In this example, the main domain is &amp;lt;code&amp;gt;mydomain.be&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
The renewed certificates will automatically be copied to the files you provided in the command to generate the certificates (see previous section).&lt;br /&gt;
&lt;br /&gt;
'''After renewing the certificate, you have to email us to install your certificate.''' More information in the next section.&lt;br /&gt;
&lt;br /&gt;
==== Getting your certificates installed ====&lt;br /&gt;
Check whether everything is stored correctly by executing the following command:&lt;br /&gt;
 ulyssis-certificate check mydomain.be&lt;br /&gt;
&lt;br /&gt;
If everything looks good, you should only see lines starting with &amp;lt;code&amp;gt;[ OK ]&amp;lt;/code&amp;gt;. Any line starting with &amp;lt;code&amp;gt;[FAIL]&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;[ABRT]&amp;lt;/code&amp;gt; means a check has failed, you must correct this error before asking us to install your certificate. &lt;br /&gt;
&lt;br /&gt;
Once all steps are done, the account holder can '''send us an email clearly stating the account name, for which domains we need to add certificates and where the files are stored'''. If you are renewing existing certificates, also clearly state that in the email.&lt;br /&gt;
&lt;br /&gt;
We have largely automated the installation of certificates. If you do not follow these instructions, your request will be denied or you may end up with broken SSL, so make sure you follow this procedure carefully.&lt;br /&gt;
&lt;br /&gt;
[[Category:Webserver]]&lt;/div&gt;</summary>
		<author><name>Principis</name></author>
	</entry>
	<entry>
		<id>https://docs.ulyssis.org/index.php?title=Getting_SSL/TLS&amp;diff=1076</id>
		<title>Getting SSL/TLS</title>
		<link rel="alternate" type="text/html" href="https://docs.ulyssis.org/index.php?title=Getting_SSL/TLS&amp;diff=1076"/>
		<updated>2020-06-02T10:55:36Z</updated>

		<summary type="html">&lt;p&gt;Principis: /* Renewing the certificates */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;ULYSSIS does not sell or offer any other SSL certificates than our self-signed certificate. We will however guide requests and install a certificate from the KU Leuven is you are eligible for one, and we will also install certificates you have bought or obtained elsewhere.&lt;br /&gt;
&lt;br /&gt;
==Requesting SSL from the KU Leuven==&lt;br /&gt;
&lt;br /&gt;
The KU Leuven partners with other universities to use free SSL for its services, organisations and employees. We have permission to request SSL for Student Unions recognized by LOKO or another official body. Organisations (Vrije Verenigingen) are required to be recognized by LOKO or another official body and need to supply a reasoning why they need SSL. Individual users can request SSL but ICTS will only grant permission with elaborate reasoning.&lt;br /&gt;
&lt;br /&gt;
Before sending us a request the following steps have to be done:&lt;br /&gt;
*Setup the site that needs SSL&lt;br /&gt;
*Change the domain's organisation-attribute to ''KU Leuven'' or ''Katholieke Universiteit Leuven''&lt;br /&gt;
*Create a forwarder from hostmaster@yourdomain.tld to ulyssis@ulyssis.org&lt;br /&gt;
&lt;br /&gt;
Then you can send an email to ulyssis@ulyssis.org containing your name, the name of the organisation, what you will use SSL for and the domain and if needed a list of subdomains.&lt;br /&gt;
&lt;br /&gt;
We will then generate the required cryptographic key and request and submit them with ICTS. It usually takes a few days before they have had time to verify both the domain and then the request for SSL itself. As soon as ICTS approves the request we will install the certificate and notify you.&lt;br /&gt;
&lt;br /&gt;
{{notice|Limitations|ICTS does not allow SSL requests for historic *.student.kuleuven.be and *.student.kuleuven.ac.be domain. We judge requests for username.ulyssis.be and username.studentenweb.org on an individual basis.}}&lt;br /&gt;
&lt;br /&gt;
==External certificates==&lt;br /&gt;
To install external certificates we require the certificate itself, the private key, and possibly the chain. We prefer you also send us (a link to) the documentation of your supplier. As certificate files, especially private keys, are a delicate matter we suggest you just email us the path in your homedirectory you've put them and we will move them over to the webserver safely. For more information concerning this procedure you can always contact us on ulyssis@ulyssis.org&lt;br /&gt;
&lt;br /&gt;
===Let's Encrypt===&lt;br /&gt;
==== Certificate file structure ====&lt;br /&gt;
&lt;br /&gt;
We currently do not have an automated system for renewing and deploying certificates such as those supplied by Let's Encrypt. We are however looking into automating this process in the future. Since more of our users are starting to use Let's Encrypt, and all of their certificates need to be renewed frequently, we have a specific procedure now.&lt;br /&gt;
&lt;br /&gt;
When wishing to add a certificate with Let's Encrypt to your website, or renew your existing one, first create a folder &amp;lt;code&amp;gt;letsencrypt&amp;lt;/code&amp;gt; in your '''home directory'''. Then add a folder per domain or group of domains:&lt;br /&gt;
 mkdir letsencrypt&lt;br /&gt;
 mkdir letsencrypt/mydomain.be&lt;br /&gt;
&lt;br /&gt;
Certificates should be stored in these folders, according to the following file structure:&lt;br /&gt;
 letsencrypt/&lt;br /&gt;
 └── mydomain.be/&lt;br /&gt;
     ├── mydomain.be.chain&lt;br /&gt;
     ├── mydomain.be.crt&lt;br /&gt;
     └── mydomain.be.key&lt;br /&gt;
&lt;br /&gt;
If you already possess the necessary files, renaming and copying them accordingly is sufficient. Otherwise, you can generate or renew your certificates using '''acme.sh''':&lt;br /&gt;
&lt;br /&gt;
==== Using acme.sh ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background: #f2dede; color: #a94442; border: 1px solid #a94442; border-radius: 5px; padding: 5px&amp;quot;&amp;gt;'''Warning:''' If you use a &amp;lt;code&amp;gt;.htaccess&amp;lt;/code&amp;gt; file in the '''webroot of the domain name''', make sure to add the following lines at '''the top of the file''':&lt;br /&gt;
 &amp;lt;IfModule mod_rewrite.c&amp;gt;&lt;br /&gt;
   RewriteRule &amp;quot;^.well-known/acme-challenge&amp;quot; - [L]&lt;br /&gt;
 &amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Generating the certificates =====&lt;br /&gt;
&lt;br /&gt;
Because the normal method of generating Let's Encrypt certificates, certbot, requires root access, it's impossible for normal users to do so on our servers. Luckily there are plenty of alternatives which implement the Let's Encrypt protocol.&lt;br /&gt;
&lt;br /&gt;
In this tutorial, we'll be using the '''acme.sh''' program to generate our certificates on the ULYSSIS servers.&lt;br /&gt;
&lt;br /&gt;
First of all, download the &amp;lt;code&amp;gt;acme.sh&amp;lt;/code&amp;gt; script as explained in the documentation: https://github.com/acmesh-official/acme.sh#1-how-to-install&lt;br /&gt;
&lt;br /&gt;
Next we actually generate the certificates. Make sure to replace the necessary parts (email, webroot, domain name):&lt;br /&gt;
 ./acme.sh --issue --cert-file letsencrypt/mydomain.be/mydomain.be.crt --key-file letsencrypt/mydomain.be/mydomain.be.key --ca-file letsencrypt/mydomain.be/mydomain.be.chain --accountemail &amp;quot;email@example.com&amp;quot; -w /home/user/myusername/path/to/webroot -d mydomain.be -d www.mydomain.be&lt;br /&gt;
&lt;br /&gt;
If we provide an email address, for example &amp;quot;email@example.com&amp;quot;, Let's Encrypt will remind us to renew our certificates when necessary. &amp;lt;code&amp;gt;/home/user/myusername/path/to/webroot&amp;lt;/code&amp;gt; is the path to the '''webroot of the domain name'''. Note that we are issuing certificates for &amp;quot;mydomain.be&amp;quot; here. We also want to add the subdomain &amp;quot;www.mydomain.be&amp;quot; to the certificate, so we also pass it to the script. You can add additional subdomains if needed.&lt;br /&gt;
&lt;br /&gt;
===== Renewing the certificates =====&lt;br /&gt;
&lt;br /&gt;
To renew our certificates, we just execute:&lt;br /&gt;
 ./acme.sh --renew -d mydomain.be&lt;br /&gt;
&lt;br /&gt;
The renewed certificates will automatically be copied to the path specified in the &amp;lt;code&amp;gt;--issue&amp;lt;/code&amp;gt; command.&lt;br /&gt;
&lt;br /&gt;
'''After renewing certificates, you have to email us to install your renewed certificate.'''&lt;br /&gt;
&lt;br /&gt;
==== Installing the certificates ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We can check whether everything is stored correctly by executing:&lt;br /&gt;
 ulyssis-certificate check mydomain.be&lt;br /&gt;
&lt;br /&gt;
If everything looks good, you should only see lines starting with &amp;lt;code&amp;gt;[ OK ]&amp;lt;/code&amp;gt;. Any line starting with &amp;lt;code&amp;gt;[FAIL]&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;[ABRT]&amp;lt;/code&amp;gt; means a check has failed, you must correct this error before asking us to install your certificate. &lt;br /&gt;
&lt;br /&gt;
Once you have placed your files in the correct folder, you can send us an email clearly stating for which domains we need to add certificates and where the files are stored. If you are renewing existing certificates, also clearly state that in your email.&lt;br /&gt;
&lt;br /&gt;
We have largely automated the installation of certificates. If you do not follow these instructions, your request will be denied or you may end up with broken SSL. So make sure you follow this procedure carefully.&lt;br /&gt;
&lt;br /&gt;
==Logs==&lt;br /&gt;
Due to the nature of our setup (dumb loadbalancer combined with shibboleth on webworkers), all https traffic will seem to come from our loadbalancer IP address instead of the actual originating IP address. Keep this in mind when checking log files.&lt;br /&gt;
&lt;br /&gt;
[[Category:Webserver]]&lt;/div&gt;</summary>
		<author><name>Principis</name></author>
	</entry>
	<entry>
		<id>https://docs.ulyssis.org/index.php?title=Getting_SSL/TLS&amp;diff=1075</id>
		<title>Getting SSL/TLS</title>
		<link rel="alternate" type="text/html" href="https://docs.ulyssis.org/index.php?title=Getting_SSL/TLS&amp;diff=1075"/>
		<updated>2020-06-02T10:55:19Z</updated>

		<summary type="html">&lt;p&gt;Principis: /* Generating the certificates */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;ULYSSIS does not sell or offer any other SSL certificates than our self-signed certificate. We will however guide requests and install a certificate from the KU Leuven is you are eligible for one, and we will also install certificates you have bought or obtained elsewhere.&lt;br /&gt;
&lt;br /&gt;
==Requesting SSL from the KU Leuven==&lt;br /&gt;
&lt;br /&gt;
The KU Leuven partners with other universities to use free SSL for its services, organisations and employees. We have permission to request SSL for Student Unions recognized by LOKO or another official body. Organisations (Vrije Verenigingen) are required to be recognized by LOKO or another official body and need to supply a reasoning why they need SSL. Individual users can request SSL but ICTS will only grant permission with elaborate reasoning.&lt;br /&gt;
&lt;br /&gt;
Before sending us a request the following steps have to be done:&lt;br /&gt;
*Setup the site that needs SSL&lt;br /&gt;
*Change the domain's organisation-attribute to ''KU Leuven'' or ''Katholieke Universiteit Leuven''&lt;br /&gt;
*Create a forwarder from hostmaster@yourdomain.tld to ulyssis@ulyssis.org&lt;br /&gt;
&lt;br /&gt;
Then you can send an email to ulyssis@ulyssis.org containing your name, the name of the organisation, what you will use SSL for and the domain and if needed a list of subdomains.&lt;br /&gt;
&lt;br /&gt;
We will then generate the required cryptographic key and request and submit them with ICTS. It usually takes a few days before they have had time to verify both the domain and then the request for SSL itself. As soon as ICTS approves the request we will install the certificate and notify you.&lt;br /&gt;
&lt;br /&gt;
{{notice|Limitations|ICTS does not allow SSL requests for historic *.student.kuleuven.be and *.student.kuleuven.ac.be domain. We judge requests for username.ulyssis.be and username.studentenweb.org on an individual basis.}}&lt;br /&gt;
&lt;br /&gt;
==External certificates==&lt;br /&gt;
To install external certificates we require the certificate itself, the private key, and possibly the chain. We prefer you also send us (a link to) the documentation of your supplier. As certificate files, especially private keys, are a delicate matter we suggest you just email us the path in your homedirectory you've put them and we will move them over to the webserver safely. For more information concerning this procedure you can always contact us on ulyssis@ulyssis.org&lt;br /&gt;
&lt;br /&gt;
===Let's Encrypt===&lt;br /&gt;
==== Certificate file structure ====&lt;br /&gt;
&lt;br /&gt;
We currently do not have an automated system for renewing and deploying certificates such as those supplied by Let's Encrypt. We are however looking into automating this process in the future. Since more of our users are starting to use Let's Encrypt, and all of their certificates need to be renewed frequently, we have a specific procedure now.&lt;br /&gt;
&lt;br /&gt;
When wishing to add a certificate with Let's Encrypt to your website, or renew your existing one, first create a folder &amp;lt;code&amp;gt;letsencrypt&amp;lt;/code&amp;gt; in your '''home directory'''. Then add a folder per domain or group of domains:&lt;br /&gt;
 mkdir letsencrypt&lt;br /&gt;
 mkdir letsencrypt/mydomain.be&lt;br /&gt;
&lt;br /&gt;
Certificates should be stored in these folders, according to the following file structure:&lt;br /&gt;
 letsencrypt/&lt;br /&gt;
 └── mydomain.be/&lt;br /&gt;
     ├── mydomain.be.chain&lt;br /&gt;
     ├── mydomain.be.crt&lt;br /&gt;
     └── mydomain.be.key&lt;br /&gt;
&lt;br /&gt;
If you already possess the necessary files, renaming and copying them accordingly is sufficient. Otherwise, you can generate or renew your certificates using '''acme.sh''':&lt;br /&gt;
&lt;br /&gt;
==== Using acme.sh ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background: #f2dede; color: #a94442; border: 1px solid #a94442; border-radius: 5px; padding: 5px&amp;quot;&amp;gt;'''Warning:''' If you use a &amp;lt;code&amp;gt;.htaccess&amp;lt;/code&amp;gt; file in the '''webroot of the domain name''', make sure to add the following lines at '''the top of the file''':&lt;br /&gt;
 &amp;lt;IfModule mod_rewrite.c&amp;gt;&lt;br /&gt;
   RewriteRule &amp;quot;^.well-known/acme-challenge&amp;quot; - [L]&lt;br /&gt;
 &amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Generating the certificates =====&lt;br /&gt;
&lt;br /&gt;
Because the normal method of generating Let's Encrypt certificates, certbot, requires root access, it's impossible for normal users to do so on our servers. Luckily there are plenty of alternatives which implement the Let's Encrypt protocol.&lt;br /&gt;
&lt;br /&gt;
In this tutorial, we'll be using the '''acme.sh''' program to generate our certificates on the ULYSSIS servers.&lt;br /&gt;
&lt;br /&gt;
First of all, download the &amp;lt;code&amp;gt;acme.sh&amp;lt;/code&amp;gt; script as explained in the documentation: https://github.com/acmesh-official/acme.sh#1-how-to-install&lt;br /&gt;
&lt;br /&gt;
Next we actually generate the certificates. Make sure to replace the necessary parts (email, webroot, domain name):&lt;br /&gt;
 ./acme.sh --issue --cert-file letsencrypt/mydomain.be/mydomain.be.crt --key-file letsencrypt/mydomain.be/mydomain.be.key --ca-file letsencrypt/mydomain.be/mydomain.be.chain --accountemail &amp;quot;email@example.com&amp;quot; -w /home/user/myusername/path/to/webroot -d mydomain.be -d www.mydomain.be&lt;br /&gt;
&lt;br /&gt;
If we provide an email address, for example &amp;quot;email@example.com&amp;quot;, Let's Encrypt will remind us to renew our certificates when necessary. &amp;lt;code&amp;gt;/home/user/myusername/path/to/webroot&amp;lt;/code&amp;gt; is the path to the '''webroot of the domain name'''. Note that we are issuing certificates for &amp;quot;mydomain.be&amp;quot; here. We also want to add the subdomain &amp;quot;www.mydomain.be&amp;quot; to the certificate, so we also pass it to the script. You can add additional subdomains if needed.&lt;br /&gt;
&lt;br /&gt;
===== Renewing the certificates =====&lt;br /&gt;
&lt;br /&gt;
To renew our certificates, we just execute:&lt;br /&gt;
 ./acme.sh --renew -d mydomain.be&lt;br /&gt;
&lt;br /&gt;
The renewed certificates will automatically be copied to the path specified in the &amp;quot;--issue&amp;quot; command.&lt;br /&gt;
&lt;br /&gt;
'''After renewing certificates, you have to email us to install your renewed certificate.'''&lt;br /&gt;
&lt;br /&gt;
==== Installing the certificates ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We can check whether everything is stored correctly by executing:&lt;br /&gt;
 ulyssis-certificate check mydomain.be&lt;br /&gt;
&lt;br /&gt;
If everything looks good, you should only see lines starting with &amp;lt;code&amp;gt;[ OK ]&amp;lt;/code&amp;gt;. Any line starting with &amp;lt;code&amp;gt;[FAIL]&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;[ABRT]&amp;lt;/code&amp;gt; means a check has failed, you must correct this error before asking us to install your certificate. &lt;br /&gt;
&lt;br /&gt;
Once you have placed your files in the correct folder, you can send us an email clearly stating for which domains we need to add certificates and where the files are stored. If you are renewing existing certificates, also clearly state that in your email.&lt;br /&gt;
&lt;br /&gt;
We have largely automated the installation of certificates. If you do not follow these instructions, your request will be denied or you may end up with broken SSL. So make sure you follow this procedure carefully.&lt;br /&gt;
&lt;br /&gt;
==Logs==&lt;br /&gt;
Due to the nature of our setup (dumb loadbalancer combined with shibboleth on webworkers), all https traffic will seem to come from our loadbalancer IP address instead of the actual originating IP address. Keep this in mind when checking log files.&lt;br /&gt;
&lt;br /&gt;
[[Category:Webserver]]&lt;/div&gt;</summary>
		<author><name>Principis</name></author>
	</entry>
	<entry>
		<id>https://docs.ulyssis.org/index.php?title=Getting_SSL/TLS&amp;diff=1074</id>
		<title>Getting SSL/TLS</title>
		<link rel="alternate" type="text/html" href="https://docs.ulyssis.org/index.php?title=Getting_SSL/TLS&amp;diff=1074"/>
		<updated>2020-06-02T10:32:05Z</updated>

		<summary type="html">&lt;p&gt;Principis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;ULYSSIS does not sell or offer any other SSL certificates than our self-signed certificate. We will however guide requests and install a certificate from the KU Leuven is you are eligible for one, and we will also install certificates you have bought or obtained elsewhere.&lt;br /&gt;
&lt;br /&gt;
==Requesting SSL from the KU Leuven==&lt;br /&gt;
&lt;br /&gt;
The KU Leuven partners with other universities to use free SSL for its services, organisations and employees. We have permission to request SSL for Student Unions recognized by LOKO or another official body. Organisations (Vrije Verenigingen) are required to be recognized by LOKO or another official body and need to supply a reasoning why they need SSL. Individual users can request SSL but ICTS will only grant permission with elaborate reasoning.&lt;br /&gt;
&lt;br /&gt;
Before sending us a request the following steps have to be done:&lt;br /&gt;
*Setup the site that needs SSL&lt;br /&gt;
*Change the domain's organisation-attribute to ''KU Leuven'' or ''Katholieke Universiteit Leuven''&lt;br /&gt;
*Create a forwarder from hostmaster@yourdomain.tld to ulyssis@ulyssis.org&lt;br /&gt;
&lt;br /&gt;
Then you can send an email to ulyssis@ulyssis.org containing your name, the name of the organisation, what you will use SSL for and the domain and if needed a list of subdomains.&lt;br /&gt;
&lt;br /&gt;
We will then generate the required cryptographic key and request and submit them with ICTS. It usually takes a few days before they have had time to verify both the domain and then the request for SSL itself. As soon as ICTS approves the request we will install the certificate and notify you.&lt;br /&gt;
&lt;br /&gt;
{{notice|Limitations|ICTS does not allow SSL requests for historic *.student.kuleuven.be and *.student.kuleuven.ac.be domain. We judge requests for username.ulyssis.be and username.studentenweb.org on an individual basis.}}&lt;br /&gt;
&lt;br /&gt;
==External certificates==&lt;br /&gt;
To install external certificates we require the certificate itself, the private key, and possibly the chain. We prefer you also send us (a link to) the documentation of your supplier. As certificate files, especially private keys, are a delicate matter we suggest you just email us the path in your homedirectory you've put them and we will move them over to the webserver safely. For more information concerning this procedure you can always contact us on ulyssis@ulyssis.org&lt;br /&gt;
&lt;br /&gt;
===Let's Encrypt===&lt;br /&gt;
==== Certificate file structure ====&lt;br /&gt;
&lt;br /&gt;
We currently do not have an automated system for renewing and deploying certificates such as those supplied by Let's Encrypt. We are however looking into automating this process in the future. Since more of our users are starting to use Let's Encrypt, and all of their certificates need to be renewed frequently, we have a specific procedure now.&lt;br /&gt;
&lt;br /&gt;
When wishing to add a certificate with Let's Encrypt to your website, or renew your existing one, first create a folder &amp;lt;code&amp;gt;letsencrypt&amp;lt;/code&amp;gt; in your '''home directory'''. Then add a folder per domain or group of domains:&lt;br /&gt;
 mkdir letsencrypt&lt;br /&gt;
 mkdir letsencrypt/mydomain.be&lt;br /&gt;
&lt;br /&gt;
Certificates should be stored in these folders, according to the following file structure:&lt;br /&gt;
 letsencrypt/&lt;br /&gt;
 └── mydomain.be/&lt;br /&gt;
     ├── mydomain.be.chain&lt;br /&gt;
     ├── mydomain.be.crt&lt;br /&gt;
     └── mydomain.be.key&lt;br /&gt;
&lt;br /&gt;
If you already possess the necessary files, renaming and copying them accordingly is sufficient. Otherwise, you can generate or renew your certificates using '''acme.sh''':&lt;br /&gt;
&lt;br /&gt;
==== Using acme.sh ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background: #f2dede; color: #a94442; border: 1px solid #a94442; border-radius: 5px; padding: 5px&amp;quot;&amp;gt;'''Warning:''' If you use a &amp;lt;code&amp;gt;.htaccess&amp;lt;/code&amp;gt; file in the '''webroot of the domain name''', make sure to add the following lines at '''the top of the file''':&lt;br /&gt;
 &amp;lt;IfModule mod_rewrite.c&amp;gt;&lt;br /&gt;
   RewriteRule &amp;quot;^.well-known/acme-challenge&amp;quot; - [L]&lt;br /&gt;
 &amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Generating the certificates =====&lt;br /&gt;
&lt;br /&gt;
Because the normal method of generating Let's Encrypt certificates, certbot, requires root access, it's impossible for normal users to do so on our servers. Luckily there are plenty of alternatives which implement the Let's Encrypt protocol.&lt;br /&gt;
&lt;br /&gt;
In this tutorial, we'll be using the '''acme.sh''' program to generate our certificates on the ULYSSIS servers.&lt;br /&gt;
&lt;br /&gt;
First of all, we download the &amp;lt;code&amp;gt;acme.sh&amp;lt;/code&amp;gt; script and make it executable:&lt;br /&gt;
 wget https://raw.githubusercontent.com/Neilpang/acme.sh/master/acme.sh&lt;br /&gt;
 chmod +x acme.sh&lt;br /&gt;
&lt;br /&gt;
Next we actually generate the certificates. Make sure to replace the necessary parts (email, webroot, domain name):&lt;br /&gt;
 ./acme.sh --issue --cert-file letsencrypt/mydomain.be/mydomain.be.crt --key-file letsencrypt/mydomain.be/mydomain.be.key --ca-file letsencrypt/mydomain.be/mydomain.be.chain --accountemail &amp;quot;email@example.com&amp;quot; -w /home/user/myusername/path/to/webroot -d mydomain.be -d www.mydomain.be&lt;br /&gt;
&lt;br /&gt;
If we provide an email address, for example &amp;quot;email@example.com&amp;quot;, Let's Encrypt will remind us to renew our certificates when necessary. &amp;lt;code&amp;gt;/home/user/myusername/path/to/webroot&amp;lt;/code&amp;gt; is the path to the '''webroot of the domain name'''. Note that we are issuing certificates for &amp;quot;mydomain.be&amp;quot; here. We also want to add the subdomain &amp;quot;www.mydomain.be&amp;quot; to the certificate, so we also pass it to the script. You can add additional subdomains if needed.&lt;br /&gt;
&lt;br /&gt;
===== Renewing the certificates =====&lt;br /&gt;
&lt;br /&gt;
To renew our certificates, we just execute:&lt;br /&gt;
 ./acme.sh --renew -d mydomain.be&lt;br /&gt;
&lt;br /&gt;
The renewed certificates will automatically be copied to the path specified in the &amp;quot;--issue&amp;quot; command.&lt;br /&gt;
&lt;br /&gt;
'''After renewing certificates, you have to email us to install your renewed certificate.'''&lt;br /&gt;
&lt;br /&gt;
==== Installing the certificates ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We can check whether everything is stored correctly by executing:&lt;br /&gt;
 ulyssis-certificate check mydomain.be&lt;br /&gt;
&lt;br /&gt;
If everything looks good, you should only see lines starting with &amp;lt;code&amp;gt;[ OK ]&amp;lt;/code&amp;gt;. Any line starting with &amp;lt;code&amp;gt;[FAIL]&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;[ABRT]&amp;lt;/code&amp;gt; means a check has failed, you must correct this error before asking us to install your certificate. &lt;br /&gt;
&lt;br /&gt;
Once you have placed your files in the correct folder, you can send us an email clearly stating for which domains we need to add certificates and where the files are stored. If you are renewing existing certificates, also clearly state that in your email.&lt;br /&gt;
&lt;br /&gt;
We have largely automated the installation of certificates. If you do not follow these instructions, your request will be denied or you may end up with broken SSL. So make sure you follow this procedure carefully.&lt;br /&gt;
&lt;br /&gt;
==Logs==&lt;br /&gt;
Due to the nature of our setup (dumb loadbalancer combined with shibboleth on webworkers), all https traffic will seem to come from our loadbalancer IP address instead of the actual originating IP address. Keep this in mind when checking log files.&lt;br /&gt;
&lt;br /&gt;
[[Category:Webserver]]&lt;/div&gt;</summary>
		<author><name>Principis</name></author>
	</entry>
	<entry>
		<id>https://docs.ulyssis.org/index.php?title=Add_an_alias_in_Gmail&amp;diff=1070</id>
		<title>Add an alias in Gmail</title>
		<link rel="alternate" type="text/html" href="https://docs.ulyssis.org/index.php?title=Add_an_alias_in_Gmail&amp;diff=1070"/>
		<updated>2020-04-19T10:39:06Z</updated>

		<summary type="html">&lt;p&gt;Principis: fix server&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;You may want to send e-mail from Gmail using your @ulyssis.org-address, or another domain name that you use for your account. Gmail allows you to do this, but asks for SMTP info. We don't provide SMTP on our own mail server, but you can use the SMTP servers of the KU Leuven.&lt;br /&gt;
&lt;br /&gt;
# In Gmail, go to '''Settings''' (in Dutch: '''Instellingen''').&lt;br /&gt;
# Go to the tab '''Accounts and Import''' (in Dutch: '''Accounts en import''')&lt;br /&gt;
# Under '''Send mail as:''' ('''E-mailberichten sturen vanaf'''), click on: '''Add another email address you own''' ('''Nog een e-mailadres toevoegen waarvan je eigenaar bent''').&lt;br /&gt;
# Fill in your name and the e-mail address, and check '''Treat as an alias.''' ('''Beschouwen als alias.''') More info: https://support.google.com/a/answer/1710338&lt;br /&gt;
# Click on '''Next step''' ('''Volgende stap''').&lt;br /&gt;
# Fill in the following information SMTP information (https://admin.kuleuven.be/icts/services/email/begrippen):&lt;br /&gt;
#* '''SMTP server''': '''smtps.kuleuven.be'''&lt;br /&gt;
#* '''port''': 465&lt;br /&gt;
#* '''Username''': your student id&lt;br /&gt;
#* '''Password''': your KU Leuven password&lt;br /&gt;
#* SSL&lt;br /&gt;
# Press on '''Add Account''' ('''Account toevoegen''').&lt;br /&gt;
&lt;br /&gt;
[[Category:Mail]]&lt;/div&gt;</summary>
		<author><name>Principis</name></author>
	</entry>
	<entry>
		<id>https://docs.ulyssis.org/index.php?title=Installing_packages&amp;diff=672</id>
		<title>Installing packages</title>
		<link rel="alternate" type="text/html" href="https://docs.ulyssis.org/index.php?title=Installing_packages&amp;diff=672"/>
		<updated>2018-12-23T17:51:27Z</updated>

		<summary type="html">&lt;p&gt;Principis: Added Node.js paragraph&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;While most webhosting providers give you access to a few or even just one programming language and a set amount of libraries, ULYSSIS prefers to offer more flexibility. We hope to give our users the chance to experiment with different languages, libraries and tools. There are of course also limits to what is realistic for us to install. More on that below. &lt;br /&gt;
&lt;br /&gt;
== Using a programming language, library or tool that is not installed ==&lt;br /&gt;
If the package that you would like us to install is available in the software repository of our current operating system, then that is usually not a problem. We currently use Ubuntu on all our servers, specifically, we upgrade to the latest LTS every summer vacation following the release of a new one. You can verify which version we are running by executing &amp;quot;cat /etc/lsb-release&amp;quot; on one of our shellservers. After you have verified what version we are running, you can refer to https://packages.ubuntu.com/ to check whether your package is available in that version of Ubuntu. If it is, then you can contact us by email on ulyssis@ulyssis.org which package or packages you would like to have installed, and what you will be using it for. You will most likely get a positive response. If your package is not in the repository, you will have to go for a [[Installing packages#Manual installation|Manual installation]].&lt;br /&gt;
&lt;br /&gt;
== Using a newer/different version ==&lt;br /&gt;
As you can read in the section concerning the installation of new packages, we only offer the version available in the repository of the version of Ubuntu that we are running. In most cases, this means you will have to wait for a version upgrade with the next LTS release, or go for a [[Installing packages#Manual installation|Manual installation]]. However, there are some exceptions. Sometimes multiple version will be available in the repository, such as with Python 2 and 3, or Perl 5 and 6. In such cases, you can refer to the section above for instructions on how to request an installation. &lt;br /&gt;
&lt;br /&gt;
== Manual installation ==&lt;br /&gt;
If you want to install a piece of software that is not available in the repository or you wish to install another version, you can always install it manually onto your account. &lt;br /&gt;
&lt;br /&gt;
It is important to keep in mind that ULYSSIS will not support manually installed software, and that you are fully responsible for the security of this software. You are free to ask us questions, but we will most probably not help you. If you do require a manual installation of specific software, we expect you to be capable of maintaining it as well.&lt;br /&gt;
&lt;br /&gt;
The way you install your software differs depending on the software. You could be using tools such as pip, gem or npm to install to a directory in your home folder, you could be using a virtual environment, or you could be compiling your own binary. We suggest you look at the documentation of the software you're using very thoroughly, and make sure you are comfortable with what you are doing and aware of your responsibilities. &lt;br /&gt;
&lt;br /&gt;
After installing your software locally onto your account, you will probably want to add an alias in your dotfiles (for example .profile or .bashrc) to make using your manually installed version easier. In case you are using your piece of software for a web service, you will want to make sure you edit your fastcgi script or any other involved scripts to use your binary by changing the path or hardcoding the location.&lt;br /&gt;
== Node.js ==&lt;br /&gt;
We do not offer Node.js by default because we can't give you the most recent release. But you can use nvm ([https://github.com/creationix/nvm Node Version Manager]) which installs the required version for you. The installation should be straightforward and a guide can be found [https://github.com/creationix/nvm#installation here].&lt;/div&gt;</summary>
		<author><name>Principis</name></author>
	</entry>
	<entry>
		<id>https://docs.ulyssis.org/index.php?title=Getting_SSL/TLS&amp;diff=583</id>
		<title>Getting SSL/TLS</title>
		<link rel="alternate" type="text/html" href="https://docs.ulyssis.org/index.php?title=Getting_SSL/TLS&amp;diff=583"/>
		<updated>2018-03-14T20:05:51Z</updated>

		<summary type="html">&lt;p&gt;Principis: /* Let's Encrypt */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;ULYSSIS does not sell or offer any other SSL certificates than our self-signed certificate. We will however guide requests and install a certificate from the KU Leuven is you are eligible for one, and we will also install certificates you have bought elsewhere.&lt;br /&gt;
&lt;br /&gt;
==Requesting SSL from the KU Leuven==&lt;br /&gt;
The KU Leuven partners with other universities to use free SSL for its services, organisations and employees. We have permission to request SSL for Student Unions recognized by LOKO or another official body. Organisations (Vrije Verenigingen) are required to be recognized by LOKO or another official body and need to supply a reasoning why they need SSL. Individual users can request SSL but ICTS will only grant permission with elaborate reasoning.&lt;br /&gt;
&lt;br /&gt;
Before sending us a request the following steps have to be done:&lt;br /&gt;
*Setup the site that needs SSL&lt;br /&gt;
*Change the domain's organisation-attribute to ''KU Leuven'' or ''Katholieke Universiteit Leuven''&lt;br /&gt;
*Create a forwarder from hostmaster@yourdomain.tld to ulyssis@ulyssis.org&lt;br /&gt;
&lt;br /&gt;
Then you can send an email to ulyssis@ulyssis.org containing your name, the name of the organisation, what you will use SSL for and the domain and if needed a list of subdomains.&lt;br /&gt;
&lt;br /&gt;
We will then generate the required cryptographic key and request and submit them with ICTS. It usually takes a few days before they have had time to verify both the domain and then the request for SSL itself. As soon as ICTS approves the request we will install the certificate and notify you.&lt;br /&gt;
&lt;br /&gt;
==External certificates==&lt;br /&gt;
To install external certificates we require the certificate itself, the private key, and possibly the chain. We prefer you also send us (a link to) the documentation of your supplier. As certificate files, especially private keys, are a delicate matter we suggest you just email us the path in your homedirectory you've put them and we will move them over to the webserver safely. For more information concerning this procedure you can always contact us on ulyssis@ulyssis.org&lt;br /&gt;
&lt;br /&gt;
===Let's Encrypt===&lt;br /&gt;
We currently do not have an automated system for renewing and deploying certificates such as those supplied by Let's Encrypt. We are however looking into automating this process in the future. Since more of our users are starting to use Let's Encrypt, and all of their certificates need to be renewed frequently, we have a specific procedure now.&lt;br /&gt;
&lt;br /&gt;
For the first installation of a certificate, you will have to generate a new key as well as a certificate. For renewals, please '''always''' reuse the old key, so we only have to replace your certificate and not the key every few months.&lt;br /&gt;
&lt;br /&gt;
When wishing to add a certificate with Let's Encrypt to your website, or renew your existing one, first create a folder ''letsencrypt'' in your home folder. Then add a folder per domain or group of domains, then add the relevant files to the right domain folder. Please keep in mind that it is always good practice to have your key be only readable by you, so check your permissions. Always remove irrevelant files, we won't search for the right certificate. &lt;br /&gt;
&lt;br /&gt;
Rename your files like this:&lt;br /&gt;
 chain.pem -&amp;gt; interestingdomain.be.chain&lt;br /&gt;
 cert.pem -&amp;gt; interestingdomain.be.crt&lt;br /&gt;
 privkey.pem -&amp;gt; interestingdomain.be.key&lt;br /&gt;
&lt;br /&gt;
Your structure should look something like this:&lt;br /&gt;
 letsencrypt/&lt;br /&gt;
 ├── interestingdomain.be&lt;br /&gt;
 │   ├── interestingdomain.be.chain&lt;br /&gt;
 │   ├── interestingdomain.be.crt&lt;br /&gt;
 │   └── interestingdomain.be.key&lt;br /&gt;
 └── otherdomain.com&lt;br /&gt;
     ├── otherdomain.com.chain&lt;br /&gt;
     ├── otherdomain.com.crt&lt;br /&gt;
     └── otherdomain.com.key&lt;br /&gt;
&lt;br /&gt;
Once you have placed your files in the correct folder, you can send us an email clearly stating for which domains we need to add certificates and where the files are stored. If you are renewing existing certificates, also clearly state that in your email.&lt;br /&gt;
&lt;br /&gt;
We have largely automated the installation of certificates. If you do not follow these instructions, your request will be denied or you may end up with broken SSL. So make sure you follow this procedure carefully.&lt;br /&gt;
&lt;br /&gt;
==Logs==&lt;br /&gt;
Due to the nature of our setup (dumb loadbalancer combined with shibboleth on webworkers), all https traffic will seem to come from our loadbalancer IP address instead of the actual originating IP address. Keep this in mind when checking log files.&lt;/div&gt;</summary>
		<author><name>Principis</name></author>
	</entry>
	<entry>
		<id>https://docs.ulyssis.org/index.php?title=Getting_SSL/TLS&amp;diff=582</id>
		<title>Getting SSL/TLS</title>
		<link rel="alternate" type="text/html" href="https://docs.ulyssis.org/index.php?title=Getting_SSL/TLS&amp;diff=582"/>
		<updated>2018-03-14T20:02:26Z</updated>

		<summary type="html">&lt;p&gt;Principis: /* Let's Encrypt */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;ULYSSIS does not sell or offer any other SSL certificates than our self-signed certificate. We will however guide requests and install a certificate from the KU Leuven is you are eligible for one, and we will also install certificates you have bought elsewhere.&lt;br /&gt;
&lt;br /&gt;
==Requesting SSL from the KU Leuven==&lt;br /&gt;
The KU Leuven partners with other universities to use free SSL for its services, organisations and employees. We have permission to request SSL for Student Unions recognized by LOKO or another official body. Organisations (Vrije Verenigingen) are required to be recognized by LOKO or another official body and need to supply a reasoning why they need SSL. Individual users can request SSL but ICTS will only grant permission with elaborate reasoning.&lt;br /&gt;
&lt;br /&gt;
Before sending us a request the following steps have to be done:&lt;br /&gt;
*Setup the site that needs SSL&lt;br /&gt;
*Change the domain's organisation-attribute to ''KU Leuven'' or ''Katholieke Universiteit Leuven''&lt;br /&gt;
*Create a forwarder from hostmaster@yourdomain.tld to ulyssis@ulyssis.org&lt;br /&gt;
&lt;br /&gt;
Then you can send an email to ulyssis@ulyssis.org containing your name, the name of the organisation, what you will use SSL for and the domain and if needed a list of subdomains.&lt;br /&gt;
&lt;br /&gt;
We will then generate the required cryptographic key and request and submit them with ICTS. It usually takes a few days before they have had time to verify both the domain and then the request for SSL itself. As soon as ICTS approves the request we will install the certificate and notify you.&lt;br /&gt;
&lt;br /&gt;
==External certificates==&lt;br /&gt;
To install external certificates we require the certificate itself, the private key, and possibly the chain. We prefer you also send us (a link to) the documentation of your supplier. As certificate files, especially private keys, are a delicate matter we suggest you just email us the path in your homedirectory you've put them and we will move them over to the webserver safely. For more information concerning this procedure you can always contact us on ulyssis@ulyssis.org&lt;br /&gt;
&lt;br /&gt;
===Let's Encrypt===&lt;br /&gt;
We currently do not have an automated system for renewing and deploying certificates such as those supplied by Let's Encrypt. We are however looking into automating this process in the future. Since more of our users are starting to use Let's Encrypt, and all of their certificates need to be renewed frequently, we have a specific procedure now.&lt;br /&gt;
&lt;br /&gt;
For the first installation of a certificate, you will have to generate a new key as well as a certificate. For renewals, please '''always''' reuse the old key, so we only have to replace your certificate and not the key every few months.&lt;br /&gt;
&lt;br /&gt;
When wishing to add a certificate with Let's Encrypt to your website, or renew your existing one, first create a folder ''letsencrypt'' in your home folder. Then add a folder per domain or group of domains, then add the relevant files to the right domain folder. Please keep in mind that it is always good practice to have your key be only readable by you, so check your permissions. Always remove irrevelant files, we won't search for the right certificate. &lt;br /&gt;
&lt;br /&gt;
Rename your files like this:&lt;br /&gt;
 chain.pem -&amp;gt; interestingdomain.be.chain&lt;br /&gt;
 cert.pem -&amp;gt; interestingdomain.crt&lt;br /&gt;
 privkey.pem -&amp;gt; interestingdomain.key&lt;br /&gt;
&lt;br /&gt;
Your structure should look something like this:&lt;br /&gt;
 letsencrypt/&lt;br /&gt;
 ├── interestingdomain.be&lt;br /&gt;
 │   ├── interestingdomain.be.chain&lt;br /&gt;
 │   ├── interestingdomain.be.crt&lt;br /&gt;
 │   └── interestingdomain.be.key&lt;br /&gt;
 └── otherdomain.com&lt;br /&gt;
     ├── otherdomain.com.chain&lt;br /&gt;
     ├── otherdomain.com.crt&lt;br /&gt;
     └── otherdomain.com.key&lt;br /&gt;
&lt;br /&gt;
Once you have placed your files in the correct folder, you can send us an email clearly stating for which domains we need to add certificates and where the files are stored. If you are renewing existing certificates, also clearly state that in your email.&lt;br /&gt;
&lt;br /&gt;
We have largely automated the installation of certificates. If you do not follow these instructions, your request will be denied or you may end up with broken SSL. So make sure you follow this procedure carefully.&lt;br /&gt;
&lt;br /&gt;
==Logs==&lt;br /&gt;
Due to the nature of our setup (dumb loadbalancer combined with shibboleth on webworkers), all https traffic will seem to come from our loadbalancer IP address instead of the actual originating IP address. Keep this in mind when checking log files.&lt;/div&gt;</summary>
		<author><name>Principis</name></author>
	</entry>
	<entry>
		<id>https://docs.ulyssis.org/index.php?title=Getting_SSL/TLS&amp;diff=581</id>
		<title>Getting SSL/TLS</title>
		<link rel="alternate" type="text/html" href="https://docs.ulyssis.org/index.php?title=Getting_SSL/TLS&amp;diff=581"/>
		<updated>2018-03-13T13:39:58Z</updated>

		<summary type="html">&lt;p&gt;Principis: /* Let's Encrypt */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;ULYSSIS does not sell or offer any other SSL certificates than our self-signed certificate. We will however guide requests and install a certificate from the KU Leuven is you are eligible for one, and we will also install certificates you have bought elsewhere.&lt;br /&gt;
&lt;br /&gt;
==Requesting SSL from the KU Leuven==&lt;br /&gt;
The KU Leuven partners with other universities to use free SSL for its services, organisations and employees. We have permission to request SSL for Student Unions recognized by LOKO or another official body. Organisations (Vrije Verenigingen) are required to be recognized by LOKO or another official body and need to supply a reasoning why they need SSL. Individual users can request SSL but ICTS will only grant permission with elaborate reasoning.&lt;br /&gt;
&lt;br /&gt;
Before sending us a request the following steps have to be done:&lt;br /&gt;
*Setup the site that needs SSL&lt;br /&gt;
*Change the domain's organisation-attribute to ''KU Leuven'' or ''Katholieke Universiteit Leuven''&lt;br /&gt;
*Create a forwarder from hostmaster@yourdomain.tld to ulyssis@ulyssis.org&lt;br /&gt;
&lt;br /&gt;
Then you can send an email to ulyssis@ulyssis.org containing your name, the name of the organisation, what you will use SSL for and the domain and if needed a list of subdomains.&lt;br /&gt;
&lt;br /&gt;
We will then generate the required cryptographic key and request and submit them with ICTS. It usually takes a few days before they have had time to verify both the domain and then the request for SSL itself. As soon as ICTS approves the request we will install the certificate and notify you.&lt;br /&gt;
&lt;br /&gt;
==External certificates==&lt;br /&gt;
To install external certificates we require the certificate itself, the private key, and possibly the chain. We prefer you also send us (a link to) the documentation of your supplier. As certificate files, especially private keys, are a delicate matter we suggest you just email us the path in your homedirectory you've put them and we will move them over to the webserver safely. For more information concerning this procedure you can always contact us on ulyssis@ulyssis.org&lt;br /&gt;
&lt;br /&gt;
===Let's Encrypt===&lt;br /&gt;
We currently do not have an automated system for renewing and deploying certificates such as those supplied by Let's Encrypt. We are however looking into automating this process in the future. Since more of our users are starting to use Let's Encrypt, and all of their certificates need to be renewed frequently, we have a specific procedure now.&lt;br /&gt;
&lt;br /&gt;
For the first installation of a certificate, you will have to generate a new key as well as a certificate. For renewals, please '''always''' reuse the old key, so we only have to replace your certificate and not the key every few months.&lt;br /&gt;
&lt;br /&gt;
When wishing to add a certificate with Let's Encrypt to your website, or renew your existing one, first create a folder ''letsencrypt'' in your home folder. Then add a folder per domain or group of domains, then add the relevant files to the right domain folder. Please keep in mind that it is always good practice to have your key be only readable by you, so check your permissions. Always remove irrevelant files, we won't search for the right certificate. &lt;br /&gt;
&lt;br /&gt;
Your structure should look something like this:&lt;br /&gt;
 letsencrypt/&lt;br /&gt;
 ├── interestingdomain.be&lt;br /&gt;
 │   ├── interestingdomain.be.chain&lt;br /&gt;
 │   ├── interestingdomain.be.crt&lt;br /&gt;
 │   └── interestingdomain.be.key&lt;br /&gt;
 └── otherdomain.com&lt;br /&gt;
     ├── otherdomain.com.chain&lt;br /&gt;
     ├── otherdomain.com.crt&lt;br /&gt;
     └── otherdomain.com.key&lt;br /&gt;
&lt;br /&gt;
Once you have placed your files in the correct folder, you can send us an email clearly stating for which domains we need to add certificates and where the files are stored. If you are renewing existing certificates, also clearly state that in your email.&lt;br /&gt;
&lt;br /&gt;
We have largely automated the installation of certificates. If you do not follow these instructions, your request will be denied or you may end up with broken SSL. So make sure you follow this procedure carefully.&lt;br /&gt;
&lt;br /&gt;
==Logs==&lt;br /&gt;
Due to the nature of our setup (dumb loadbalancer combined with shibboleth on webworkers), all https traffic will seem to come from our loadbalancer IP address instead of the actual originating IP address. Keep this in mind when checking log files.&lt;/div&gt;</summary>
		<author><name>Principis</name></author>
	</entry>
	<entry>
		<id>https://docs.ulyssis.org/index.php?title=Getting_SSL/TLS&amp;diff=580</id>
		<title>Getting SSL/TLS</title>
		<link rel="alternate" type="text/html" href="https://docs.ulyssis.org/index.php?title=Getting_SSL/TLS&amp;diff=580"/>
		<updated>2018-03-13T13:37:46Z</updated>

		<summary type="html">&lt;p&gt;Principis: /* Let's Encrypt */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;ULYSSIS does not sell or offer any other SSL certificates than our self-signed certificate. We will however guide requests and install a certificate from the KU Leuven is you are eligible for one, and we will also install certificates you have bought elsewhere.&lt;br /&gt;
&lt;br /&gt;
==Requesting SSL from the KU Leuven==&lt;br /&gt;
The KU Leuven partners with other universities to use free SSL for its services, organisations and employees. We have permission to request SSL for Student Unions recognized by LOKO or another official body. Organisations (Vrije Verenigingen) are required to be recognized by LOKO or another official body and need to supply a reasoning why they need SSL. Individual users can request SSL but ICTS will only grant permission with elaborate reasoning.&lt;br /&gt;
&lt;br /&gt;
Before sending us a request the following steps have to be done:&lt;br /&gt;
*Setup the site that needs SSL&lt;br /&gt;
*Change the domain's organisation-attribute to ''KU Leuven'' or ''Katholieke Universiteit Leuven''&lt;br /&gt;
*Create a forwarder from hostmaster@yourdomain.tld to ulyssis@ulyssis.org&lt;br /&gt;
&lt;br /&gt;
Then you can send an email to ulyssis@ulyssis.org containing your name, the name of the organisation, what you will use SSL for and the domain and if needed a list of subdomains.&lt;br /&gt;
&lt;br /&gt;
We will then generate the required cryptographic key and request and submit them with ICTS. It usually takes a few days before they have had time to verify both the domain and then the request for SSL itself. As soon as ICTS approves the request we will install the certificate and notify you.&lt;br /&gt;
&lt;br /&gt;
==External certificates==&lt;br /&gt;
To install external certificates we require the certificate itself, the private key, and possibly the chain. We prefer you also send us (a link to) the documentation of your supplier. As certificate files, especially private keys, are a delicate matter we suggest you just email us the path in your homedirectory you've put them and we will move them over to the webserver safely. For more information concerning this procedure you can always contact us on ulyssis@ulyssis.org&lt;br /&gt;
&lt;br /&gt;
===Let's Encrypt===&lt;br /&gt;
We currently do not have an automated system for renewing and deploying certificates such as those supplied by Let's Encrypt. We are however looking into automating this process in the future. Since more of our users are starting to use Let's Encrypt, and all of their certificates need to be renewed frequently, we have a specific procedure now.&lt;br /&gt;
&lt;br /&gt;
For the first installation of a certificate, you will have to generate a new key as well as a certificate. For renewals, please '''always''' reuse the old key, so we only have to replace your certificate and not the key every few months.&lt;br /&gt;
&lt;br /&gt;
When wishing to add a certificate with Let's Encrypt to your website, or renew your existing one, first create a folder ''letsencrypt'' in your home folder. Then add a folder per domain or group of domains, then add the relevant files to the right domain folder. Please keep in mind that it is always good practice to have your key be only readable by you, so check your permissions. Always remove irrevelant files, we won't search for the right certificate. &lt;br /&gt;
&lt;br /&gt;
Your structure should look something like this:&lt;br /&gt;
 letsencrypt/&lt;br /&gt;
 ├── interestingdomain.be&lt;br /&gt;
 │   ├── interestingdomain.be.chain&lt;br /&gt;
 │   ├── interestingdomain.be.crt&lt;br /&gt;
 │   └── interestingdomain.be.key&lt;br /&gt;
 └── otherdomain.com&lt;br /&gt;
     ├── otherdomain.be.chain&lt;br /&gt;
     ├── otherdomain.be.crt&lt;br /&gt;
     └── otherdomain.be.key&lt;br /&gt;
&lt;br /&gt;
Once you have placed your files in the correct folder, you can send us an email clearly stating for which domains we need to add certificates and where the files are stored. If you are renewing existing certificates, also clearly state that in your email.&lt;br /&gt;
&lt;br /&gt;
We have largely automated the installation of certificates. If you do not follow these instructions, your request will be denied or you may end up with broken SSL. So make sure you follow this procedure carefully.&lt;br /&gt;
&lt;br /&gt;
==Logs==&lt;br /&gt;
Due to the nature of our setup (dumb loadbalancer combined with shibboleth on webworkers), all https traffic will seem to come from our loadbalancer IP address instead of the actual originating IP address. Keep this in mind when checking log files.&lt;/div&gt;</summary>
		<author><name>Principis</name></author>
	</entry>
</feed>