Word Cracker의 잡다한 정보 모음

워드프레스 멀티사이트(Multisite) 설치하기

11

개요

여러 개의 워드프레스 사이트를 서브 도메인(혹은 서브 디렉터리) 형태로 관리해야 하는 경우가 많습니다. 이 글에서는 워드프레스 멀티사이트 네트워크를 설치하는 방법에 대해 살펴보겠습니다.

멀티사이트를 구성하면 하나의 워드프레스 설치로 여러 개의 워드프레스 사이트를 관리할 수 있다는 점에서 편리합니다.

멀티사이트에 대해 WordPress Codex에서는 다음과 같이 설명하고 있습니다.

멀티사이트 네트워크란 동일한 WordPress 설치를 모두 공유하는 일단의 사이트로서 플러그인과 테마도 공유할 수 있습니다. 네트워크의 개별 사이트는 서버에 자체 디렉터리를 가지지 않다는 점에서 가상 사이트입니다. 다만, 공유하는 워드프레스 설치 내에서 미디어 업로드를 위한 개별 디렉터리를 가지고 데이터베이스에서 별도의 테이블을 가집니다.

wpmudev 글에 의하면 표준 워드프레스 설치에서는 사이트의 컨텐츠와 설정 저장을 위해 11개의 DB 테이블을 가지지만 멀티 사이트 네트워크에서는 이러한 DB 테이블 중 9개가 각 사이트에서 복제된다고 합니다.  그러므로 사이트가 많아지면 테이블 수도 많아지는 구조로 되어 있습니다.

멀티사이트 고려 사항

멀티사이트 네트워크의 장점

  1. 네트워크 관리자는 단일 알림판(대시보드)에서 여러 개의 사이트를 쉽게 관리할 수 있습니다.
  2. 각 사이트에 해당 사이트만을 관리할 수 있는 권한을 가진 자체 관리자를 둘 수 있습니다.
  3. 플러그인과 테마를 한 번만 다운로드하여 여러 사이트에 설치할 수 있습니다.
  4. 업데이트 관리 편의성.

멀티사이트 네트워크의 단점

  1. 네트워크 내의 모든 사이트가 동일한 리소스를 공유하므로 사이트가 다운되면 네트워크의 전체 사이트가 다운됩니다.
  2. 비정상적인 트래픽의 경우 서버 리소스 관리가 쉽지 않을 수 있습니다.
  3. 사이트가 해킹 당하면 관리하는 네트워크 내의 사이트가 해킹 당함.
  4. 일부 워드프레스 플러그인은 멀티사이트 네트워크에서 제대로 작동하지 않을 수 있습니다.

참고: Bluehost, Godaddy, Siteground 등과 같은 해외 호스팅 서비스를 이용하면 편리하게 서브 도메인을 만들어 사용할 수 있습니다(참고). 현재 이 블로그가 Bluehost VPS를 사용 중입니다. 고대디도 우리나라에 잘 알려져 있는데요, 블루호스트와 거의 비슷한 레벨이라 하네요. 고대디의 경우 사이트가 한글화되어 사용이 편리할 수 있을 것 같습니다. 하지만 라이브 채팅 지원을 제공하지 않아서 문제가 생길 경우 해결이 더딜 수 있습니다. (블루호스트나 iPage 등에서는 실시간 채팅을 통해 지원을 제공합니다.)

멀티사이트 설치하기

멀티사이트를 설치하는 방법은 비교적 간단합니다. (참고: 다시 멀티사이트를 설치해보니 이 글을 처음 작성할 때와는 일부 달라졌네요. 그래서 이 글을 내용을 최신 버전에 맞게 업데이트했습니다.)

우선 워드프레스를 보통의 경우처럼 설치합니다. 워드프레스가 이미 설치되었고 사용자 콘텐츠가 있는 경우 반드시 백업을 하도록 합니다.

설치가 완료되었다면 설정 > 고유주소에서 기본이 아닌 다른 설정으로 변경합니다.  (참고로 Codex 페이지에 보면 Pretty Permalinks로 설정하라고 되어 있네요.)

아래의 라인을 wp-config.php 파일에서 /* That’s all, stop editing! Happy blogging. */ 바로 위에 추가하도록 합니다.

/* Multisite */
define( 'WP_ALLOW_MULTISITE', true );

관리자 페이지(대시보드)에서 새로 고침을 하면 네트워크 설치 메뉴가 추가됩니다. 도구 > 네트워크 설치 메뉴로 이동합니다.

도구 > 네트워크 설치를 클릭하면 모든 플러그인을 비활성화하라면 메시지가 표시됩니다. 그러면 알림판에서 플러그인으로 이동하여 모든 플러그인을 일괄적으로 비활성화한 후에 도구 > 네트워크를 클릭합니다.

그러면 다음과 같은 화면이 표시됩니다.

워드프레스 멀티 사이트 설치
그림 2: 워드프레스 사이트의 네트워크 생성

또는, 다음과 같이 서브 도메인과 서브 디렉토리 중에서 선택할 수 있는 화면이 표시될 수 있습니다.

첫 화면에서는 “새로운 설치가 아니므로 워드프레스 네트워크에서 사이트는 서브 도메인을 사용해야만 합니다. 서브 디렉토리 설치의 메인 사이트는 잠재적으로 기존의 링크를 파괴할 우려가 있으므로 수정된 고유주소 구조를 사용해야 합니다.”라는 메시지가 표시되면서 서브도메인만 사용이 가능하도록 설정되어 있습니다.

이 경우에도 서브 디렉토리로 설정이 가능합니다. 서브 도메인과 서브 디렉토리 간 전환하는 방법은 기회가 될 때 별도의 글에서 다루어보겠습니다.

Microsoft의 경우 한국어 사이트 URL은 https://www.microsoft.com/ko-kr/입니다. 서브 디렉토리를 선택하는 경우, ko-kr과 같이 서브 디렉토리를 설정하면 기존의 링크를 파괴할 가능성이 줄어들 것 같습니다.

맨 아래의 “설치“를 클릭하면 다음과 같은 화면이 나타납니다.

워드프레스 멀티사이트
그림 3: 네트워크 활성화

지시에 따라 1 부분의 코드를 복사하여 wp-config.php 파일의 /* That’s all, stop editing! Happy blogging. */ 바로 위에 추가합니다. 그리고 2 부분의 코드를 .htaccess 파일에서 기존 워드프레스 규칙을 대체합니다. 그런 다음 다시 로그인하도록 합니다.

그러면 그림과 비슷하게 네트워크 멀티사이트를 관리할 수 있도록 대시보드 표시줄에 “내 사이트“라는 메뉴가 추가되어 있습니다.

WordPress Multisite Dashboard
그림 4: 네트워크 관리자

이제 새로운 사이트를 추가해봅니다. 사이트 > 사이트 추가를 클릭합니다.

멀티사이트 추가
그림 5: 새로운 사이트 추가

적절히 설정한 후에 “사이트 추가“를 클릭하면 사이트가 추가됩니다.

개별 사이트에서 사용할 수 있는 테마 지정하기

개별 사이트에서 사용할 수 있는 테마를 지정하려면 사이트 > 모든 사이트로 이동한 후에 원하는 사이트 위에 마우스를 올리고 “편집“을 클릭합니다.

멀티사이트 테마 설정하기
그림 6

그러면 “사이트 편집” 화면이 표시됩니다. “테마” 탭을 누르고 원하는 테마를 선택하여 활성화해줍니다.

멀티사이트에서 테마 설정하기
그림 7. 사이트 편집

이제 그림 6에서 방금 활성화할 테마를 지정한 사이트 이름 위에 마우스를 올리고 “알림판“으로 이동하여 해당 사이트에 사용할 테마를 선택할 수 있습니다.

이외에 사용할 수 있는 플러그인을 지정하려면 내 사이트 > 네트워크 관리자 > 플러그인에서 설정하면 됩니다.

그림 8

참고로 멀티사이트에서 지원되지 않는 플러그인도 있을 수 있습니다. 가령 WP-Members가 설치되어 있는 상태에서 플러그인을 네트워크 활성화하면 오류가 발생하게 되네요.

유용한 플러그인 – WordPress MU Domain Mapping

이 플러그인을 사용하면 블로그/사이트를 다른 도메인에 매핑시킬 수 있습니다. 설정 방법은 이 글을 참고해보세요.

워드프레스 4.5 이상부터는 도메인 매핑 기능이 내장되어 있어서 쉽게 도메인 매핑이 가능합니다. 이 글을 참고해보시기 바랍니다.

참고: 다국어 사이트를 구축하려는 경우 WPML과 같은 플러그인을 사용하면 보다 수월하게 다국어 사이트 구축이 가능합니다. WPML에 대한 자세한 내용은 이 글을 참고해보시기 바랍니다.

멀티사이트로 다국어를 운영하려는 경우에는 “멀티사이트로 다국어 구축하기” 글을 참고해보시기 바랍니다.

References:

참고:

Related Posts

11 Comments
  1. 채플린 says

    안녕하세요.
    멀티싸이트 셋팅을 하였는데 내싸이트 아래에 네트웍관리자 아래 기존싸이트가 보입니다.
    싸이트 추가를 했는데 기존싸잍 아래안보이는데 답변좀 부탁드립니다.
    각각의 싸이트는 생성되었습니다.
    수고하십시요.

    1. Word says

      안녕하세요?
      멀티사이트를 제대로 설정했고 이상이 없다면 보이는 것이 정상입니다.
      http://www.thewordcracker.com/support-system/ 페이지에서 워드프레스 URL과 (임시) 관리자 정보를 알려주시겠어요? 그러면 무엇이 문제인지 한번 확인해보겠습니다.

      1. 채플린 says

        위에 적어주신싸이트로 보냈습니다.

      2. Word says

        안녕하세요?

        현재 제가 테스트로 멀티사이트를 하나 추가했습니다.
        보시면 아시겠지만 새로 추가한 사이트는 정상적으로 표시됩니다.
        하지만 사이트의 관리자 페이지로 접속하면 “xxxx.cafe24.com에서 리디렉션한 횟수가 너무 많습니다.”라는 오류가 발생합니다.

        분명 문제가 있는 것 같습니다.
        처음부터 하나씩 짚어가면서 다시 설치해보시면 좋을 듯 합니다.
        wp-config.php 파일과 .htaccess 파일도 잘 한번 체크해보시기 바랍니다.

        그래도 잘 안 되면 정식으로 서비스를 의뢰해주시면 솔루션을 찾아봐드릴 수 있을 것 같습니다.

      3. 채플린 says

        답변감사합니다..원래리디렉션한 횟수에러가 없었는데 이것저것 만지다보니 그렇게 되었습니다.
        추가에서 보이는데 어떻게 하셨습니까..몇번을 데이타베이스 지우고 해도 전 네트워크 관리자에 안나오던데. 답변좀 주시면 감사하겠습니다.
        다지우고 다시 해볼생각입니다.

      4. Word says

        현재 문제가 있기 때문에 멀티사이트를 생성하면 보일 수도 있고, 안 그럴 수도 있습니다.

        저는 멀티사이트를 두 개 만들어 테스트하고 있는데, 그 중 하나(http://www.thewordcracker.com/simple/ )가 문제가 되어 오늘 데이터베이스를 삭제하고 다시 복원하느라 애를 먹었습니다.

        멀티사이트를 사용하다 보면 이상한 문제가 발생하는 경우가 간혹 있습니다.

        그래서 초기에 잘 판단하여 멀티사이트를 사용할 것인지, 아니면 개별적으로 설치하여 사용할 것인지, 혹은 다국어 사이트를 구축하는 경우 WPML 같은 플러그인을 사용할 것인지를 결정하는 것이 좋을 듯 합니다(http://www.thewordcracker.com/basic/%EB%8B%A4%EA%B5%AD%EC%96%B4-%EC%9B%8C%EB%93%9C%ED%94%84%EB%A0%88%EC%8A%A4-%EA%B0%80%EC%9D%B4%EB%93%9C-wpml-polylang-%EB%A9%80%ED%8B%B0%EC%82%AC%EC%9D%B4%ED%8A%B8-%EB%B9%84%EA%B5%90/ 참고해보세요). 나중에 문제가 되면 처음부터 시작해야 할 수 있습니다.

        다시 처음부터 설치해보시기 바랍니다.

      5. 채플린 says

        http://angol4.cafe24.com/mu.png
        아래주소안들어가지네요..임시로 올렸습니다.

      6. Word says

        처음부터 하나씩 짚어가면서 다시 설치해보시면 좋을 듯 합니다.
        특히 wp-config.php 파일과 .htaccess 파일을 잘 체크해보시기 바랍니다.

  2. Word says

    http://www.thewordcracker.com/simple 에 테스트로 멀티사이트를 설치해보았습니다. 서브도메인을 지원하는 경우 쉽게 서브도메인으로도 가능합니다.

  3. rb says

    아무리 해도 네트워크 설치가 안되는데 어떻게 해야하죠?? 글쓴이 님 방법대로 했는데;;

    ㅠㅠ
    1. wordcracker says

      안녕하세요?

      그대로 따라하면 안 될 이유는 없을 것 같습니다. 테스트는 카페 24에서 했습니다.
      일부 서버에서는 .htaccess 파일 쓰기가 안 되도록 막을 수도 있으니 그런 부분도 체크해보시기 바랍니다.
      처음부터 하나씩 체크하면서 다시 해보시고, 그래도 잘 안 된다면 웹호스팅 업체와 한 번 이야기해보시기 바랍니다.
      그럼, 즐거운 하루 되시기 바랍니다.

Leave A Reply

Your email address will not be published.