GCP 워드프레스 SSL 설정 3편 – Certbot 설치와 Let’s Encrypt 인증서 발급

GCP 워드프레스 SSL 3편: Certbot 설치 및 Let’s Encrypt 인증서 발급 (최종)

사실 제가 SSL 설치할 때 삽질한 가장 큰 이유는 제미나이가 제 서버가 비트나미(Bitnami)라고 단정짓고 비트나미(Bitnami)에 해당하는 명령어를 알려주었기 때문입니다.

구글 클라우드 마켓플레이스에는 두 가지 설치 방식이 있습니다.

Bitnami: /opt/bitnami/ 경로를 사용하는 방식 (대부분의 블로그 가이드가 이 기준)

Google Click-to-Deploy: 데비안(Debian) 리눅스 순정 기반으로 /var/www/html/ 경로를 사용하는 방식

제 서버는 후자였습니다. 비트나미 전용 도구인 bncert-tool을 아무리 실행하려 해도 “그런 파일 없음(No such file)”이 떴던 이유가 바로 이것이었습니다.

1편의 Really Simple SSL 플러그인 설치와 2편의 서버 경로 확인과 SSH 권한 설정으로도 SSL 자물쇠가 달리지 않는다면, 서버 엔진 수준에서 인증서를 직접 발급받아야 합니다. 구글 순정(Click-to-Deploy) 방식에서 가장 확실한 해결책인 Certbot 설치 과정을 초보자도 따라하기 쉽게 정리하였습니다.

1️⃣ Certbot 설치 및 실행 (root 권한)

SSH 터미널을 열고 아래 명령어를 순서대로 입력하여 인증서 발급 도구를 설치합니다.

  1. 관리자 권한 얻기:sudo su
  2. 인증서 설치 도구 실행:certbot –apache -d your-domain.com ex)info-az.com
    • (만약 certbot: command not found라고 뜨면 apt-get install certbot python3-certbot-apache를 먼저 입력하고 다시 2번을 하세요.)

관리자 권한 획득: sudo su
패키지 업데이트 및 Certbot 설치: apt-get update
apt-get install -y certbot python3-certbot-apache
인증서 발급 실행: certbot –apache -d your-domain.com
(주소 입력 시 http://는 제외합니다.)

2️⃣ Redirect 설정 (HTTP → HTTPS 강제 전환)

  • 이메일을 입력하라고 하면 본인 이메일을 쓰세요.
  • 중간에 (A)gree, (Y)es 같은 선택지가 나오면 해당 철자를 치고 엔터를 누르세요.
  • 마지막에 Redirect 여부를 물어보면 **2 (Redirect)**를 선택하세요.

설치 과정 중 아래와 같은 질문이 나오면 반드시 2번을 선택해야 합니다.

Please choose whether or not to redirect HTTP traffic to HTTPS… > 1: No redirect – Make no further changes to the server configuration.
2: Redirect – Make all requests redirect to secure HTTPS access.
선택: 2 입력 후 엔터
결과: 모든 접속자가 자동으로 보안 연결(HTTPS)로 리다이렉트됩니다.

💡 여기서 아무 문제가 없다면 자물쇠 설치가 완료된 것인데 만약 그래도 자물쇠가 달리지 않는다면 꼬인 설정을 바로잡아야 합니다.

다시 명령어를 입력하고 실행합니다.

certbot –apache -d your-domain.com

💡 이번엔 선택을 이렇게 바꾸세요!

  1. What would you like to do? 라고 물으면:
    • 1 (Attempt to reinstall…)을 누르고 엔터. (이미 진짜 인증서는 받아놨으니까요!)
  2. Which virtual host would you like to choose? 라고 물으면:
    • 이번에는 1 (wordpress-https.conf)을 누르고 엔터를 치세요!
    • 아까 2번이 안 됐던 이유는 1번이 이미 자리를 차지하고 있었기 때문입니다. 1번에 진짜 자물쇠를 갈아 끼워주는 과정입니다.
  3. Redirect 질문이 나오면:
    • 당연히 2 (Redirect)를 누르고 엔터!

1번(wordpress-https.conf) 파일이 “내가 주인이야!”라고 버티고 있어서, 2번을 선택하면 “충돌(conflict)”이 난다며 거부하는 겁니다. 1번(wordpress-https.conf)에 들어있는 자물쇠는 이름이 안 맞는 가짜 자물쇠여서 지금 새로 받은 진짜 자물쇠를 1번에 덮어씌운 작업을 한 것입니다. 이 작업을 끝으로 아마 99%는 자물쇠 설치가 완료되었을겁니다.

SSL 보안 설정 적용 화면
gcp-wordpress-ssl-certbot-letsencrypt

– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –

Congratulations! You have successfully enabled your-domain.com

– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –

검은 SSH 창에 위 문구가 나타나면 SSL 자물쇠 설치가 완료된 것입니다. 🙂

3️⃣ 작업 완료 후 보안 권한 원복 (필수)

2편에서 작업 편의를 위해 설정했던 777(전체 개방) 권한을 반드시 정상 수치로 돌려놓아야 합니다. 그대로 두면 해킹의 표적이 되므로 반드시 권한을 축소하는 명령어로 기준 권한을 복구하시기 바랍니다.

[Click-to-Deploy 기준 권한 복구]
폴더 권한(755): find /var/www/html/ -type d -exec chmod 755 {} \;
파일 권한(644): find /var/www/html/ -type f -exec chmod 644 {} \;

4️⃣ 최종 확인 및 갱신 주기

인증서 발급이 완료되면 브라우저에서 사이트 접속 후 주소창의 자물쇠 아이콘을 확인할 수 있습니다.

인증서 유효기간: 90일 (Let’s Encrypt 기준)
자동 갱신 테스트: certbot renew –dry-run
(위 명령어가 오류 없이 실행된다면 향후 자동으로 갱신됩니다.)

GCP 서버 구조도
gcp-wordpress-ssl-certbot-letsencrypt

✅ 시리즈를 마치며

GCP 워드프레스 SSL 설정은 서버 방식(Bitnami vs Native)에 따른 경로 차이만 명확히 인지하면 생각보다 어렵지 않지만 서버 방식을 모른체 접근하면 무한 루프에 빠질 수 있습니다. Really Simple SSL 같은 플러그인으로 SSL 자물쇠 다는 문제가 해결되지 않을 때는 Certbot을 사용하면 SSL 자물쇠 설치 문제를 생각보다 더 간단하게 해결할 수 있습니다.

이로써 구글 GCP 무료 서버에 SSL 자물쇠까지 다는 과정을 모두 끝마쳤는데요.

이번에 5시간 넘게 삽질을 하면서 깨달은 게 있습니다. 지금까지 AI와 협업하는 동안 AI가 알려준 내용에 큰 문제가 없었기에 저도 모르게 AI의 말을 곧이곧대로 믿고 따랐단 사실입니다. 처음에는 AI가 건넨 말을 의심하거나 검증하려 애썼지만 어느순간 AI가 시키는대로 행동하게 되면서 5시간 삽질을 하게 된 것입니다.

이 사건으로 AI와 인간의 관계를 다시 돌아보게 되었습니다. 다음 글은 AI에게 생각을 의탁한 인간의 처참한 삽질기를 통한 통찰을 에세이 형식으로 정리하여 보았습니다.

📌 이전 글: GCP 워드프레스 SSL 설정 2편 – 서버 경로 확인과 SSH 권한 설정
👉 다음 글: AI에게 생각을 의탁한 인간의 처절한 삽질기 “AI 그루밍과 인간의 각성”

Leave a Comment

error: Content is protected !!