ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子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 と SSR/Node.js 対応
- 4 YouTube Data API v3 エラー一覧|403/400/404 の主要原因と切り分け
- 5 Spring Frameworkのアノテーション一覧
- 6 Laravel エラー一覧|500/Blade/DB 接続/ルーティングの代表エラー
- 7 3Dグラフィックスとは|モデリング/レンダリング/主要ソフトウェア (Blender / Maya)
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- IPv6とは|128bitアドレス・コロン16進表記/::省略・リンクローカル・SLAAC・デュアルスタック NEW 2026-06-22 12:34:44
- MAC アドレスフィルタリングの仕組みと限界 | ネットワーク入門 NEW 2026-06-22 12:19:10
- VPNとは|暗号トンネル・サイト間/リモートアクセス・IPsec/SSL-VPN/WireGuardを解説 NEW 2026-06-22 12:19:10
- WebRTC とは ブラウザ間 P2P の音声・映像・データ通信 | ネットワーク入門 NEW 2026-06-22 12:17:25
- HTTP/2 とは 多重化・HPACK・バイナリフレーム | ネットワーク入門 NEW 2026-06-22 12:17:25
- Web通信プロトコル入門 HTTP/2・HTTP/3・WebSocket・gRPC・WebRTC | ネットワーク入門 NEW 2026-06-22 12:17:25
- gRPC とは HTTP/2 + Protocol Buffers の高速 RPC | ネットワーク入門 NEW 2026-06-22 12:17:25
- HTTP/3 (QUIC) とは UDP ベースの低遅延 Web 通信 | ネットワーク入門 NEW 2026-06-22 12:17:25
- WebSocket とは 全二重リアルタイム通信 ws/wss | ネットワーク入門 NEW 2026-06-22 12:17:25
- 証明書と認証局(CA)とは|X.509・信頼チェーン・DV/OV/EV・失効(CRL/OCSP)を解説 NEW 2026-06-22 12:17:24
- ファイアウォールとは|パケットフィルタ・ステートフル・DMZ・次世代FW(L4/L7)を解説 NEW 2026-06-22 12:17:24
- iptables/nftablesとは|テーブル・チェーン・ルール例・永続化をLinux視点で解説 NEW 2026-06-22 12:17:24
- HAProxy とは frontend/backend と設定例 | ネットワーク入門 NEW 2026-06-22 12:17:24
- CDN とは エッジキャッシュ・TTL・Cloudflare/CloudFront | ネットワーク入門 NEW 2026-06-22 12:17:24
- TLS/SSLの仕組み|ハンドシェイク・暗号スイート・前方秘匿性・証明書検証をわかりやすく解説 NEW 2026-06-22 12:17:24
コメントを削除してもよろしいでしょうか?