워드프레스 멀티사이트 생성 및 하위도메인 설정 (5)

워드프레스 멀티사이트 기능은 단일 워드프레스 설치를 통해 여러 사이트를 운영할 수 있게 해주는 기능입니다. 이 글에서는 워드프레스 멀티사이트를 생성하고 하위 도메인을 설정하는 방법부터 시작해, 라이트세일에서 도메인을 추가하고, 가비아에서 DNS를 설정하는 방법, 리다이렉션 및 SSL 설정, 그리고 마지막으로 관리자 설정까지의 과정을 상세하게 설명해 드리겠습니다.

워드프레스 멀티사이트 추가

일반 워드프레스 멀티사이트를 설정하기 위해서는 먼저 wp-config.php 파일을 수정해야 합니다. 워드프레스 설치 디렉토리에서 wp-config.php 파일을 찾아 추가하여야 합니다.

define('WP_ALLOW_MULTISITE', true);

이 설정을 추가한 후, 워드프레스 관리자 대시보드에 로그인하여 ‘도구’ > ‘네트워크 설정’으로 이동합니다. 여기서 멀티사이트 네트워크의 세부 설정을 진행할 수 있습니다.

하지만 저희는 간단하게 멀티사이트를 추가할 수 있도록 WordPress Multisite로 만들었습니다!!!

AWS 라이트세일에서 멀티 워드프레스를 만드는 방법은 아래 글에서 참고하시면 됩니다.

상단 메뉴의 네트워크 관리자에서 사이트에 들어갑니다.

워드프레스-멀티사이트

Add New Site을 선택하고 사이트 주소, 제목, 관리자 이메일을 입력하고 사이트 추가하기를 누르면 쉽게 만들수 있습니다.

저는 sale.도메인주소로 만들어보았습니다.

정상적으로 메인 페이지 이외에 sale.도메인 주소의 사이트가 생성되었습니다.

워드프레스-멀티사이트-사이트

라이트세일에서 도메인 추가

AWS 라이트세일을 사용하는 경우, 워드프레스 멀티사이트의 도메인을 추가하기 위해 라이트세일의 Network 탭으로 이동 그리고 Domains에서 새로운 하위 도메인 이름을 입력한 후 생성 버튼으로 추가합니다.

가비아에서 DNS 설정

가비아의 관리 페이지에서 DNS 레코드 설정에 들어갑니다. 여기에 AWS 라이트세일에 생성한 도메인주소를 추가해 줍니다.

워드프레스-멀티사이트-dns-설정

사이트에 접속하였으나 당연히 연결되지 않습니다. 현재 리다이렉션 설정을 수정해 줘야됩니다.

리다이렉션 설정

라이트세일에서 터미널로 들어가서 vim /opt/bitnami/apache/conf/vhosts/htaccess/wordpress-htaccess.conf을 수정해 줍니다. 멀티사이트 워드프레스 기준이며 일반 워드프레스나 버전마다 위치가 다를 수 있습니다.

vim /opt/bitnami/apache/conf/vhosts/htaccess/wordpress-htaccess.conf

아래의 코드를 맨 아래 추가합니다. 코드의 의미는 http로 접속했을 때 sale.도메인주소라면 https로 리다이렉션합니다.

<IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteCond %{HTTPS} !=on [NC]
    RewriteCond %{HTTP_HOST} ^sale\.도메인주소 [NC]
    RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

    RewriteCond %{HTTPS} !=on [NC]
    RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
</IfModule>
워드프레스-멀티사이트-리다이렉션-설정

SSL 설정

웹사이트의 보안을 강화하기 위해 멀티사이트에도 SSL 인증서를 설치하는 것이 중요합니다. Bitnami의 bncert-tool을 사용하여 SSL 인증서를 다시 설치합니다. 이전과 달라진 점은 하위 도메인이 추가되지 않아 아래의 옵션을 이용하여 IP, DNS를 검증하는 과정을 비활성화 합니다.

sudo /opt/bitnami/bncert-tool --perform_public_ip_validation 0 --perform_dns_validation 0

아래를 참고하여 진행합니다 Domain List [] : 에는 스페이스를 이용하여 하위 도메인 주소를 추가해주고 하위 도메인에는 www는 추가하지 않았습니다.

워드프레스-멀티사이트-ssl-설정

인증서의 유효성 기간은 3개월입니다. 그렇기 때문에 마지막으로 자동으로 인증서를 갱신하는 설정을 합니다. 이때 명령어를 실행하면 나오는 스크립트를 복사하여 –domains에 하위 도메인 주소를 추가하여 재실행 하였습니다.

(정상적으로 갱신되는지 여부는 3개월 이후에 확인 후 글을 업데이트하겠습니다.)

sudo crontab -u bitnami -l
sudo /opt/bitnami/letsencrypt/lego --path /opt/bitnami/letsencrypt --email="이메일주소" --http --http-timeout 30 --http.webroot /opt/bitnami/apps/letsencrypt --domains=도메인주소,하위도메인주소 --user-agent bitnami-bncert/1.1.1 renew && sudo /opt/bitnami/apache/bin/httpd -f /opt/bitnami/apache/conf/httpd.conf -k graceful

정상적으로 접속되는지 확인해 봅니다. 이때 http 주소로 접속했을 때 https로 리다이렉션 여부를 꼭 확인하세요.

워드프레스-멀티사이트-확인

관리자 설정

마지막으로, 사이트의 관리자를 설정해야 합니다. 멀티사이트 섹션으로 이동하여 기존 사용자를 추가합니다. 사용자가 추가되면 상단에 멀티사이트의 사이트명이 생기며 메인 또는 멀티사이트에 접속하여 동일하게 관리하면 됩니다.

마무리

워드프레스 멀티사이트와 하위 도메인 설정은 처음에는 복잡해 보일 수 있지만, 위의 단계를 따라 하면 비교적 쉽게 설정할 수 있습니다. 멀티사이트를 이용하여 적은 리소스로 다양한 사이트를 운영할 수 있습니다. 궁금한 점이 있으면 댓글로 남겨주세요. 읽어주셔서 감사합니다.

Leave a Comment