wp-setup

[워드프레스 설치 5] SSL 보안인증서 설치하기 (HTTPS)

SSL은 뭐지? 쉽게 말해서 저번편에서 발급 받았던 내 홈페이지주소(도메인)에 적용되는 보안인증서이다. 사람들이 사이트를 이용할 때 이름, 생년월일, 주소 등 개인 정보들이 남게 되는데 인증서가 이 정보들을 암호화해주는 역할을 한다! 결국...

Dark / Light
Liberta 9월19, 2023

SSL은 뭐지?

쉽게 말해서 저번편에서 발급 받았던 내 홈페이지주소(도메인)에 적용되는 보안인증서이다.

사람들이 사이트를 이용할 때 이름, 생년월일, 주소 등 개인 정보들이 남게 되는데 인증서가 이 정보들을 암호화해주는 역할을 한다! 결국 개인정보 노출을 막을 수 있다는 얘기이다.

(도메인을 어떻게 발급받는지 궁금하다면 여기를 클릭!)

ssl 꼭 설치해야 할까?

결론적으로는 반드시 설치해야 한다.

이유는 간단하다. 이용자 입장에서 생각해 보자.
인증서를 설치하지 않은 홈페이지는 아래 이미지와 같이 사이트 주소 앞에 “주의 요함”이라는 문구가 떠있게 된다.
이런 사이트에 누가 접속을 하려고 할까?

미적용 상태

인증서 미적용 상태

적용 상태

인증서 적용 상태

 

아무리 모르는 사람도 그냥 찝찝해서 들어가지 않을것이다.
그러니 무조건 해주는게 좋다.

인증서 설치 준비

설치 사전 준비하기

  • 라이트 세일에 접속해서 >_아이콘을 클릭해 ubuntu에 접속하자.우분투 서버 접속하기
  • 먼저 아래 명령어를 입력해서 ubuntu 서버에 앱 업그레이드를 진행하고 Y를 입력후 엔터를 입력하자.
  • ubuntu@ip- :~$ sudo apt upgrade

    ubuntu 앱 업그레이드 하기

  • 그럼 아래와 같이 업그레이드가 진행된다.앱 업그레이드 진행중 화면
  • 다음 화면에서 [ok] 선택 후 엔터업그레이드 엔터 입력
  • 그다음 화면에서 체크되어 있는 그대로 [ok] 선택 후 엔터앱 업그레이드 ok하기

Let’s Encrypt 이용해서 설치 준비 하기

– Let’s Encrypt는 뭐지?

무료 인증서를 쉽게 설치할 수 있도록 돕는 CA(인증 기관)이다. 원래 인증서는 유료로 진행하는 경우가 많지만 우리는 이걸 이용해서 무료로 설치해 볼 거다.

대신 이것을 사용하려면 Certbot이라는 일종의 소프트웨어를 사용해야 한다.

– Certbot 설치하기

  • 아래의 명령어를 입력해 준다.
  • ubuntu@ip- :~$ sudo add-apt respository ppa:certbot/certbot
  • certbot 앱 설치하기
  • 아래의 명령어를 입력하자. (nginx 용 패키지를 설치해 주는 작업이다)
  • ubuntu@ip- :~$ sudo apt install -y certbot python3-certbot-nginx

    certbot nginx 패키지 설치하기

– nginx 기본 설정 파일에 적용하기

  • 명령어를 입력해서 nginx 기본 설정 파일에 들어가 보자.
  • ubuntu@ip- :~$ sudo vi /etc/nginx/sites-available/default

    nginx 기본 설정 파일 접근하기

  • 아래 보면 변경전에 server_name _; 부분도메인, www.도메인을 아래의 예시와 같이 수정해서 입력해주자
  • 입력 후 .wq라고 입력하면 저장 후 파일이 종료된다.
    server_name 변경전

    변경 전

    server_name 변경 후

    변경 후

     

  • 그리고 입력한 부분에 이상이 없는지 확인해야 하므로 아래의 명령어를 입력하고 엔터 쳐보자. 정상적으로 입력되었다면 아래와 같이 test is successful이라고 뜬다.
  • ubuntu@ip- :~$ sudo nginx -t

    nginx 에러 테스트

  • 마지막으로 nginx기본 설정 파일 적용을 위해 nginx를 다시 시작해주자.
  • ubuntu@ip- :~$ sudo systemctl reload nginx

    nginx 다시 시작하기

인증서 설치하기

이제 보안인증서 설치를 본격적으로 해볼 차례이다.

먼저 방화벽 활성화가 안 되어있다면 설치가 안 되니 꼭 먼저 활성화 시켜주자. (활성화 방법이 궁금하다면 여기를 클릭!)

ssl 인증서 받기

  • 드디어 거의 다왔다. 아래의 명령어를 입력해주자. (도메인란에는 발급받은 본인 도메인을 넣어야 한다.)
    그리고 아래 (Enter ‘c’ to cancel): 뒤에 자신의 이메일을 기입하고 c를 입력해주자.
  • ubuntu@ip- :~$ sudo certbot --nginx -d 도메인 -d www.도메인

    ssl 인증서 받기

  • 다음 화면이 뜨면 Y를 입력하고 엔터ssh 인증서 받기 y입력 후 엔터
  • 그렇게 되면 빨간 박스에 있듯이 파일 경로/파일명.pem이라는 인증 파일이 생겼고, 아래쪽에 2023-10-11이라는 인증 만료 날짜가 적혀 있는 것을 확인할 수 있다. ssl 인증서 만료 날짜 확인

보안인증서 적용 확인하기

  • https://www.ssllabs.com/ssltest/  사이트에 접속한 후 아래와 같이 본인의 도메인을 입력하고 submit를 클릭하자.도메인 입력 후 submit 클릭
  • 그러면 해당 도메인의 인증서 리포팅이 진행되고인증서 리포팅 진행
  • 아래 이미지와 같이 뜬다면 인증서가 정상적으로 적용이 된 거다!
    (만약 아래와 같이 뜨지 않는다면 아직 적용된 게 아니다. 적용 시간까지 조금 소요될 수 있으니 조금만 기다렸다 다시 시도해 보자)인증서 리포팅 완료

인증서 자동갱신 적용하기

Let’s Encrypt는 90일마다 인증서를 갱신해 주어야 한다. (무료라서 그런지 기간이 좀 짧다)

하지만 이것도 자동갱신이라는 방법이 존재한다. 바로 적용해 보자.

  • 아래의 명령어를 입력해 주자. 그리고 맨 아래 (success) 부분이 보이면 정상적으로 완료된 거다.
  • ubuntu@ip- :~$ sudo certbot renew --dry-run

    인증서 자동 갱신 설정하기

  • 적용을 위해 nginx를 재시작하자.
  • ubuntu@ip- :~$ sudo service nginx restart

    자동 갱신 적용 nginx 재시작

인증서 적용 확인하기

위 과정으로 인증서 설치 작업은 끝났다.

이제 내 도메인에 접속해서 잘 적용 되었는지 브라우저 별로 확인해보자.

크롬 (chrome)

  • 본인의 도메인으로 접속하면 주소 앞에 자물쇠가 되어 있는 걸 확인할 수 있다.크롬에서 인증서 적용 확인하기1
  • 자물쇠를 클릭하면 “이 연결은 안전합니다”라는 문구가 뜨는 박스가 보인다. 자물쇠 클릭 후 인증 확인

Safari (사파리)

  • 사파리의 경우도 본인의 도메인으로 접속했을 때 똑같이 자물쇠가 떠있다.사파리 인증서 적용
  • 자물쇠를 클릭해서 나타나는 인증서 보기 버튼을 클릭해 보자.사파리 인증서 보기 버튼 클릭
  • 사파리에서는 인증서 만료 날짜까지 확인할 수 있다. certbot 설치 시 봤던 인증서 만료 날짜와 동일하게 뜬다.사파리 인증서 만료 날짜 확인ssl 인증서 만료 날짜 확인

마지막으로

이제 인증서까지 끝났다. 사실 나는 서버 작업을 하면서 이 부분이 가장 좀 애매했었다.

앞전에도 언급했었듯이 나는 워드프레스 설치까지 모두 끝마친 후에 서비스를 활성화하고 인증서 작업을 해주었더니 서버가 무언가 잘못돼 접속 자체가 막혀버리는 상황이 생겼던 것이다.

그래서 이 작업을 미리 해주고 그다음 설치하니 안정적이고 도메인 사용이 가능했다.

설치 순서가 엄청나게 영향이 있는 건 아니지만 잘못해서 꼬일 수 있는 정도는 예방할 수 있다고 생각한다.

서버 전문가라면 이 정도는 식은 죽 먹기이겠지만 나처럼 조금 만져봤거나 아예 모르는 초보자의 입장에서는 막막하고 어디서부터 손을 대야 할지 모르기 때문에 애매해질 수 있다.

다음 편에서는

벌써 반이나 왔다. 다음 편에서는 LEMP 중 M에 해당하는 데이터베이스 설치를 해볼 예정이다.

여기까지만 성공해도 되게 뿌듯할 거다. 모든 설치가 완료하면 얼마나 더 뿌듯할지 생각하면서 설치해 보면 좋을 것 같다.

Comment

name *

*는 필수 입력입니다 (e-mail은 공개되지 않습니다)

Related posts

TOP