안녕하세요.

린치핀소프트 한광희입니다.

이번 포스트 주제는 “워드프레스 멀티 사이트 구축”입니다.

 

저는 대학교 또는 외부에서 워드프레스 강의를 하고 있습니다. 보통은 기초/심화반으로 나누어 워드프레스를 듣기만 하고 이용해보신적이 없는 분들을 대상으로 하여 워드프레스 소개와 가입부터 기능들을 하나,하나 소개해드리고 있습니다.

이렇게 강의를 준비하다 보면 고민되는게 어떻게 워드프레스를 쉽게 설치하고 이용할 수 있다는것을 알려드릴 수 있을까? 하는 고민을 하게 됩니다.

보통은 워드프레스가 설치형 CMS(Content Management System) 이기는 하지만 wordpress.com 같은 서비스형도 제공되므로 wordpress.com에서 가입하여 이용하시는 방법으로 강의를 했습니다. 그러나 기초반 이상의 심화반에서는 플러그인과 테마의 이용에 대한 설명이 필요했습니다. 그래서 저희 서버에서 세팅을 하거나 국내호스팅 서비스 이용방안을 알려드렸었는데, 한정된 강의시간에 서비스 가입에 대한 내용에 시간을 많이 할애하게 되어 안타까웠습니다.

워드프레스 웹 호스팅 임차나 서비스형 워드프레스를 가입하는 방법은 해당 서비스 제공업체에서도 자세히 안내하고 있고 관련 글도 많기 때문입니다.

그래서 생각한것이 저희가 개발환경으로 구축한 몇가지 서버중에 아마존 EC2 웹 서비스에 워드프레스 멀티사이트를 구축하여, 강의 당일날 쉽게 교육생분들이 워드프레스  블로그를 만들고 테마와 플러그인까지 학습할수 있게 해보는 방법을 생각했습니다!

그래서 이번 블로그 포스트에서는 워드프레스 MultiSite 구축 방법에 대한 안내이며, 멀티사이트 구축 시리즈로 포스팅합니다.

 

1. 워드프레스 멀티 사이트  또는 워드프레스 MU 란?

워드프레스를 오랫동안 사용해보셨거나 워드프레스에 대해 잘 알고 계시는 분은 WordPress MU 프로젝트에 대해서 들어보셨을 겁니다. WordPress Multisite 기능은 지금은 워드프레스 기본 기능으로 탑재되어 손쉽게 멀티사이트를 구축할 수 있지만, 과거에는 따로 MU라는 프로젝트를 이용하여 구축하였습니다. 이후 wordpress 3.0 버전 이후부터 멀티사이트 구축이 워드프레스의 코어에 포함되었습니다.

그럼 멀티사이트는 무엇일까요? 이를 한 문장으로 정의해보면 하나의 워드프레스 시스템에서 다수의 독립된 워드프레스를 운용하는 사이트를 말합니다.

이때 워드프레스 시스템은 여러개의 워드프레스 사이트로 제한없이 구축할수 있으며 테마/플러그인 모두 사이트별로 독립적으로 사용할 수 있습니다. 각 사이트가 동일한 IP에서 호스팅되지만 도메인 역시 각기 다르게 할 수 있는 기능을 지원합니다.

또한 워드프레스 하나의 통일된 시스템에서 다수의 워드프레스가 운용되어 업데이트와 테마/플러그인 관리가 수월하며, 각 워드프레스 사이트를 독립적으로 호스팅하여 구축하는 것보다 서버용량도 훨씬 절약 할 수 있습니다. 거기다가 테마&플러그인과 콘텐츠도 워드프레스 사이트별로 각기 별도로 운용되므로 사용자 입장에서 시스템 충돌이나 콘텐츠 충돌문제를 염두해두지 않고 싱글 워드프레스 사이트를 이용하는 것과 동일하게 이용할수 있습니다.

이는 워드프레스가 모든 콘텐츠를 Upload 폴더와 MySQL 데이터베이스 내 11개의 테이블에 저장하지만, 멀티사이트에서는 각 생성된 워드프레스가 2개의 테이블만 공동 사용하고 9개의 테이블이 각각 사이트별로 생성되며 upload 폴더도 독립적으로 생성되기 때문입니다.

screenshot-52.68.215.28 2015-08-13 13-49-19

< 멀티 사이트의 데이터베이스 PhpMyadmin. 각 사이트별로 9개의 테이블이 별도로 생성되어 콘텐츠가 따로 관리되고 있음을 알수 있습니다>

 

2.워드프레스 멀티사이트의 이용 사례

이런 워드프레스 멀티사이트를 구축하여 운용하고 있는 곳은 어딜까요?

바로 wordpress.com이 가장 대규모로 운용하고 있는 곳입니다.  wordpress.com에서는 하루에도 수천개의 블로그 사이트가 생성된다고 하니 그 규모가 엄청나다는 것을 알 수가 있습니다.

wordpress.com은 저도 자주 이용해본 가입형 워드프레스 서비스인데, “플러그인” 자체 메뉴가 없어서 워드프레스 코어를 자기의 사업 도메인에 맞추어 수정했구나! 하고 생각했습니다.

하지만 이번에 멀티사이트를 구축하여 운용해보니, 워드프레스 네트워크 관리자에서 산하의 모든 워드프레스 사이트에서의 “플러그인”메뉴에 접근권한을 관리 할 수 있더군요. wordpress.com도 이 기능을 이용하여 보안과 호환성 문제로 플러그인의 접근권한을 이용자에게 주지 않은 모양입니다.

워드프레스 멀티사이트 이용사례

1. BBC America  www.bbcamerica.com

2. University Of Berlin  blogs.fu-berlin.de

3. NY Times Blog  http://www.nytimes.com/interactive/blogs/directory.html?_r=0

4.University Of Melbourne  blogs.unimelb.edu.au

위의 사이트들이 워드프레스 멀티사이트를 활용하고 있는 사례들입니다. 이외에도 많은 사이트가 멀티사이트 기능을 이용하고 있으며 위의 예시들을 보더라도 대규모의 시스템을 운영하는 업체나 단체에서 시스템별로 많은 사이트를 구축하고 손쉽게 관리하는데 이용하고 있음을 알 수 있습니다.

각 대학교나 언론지 같은 경우 프로젝트 페이지 또는 교원/학생 블로그를 생성하여 운용할수 있게끔 한다고 합니다.

 

3. 워드프레스 멀티사이트 구축이 효과 없는 경우

분명 워드프르레스 멀티사이트는 유용하고 그 확장성이 크며 강력한 시스템임이 분명합니다. 그러나 과유불급, 어떠한 경우에는 워드프레스 멀티사이트 구축이 올바른 해법이나 효과가 없는 경우도 있습니다.

1. 2개 이상의 워드프레스 사이트를 구축운용 할 필요가 없거나 향후 확장가능성이 없다고 판단하는 경우

2. 다수의 워드프레스 사이트를 운영하더라도 각 사이트별로 독립적으로 호스팅되어야 하는 경우

3. 멀티사이트를 구축하고자하는 웹 호스팅 또는 웹 서버가 멀티사이트 구축의 환경을 충족 시켜주지 못하는 경우

 

위의 3가지 경우에는 워드프레스 멀티사이트 구축을 재고해보아야 합니다.  3번 같은 경우 워드프레스 멀티사이트 구축을 위한 최소사양을 정의 할 수는 없지만(구축하고자 하는 멀티사이트의 규모에따라 조건이 천차만별이겠죠) 대략 멀티사이트 관리자가 웹서버의 루트권한과 아파치와 같은 웹서버 프로그램의 환경설정, 그리고 데이터베이스의 권한등을 상당부분 가지고 수정 할 수 있을때 멀티사이트 구축이 수월 합니다.

저는 이번에 아마존 EC2 서버에서 구추했습니다. 서버 호스팅 이기에  구축에 무리가 없었지만 서버호스팅이나 자체서버를 운용하시는 분들이 아닌 웹 호스팅을 이용하시는 분들은 꼼꼼히 따져보시기 바랍니다.

 

4.멀티사이트 구축시 유의사항

멀티사이트는 크게 2가지로 구축 할 수 있습니다.(URL 관점에서)

이 2가지는 “서브 도메인” “서브 디렉토리” 입니다.

 

워드프레스 멀티사이트 구축후 user_blog 라는 사이트명을 가진 워드프레스를 구축할 경우의 예시

1. 서브 도메인 예시 : http://user_blog.linchpinsoft.com

2. 서브 디렉토리 예시 : http://www.linchpinsoft.com/user_blog

위 2가지 예시를 보면 같은 user_blog 라는 사이트명을 가진 워드프레스를 생성하여도 서브 도메인/서브 디렉토리 방식에 따라 표시가 다른점을 알 수 있습니다.

보통 서브 도메인의 경우 조금 더 까다로운 조건이 필요하며 항상 URL로 매핑해주어야 합니다. 서브 디렉토리의 설정은 IP 주소로도 환경을 구성하여 운용 할수 있고 서브 도메인보다 덜 수고롭지만 이 방식도 과거의 블로그글의 고유주소 충돌문제가 야기 될 수 있습니다.

워드프레스 공식 문서에서는 이런 문제때문에 이미 장기간(한달 이상) 운용된 워드프레스에 추후 멀티사이트 구축으로 시스템을 확장할시에는 고유주소 충돌로 인하여 권장하는 편은 아니라고 명기되어 있습니다.

5.멀티사이트 구축 설치하기

자 그럼 멀티사이트를 구축해보도록 하겠습니다.

우선 워드프레스 일반 사이트를 구축하세요. 이에 대해서는 https://codex.wordpress.org/ko:Installing_WordPress 에서 자세히 소개 하고 있습니다.

저는 워드프레스 일반 사이트 구축후에 멀티사이트로 확장하는 방법을 다루도록 하겠습니다.

 

6. wp-config.php 파일 수정하여 “네트워크 설정” 활성화 하기

screenshot-newtab 2015-08-14 22-32-49

워드프레스를 정상 설치하고 워드프레스 디렉토리를 FTP로 접속해보면 위와 같은 구성되어 있을겁니다.

이중 우리는 먼저 wp-config.php 파일 부터 수정해야 합니다.

screenshot-newtab 2015-08-13 11-54-20

wp-config.php 을 다운로드 받아 텍스트 에디터로 열고 위와 같은 소스코드를 추가해줍니다. 위치는 wp-config.php 파일중 /* That’s all, stop editing! Happy blogging. */  라고 되어 있는 부분 바로 위에 추가해주시면 됩니다. 위 설정을 통해 비로소 워드프레스 사이트에서 멀티사이트를 설치하는 메뉴를 확장할 수 있습니다.

소스코드를 추가한후 wp-config.php 파일을 다시 서버에 업로드하여 시스템이 변경되도록 합니다.

7. 네트워크 설정 및 wp-config.php, .htaccess 파일 추가 수정하기

wp-config.php 파일을 업로드 한후 관리자  페이지를 새로고침 합니다.

screenshot-52.68.215.28 2015-08-13 11-55-25

그러면 위의 화면 처럼 “도구” -> “네트워크 설치” 라는 메뉴가 생성됩니다.

여기서 네트 워크 제목과 관리자 이메일을 입력하고 “설치”버튼을 클릭합니다.


screenshot-52.68.215.28 2015-08-13 12-03-15

“설치’버튼을 누르면 위의 스크린샷처럼 화면이 갱신되며 문구처럼 wp-config.php 와 .htaccess 파일을 위처럼 수정해야 합니다.

screenshot-newtab 2015-08-13 12-05-16

다시 FTP로 워드프레스 디렉토리를 보면 위의 2파일이 존재하는데 .htaccess 파일이 보이지 않는다면 ftp에서 숨긴파일을 볼수 있도록 설정하여 다시 확인하세요. 이때도 .htaccess 파일이 없다면 생성하면 됩니다.

여기서 주의해야 할 부분은 .htaccess 파일은 “교체”로 기존의 .htaccess 파일을 지우고 위에 명시된 소스코드로 덮어써주어야 하고, wp-config.php 파일은 기존의 파일에 “추가”를 해주어야 하는 점입니다.

 

screenshot-bpconcjcammlapcogcnnelfmaeghhagj 2015-08-13 12-07-37

< wp-config.php 소스코드 추가 >

screenshot-bpconcjcammlapcogcnnelfmaeghhagj 2015-08-13 12-08-16

< .htaccess 파일 소스 교체 >

.htaccess 파일과 wp-config.php 파일을 변경/교체하여 다시 웹 서버로 FTP로 업로드하여 시스템이 변경되도록 합니다.

8. 멀티 사이트 구축 성공

screenshot-52.68.215.28 2015-08-13 12-14-55

.htaccess 파일과 wp-config.php 파일을 수정하여 업로드한후 다시 관리자 페이지를 가보면 최상단에 ” 내 사이트” 라는 메뉴와 “네트워크 관리자” 메뉴가 생성되어 이제 워드프레스 멀티사이트 구축이 성공되었음을 알 수 있습니다.

screenshot-52.68.215.28 2015-08-14 22-44-06

< 네트워크 관리자 페이지 >

screenshot-52.68.215.28 2015-08-14 22-44-14

< 멀티사이트를 이용하는 각 사이트별 관리자 및 사이트 현황 >

 

추후 이어질 포스트에서 멀티 사이트 산하의 워드프레스 생성과 사용자 생성, 테마와 플러그인 허용여부 그리고 이용자가 자동으로 멀티사이트에 가입하여 사이트를 생성할수 있도록 하는 옵션을 설정하고 워드프레스 멀티사이트에 유용할 수 있는 플러그인등을 소개하도록 하겠습니다.