解説

Let’s Encryptをインストールし、SSL/TSL証明書を発行するための方法。
更新日:2017年3月16日
有効期限は3ヶ月なので、更新するための方法も記載する。

動作確認環境

OS
Ubuntu 14.04 LTS or CentOS 7
Server Software
Apache 2.4
既に、SSL環境設定が済まされているサーバーをターゲットとしている。

Let’s Encryptインストール準備

  • 必須環境のインストール
    
    		
    			// Ubuntu の場合
    			$ sudo apt-get install -y git openssl mod_ssl
    
    			// CentOS の場合
    			$ sudo yum install -y git openssl mod_ssl
    		
    		
    Let’s Encrypt のクライアントは GitHub で公開されている。
    GitHub からクライアントを取得するために Git が必要なので、Git をインストールする。
    また Apache に mod_ssl をインストールしていない場合は、openssl, mod_ssl を同時にインストールしておく。
  • letsencryptのインストール
    
    		
    			$ cd /opt
    			$ sudo git clone https://github.com/letsencrypt/letsencrypt
    		
    		
  • certbot-autoのインストール
    
    		
    			$ cd /usr/local/sbin
    			$ sudo wget https://dl.eff.org/certbot-auto
    		
    		

自動・証明書発行手順

  • 自動・証明書発行手順
    
    		
    			$ cd letsencrypt
    			$ sudo ./letsencrypt-auto --apache
    		
    		
    色々聞かれるので、正しく答える。

手動・証明書発行手順

手動・証明書発行手順


	$ sudo ./letsencrypt-auto certonly -d <ホスト名称> --webroot -w <Document root> -m <メールアドレス>

重要手動で発行した場合には、「Apache 2.4 への設定」を行う必要がある場合もあるので、必ずチェックすること!

エラーが発生した場合

下記のようなエラーが出た場合


	The apache plugin is not working; there may be problems with your existing configuration.
	The error was: PluginError('Unable to parse runtime variables',)

手動・証明書発行手順を行う。

更新方法

更新方法


	$ sudo certbot-auto renew
	
	or
	
	$ sudo certbot renew

Apache 2.4 への設定

/etc/httpd/conf.d/ssl.conf


SSLCertificateFile /etc/letsencrypt/live/[サーバーのドメイン]/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/[サーバーのドメイン]/privkey.pem
SSLCertificateChainFile /etc/letsencrypt/live/[サーバーのドメイン]/chain.pem

重要上記ではデフォルトの「ssl.conf」に設定しているが、自身の環境に合わせ、置き換えて設定すること!

Apacheの再起動

Apacheの再起動


// Ubuntu の場合
$ sudo service apache2 restrat

// CentOS の場合
$ sudo systemctl restart httpd

必須要素

情報
  • なし。

注意事項

重要
  • なし。

更新履歴

2017/01/08 … 浅野 利博
新規作成
2017/01/09 … 浅野 利博
「Apache 2.4 への設定」・「Apacheの再起動」・「その他コメント」の項目、CentOSの内容を追記

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.