sudo apt install python-certbot-apache
#도메인 등록 이전에 호스트 ip 가 서버 ip로 변경이 되어있어야함
sudo certbot --apache -d domain.com
#메일주소 입력
#사용약관 동의 y
#이메일주소메일링리스트 등록 n
# http 접속시 https로 리다이렉트 - 1 안한다(선택), 2 한다
# virtual host 80번포트에서 https로 redirect 후 ssl 적용
# 도메인파일 생성여부 확인
ls /etc/letsencrypt/live/
sudo a2enmod ssl
sudo a2enmod cgid
#default-ssl.conf 파일 설정
443 포트로 접속시 폴더이동
Python CGI를 활성화키 위해 아래 문구 삽입
nano /etc/apache2/sites-available/default-ssl.conf
<VirtualHost *:443>
ServerName domain.com
ServerAdmin webmaster@localhost
DocumentRoot /var/www/domain
<Directory /var/www/domain>
Options +ExecCGI
AddHandler cgi-script .py
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
SSLEngine on
<FilesMatch "\.(cgi|shtml|phtml|php)$">
SSLOptions +StdEnvVars
</FilesMatch>
<Directory /usr/lib/cgi-bin>
SSLOptions +StdEnvVars
</Directory>
SSLCertificateFile /etc/letsencrypt/live/domain.com/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/domain.com/privkey.pem
SSLCertificateChainFile /etc/letsencrypt/live/domain.com/chain.pem
</VirtualHost>
# http:// 80번 포트로 로 접속시에 https:// 443 포트로 이동
nano /etc/apache2/sites-available/000-default.conf
nano /etc/apache2/apache2.conf
<VirtualHost *:80>
ServerName domain.com
Redirect 301 / https://domain.com/
</VirtualHost>
또는 그냥 폴더로 이동(위 python CGI 적용이 안됨)
<VirtualHost *:80>
ServerName domain.kr
DocumentRoot /var/www/domain
</VirtualHost>
sudo a2ensite default-ssl.conf
systemctl reload apache2
sudo systemctl restart apache2
#SSL 이 정상적으로 작동하는지 확인
https://www.ssllabs.com/ssltest/analyze.html?d=domain.com&latest
#renew all
sudo certbot renew
certbot renew --force-renewal
#renew specific domains
certbot certonly --force-renew -d domain1.com -d domain2.com
#remove certificate
sudo certbot delete
#기타
sites-available 에서 원본이고 활성화된 config 파일은 sites-enabled 에 포함으로 추정
000-default.conf 파일은 80번 포트 접속시 적용-> 443 https 포트로 redirect 필요 ( 최초 certi. 설치시에 no redirect로 설정해야함)
apache2.conf 파일에서 sites-enabled conf파일 로딩함 > apache2.conf 파일 수정 불필요
참조사이트
https://letsencrypt.org/getting-started/
https://devlog.jwgo.kr/2019/04/16/get-ssl-cert-from-letsencrypt/
https://www.digitalocean.com/community/tutorials/how-to-set-up-let-s-encrypt-certificates-for-multiple-apache-virtual-hosts-on-ubuntu-14-04
'Computer > Linux' 카테고리의 다른 글
Oracle server installation [Free] (0) | 2022.04.18 |
---|---|
rclone (0) | 2020.05.13 |
Diable sleep/hibernation mode in Ubuntu (0) | 2020.03.31 |
github (0) | 2019.05.22 |
fdisk (0) | 2019.05.19 |
AUTOFS (0) | 2019.05.19 |
User account control (0) | 2019.05.15 |
Samba (0) | 2019.05.12 |