文書の過去の版を表示しています。
【AWS】>【EC2】>【Elastic IP】>【新しいアドレスの割り当て】 【アドレスの関連付け】、EC2のインスタンスを選択する
【AWS】>【EC2】>【セキュリティグループ】>【インバウンド】>【HTTPS】がなければ追加
今回はテスト用に、Freenomでドメインを取得。
など適当に。
Freenomのドメイン設定画面で、【Use DNS】を選び、EC2に割り当てた【Elastic IP】を入力する。
$ sudo mkdir /var/www/aaaa-test.tk $ sudo chown www:www /var/www/aaaa-test.tk $ sudo mkdir /var/www/bbbb-test.tk $ sudo chown www:www /var/www/bbbb-test.tk
適当なindex.htmlファイルをアップしておく。
index.html
<html> <body> aaaa-test.tk </body> </html>
$ sudoedit /etc/httpd/conf.d/vhost.conf # vhost.conf を貼り付け
vhost.conf
<VirtualHost _default_:80>
DocumentRoot /var/www/html
</VirtualHost>
##############################
# aaaa-test.tk
##############################
<VirtualHost *:80>
ServerName aaaa-test.tk
ServerAlias www.aaaa-test.tk
DocumentRoot /var/www/aaaa-test.tk
ServerAdmin 管理者のメールアドレス
ErrorLog logs/aaaa-test.tk-error_log
CustomLog logs/aaaa-test.tk-access_log combined
<Directory "/var/www/aaaa-test.tk">
Options FollowSymLinks
AllowOverride All
</Directory>
</VirtualHost>
##############################
# bbbb-test.tk
##############################
<VirtualHost *:80>
ServerName bbbb-test.tk
ServerAlias www.bbbb-test.tk
DocumentRoot /var/www/bbbb-test.tk
ServerAdmin 管理者のメールアドレス
ErrorLog logs/bbbb-test.tk-error_log
CustomLog logs/bbbb-test.tk-access_log combined
<Directory "/var/www/bbbb-test.tk">
Options FollowSymLinks
AllowOverride All
</Directory>
</VirtualHost>
# 構文チェック $ apachectl configtest # 再起動(graceful か restart) $ sudo apachectl graceful $ sudo apachectl restart
アクレスできるか確認
http://aaaa-test.tk/
http://bbbb-test.tk/
https://qiita.com/ariaki/items/174aacfc224d2af5f2ee
# Apacheのバージョン確認 $ httpd -v # opensslの確認 $ rpm -qa | grep openssl $ openssl version # mod_sslの確認 $ rpm -qa | grep mod_ssl # mod_sslのインストール $ sudo yum -y install mod_ssl
$ sudo yum install epel-release
$ sudo yum install -y certbot python-certbot-apache
# 何も指定しない場合、ドメインを選択肢から選ぶ
$ sudo certbot
# 予めドメインを指定して、実行する場合
$ sudo certbot certonly --webroot -w /var/www/aaaa-test.tk -d aaaa-test.tk
$ sudo ls -la /etc/httpd/conf.d/
$ sudoedit /etc/httpd/conf.d/vhost-le-ssl.conf
$ sudo ls -la /etc/letsencrypt/live/www.aaaa-test.tk/
# CN= の後ろがサーバ名と同じか確認
$ openssl x509 -in /etc/letsencrypt/archive/www.aaaa-test.tk/fullchain1.pem -noout -subject
# バーチャルホストの設定を確認
$ sudoedit /etc/httpd/conf.d/vhost.conf
# ssl用のバーチャルホストを設定
$ sudoedit /etc/httpd/conf.d/vhost-le-ssl.conf
# logファイルに prefix「ssl_」をつける
# wwwのあり・なしの統一(なしの場合の例)
RewriteEngine on
RewriteCond %{SERVER_NAME} =www.aaaa-test.tk
RewriteRule ^ https://aaaa-test.tk%{REQUEST_URI} [END,NE,R=permanent]
# 再起動
$ sudo apachectl restart
各アドレスにアクセスし、想定通りの動きをするか確認。
http://aaaa-test.tk/
http://www.aaaa-test.tk
https://aaaa-test.tk/
https://www.aaaa-test.tk/
https://qiita.com/mogya/items/f43334fd531888c4774f
$ sudo systemctl enable --now certbot-renew.timer # タイマー確認 $ sudo systemctl list-timers # 証明書更新後に自動でapacheの再起動 $ sudoedit /etc/sysconfig/certbot POST_HOOK="--post-hook 'apachectl graceful'" # 再起動 $ sudo apachectl restart # ログ $ sudo systemctl status certbot-renew
コメント