본문 바로가기

Computer/Linux

SSL 무료로 설치 렛츠인크립트 Let's Encrypt

 

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

https://happist.com/548924/%EC%9B%8C%EB%93%9C%ED%94%84%EB%A0%88%EC%8A%A4-tips-lets-encrypt-%EB%AC%B4%EB%A3%8C-ssl%EC%9D%B8%EC%A6%9D%EC%84%9C-%EB%B0%9C%EA%B8%89-%EB%B0%8F-%EC%9E%90%EB%8F%99-%EA%B0%B1%EC%8B%A0

 

 

'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