Word Cracker의 잡다한 정보 모음

워드프레스 멀티사이트에서 도메인 매핑 방법(업데이트)

9

워드프레스 멀티사이트에서 도메인 매핑하기

워드프레스 멀티사이트에서 도메인을 매핑하는 방법을 검색해보면 WordPress MU Domain Mapping이라는 플러그인을 사용한 방법으로 설명된 경우가 많습니다.

하지만 워드프레스 4.5 이상 버전에서는 도메인 매핑 기능이 기본적으로 제공된다고 합니다. 그리고 최신 버전(현재 4.8.1)에서 WordPress MU Domain Mapping 플러그인을 설치하여 활성화하면 오류 메시지가 표시됩니다.

최신 워드프레스 버전에서는 비교적 간단히 멀티사이트에서 도메인을 매핑시킬 수 있습니다.

예를 들어, 원래 사이트에서 english.example.co.kr이라는 서브도메인을 멀티사이트에 추가하고, example.com이라는 새로운 도메인을 이 서브도메인의 워드프레스에 연결하려는 경우:

  1. 먼저 내 사이트 > 네트워크 관리자 > 알림판으로 접속합니다.
  2. 사이트 > 모든 도메인을 클릭합니다.
  3. 그러면 사이트 리스트가 표시됩니다. 도메인 매핑을 원하는 사이트(여기에서는 english.example.co.kr) 위에 마우스를 올리고 편집을 클릭합니다.
  4. 사이트 주소(URL)에 연결하고자 하는 도메인을 입력합니다.

이제 연결한 도메인이 워드프레스가 설치된 루트 디렉터리를 가리키도록 설정하면 됩니다.

예를 들어, Apache 서버 설정의 경우 다음과 같이 설정하면 될 것 같습니다. (Vultr, Digital Ocean 등 가상 서버 호스팅에서 직접 서버를 구성하는 경우에 이 방법을 사용할 수 있습니다.)

DocumentRoot "/var/www/www.example.com/webroot"
ServerName example.com
ServerAlias example.co.kr
...

Nginx 서버의 경우:

server {
server_name example.com example.co.kr;
...

도메인 파킹

도메인 파킹을 이용할 수 있다면 이 방법으로 하면 쉬울 것 같습니다. 다국어 번역 플러그인 WPML 문서에 의하면 이 방법이 최선의 방법이라고 하네요. 멀티사이트든 WPML에서든 결국 원리는 동일할 것 같습니다.

참고로 카페24에서는 카페24에서만 구매한 도메인만 도메인 파킹이 가능하네요. 카페24에서는 도메인 파킹 기능 대신 도메인 연결 기능을 통해 도메인을 연결하면 됩니다. (도메인 연결은 상품에 따라 연결 가능한 도메인이 제한되어 있네요.) 카페24의 경우 도메인을 연결한 후에 멀티사이트에서 사이트 주소만 연결된 도메인으로 등록해주면 별다른 조치 없이 곧바로 새로운 도메인으로 연결되네요.

카페24와 별도로 A2 호스팅에서 Aliases에서 도메인을 추가하여 파킹시킨 후에 테스트해보았습니다. 이 경우 추가한 도메인 주소로 접속해보면 도메인 파킹에 연결된 사이트 주소로 이동하였습니다. 이런 문제가 발생하면 DNS 정보를 수정하여 원하는 도메인으로 연결되도록 하면 정상적으로 작동합니다. (아래의 CNAME 설정을 참고하세요.)

DNS 정보 수정

DNS 정보를 수정하는 방법도 생각해볼 수 있습니다. 이 경우 A 레코드를 워드프레스가 설치된 사이트의 IP 주소로 설정하고 CNAME을 지정해주면 될 것 같습니다. 이 부분은 확실치 않고 확인이 필요합니다. 이런 부분은 웹호스팅 업체에 문의하면 알아서 설정해주지 않을까 생각됩니다.

직접 DNS 정보를 변경하려는 경우 다음과 같이 CNAME을 추가해주면 정상적으로 작동할 것입니다. (파킹 도메인에서도 동일한 방법으로 연결이 가능합니다.)

*.example.com => example.com (또는 www.example.com)

애드온 도메인

해외 호스팅을 사용하는 경우 여러 개의 도메인을 애드온 도메인으로 추가하여 각기 다른 폴더에 워드프레스를 설치하여 사용할 수 있습니다. 이 경우 애드온 도메인을 추가할 때 Document Root(문서 루트) 경로를 워드프레스(멀티사이트)가 설치된 도메인의 루트 디렉터리로 지정해주면 됩니다.  예를 들어, Siteground의 경우 cPanel에 접속한 후에 Addon Domains를 클릭하면 애드온 도메인을 추가/삭제/관리할 수 있습니다.

애드온 도메인은 추가하는 화면에서 다음 그림과 같이 Document Root에서 루트 디렉터리를 적절히 설정해주도록 합니다(예: public_html).

이런 작업을 제대로 수행할 수 없는 경우 웹호스팅 업체에 연락하여 위와 같이 설정이 가능한지 확인해보시기 바랍니다. (해외 호스팅이더라도 호스팅어 같은 일부 호스팅에서는 멀티사이트 자체가 잘 설치가 안 되고 도메인 매핑도 잘 안 될 수 있습니다. Hostinger의 경우 비싼 VPS로 바꾸면 가능하다는 답변만 주더군요.)

DB가 하나만 제공되고 도메인을 서브디렉터리로 연결할 수 없는 경우 (개인적으로는 별로 선호하지 않지만) 멀티사이트를 만들어서 도메인을 매핑시키면 여러 개의 사이트를 하나의 웹호스팅에서 운영이 가능할 것 같습니다.

혹시 위의 내용에 오류가 있으면 알려주시면 수정하도록 하겠습니다. 저는 Siteground에서 애드온 도메인을 연결하여 설정하니 원하는 대로 구성할 수 있었습니다. 카페24의 경우 도메인만 연결시키고 사이트 주소만 바꾸어주면 별다른 설정 없이 정상적으로 작동합니다.

참고:

Related Posts

9 Comments
  1. 크리스토퍼 says

    카페24 쓰는 사용자입니다. 도메인 연결하고 사이트주소 설정해주니 잘 뜨고 있는데요. 문제는 워드프레스 알림판, 글쓰기 등 어드민 화면으로 들어가지질 않습니다. 네트워크관리자, 모든 사이트에서 서브로 설정된 다른 사이트는 다 되는데, 이것만 안되네요. 생각해보니 도메인이 변경돼서 그런거 같은데, 이런 경우엔 어떻게 해야 하나요?

    1. Word says

      저는 테스트하니 잘 되는데요, 이유를 모르겠습니다.
      다시 이전 URL로 되돌려서 테스트해보시기 바랍니다.

      1. 크리스토퍼 says

        일단은 다시 이전 서브도메인으로 변경한 상태인데요. 다시 이래저래 한번 해봐야겠습니다. 답변 감사합니다.^^

    2. Word says

      다시 테스트해보니 다른 도메인을 연결한 사이트에 로그인하려면 해당 사이트에 등록된 관리자 계정으로 다시 로그인해야 하네요.

      사이트를 추가할 때 최고 관리자 이메일 주소를 넣었다면 최고 관리자 아이디/비번을 넣으면 됩니다. 만약 그렇지 않은 경우에는 DB에서 새로 관리자 계정을 추가하는 방법을 고려해볼 수 있을 것 같습니다.

    3. 단비 says

      쿠키 문제일 수 있습니다. wp-config.php 파일에 아래 내용을 추가해보세요.
      define(‘COOKIE_DOMAIN’, $_SERVER[‘HTTP_HOST’]);

      1. Word says

        좋은 정보 감사합니다.
        Siteground에서 멀티사이트를 추가할 때 쿠키 관련 오류 메시지가 표시되더군요. 저는 다음과 같은 코드를 추가하니 해결되었습니다(https://www.thewordcracker.com/intermediate/multisite-cookies-error-in-wordpress/ ).

        define('COOKIE_DOMAIN', false);

        쿠키 문제이면 관련 오류 메시지가 표시될 것 같은데요. 그렇지 않은 경우도 있는가 보네요. 어떤 곳에서는 다음과 같은 코드를 추가하니 해결되었다고 하는 경우도 있네요.

        @define('ADMIN_COOKIE_PATH', '/');

  2. 크리스토퍼 says

    카페24 호스팅 사용자입니다. xxx.com 도메인 연결하고 멀티사이트에서 사이트 주소를 연결한 도메인으로 등록을 했습니다. 그리고나니 xxx.com 도메인으로 사이트는 정상적으로 뜨네요. 그런데, xxx.com 여기에 글을 쓰거나 설정을 수정하려고 알림판으로 들어가면 로그인 화면이 뜹니다. 이건 어떻게 해야 되는건가요?;;

    1. Word says

      안녕하세요?

      최고 관리자로 로그인하여 개별 사이트에서 관리자 권한을 가진 사용자를 추가해보시면 어떨까요?

    2. 단비 says

      쿠키 문제일 수 있습니다. wp-config.php 파일에 아래 내용을 추가해보세요.
      define(‘COOKIE_DOMAIN’, $_SERVER[‘HTTP_HOST’]);

Leave A Reply

Your email address will not be published.