워드프레스 하위 도메인 SSL 발급 (부제: SSL 무료 발급, Apache2 웹 서버에 Let's Encrypt SSL 인증서 설치)

워드프레스 운영중인 웹 서버에 가상 호스트 설정을 통해 멀티사이트를 구현해보았습니다. 이어서 무료로 SSL 발급하고 http로 접속시 https로 리다이렉트(redirect)되도록 설정하겠습니다.

워드프레스 멀티사이트 만들기 (부제: 웹 서버 가상 호스트 설정, AWS Lightsail, React 프로젝트 서브도메인 배포)

Let’s Encrypt에서 무료로 인증서를 발급 받겠습니다.
Let’s Encrypt는 사용자에게 무료로 TLS 인증서를 발급해주는 비영리기관입니다.

워드프레스 하위 도메인 SSL 발급

1. certbot 설치

certbot은 Let’s Encrypt의 SSL 인증서 사용을 관리하는 무료 오픈소스 도구입니다.

sudo apt-get install certbot

2. Certbot으로 SSL 인증서 발급 및 Apache에 적용

sudo certbot --apache -d sub.example.com

sub.example.com 에는 도메인을 입력해주세요.

도메인에 대한 SSL 인증서가 발급되고, Apache 설정 파일이 수정되어 HTTPS가 적용됩니다.

3. Certbot 수동 인증서 발급 (웹 루트 경로 방식 사용 시)

sudo certbot certonly --webroot --webroot-path=/opt/bitnami/wordpress/sub -d sub.example.com

/opt/bitanimi/wordpress/sub에는 폴더 경로
sub.example.com에는 도메인을 입력해주세요.

certonly 옵션은 SSL 인증서만 발급받고 자동으로 서버 설정에 적용하지 않습니다.
웹 루트를 통해 인증을 진행하며, --webroot-path 옵션으로 해당 경로의 소유권을 확인한 뒤 인증서를 발급합니다.

오류 없이 완료되면 SSL 인증서가 /etc/letsencrypt/live/sub.example.com/ 디렉토리에 저장됩니다.

4. 발급된 인증서 권한 설정

sudo chown -R root:root /etc/letsencrypt
sudo chmod -R 700 /etc/letsencrypt

인증서와 관련된 파일의 보안이 강화되며, 파일의 접근 권한이 제한되도록 권한 설정을 해줍니다.

5. 발급된 인증서 적용

/etc/letsencrypt/live/sub.exapmle.com/에 저장된 인증서 경로를 Apache 설정 파일에 추가해야 합니다.

sudo nano /opt/bitnami/apache2/conf/vhosts/sub.example.com-vhost.conf

위 명령어로 파일을 열어서 아래 내용을 추가 후 저장해줍니다.
(AWS 답변 참고 링크)

<VirtualHost *:443>
    ServerName sub.example.com
    DocumentRoot "/opt/bitnami/wordpress/sub"
    SSLEngine on
    SSLCertificateFile "/etc/letsencrypt/live/sub.example.com/cert.pem"
    SSLCertificateKeyFile "/etc/letsencrypt/live/sub.example.com/privkey.pem"
    <Directory "/opt/bitnami/wordpress/sub">
    AllowOverride All
    Options Indexes FollowSymLinks
Require all granted </Directory> </VirtualHost>

6. Apache 설정 테스트 및 재시작

Apache 설정에 문제가 없는지 테스트 후 재시작을 해줍니다.

sudo apachectl configtest // 테스트
sudo /opt/bitnami/ctlscript.sh restart apache // 재시작

HTTP 접속시 HTTPS로 리다이렉트 (redirect)

설정파일에서 아래와 같이 redirect해주는 코드를 넣어줍니다.

<VirtualHost *:80>
ServerName sub.example.com
DocumentRoot "/opt/bitnami/wordpress/sub"

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

<Directory "/opt/bitnami/wordpress/sub">
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
</VirtualHost>

<VirtualHost *:443>
.....(생략)
</VirtualHost>

이렇게 해서 만든 결과물입니다.

제 워드프레스 블로그: https://www.kko-kkuri.com/
React로 만든 웹사이트: https://osanhillstate.kko-kkuri.com/

워드프레스 하위 도메인 SSL발급 후 적용한 사이트

댓글 달기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

Scroll to Top