개요
여러 개의 워드프레스 사이트를 서브 도메인(혹은 서브 디렉터리) 형태로 관리해야 하는 경우가 많습니다. 이 글에서는 워드프레스 멀티사이트 네트워크를 설치하는 방법에 대해 살펴보겠습니다.
멀티사이트를 구성하면 하나의 워드프레스 설치로 여러 개의 워드프레스 사이트를 관리할 수 있다는 점에서 편리합니다.
멀티사이트에 대해 WordPress Codex에서는 다음과 같이 설명하고 있습니다.
멀티사이트 네트워크란 동일한 WordPress 설치를 모두 공유하는 일단의 사이트로서 플러그인과 테마도 공유할 수 있습니다. 네트워크의 개별 사이트는 서버에 자체 디렉터리를 가지지 않다는 점에서 가상 사이트입니다. 다만, 공유하는 워드프레스 설치 내에서 미디어 업로드를 위한 개별 디렉터리를 가지고 데이터베이스에서 별도의 테이블을 가집니다.
wpmudev 글에 의하면 표준 워드프레스 설치에서는 사이트의 컨텐츠와 설정 저장을 위해 11개의 DB 테이블을 가지지만 멀티 사이트 네트워크에서는 이러한 DB 테이블 중 9개가 각 사이트에서 복제된다고 합니다. 그러므로 사이트가 많아지면 테이블 수도 많아지는 구조로 되어 있습니다.
멀티사이트 고려 사항
멀티사이트 네트워크의 장점
- 네트워크 관리자는 단일 알림판(대시보드)에서 여러 개의 사이트를 쉽게 관리할 수 있습니다.
- 각 사이트에 해당 사이트만을 관리할 수 있는 권한을 가진 자체 관리자를 둘 수 있습니다.
- 플러그인과 테마를 한 번만 다운로드하여 여러 사이트에 설치할 수 있습니다.
- 업데이트 관리 편의성.
멀티사이트 네트워크의 단점
- 네트워크 내의 모든 사이트가 동일한 리소스를 공유하므로 사이트가 다운되면 네트워크의 전체 사이트가 다운됩니다.
- 비정상적인 트래픽의 경우 서버 리소스 관리가 쉽지 않을 수 있습니다.
- 사이트가 해킹 당하면 관리하는 네트워크 내의 사이트가 해킹 당함.
- 일부 워드프레스 플러그인은 멀티사이트 네트워크에서 제대로 작동하지 않을 수 있습니다.
참고: Bluehost, Godaddy 등과 같은 해외 호스팅 서비스를 이용하면 편리하게 서브 도메인을 만들어 사용할 수 있습니다(참고).
멀티사이트 설치하기
멀티사이트를 설치하는 방법은 비교적 간단합니다. (참고: 다시 멀티사이트를 설치해보니 이 글을 처음 작성할 때와는 일부 달라졌네요. 그래서 이 글을 내용을 최신 버전에 맞게 업데이트했습니다.)
우선 워드프레스를 보통의 경우처럼 설치합니다. 워드프레스가 이미 설치되었고 사용자 콘텐츠가 있는 경우 반드시 백업을 하도록 합니다.
설치가 완료되었다면 설정 > 고유주소에서 기본이 아닌 다른 설정으로 변경합니다. (참고로 Codex 페이지에 보면 Pretty Permalinks로 설정하라고 되어 있네요.)
아래의 라인을 wp-config.php 파일에서 /* That’s all, stop editing! Happy blogging. */ 바로 위에 추가하도록 합니다.
/* Multisite */
define( 'WP_ALLOW_MULTISITE', true );
관리자 페이지(대시보드)에서 새로 고침을 하면 네트워크 설치 메뉴가 추가됩니다. 도구 > 네트워크 설치 메뉴로 이동합니다.
그림 1: 워드프레스 멀티사이트 설치
도구 > 네트워크 설치를 클릭하면 모든 플러그인을 비활성화하라면 메시지가 표시됩니다. 그러면 알림판에서 플러그인으로 이동하여 모든 플러그인을 일괄적으로 비활성화한 후에 도구 > 네트워크를 클릭합니다.
그러면 다음과 같은 화면이 표시됩니다.
그림 2: 워드프레스 사이트의 네트워크 생성
서브 도메인이 지원되면 다음 그림과 같이 서브 도메인과 서브 디렉토리 중에서 선택할 수 있는 화면이 표시됩니다.
그림 2-1. 워드프레스에서 사이트 주소 지정: 서브 도메인 vs. 서브 디렉터리
맨 아래의 “설치“를 클릭하면 다음과 같은 화면이 나타납니다.
그림 3: 네트워크 활성화
지시에 따라 1 부분의 코드를 복사하여 wp-config.php 파일의 /* That’s all, stop editing! Happy blogging. */ 바로 위에 추가합니다. 그리고 2 부분의 코드를 .htaccess 파일에서 기존 워드프레스 규칙을 대체합니다. 그런 다음 다시 로그인하도록 합니다.
그러면 그림과 비슷하게 네트워크 멀티사이트를 관리할 수 있도록 대시보드 표시줄에 “내 사이트“라는 메뉴가 추가되어 있습니다.
그림 4: 네트워크 관리자
이제 새로운 사이트를 추가해봅니다. 사이트 > 사이트 추가를 클릭합니다.
그림 5: 새로운 사이트 추가
적절히 설정한 후에 “사이트 추가“를 클릭하면 사이트가 추가됩니다.
개별 사이트에서 사용할 수 있는 테마 지정하기
개별 사이트에서 사용할 수 있는 테마를 지정하려면 사이트 > 모든 사이트로 이동한 후에 원하는 사이트 위에 마우스를 올리고 “편집“을 클릭합니다.
그림 6
그러면 “사이트 편집” 화면이 표시됩니다. “테마” 탭을 누르고 원하는 테마를 선택하여 활성화해줍니다.
그림 7. 사이트 편집
이제 그림 6에서 방금 활성화할 테마를 지정한 사이트 이름 위에 마우스를 올리고 “알림판“으로 이동하여 해당 사이트에 사용할 테마를 선택할 수 있습니다.
이외에 사용할 수 있는 플러그인을 지정하려면 내 사이트 > 네트워크 관리자 > 플러그인에서 설정하면 됩니다.
참고로 멀티사이트에서 지원되지 않는 플러그인도 있을 수 있습니다. 가령 WP-Members가 설치되어 있는 상태에서 플러그인을 네트워크 활성화하면 오류가 발생하게 되네요.
유용한 플러그인 – WordPress MU Domain Mapping
이 플러그인을 사용하면 블로그/사이트를 다른 도메인에 매핑시킬 수 있습니다. 설정 방법은 이 글을 참고해보세요.
참고: 다국어 사이트를 구축하려는 경우 WPML과 같은 플러그인을 사용하면 보다 수월하게 다국어 사이트 구축이 가능합니다. WPML에 대한 자세한 내용은 이 글을 참고해보시기 바랍니다.
References:
참고: