May 2, 2023

Install Let’s Encrypt

Install Let’s Encrypt

PHP 메일 발송과 Gmail을 이용하여 메일을 전송하는 솔루션을 사용하고 있는데 일부 고객사의 웹메일(그룹웨어에 속하는)에서 전송된 이미지의 링크를 차단하는 문제가 생겼다.

이를 해결하기 위해 확인하던차에 필요한것이 ssl 인증이라는 것을 확인하고 우선준비했던 도메인의 DNS에 서버를 등록했다.

dns

DNS 등록

DNS 등록을 먼저한 이유가 있다. Let's Encrypt 는 DNS정보를 필요로 한다.
암튼 요즘 도메인 얼마안하는 것도 많고 하니 구매하셔서 DNS 네임서버 등록하신후 DNS설정 해주시는것도 나쁘지는 않은듯..

그외에 설치된 환경이다.
CentOs 7.6.1810
Apache 2.4.6

Certbot를 이용하여 인증서를 받기전에 해야할 작업이 존재한다.

우선 ssl 모듈을 설치한다.

$ sudo yum -y update
$ sudo yum -y install mod_ssl

이제 도메인명을 가지고 버츄얼호스트 설정 컨피그를 작성한다.
위에 ssl모듈을 설치하면 /etc/httpd/conf.d/ 폴더에 ssl.conf 파일이 생성된다.
이건 그냥 둔다.
인증서를 받으려는 도메인의 이름으로 conf 파일을 하나 생성한다. (내가 작업한 기준)

# nano /etc/httpd/conf.d/benjamin.pe.kr.conf

<VirtualHost *:80>
    ServerAdmin admin@benjamin.pe.kr
    DocumentRoot "/var/www/html"
    ServerName benjamin.pe.kr
    ServerAlias www.benjamin.pe.kr
    ErrorLog "/var/log/httpd/benjamin.pe.kr.error_log"
    CustomLog "/var/log/httpd/benjamin.pe.kr.access_log" common
</VirtualHost>

이런식으로 해줘야 certbot 설치시에 포트 80에 대한 체크에러가 나지 않는다.

Certbot의 링크
https://certbot.eff.org/lets-encrypt/centosrhel7-apache
여기에서는 Apache On CentOS/RHEL 7 을 선택했다.
그랬더니 나오는 것이 커맨드를 쓸수 있는 CLI 콘솔과 활성화 되어있는 웹사이트?
그리고 80포트가 되야 한다는..
그외에는 서버, SSH, sudo 권한...등

그리고 나면 Snap Support 라고 나오는데 snapcraft라는 패키지매니저를 지원하다고 나온다. 이용해보니 매우 좋다. 쉽다. 나 같이 서버를 알지 못하는 인간에게 적극 추천이다. 시키는대로 따라서 한다.

https://snapcraft.io/docs/installing-snap-on-centos

Snap데몬 설치
CentOS에 Epel 레포지토리를 추가한 상태에서 설치한다.

$ sudo yum -y install epel-release
$ sudo yum -y install yum-utils
$ sudo yum install snapd

설치가 완료되면 스냅소켓을 관리하는 시스템 디바이스를 활성화한다.(뭔소리지)

$ sudo systemctl enable --now snapd.socket

클래식 스냅 지원을 활성화하기 위해 심볼릭링크를 생성한다.

$ sudo ln -s /var/lib/snapd/snap /snap

혹시나 잘못 입력했을 경우 심볼릭링크를 삭제하는 명령은 파일 삭제와 동일

$rm -f snap   <-- 이런식으로

이제 Snap 패키지 매니져는 설치완료다.

Snapd의 버젼이 최신인지 확인한다.

$ sudo snap install core
$ sudo snap refresh core

이전에 설치된 Certbot 패키지를 삭제한다.

$ sudo yum remove certbot

Snap을 이용해 Certbot를 설치한다.

$ sudo snap install --classic certbot

Certbot 명령을 실행할 수 있도록 심볼릭 링크를 생성한다.

$ sudo ln -s / snap / bin / certbot / usr / bin / certbot

Cerrtbot를 실행하여 인증서를 설치한다.

$ sudo certbot --apache

이 다음은 위 페이지를 참고하여 수동으로 받기 또는 자동갱신 테스트를 해본다.