wordpress를 이용해서 사이트를 제작할때 멀티사이트를 생성하는 과정입니다. 해당 워드프레스사이트 문서를 참고하면 어렵지 않게 작업이 가능합니다.
워드프레스는 국내 비슷한 제로보드, 그누보드와 비슷하지만 조금은 다른 설치형 블로그라고 볼수 있습니다. 제로보드, 그누보드등이 멀티 게시판위주의 사이트를 생성, 관리하는데 중점기능을 두었다고 한다면 워드프레스는 사이트외형관리에 더 중점기능을 두었다고 보여집니다.
그럼 설치를 하겠습니다.
설치는 OS에 상관없이 모두 가능합니다. 다만 설치과정은 조금 다르겠지요?
1.워드프레스 구동환경 구축하기
* 윈도우
윈도우에 설치하려면 윈도우에서 PHP를 구동하기 위한 가장 간편한 방법인 APMSetup을 이용하여 환경을 만들어 줍니다.
APMsetup은 아파치, PHP, MySQL을 간편하게 설치하고 관리하게 해줍니다. 설치후 DocumentRoot에 다운받은 워드프레스를 압축해제하면 됩니다.
* 리눅스
리눅스에서 php사이트를 구축하는 방법은 너무나도 많이 나와있습니다. 기본적으로 OS설치후, Apache, php module, Mysql을 설치합니다. 이부분에 대한 과정은 생략합니다. 다만 윈도우 환경에서 설치할때와 다른점이라고 한다면 리눅스의 특징인 파일 및 디렉토리 접근권한에 대한 부분을 살짝 염두해 두시고 접근하는게 필요합니다.
1.1 MySQL db 생성하기
MySQL이 버전 5.5 부터는 default storage engine이 Innodb이기 때문에 구동시 default storage engine 옵션을 MyISAM으로 추가해서 시작해 줍니다. 그러면 데이터 베이스 생성부터 테이블 생성까지 별도의 옵션을 주지 않아도 모두 MyISAM으로 생성됩니다.
/etc/init.d/mysqld start --default-storage-engine=MyISAM
CREATE DATABASE `wp` CHARACTER SET utf8 COLLATE utf8_general_ci;
GRANT ALL PRIVILEGES ON wp.* TO wp_user@'localhost' IDENTIFIED BY 'wp_password';
2. 워드프레스 설치하기
이제부터 본격적으로 워드프레스를 설치하도록 하겠습니다. 설치과정은 리눅스(CentOS6.2)기준으로 진행하도록 하겠습니다.
아파치 DocumentRoot에 압축을 풀어줍니다.
tar xvfz wordpress-3.5.1.tar.gz
cd /var/www/wp
mv ~/wordpress/* .
워드프레스 루트디렉토리로 이동해서 wp-config-sample.php를 wp-config.php로 변경후 설정값(db_name, db_user, db_password)을 넣어줍니다.
api auth key값은 https://api.wordpress.org/secret-key/1.1/salt/ 에서 생성한뒤 넣어줍니다.
그리고 여기서 멀티사이트 생성을 위한 옵션을 추가합니다. 기본 옵션은 기본적으로 생성되어 있지 않기 때문에 추가해야 합니다.
cd /var/www/wp (document root로 사용한 디렉토리입니다.)
cp wp-config-sample.php wp-config.php (나중을 위해 wp-config-sample.php는 유지하기 위해 복사를 합니다.)
define('WP_DEBUG', false);
define('WP_ALLOW_MULTISITE', true); // 이부분이 멀티사이트를 사용하겠다고 설정하는부분입니다.
config파일 저장후 install화면으로 접속합니다. (http://192.168.1.135/wp-admin/install.php )
관리자 계정 생성과정을 마치면 설치는 기본적으로 끝입니다.
이제 멀티사이트를 위한 과정입니다.
2.1 도메인정책 설정하기
멀티사이트 설정이 추가된 상태에서 설치를 하게되면 Tools메뉴 하위에 Network Setup 이란 메뉴가 새롭게 추가가 됩니다.
이곳에서 도메인정책등을 설정하고 config.php에 추가할 설정도 생성해줍니다.
Sub-domains 와 Sub-directories 두가지 모두를 지원합니다. 말 그대로 sub-domain은 www.abc.com 을 ko.abc.com, en.abc.com 등으로 구분해서 사용하겠다는 의미이고 sub-directories는 www.abc.com을 abc.com/ko/, abc.com/en/ 으로 구분해서 사용하겠다는 의미입니다.
여기서 Sub-domains 정책을 사용하고자 한다면 기본 생성된 사이트의 도메인 생성시 주의 해야 합니다. Default 도메인을 한국어로 사용할 요량으로 ko.abc.com으로 설정하게 되면 영어사이트는 en.ko.abc.com으로 해야만 합니다.
그러므로 Default 도메인은 abc.com으로 하시고 ko.abc.com은 DNS설정에서 CNAME이나 포워딩으로 으로 처리하는게 좋을듯 합니다.
wp-config.php에 멀티사이트 관련 나머지 정보를 추가합니다.
그리고 DocumentRoot에 .htaccess 파일을 생성해서 위의 값을 넣어줍니다.
멀티사이트 기능이 추가된 설치와 그렇지 않은 설치는 테이블 정보도 다르게 됩니다.
우선 싱글로 설치된 테이블의 정보에 비해 6개의 테이블이 추가로 생성됩니다.
아래는 기본으로 설치되었을때의 테이블 리스트입니다.
아래는 멀티사이트 기능을 켠 상태로 설치했을때 생성된 테이블 목록입니다. v표시를 한부분이 추가됩니다. 이후 사이트를 생성할때마다 표시되지 않은 테이블에 번호가 붙으면서 세트단위로 추가생성이 됩니다.
각 사이트는 Network Admin 에서 추가,삭제,관리합니다.
이후부터는 각 기존 싱글사이트에서 관리하던 방식과 동일하게 사이트별로 테마등을 추가하고 관리합니다.
참고로 멀티사이트로 설치할 경우 기본적으로 제공되는 테마가 하나뿐입니다. 잘 알다시피 테마에 대한 추가는 wp-content밑에 themes 에 복사한 테마를 넣어주면 사이트 관리에서 테마선택시 보여지게 됩니다.
또한가지 리눅스에 설치하고 플러그인을 설치할때도 wp-content밑에 디렉토리는 쓰기권한을 추가해주는것이 좋습니다.
이상으로 워드프레스를 이용한 멀티사이트 생성과정에 대한 글을 마치겠습니다.