본문으로 바로가기

Certbot - Centosrhel7 Apache

category 유용한 것 2019. 9. 2. 23:58

Certbot - Centosrhel7 Apache


환경 : CentOS 7 / Apache 2.4.6

https://certbot.eff.org/lets-encrypt/centosrhel7-apache


  1. SSH into the server

    SSH into the server running your HTTP website as a user with sudo privileges.

  2. Enable EPEL repo

    You'll need to enable the EPEL (Extra Packages for Enterprise Linux) repository.
    Follow these instructions at the Fedora wiki to enable EPEL.

  3. Enable the optional channel

    If you're using RHEL or Oracle Linux, you'll also need to enable the optional channel. On EC2, RHEL users can enable the optional channel by running the following command, substituting your EC2 region for REGION in the command:

    1. yum -y install yum-utils
    2. yum-config-manager --enable rhui-REGION-rhel-server-extras rhui-REGION-rhel-server-optional

  4. Install Certbot

    Run this command on the command line on the machine to install Certbot.

    sudo yum install certbot python2-certbot-apache

  5. Choose how you'd like to run Certbot
    • Either get and install your certificates...

      Run this command to get a certificate and have Certbot edit your Apache configuration automatically to serve it, turning on HTTPS access in a single step.

      sudo certbot --apache

    • Or, just get a certificate

      If you're feeling more conservative and would like to make the changes to your Apache configuration by hand, run this command.

      sudo certbot certonly --apache
  6. Enter email address (used for urgent renewal and security notices)
    (Enter 'c' to cancel):
    [이메일 주소 입력]
     
     
    - 서비스 약관 동의, ACME 서버에 등록여부.
    ...
    (A)gree / (C)ancel: [동의여부 => 여기서는 A 로 동의]
     
     
    - Let 's Encrypt 프로젝트의 창립 파트너이자 비영리 단체 Certbot을 개발하는 조직?
    EFF에 관한 이메일을 받을거라면 Y, 아니면 N
    ...
    We'd like to send you email about EFF and our work to encrypt the web,
    protect its users and defend degital rights.
    (Y)es / (N)o : N
     
     
    - 등록할 도메인을 물음. 여러개를 등록하려면 콤마나 스페이스 등을 이용해 가능
    (여기서 설정방식을 웹루트로 했다면 등록한 메일로 인증확인 메일이 날라옵니다.
    여기서는 사용안함)
    ..
    Please enter in your domain name(s) (comma and/or space separated) 
    (Enter 'c' to cancel) : [도메인 입력]
     
     
    - 생성할 인증 도메인 확인
    Which names would you like to activate HTTPS for?
    ------------------------------
    1: [등록한 도메인]
    ------------------------------
    Select the appropriate numbers separated by commas and/or spaces, or leave
    input blank to select all options shown (Enter 'c' to cancel):
    [도메인확인하고 해당 숫자를 입력]
     
    - 더이상 등록할 도메인이 없다면 그냥 Enter
    - 위의과정을 모두 마치면 아래의 문구와 함께 생성 완료
    - 현재 2019-09-02 기준 최신버전에서는 향후 리다이렉트를 자동설정하며
    - 옵션으로 수정이 가능하다고 한다.
    - 현재 날짜 기준으로 최신버전 설치 후 진행하면 도메인 마무리 단계 후
    - 리다이렉트를 안하려면 숫자 '1' / 리다이렉트 하려면 숫자 '2'를 입력하면 완료
     
     
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Congratulations! You have successfully enabled https://[등록한 도메인]
     
    You should test your configuration at:
    https://www.ssllabs.com/ssltest/analyze.html?d=[등록한 도메인]
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     
    IMPORTANT NOTES:
     - Congratulations! Your certificate and chain have been saved at:
       /etc/letsencrypt/live/[등록한 도메인]/fullchain.pem
       Your key file has been saved at:
       /etc/letsencrypt/live/[등록한 도메인]/privkey.pem
       Your cert will expire on 2018-12-13. To obtain a new or tweaked
       version of this certificate in the future, simply run certbot-auto
       again with the "certonly" option. To non-interactively renew *all*
       of your certificates, run "certbot-auto renew"
     - If you like Certbot, please consider supporting our work by:
     
       Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
       Donating to EFF:                    https://eff.org/donate-le


  7. Set up automatic renewal

    We recommend running the following line, which will add a cron job to the default crontab.

    echo "0 0,12 * * * root python -c 'import random; import time; time.sleep(random.random() * 3600)' && certbot renew" |  sudo tee -a /etc/crontab > /dev/null

Certbot이 EPEL을 필요로 하는 것같다. (CentOS 기준)

하지만 기본적으로 최신 모델에는 설치되어 있는듯 ?
그렇기 때문에 바로 yum repolist를 입력해서 확인부터 ㄱㄱ!!!


EPEL (Extra Packages for ENterprise Linux) 
 – 엔터프라이즈 리눅스를 위한 추가패키지
기본저장소만을 사용할 경우 필요한 패키지를 일일히 찾거나 소스컴파일을 하는 불편함이 있기에 epel 저장소를 함께 사용할 경우 이런 수고로움이 줄어듭니다.
아래는 리스트를 확인하고 OS 버전별로 추가하는 방법입니다.

# cat /etc/redhat-release 
CentOS release 6.6 (Final)

스마일서브 가상서버 기본저장소 확인
# yum repolist
repo1

For CentOS 5.X / RHEL 5.X
 32bit OS
 # http://dl.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm

 64bit OS
 # http://dl.fedoraproject.org/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm

For CentOS 6.X / RHEL 6.X
 32bit OS
 # http://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm

 64bit OS
 # http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

For CentOS 7.X / RHEL 7.X
 64bit OS
 # http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm


추가된 Repository 확인
# yum repolist
repo2


List EPEL Packages :

 # yum –disablerepo=”*” –enablerepo=”epel” list available


패키지 정보확인 

#  yum –enablerepo=epel info nmon
repo3