본문 바로가기
지속가능티끌/웹,워드프레스

워드프레스 멀티사이트 만들기. 여러 사이트를 1개의 워드프레스로 구축하는 방법

by i.got.it 2014. 10. 14.

 

 

  개요- 워드프레스 멀티사이트
   
  본 글에서는 워드프레스 멀티사이트 구축하는 방법을 정리한다. 멀티사이트의 홈으로 접속하는 주소는 서브디렉토리 방식을 예로 든다.


멀티사이트 구축하는 과정은 아래와 같이 총6 단계로 이뤄지며, 각각의 단계에서 설정방법을 완전하게 설명하고 있다.


단계1. wp-config.php 파일 수정하기.
단계2. 결정하기 멀티사이트 접근주소 결정하기.
단계3. 서브디렉토리 설정하기.(앞의 단계2에서 서브디렉토리를 사이트 접속주소로 결정했기 때문에 서브디렉토리 설정함.)
단계4. 새로운 사이트 만들고 서브디렉토리 주소로 접근하면 웹에서 보이게 하기.
단계5. 새로운 사이트의 테마 변경해보기.
단계6. 멀티사이트 설정 과정에서 기본사이트의 자동 부착된 보기싫은 /blog 제거하기.




이해하기 - 워드프레스 멀티사이트 개념.


워드프레스 멀티사이트란 서버에 설치된 워드프레스 1개로 여러 개의 다른 사이트를 만들 수 있게 하는 것.


여러 개의 다른 사이트로 방문자가 접속하는 주소의 차이에 따라 아래 3가지 경우가 있다. 아래 모든 경우에 있어서, 사이트별로 워드프레스를 설치하지 않고, 단 1개의 워드프레스만 설치된 상태에서 여러 개의 사이트를 만든다.


1. 서브디렉토리(sub-directory) 로 여러 개의 사이트가 만들어지는 경우.  각각의 사이트에 접근하는 주소가 도메인명은 동일하고 디렉토리별로 다르게 되는 경우다.
예 : 언어(중국어,영어, 일본어라 치자) 마다  사이트를 별도로 만들기로 하고, 각 언어별 사이트를 http://igotit.kr/cn http://igotit.kr/en  http://igotit.kr/jp 와 같이 서브티렉토리 주소에서 해당 사이트가 보이도록 만드는 경우.


2. 서브도메인(sub-domain) 별로 여러 개의 사이트가 만들어지는 경우. 각각의 사이트에 접근하는 주소가 도메인명 앞에 서브도메인이름을 할당된 경우이다.
예 : 언어(중국어,영어, 일본어라 치자) 마다 사이트를 별도로 만들기로 하고, 각 언어별 사이트를 http://cn.igotit.kr, http://en.igotit.kr, http://jp.igotit.kr  와 같이 서브도메인 주소에서 각 사이트가 보이도록 만드는 경우.


3. 도메인 별로 여러 개의 사이트가 만들어지는 경우. 이런 경우 보통은 각 도메인 마다 워드프레스를 설치하나,이 경우에도 1개의 서버에 설치된 워드프레스로 각 도메인별로 보이는 사이트를 1개의 워드프레스로 모두 만들 수 있다.
예 : 언어(중국어,영어, 일본어라 치자) 마다 사이트를 별도로 만들기로 하고, 각 언어별 사이트를 http://igotit.cn , http://igotit.com, http://igotit.co.jp  와 같이 "도메인" 주소로 각 사이트가 보이도록 만드는 경우.


멀티사이트 구축시 장점.
- 사이트가 여러 개 여도 관리될 워드프레스는 1개다. 단일화된 관리창구.




멀티사이트 구축시 단점.
- 1개 워드프레스로 여러 개의 사이트를 만들고 운영하는 것이므로, 관리상 복잡성이 발생한다. 담당 관리자의 전문성이 요구됨.
 
 
   

 

 

 

   단계1. wp-config.php 수정하기.
   
  구기본설치된 워드프레스 관리자의 메뉴에는 멀티사이트 설정하는 메뉴가 없다.이 메뉴를 보이게 하는 처리는 우리가 직접 해줘야 보인다. 메뉴이름은 "Network Seup" (네트워크 설치)이며 Tools(도구) 메뉴의 서브메뉴로 보이게 된다.  멀티사이트 설정이 이 메뉴 속에서 가능해진다.


"Network Seup" 메뉴를 워드프레스 관리자에 보이게 하는 방법은 wp-config.php 파일내에 define('WP_ALLOW_MULTISITE', true); 을 추가하는 것으로 간단히 달성된다.
codex에서의 설명 : http://codex.wordpress.org/Create_A_Network#Step_2:_Allow_Multisite


1. wp-config.php 파일 위치.
워드프레스 설치된 폴더루트(카페24인 경우는 wp 라는 폴더가 워드프레스 설치 폴더임.)에 있다. 아래그림의 붉은박스.






2. wp-config.php 내용에 define('WP_ALLOW_MULTISITE',true); 추가한다.
wp-config.php 을 열어서, define('WP_ALLOW_MULTISITE',true); 를 기록한다.(아래그림 붉은박스). 기록위치는 wp-config.php 의 하단에 아래 그림의 파란색 줄에서 보이는 /* That's all ..*/ 구문 바로 위에 기록하면 된다.






3. 워드프레스 관리사이트에 "네트워크 설치" 추가된것 확인하기.
앞의 2에서 wp-config.php 파일에 코드 추가되어 저장하고 나서, 워드프레스 관리자를 열어보면 "네트워크 설치" 라는 메뉴가 보이게 된다(아래 그림 붉은박스).
이 메뉴를 클릭했을때 보이는 오른쪽 화면은 "워드프레스 사이트의 네트워크 생성" 이라는 제목이고 그 밑에 경고 표시가 보이는데 멀티사이트의 네트웍크 설정을 하려면 플러그인들을 비활성하고 설정하라는 말이다.


참고. 현재 사이트가 운영중인 상태에서 멀티사이트 설정하려면 플러그인을 비활성화 해야가능해지므로 서비스가 잠시 중단될것임을 고려해야한다. 운영중인 사이트 첫페이지에 "유지보수 중입니다" 문구라도 걸고 셋팅해야한다.






워드프레스에서 활성화 되어있는 모든 플러그인을 비활성화 해야 네트워크 설치 화면이 아래 처럼 설정이 가능한 상태가 된다.







이제 위 네트워크 설치 화면에서 어떻게 설정해야할지를 아래 단계2 이후 에서 상세히 설명한다.


추가팁:  위의 화면과 달리 서브도메인만 설정가능하다는 문구가 보이는 황당한 경우가 있다.
이와 같은 에러 발생시 해결법 -> http://igotit.tistory.com/111

   끝 - 멀티사이트 관리를 위한 워드프레스 관리자에서 "네트워크 설치" 메뉴 보이게 하기.

 

 

 

 

단계2. 결정하기- 멀티사이트 접근 주소를 무엇으로 ?
   
  앞의 단계1의 마지막 그림을 보면 워드프레스에서는 여러개의 사이트에 접속하는 주소가 서브도메인 혹은 서브디렉토리 2개 중 하나만 지정가능하다.(서브도메인, 서브디렉토리 개념은 앞의 개요 부분에서 개념정리했었다. ) 서브도메인 과 서브디렉토리 모두를 지원해주진 않는다.


따라서, 우리는 멀티사이트를 서브도메인에서 운영할지 서브티렉토리에서 운영할지 초기에 결정해야한다.


우리의 선택은 아래 3개 중의 하나만 가능하다.


1개의 워드프레스로 구축할 여러 개의 사이트를 만들고 운영함에 있어서, 


1. 서브디렉토리별로 사이트 만들기.
2. 서브도메인별로 사이트 만들기.(참고: DNS설정에서 서브도메인을 만들어 둬야함)
3. 도메인 별로 사이트 만들기.  (참고: 위 워드프레스 설정에 보면 도메인별로 사이트 만들기는 선택할 수 있는 것이 보이지 않는다. 즉 도메인 별로 사이트 만들기는 워드프레스에서의 설정은 서브디렉토리나 서브도메인 방식으로 여러 사이트를 생성해두고, 아래 2가지의 처리를 해주면된다. 
추가처리 (1) 연결시킬 도메인을 워드프레스가 있는 서버로 접속되게 한다. 
추가처리 (2) 워드프레스에 도메인 맵핑기능의 플러그인을 설치하여 도메인이 멀티 사이트중의 어느 하나로 연결되게한다. 플러그인 정보 :
WordPress MU Domain Mapping -> http://wordpress.org/extend/plugins/wordpress-mu-domain-mapping/)
셋팅 방법 상세 설명 -> http://ottopress.com/2010/wordpress-3-0-multisite-domain-mapping-tutorial/


선택기준은 상황마다 다르다. 본 인의 요구사항이 위 3가지 중에 어떤 상황으로 서비스 할지 결정해야한다.


본 글에서 위 3가지 상황 중 1번 서브디렉토리 별로 사이트 만드는 것에 대해서 아래 글들에서  정리한다. 
서브도메인이라고 해서 크게 다른것은 없다. 단, 워드프레스에서의 설정외에 자신의 도메인 관리 DNS에 서브도메인을 설정하는 처리를 추가해줘야한다.


한편, 독립 도메인별로 사이트 만들기는 서브디렉토리(혹은 서브도메인)를 먼저 완전히 구축하고 난 뒤에 도메인 맵핑 과정을 통하여 달성하므로 본 글에서의 서브 디렉토리 설정 이후에 추가로 설정하면 된다. 독립도메인 주소로 접속하는 설정법 보기 -> http://igotit.tistory.com/100



   

 

 

 

단계3. 서브디렉토리 설정법. 

   
  앞의 단계2에서 결정 결과 자신이 운영할 멀티사이트를 서브디렉토리로 접근가능하게 하는 경우 워드프레스에서 어떻게 설정하는지 정리한다.
본 단계의 설정 과정의 결과물은 워드프레스 관리자에 서브디렉토리형식으로 멀티사이트를 운영하기 위한 메뉴가 관리자 사이트에 추가되는것까지다.


"멀티사이트를 서브디렉토리로 접근한다" 의 의미,


예 : 언어(중국어,영어, 일본어라 치자) 마다  사이트를 별도로 만들었는데, 방문자들이 각 언어별 사이트를 http://igotit.kr/cn http://igotit.kr/en  http://igotit.kr/jp 와 같이 도메인명은 동일하고 도메인명 이후 부분의 이름을 달리하여 해당 사이트의 홈에 접근되게 한다.


1. 워드프레스 "네트워크설치" 에서 서브디렉토리 선택하고 설치 한다.
아래 그림처럼 "네크워크내의 사이트들의 주소"에서의 선택은 서브디렉토리를 선택한다.
그 아래 네트워크 제목에는 사이트들 여러 개를 지칭하는 명칭을 기록하면 되는데, 본 예에서는 igotit multi-sites subdir 라고 기록했다(서브디렉토리에서 만들어진 사이트들의 네트워크라는 의미).그 아래 이메일은 적당히 기록, 설치 버튼 클릭한다.






위에서 설치버튼 클릭하고 나면 보이는 화면이다.







추가의 설정 2종을 직접 처리하라는 설명이다. (위 이미지 클릭하면 큰 화면 보임)


처리사항1. wp-config.php 파일에 파란색 박스속에 있는 내용을 복사해넣어라.
처리사항2. .htaccess 파일에 파일에 파란색 박스속에 있는 내용을 복사해 넣어라.
위 2가지 처리사항을 완료하고 관리자 화면에 다시 로그인해라.  


처리사항1과 처리사항2의 지시대로 수행하고(위 그림에 있는 설명대로하면됨),
처리사항2 상세.
처리사항 1은 명확히 wp-config.php 파일내의 어디에 배치하라는 설명이 있고 혼선의 여지가 업는데, 처리사항 2에서는 .htaccess 파일의 어느 부분에 추가하라는지 설명이 없다. 또한, 위 복사해야할 내용은 이미 기존의 .htaccess 파일에서 설정되는 항목들과 중복되고 있는 설정들이다. 따라서, 기존에 있는 상태에서 추가 하면 안된다. 기존에 있던것 제거하고 위 내용을 복사한다. 그 위치는 아래 그림과 같이 <IfModule ...>  와 </IfModule> 사이에 배치하면된다. 기존에 있던 것을 남겨둔 상태로 그 아래에 부분에 추가하면 워드프레스 관리사이트에서 멀티사이트 설정 부분이 정상 동작하지 않는다.









주요팁. htaccess 파일 저장시 문자인코딩 주의.
.htaccess 파일저장시 인코딩을 ANSI 로 해야함. 사유 -> http://igotit.tistory.com/89


다시 워드프레스 관리자로 로그인 했을때 보이는 모습이 아래 그림이다.  변경된 부분은 최상단에 "내사이트" 라는 새로운 메뉴가 생겼다는 점이다. 서브메뉴로 네트워크 관리자가 있고, 새롭게 추가된 메뉴에서 멀티사이트를 추가하는 등의 처리가 이뤄진다. 






본 단계에서는 우리가 만들 멀티 사이트들을 추가하고 삭제할 수 있는 메뉴를 워드프레스 관리사이트에 보이게 한것이다.
이후 단계에서는 실제 새로운 사이트를 하나 만들고 이 사이트가 서브디렉토리 주소로 접근하면 보이게 하는 처리에 대한 설명을 진행한다.

  끝. - 멀티사이트를 서브디렉토리 URL 로 접근가능하게 기본 설정하여, 멀티사이트를 추가하고 제거하기를 가능하게 하는 메뉴를 워드프레스 관리 사이트에 추가하는 과정까지 끝.

 

 

 

 

 

단계4. 새로운 사이트 만들고 서브디렉토리로 접근하면 보이게 하기
   
  본 단계에서는 워드프레스에서 새로운 사이트를 하나 만들고. 또한 이 사이트에 접근하는 주소는 임의로 http://igotit.kr/theme-skeleton/ 라는 주소로 접근하면 보이도록 한다. 필요한 만큼 서브디렉토리는 임의로 만들면된다.


본 글의 예로 사용되는 http://igotit.kr/theme-skeleton/ 의 예에서는 기본 사이트 접속주소 http://igotit.kr  에서 보이는 사이트와는 전혀 다른 테마(시험 제작중인 테마인 skeleton 테마 -> http://igotit.tistory.com/85  )를 적용할 목적으로 만들어진 사이트이다. 즉 전혀 다른 2개의 사이트가 1개의 워드프레스에서 동시에 핸들링 가능하게 만든다. 이와 같은 식으로 필요한 개별적인 사이트들을 임의의 디렉토리명으로 서비스 가능하게 해준다.


1. 신규 사이트 추가하기.


워드프레스 관리 최상단 내사이트 하위 네트워크 관리자 클릭한다.(아래 그림)








그럼 좌측메뉴가 변경되면서 "사이트" 라는 메뉴가 보인다. 이 메뉴의 하위 "새로추가" 를 클릭한다.(아래 그림)








그럼 오른쪽화면에 "새로운 사이트 추가" 라는 화면이 보인다. (아래 그림)
이곳에서 붉은색 박스부분을 기록한다.
사이트 주소 : 웹에서 접근할 주소의 도메인 뒷부분 이름을 기록한다. 본 예에서는 theme-skeleton 이다.
사이트 제목 : 브라우저에서 볼때 브라우저 상단에 보이는 이름이다. 임의로 해당 사이트의 한줄정의를 기록한다.
관리자메일 : 새롭게 만드는 본 사이트의 관리자를 별도로 생성할 때는  해당 담당자의 메일을 기록하면된다. 그 메일 주소가 워드프레스 데이터 베이스에 없다면 새롭게 사용자가 생성된다. 본 예에서는 새로운 사용자를 추가할 일이 없어서 기본 사이트의 관리자와 동일한 이메일 주소를 기록했다.
모두 기록하고, 사이트 추가 버튼 클릭한다.










이제 새로운 사이트가 만들어졌다. 메뉴의 "모든 사이트"를 클릭하면 현재 만들어진 사이트 들을 볼 수 있다.(아래 그림 붉은박스)
추가로 사이트를 추가하려면 아래 그림의 "새로추가" 를 클릭하여 동일한 방법으로 등록하면된다.








이 상태에서 새로운 사이트를 보기 위한 주소인 http://igotit.kr/theme-skeleton 을 보면 아래와 같이 정상적으로 보인다.우리가 테마를 아직 설정하지 않았기 때문에 기본테마가 적용 되어 보이게 된다.





  - 새로운 사이트 만들고, 서브디렉토리 주소로 접근하여 보이게 하기

 

 

 

 

단계5. 새로만든 사이트 테마 변경해보기.
   
  새로운 사이트를 만들었으면, 새로 만들어진 사이트의 테마를 지정하고, 새글 작성, 플러그인등을 지정하기 위해서는 새로 만들어진 사이트 전용의 관리자 화면에서 이뤄진다. 사이트마다 관리자 화면이 개별적으로 주어진다.


아래 그림의 최상단 "내 사이트" 의 하위 메뉴에 사이트들 리스트가 보이게 되는데 이 중 설정하고자 하는 사이트를 클릭하면 해당 사이트 편집화면으로 변경된다. 새로만든 Skeleton 사이트를 선택해보자. igotit 은 워드프레스 설치하고 멀티사이트 구축하기전에 만들어둔 기본 사이트이다.






아래그림- 우리가 새로 만든 Skeleton 사이트의 전용 관리자 화면이다. 상단 붉은 박스에 사이트 이름이 보인다. 좌측메뉴는 모두 Skeleton 사이트 전용이다.






새로 만들어진 사이트의 테마는 기본테마가 자동으로 설정 되어있다. 새로만든 사이트의 테마를 가보면 기본테마만 1개만 보인다. 기본테마에서 만들어 뒀던 테마를 새로만든 사이트에서 사용하기 위해서는 아래처럼 새로만들어진 사이트에서도 해당 테마를 사용하겠다는 설정을 해야한다.


이를 위해서는 상단의 "내사이트" 하위 "네트워크 관리자" 를 클릭하여 네트워크 관리자 화면(아래 그림이 네크워크 관리자 화면이다) 으로 가서 좌측메뉴의 "설치된 테마"를 클릭하여 보이는 오른쪽 테마 리스트에서 새로만든 사이트에서 사용할 테마의 "네트웍크 활성" 을 클릭해줘야한다. 아래 그림에선 igotit_skeleton이라는 테마를 새로운 사이트에서 사용하기 위하여 붉은 박스의 네트워크 활성을 클릭하는 경우다.





앞에서 처럼 "네트워크 관리자" 화면에서 네트워크 활성화 한 테마는 새로만든 사이트 관리자 화면(아래그림) 의 테마 보기를 보면 해당 테마가 들어와 있음을 알 수있다(아래그림의 푸른색박스).  






 




위 igotit skeleton 테마를 활성화하고 웹에서 보이는 모습을 보면 아래 처럼 정상 적용되었음을 알 수 있다.






참고 : 본 테마 igotit skeleton 는 시험용으로 만들어보는 테마라서 (테마 골격만 만들기 상세설명->http://igotit.tistory.com/85  ) 위 그림에서 보이는 것처럼 이 별 디자인이니 기능도 없는 상태다.

  .- 새로 만든 사이트의 테마변경해보기

 

 

 

 

단계6. 기본사이트 고유주소 베이스에 자동부착된 /blog 제거하기.
   
  워드프레스로 멀티사이트를 설정하면 기본사이트의 고유주소에 /blog 를 붙여두고 고유주소 방식도 물어보지도 않고 지마음대로 변경한다.


예를들면, 기본사이트의 고유주소 체계의 베이스 주소가 멀티사이트 설정전에는  http://igotit.kr/  였다면 멀티사이트 설정하고 나면 http://igotit.kr/blog/ 로 변경해버린다.


기존에 작성했던 글이 없다면 그냥 이렇게 사용해도 되겠지만 기존에 작성된 글이 많다면 원래의 고유주소 베이스로 변경해야한다.


 기본주소 베이스에서 /blog 제거하여 원래대로 만드는 방법. 


아래 1, 2번과정을 반복하다보면 /blog 가 제거된다.


1. 워드프레스 관리자 기본사이트 용의 메뉴에서 고유주소를 "기본 (Plain)" 으로 선택하여 변경사항저장함.


2. 워드프레스 관리자 "네트워크 관리자" -> 사이트 -> 기본 사이트 선택하여 -> 설정탭 클릭하여 내려보면 permalink 가 있는데 이 주소 부분에 /blog는 없이 원래의 기본 사이트에서 사용하고 있었던 베이스 주소 뒷단의 고유주소 형식(예 : /
%category%/%postname% 등)기록하고 저장.


1과 2를 처음 한번만 수행했을 때는 깔끔하게 /blog 가 사라지질 않았다. 1과 2를 5~6번 반복 하다보면 브라우저 주소창에서도 사라지고, 포스트 편집창에서 보이는 고유주소 부분에서도  /blog 가 사라진다.

   

 

 

결론.

   
  본 글에서는 멀티사이트의 개념과 워드프레스1개로 여러 개의 사이트를 만들고 운영하기 위한 설정방법을 상세히 정리하였다. 멀티사이트의 홈에 접속하는 주소를 서브디렉토리인 경우를 예로 하여  설정법을 상세히 설명하였고, 새로 만들어진 사이트에 새로운 테마를 적용하는 방법도 정리했다. 테마 설정하는 것외에는 워드프레스의 기본 사용법과 동일하다. 각각의 사이트별로 관리자 화면이 별도로 할당 되어 있어 멀티사이트 를 쉽게 만들수 있고, 관리도 편리하다.

   

  



본 글이 포함된 통합 정리 글


WordPress 활용정보 정리 : http://igotit.tistory.com/23

 

 

 

 

88.

 

 

 

 

댓글



 

비트코인




암호화폐       외환/나스닥/골드       암호화폐/외환/나스닥/골드 암호화폐/외환/나스닥/골드   암호화폐/외환/나스닥/골드
     
현물 |선물 인버스 |선물 USDT       전략매니저(카피트레이딩)     롤오버 이자 없는 스왑프리계좌
( 스왑프리 암호화폐도 거래 가능 )    
MT4, MT5 , cTrader 모두 지원     FTMO 계좌 매매운용. MT4,MT5