Applies to VoipNow 3.7 and higher!
Let's Encrypt is a free, open initiative to provide SSL certificates for websites with the purpose of enabling the adoption of encrypted communications. It's completely free (for now, at least) and you can use it with VoipNow following the steps described below.
Please note, however, that this is a domain-validated certificate. The only criteria to get a valid SSL certificate is the proof of some form of control over that domain. It could be a custom DNS TXT record, a response to an administrative email for that domain and so on.
This type of certificate does not ensure that a particular legal entity is connected to that domain (i.e. somebody can register the m1crosoft.com domain, request a SSL certificate and everything will be technically correct, while in real life an Extended Validation certificate wouldn't be granted). Basically, this article helps you get rid of the "insecure page" warning displayed by browsers.
Before you start, make sure you know your VoipNow server's DNS hostname and IP address. Also, ensure your DNS is correctly configured and pointing to your VoipNow's server IP address.
This guide will use
18.104.22.168 as place holders for your VoipNow host name and IP address. Make sure to replace them with the correct values.
Download the required files
If you are still using CentOS 6, you need to install the EPEL repo for Let's Encrypt to work. For that you need to run the following command.
# yum -y install epel-release
Download the Let's Encrypt files using Git:
# git clone https://github.com/letsencrypt/letsencrypt Cloning into 'letsencrypt'... remote: Counting objects: 33428, done. remote: Compressing objects: 100% (5/5), done. remote: Total 33428 (delta 0), reused 0 (delta 0), pack-reused 33423 Receiving objects: 100% (33428/33428), 8.80 MiB | 2.68 MiB/s, done. Resolving deltas: 100% (23745/23745), done. Checking connectivity... done.
Stop the web interface
In order to run the certificate generation scripts, you need to stop the web interface.
Run the following command:
# service voipnow stop
Disable the srvmonitor cron task by running the command below
# crontab -e
and place a
#character in front of the line containing
Run the Let's Encrypt script
# cd letsencrypt # ./letsencrypt-auto certonly -a standalone -d sip.voipnowserver.com
hecking for new version...
Creating virtual environment...
Installing Python packages...
Requesting root privileges to run letsencrypt...
/root/.local/share/letsencrypt/bin/letsencrypt certonly -a standalone -d sip.voipnowserver.com
At this point, you will be prompted to provide a valid email address and accept the legal terms. Proceed as required, and the script should continue.
IMPORTANT NOTES: - Congratulations! Your certificate and chain have been saved at /etc/letsencrypt/live/sip.voipnowserver.com/fullchain.pem. Your cert will expire on 2016-06-26. To obtain a new version of the certificate in the future, simply run Let's Encrypt again. - If you like Let's Encrypt, please consider supporting our work by: Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate Donating to EFF: https://eff.org/donate-le
Back up the old SSL certificate
# cp -p /etc/voipnow/certs/http.pem /etc/voipnow/certs/http.pem.bkp
Copy the new certificate and key
# cd /etc/letsencrypt/live/sip.voipnowserver.com/
# cat privkey.pem fullchain.pem > /etc/voipnow/certs/http.pem
Start the web interface
# service voipnow start
Check if you can access the web interface and ensure that the SSL connection information is correct.
Look for a green padlock next to the web address in your browser.
If everything's OK, run the command below again
# crontab -e
and remove the
# sign placed in front of the
The free SSL certificates are valid for 90 days. The automatic renewal script provided by Let's Encrypt isn't fully compatible with the
To generate a new SSL certificate, you will need to go through the steps above once again.
|Content by Label|
Except where otherwise noted, content in this space is licensed under a Creative Commons Attribution 4.0 International.