GoogleCloud(GCP)Let's Encrypt SSL / HTTPS設定方法
前提条件
GoogleCloud(GCP) サーバーでApache(Webサーバー)に
無料SSL証明書を利用したApache設定をご説明いたします。
| 項目 | 説明 |
|---|---|
| クラウド | Google Cloud(GCP) |
| サービス | Compute Engine |
| OS | Ubuntu 26.04 LTS |
| Webサーバー | Apache HTTP Server 2.4系 |
| ドメイン | すでに取得済みのドメインをご利用ください。 |
| DNS | Aレコードがサーバーの「外部(IPアドレス)」に 設定済みであること。 |
| ファイアウォール ポリシー | 80番、443番ポートはかならず開放してください。 (80番を利用してSSL証明書を発行いたします。) |
事前に以下の記事を参考にサーバーとApacheの設定を完了してください。
mod_sslのインストール
1. 対象サーバーにログインしてください。
(事前にApacheのインストールは実施してください。)
a2enmod sslにてSSLを有効いたします。下記のコマンドを実施してください。
| コマンド | 説明 |
|---|---|
| $ sudo -i | rootユーザーに昇格いたします。 |
| # a2enmod ssl | SSLを有効いたします。 |
| # a2ensite default-ssl | default-ssl.confを有効化いたします。 |

certbotのインストール
2. certbotをインストールいたします。
下記のコマンドを実施してください。
| コマンド | 説明 |
|---|---|
| # apt install -y certbot | certbotをインストールいたします。 |
Let's Encrypt SSL証明書の取得
3. SSL証明書を発行いたします。(サーバーのIPアドレスをDNSに登録してください。)
※DNSにサーバーのIPアドレスとドメイン名が登録されてないとエラーになる場合あります。
下記のコマンドを実施してください。
| コマンド | 説明 |
|---|---|
| # certbot certonly --webroot -w /var/www/html -d www.kochiku.app --key-type rsa --cert-name www.kochiku.app --register-unsafely-without-email --agree-tos -n | ドメイン名はDNSに登録したドメインを入力してください。 -d のあとは利用したいドメイン名(FQDN)になります。 /var/www/htmlの配下にLet's Encrypt認証ファイルが作成されます。 Apacheは起動状態にいたします。(80番ポート利用します。) --cert-nameは内部ファイルのラベルになります。 |

4. viでdefault-ssl.confを修正いたします。
下記のコマンドを実施してください。
| コマンド | 説明 |
|---|---|
| # vi /etc/apache2/sites-available/default-ssl.conf | viでssl.confを修正いたします。 |
SSLCertificateFile /etc/letsencrypt/live/www.kochiku.app/fullchain.pem SSLCertificateKeyFile /etc/letsencrypt/live/www.kochiku.app/privkey.pem | SSLCertificateFileとSSLCertificateKeyFileの部分を さきほど発行したSSL証明書発行の場所に修正いたしましょう。 viがうまく使えない場合は下記の設定を追加してください。 # vi /root/.vimrc set mouse-=a |
5. Apacheの再起動を実施いたします。
下記のコマンドを実施してください。
| コメント | 説明 |
|---|---|
| # systemctl restart apache2 | Apacheを再起動いたします。 |
ブラウザーでの動作確認
6. 最後にブラウザーで対象ドメインにアクセスしてみましょう。
Google ChromeでURLのアイコンをクリックして「この接続は保護されてます」が
表示されていれば問題ございません。

Let's Encrypt SSL証明書の更新
7. Let's EncryptのSSL証明書は、有効期限が90日間になっております。
下記のコマンドを実施してください。
cronがうまく動作しない場合はサーバー再起動を実施してください。
※certbot renew(--force-renew )は回数制限があります。
1日5回程度になります。注意してください。
| コマンド | 説明 |
|---|---|
| $ sudo -i | rootユーザーに昇格いたします。 |
| # timedatectl set-timezone Asia/Tokyo # date | 日本時間に変更いたします。 dateコマンドで時間を確認いたします#。 |
| # systemctl restart crond | cronを再起動いたします。 |
| # crontab -e | cronを編集いたします。 |
| 00 3 1 * * /usr/bin/certbot renew --force-renew --deploy-hook "systemctl restart httpd" | viで記述いたします。 毎月1日の3時00分にSSL証明書を更新いたします。 同時にApacheの再起動も実施いたします。 |
以上で「GoogleCloud(GCP)Let's Encrypt SSL / HTTPS設定方法」を完了いたしました。


