ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
| この記事の要点 |
|
前提
- OS: CentOS 7 系(他ディストリは適宜読み替え)
- Web サーバ: Apache HTTP Server(httpd 2.4)
- ドキュメントルート:
/var/www/html - 取得するドメインの A レコードがこのサーバを向いている
- 80 番ポートが開放され、外部から到達可能
1. certbot のインストール
Let’s Encrypt の証明書を発行するクライアントである certbot を EPEL から入れます。
yum -y install epel-release
yum -y install certbot python-certbot-apache mod_ssl
mod_ssl は Apache の SSL モジュール本体。これが入っていないと ssl.conf の設定が読まれません。
2. 証明書の発行
certbot certonly --webroot 方式は、ドキュメントルートに認証用ファイルを置いて Let’s Encrypt がそれを読み取りに来る形でドメイン所有を検証します。
certbot certonly --webroot -w /var/www/html/ -d example.com -d www.example.com
初回は対話形式で以下を聞かれます。
- 証明書切れ通知用のメールアドレス
- 利用規約への同意
- Electronic Frontier Foundation からの購読メール送信可否(No で可)
発行に成功すると証明書一式が /etc/letsencrypt/live/<ドメイン名>/ 配下に作成されます。
3. ssl.conf の設定
/etc/httpd/conf.d/ssl.conf を編集し、証明書のパスを Let’s Encrypt のものに差し替えます。
<VirtualHost _default_:443>
ServerName example.com
SSLEngine on
SSLProtocol all -SSLv2 -SSLv3 -TLSv1 -TLSv1.1
SSLHonorCipherOrder on
SSLCertificateFile /etc/letsencrypt/live/example.com/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem
SSLCertificateChainFile /etc/letsencrypt/live/example.com/chain.pem
DocumentRoot "/var/www/html"
</VirtualHost>
設定後は文法チェックして反映します。
apachectl configtest
systemctl restart httpd
4. 443 ポートの開放
firewalld を使用している場合、HTTPS が外から届くように 443/tcp を解放します。
firewall-cmd --add-port=443/tcp --zone=public
firewall-cmd --add-port=443/tcp --zone=public --permanent
firewall-cmd --reload
クラウド環境では別途セキュリティグループ / ネットワーク ACLでも 443 を許可する必要があります。
5. .htaccess で常時 HTTPS 化
HTTP(80)でアクセスされた場合に HTTPS(443)へ自動リダイレクトします。/var/www/html/.htaccess を以下の内容で作成。
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
.htaccess を有効化するため /etc/httpd/conf/httpd.conf の対象ディレクトリで AllowOverride All を指定します。
<Directory "/var/www/html">
AllowOverride All
Require all granted
</Directory>
設定を反映:
systemctl restart httpd
6. 動作確認
| 確認項目 | 方法 |
|---|---|
| HTTPS で 200 を返すか | curl -I https://example.com/ |
| HTTP が HTTPS にリダイレクトされるか | curl -I http://example.com/ → 301 と Location が出る |
| 証明書のサーバ名・期限 | openssl s_client -connect example.com:443 -servername example.com |
| 総合スコア | SSL Labs(https://www.ssllabs.com/ssltest/)で A 以上 |
7. 証明書の自動更新
Let’s Encrypt 証明書は有効期限 90 日です。期限切れになるとブラウザに警告が出るため、cron で自動更新を設定します。
# 動作確認(実際には更新しないテスト)
certbot renew --dry-run
# cron に登録(毎日早朝に試行、必要時のみ更新される)
crontab -e# 毎日 3:00 に renew、更新時は httpd を再起動
0 3 * * * certbot renew --quiet --post-hook "systemctl reload httpd"
よくあるエラーと対処
| 症状 | 原因 / 対処 |
|---|---|
Failed authorization procedure | 80 番が閉じている or DNS A レコードが向いていない。firewalld と dig example.com を確認 |
The requested URL ... was not found on this server by ACME | webroot のパスがドキュメントルートと一致していない |
| httpd 再起動でエラー | apachectl configtest でエラー行を特定。SSLCertificateFile のパス誤りが多い |
| HTTPS でも保護されていない警告 | HTML 内に http:// のリソースが混在(mixed content)。すべて https:// もしくは相対パスに修正 |
| 証明書が更新されない | renew の cron が動いていない / post-hook で httpd 再読込していない |
関連
- Apache HTTP Server — 親カテゴリ
- RewriteEngine On — .htaccess でのリダイレクト記述
ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
子ページはありません
人気ページ
- 1 Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法
- 2 tomcat の起動 / 停止ログと catalina.log・catalina.out の違い
- 3 JavaScript で base URL を取得する方法|window.location.origin
- 4 YouTube Data API v3 エラー一覧|403・400・404 の原因と対処
- 5 Laravel エラー一覧|500/Blade/DB 接続/ルーティングの代表エラー
- 6 3Dグラフィックスとは|モデリング/レンダリング/主要ソフトウェア (Blender / Maya)
- 7 Spring Frameworkのアノテーション一覧
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- 【django】ログイン 認証機能 2026-09-08 03:22:09
- MySQL ERROR 1063 Incorrect column specifier for column|原因と直し方 2026-09-08 03:11:09
- 【PHPエラー】Object of class stdClass could not be converted to string 2026-09-07 07:46:04
- Julia Genie ローカル開発サーバ起動完全ガイド 2026-09-07 07:46:04
- Wi-Fi とは|規格と世代(Wi-Fi 4〜7)・周波数帯・CSMA/CA・WPA3 NEW 2026-09-07 07:45:13
- set コマンドでシェルオプションと位置パラメータを操作 | bash 2026-09-07 07:45:13
- JPEG(.jpg/.jpeg)画像形式の完全ガイド — 仕様・マジックナンバー・他形式との比較・EXIF 2026-09-07 07:45:13
- UE5 Get Overlapping Actorsで特定クラスだけ処理|Class Filter・Cast To 2026-09-07 07:45:13
- Linuxで特定拡張子のファイルを再帰削除|find -deleteの安全手順 2026-09-07 07:45:13
- Django CBVでテンプレートに値を渡す|get_context_data・extra_context 2026-09-07 07:45:13
- Linuxで複数ファイルの文字列を一括置換|find・sed・xargsの安全手順 2026-09-07 07:45:13
- Laravelルートグループ|prefix・middleware・nameで一括管理 2026-09-07 07:45:13
- Linux whichコマンドの使い方|絶対パス取得とtype・command -vの違い 2026-09-07 07:45:13
- Linux catコマンドの使い方|行番号表示・複数ファイル連結 2026-09-07 07:45:13
- unable to execute 'gcc': No such file or directory 2026-09-07 07:45:13
コメントを削除してもよろしいでしょうか?