콘텐츠로 건너뛰기

[WordPress] https setting without cpanel, WordPresss cpanel 없이 https 설정 1 – 설정 개요

답글 남기기

라즈베리파이 4를 활용해 개인 웹 서버를운영하기 시작할때 쯤 초기에 웹사이트의 https 변환을 위해 이것 저것 시도하다 서버를 날려먹은 기억이 많아 한동안 https변경 시도를 하지 않고 있었다.

하지만 계속 무시하기에는 예전부터 사이트 보안을 위해 노력했던 것들도 있었고, http 경고알림이나, 서버를 날려먹은 기억이 많아 덕분에 백업을 외부저장장치에 일단위로 하고 있다는 점은 다시 https 변경을 시도하게 되는 계기가 되었다.

일단 서버 구축의 배경이 단지 실험의 일부로 시작하였고 본격적으로 웹 호스팅을 시작하려고 마음 먹지 않은 상태로 바로 Apache 서버에 wordpress 를 올려 따로 Cpanel 환경을 구축하지 않았었다.

Cpanel은 Control Panel의 약자로 c판넬이 아닌 c패널이라고 부르면 되며, 웹 서버 구축 시 웹 호스팅의 서비스를 편하게 관리할 수 있게 해주는 패널이며 DB, FTP 계정, 메일, 도메인 관리, 파일 관리 등 다양한 자원을 편하게 관리할 수 있게 도와줄 수 있다.

서버를 구축할 당시만 하더라도 이러한 도구가 있었다는 것을 알았다면 진작 사용했겠지만 주먹구구식으로 DB, FTP, Domain 등을 힘들게 공부해가면서 사용했던 기억이 난다. 역시 다시금 열심히 해야 할 계기가 된다.

현재 wordpress의 다양한 SSL 관련 플러그인(Really Simple SSL, WP-Encryption 등)은 기본적으로 관리자가 Cpanel을 이미 가지고 있다는 가정 하에 설치 과정을 설명한다. 물론 유료 제품을 설치하게 된다면 자동으로 인증까지 도와주고 있지만 지금까지 그래왔던 것 처럼 무료로 관리하고 싶어 조사했다.

웹 사이트에서 HTTPS를 사용하려면 CA에서 인증서를 가져와야 한다. 지금부터 설명할 Let’s Encrypt는 이러한 인증 기관이며 Let’s Encrypt에서 웹 사이트 도메인에 대한 인증서를 받으려면 도메인에 대한 제어가 가능해야 한다.

1. 접근 권한 확인

  • Shell 접근이 불가능한 상황

서버를 직접 관리하지 않고 호스팅 서비스를 이용해 Cpanel이나 WordPress 제어판으로만 홈페이지를 관리한다면 Shell 접근이 불가능한 경우.

보통은 호스팅을 관리해주는 업체가 https 서비스를 어떤 방식으로 지원해 주는지 조사해 보는 방법이 빠르다.

  • Shell 접근이 가능한 상황

SSH 쉘 접근이 가능한 상황, 서버 구축을 직접 홈페이지 관리자가 관리하는 경우.

저는 Shell 권한이 있는 경우에 해당해 shell 권한으로 https 설정 방법을 포스팅하겠다.

– 쉘 액세스 권한이 있는 사용자는 CertBot ACME Client를 사용해 https 환경 구성을 하는 편이 빠르고 인증을 자동화 할 수 있다.

다음 포스트에서 wordpress ssl 설치를 위한 snapd 설치와 cerbot 재설치 과정을 포스팅하겠다.