출처 : http://eastsocial.co.kr/wordpress/?p=6
워드프레스는 멀티사이트를 지원합니다. 즉, 하나의 도메인 아래에 다수의 사이트를 별로도 만들 수 있습니다.
메타사이트 또는 커뮤니티 사이트를 만들고자 한다면, 멀티사이트의 기능을 활성화시키고, 각각의 회원에게 독립된 블로그를 분양할 수 있습니다.
워드프레스 3.0 이전 버전에는 wordpressMU라는 별도의 소스가 공개되었지만, 3.0버전 이후부터는 멀티사이트 기능이 기본 코어 소스에 포함되어 배포되고 있습니다.
이제 여러분도 wordpress.org에서 배포하는 3.0이후의 소스로 wordpress.com과 같은 커뮤니티 사이트를 운영할 수 있습니다. wordressMS showcase에서 실제 적용사례를 살펴보세요.
국내의 사례로는 텍스트큐브(textcube)를 다중사용자 설정으로 설치하여 티스토리(tistory.com)와 같은 서비스를 제공하는 것이 가능합니다.
워드프레스 멀티사이트(wordpress MS)는…
- 1개의 소스를 설치하는 것만으로도 여러 개의 사이트(블로그)를 운영할 수 있습니다.
- 1명이 여러 개의 사이트를 운영하거나, 회원가입을 기반으로 1개의 소스로 여러 명이 독립된 사이트를 운영할 수 있습니다.
- 2차도메인(user.yoursite.com) 또는 user name의 폴더 단위(yoursite.com/user)로 설정할 수 있습니다.
- wordpress domain mapping 또는 networks for wordpress 플러그인으로 각각의 사이트에 독립 도메인을 적용할 수 있습니다.
- Network Admin은 서버에 설치된 테마와 플러그인을 전부 또는 선택하여 공유할 수 있습니다.
- Dashboard는 사용자별로 생성되고, 최고관리자인 Network admin이 활성화됩니다.
워드프레스의 기본소스에는 멀티사이트 기능이 비활성화되어 있습니다. 새로 설치하는 경우나, 이미 설치된 워드프레스로 멀티사이트를 만들 수 있게 설정을 변경해 보겠습니다.
(참고 : http://codex.wordpress.org/Create_A_Network)
- wordpress address(URL)과 Site address(URL)이 다른 경우. 즉 하부폴더(예,yourdomain.com/wordpress)에 설치하고 Dashboard에서 yourdomain.com으로 설정한 경우
- wordpress address(URL)가 ‘:80′, ‘: 443″ 이외의 포트를 사용하는 경우
1. 만약을 위해서 데이터베이스를 백업합니다.
2. wp-config.php 파일을 열고 muitisite 구문을 설정하고, 저장 후 새로고침(F5) 합니다.
|
1
|
define('WP_ALLOW_MULTISITE', true); |
3. [Dashboard]-[Tools]-[Network Setup] 메뉴가 생겼습니다.
만약 활성화된 plugin이 있다면 비활성화하라는 경고 메시지가 나올 겁니다.
Sub-domain 방식으로 설정한다면 DNS 설정이 추가로 필요하니 여기서는 간편하게 Sub-directories로 설정하겠습니다.
network setting
network setting domain
4. wp-contents 아래에 blogs.dir 폴더를 만듭니다.
blogs.dir 폴더는 쓰기가능(chmod 755)으로 설정하여야 합니다.
blogs.dir chmod 755
5. wp-config.php 파일을 다시 수정합니다.
wp-config.php
|
1
2
3
4
5
6
7
|
define( 'MULTISITE', true ); define( 'SUBDOMAIN_INSTALL', false ); $base = '<strong>/</strong>'; define( 'DOMAIN_CURRENT_SITE', '<strong>gorkii.com</strong>' ); define( 'PATH_CURRENT_SITE', '<strong>/</strong>' ); define( 'SITE_ID_CURRENT_SITE', 1 ); define( 'BLOG_ID_CURRENT_SITE', 1 ); |
- 5번, 6번의 코드는 제가 세팅한 경우이므로 위의 내용을 복사하지 마시고, [Dashboard]–[Setting]–[network setup]에서 보여주는 코드를 복사하세요.
- 5번, 6번의 코드를 보면, 루트폴더에 워드프레스를 설치하였기 때문에 ‘/’로 표시됩니다. 만약 하위 wordpress라는 폴더에 설치하였다면 ‘/wordpress’ 로 표시가 될 것입니다.
6. 루트에 .htaccess 파일 생성
워드프레스가 설치된 루트에 .htaccess 파일을 만들고 3번의 과정에서 안내된 내용을 추가합니다. (sub-directories 방식)
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
RewriteEngine OnRewriteBase / RewriteRule ^index.php$ - [L]# uploaded files RewriteRule ^([_0-9a-zA-Z-]+/)?files/(.+) wp-includes/ms-files.php?file=$2 [L]# add a trailing slash to /wp-admin RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]RewriteCond %{REQUEST_FILENAME} -f [OR] RewriteCond %{REQUEST_FILENAME} -d RewriteRule ^ - [L] RewriteRule ^[_0-9a-zA-Z-]+/(wp-(content|admin|includes).*) $1 [L] RewriteRule ^[_0-9a-zA-Z-]+/(.*.php)$ $1 [L] RewriteRule . index.php [L] |
아래는 sub-domain 으로 멀티사이트를 설정한 경우의 .htaccess 입니다.
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
# BEGIN WordPressRewriteEngine On RewriteBase / RewriteRule ^index.php$ - [L]# uploaded files RewriteRule ^files/(.+) wp-includes/ms-files.php?file=$1 [L]RewriteCond %{REQUEST_FILENAME} -f [OR] RewriteCond %{REQUEST_FILENAME} -d RewriteRule ^ - [L] RewriteRule . index.php [L] # END WordPress |
7. 끝.
설정을 마치고 다시 로그인하면 Network Admin의 Dashboard 를 볼 수 있습니다






