기타2008. 2. 24. 20:42
그간 개인 위키를 하나 만들어야 겠다는 생각을 하다가.. 오늘 실행에 옮겨버렸다.

Cafe24 호스팅 서비스에 호스팅을 신청하고, MediaWiki를 다운받아서 설치하는 간단한 작업이었지만, 몇 가지 문제가 있었다.

1. Cafe24 리눅스 호스팅은 PHP5를 지원하지 않는다.

그래서, MediaWiki 최신 버전은 포기할 수 밖에 없었다. Cafe24 호스팅에 설치가 가능한 Media Wiki 최고 버전은 1.6 버전이다. (참고로 Media Wiki의 현재 최신 버전은 1.11이다.) 그러니 Media Wiki 다운로드 페이지에서 1.6.10 버전을 다운로드해야 한다.

사용자 삽입 이미지


2. Cafe24 Hosting 서비스 신청 시에 데이터베이스를 UTF-8로 세팅했다면, DB 테이블 생성 과정에서 아래와 같은 에러가 나게 된다.

"Specified key was too long; max key length is 1000 bytes"

이 에러는 MySQL 개발 측에서도 버그로 인지하고 있는 부분이기도 하다. 아래 링크를 보면, 꽤 오래된 이슈라는 것을 알 수 있다.

 http://bugs.mysql.com/bug.php?id=4541


이 에러를 해결하기 위해서는 소스를 조금 수정을 해야 한다. 수정해야 할 소스는 다운받은 MediaWiki소스 중에 Maintenance 폴더에 있는 tables.sql파일이다. 총 3군데를 고쳐야 한다.

Line 424
기존: cl_to varchar(255) binary NOT NULL default '',
수정: cl_to varchar(200) binary NOT NULL default '',

Line 915
기존: job_cmd varchar(255) NOT NULL default '',
수정: job_cmd varchar(100) NOT NULL default '',

Line 920
기존:  job_title varchar(255) binary NOT NULL,
수정:  job_title varchar(100) binary NOT NULL,

이렇게 수정해줘야 하는 이유는, MySQL에는 Index 칼럼에 1000byte제한이 있기 때문이다. 255면 1000이 안 되지 않느냐고 말할 수도 있겠지만, UTF-8에서는 한 자당 3byte를 소모하기 때문에, 여러개의 칼럼이 인덱스를 구성하는 위 쿼리들에서는 1000byte를 초과하게 되는 것이다. 그래서 Line 424의 쿼리에서는 200으로 수정해주면 되고, Line 915와 920의 경우 저 두 칼럼이 한 인덱스를 구성하기 때문에 100에서 150정도로 수정해줘야 하는 것이다.

위 과정을 통해서, Cafe24 호스팅에 성공적으로 Media Wiki 설치를 완료했다. 개인 위키이긴 하지만, 사적인 내용은 없고 개인적으로 공부하는 것들을 좀 정리하고자 만든 위키이니 다른 분들의 방문도 환영한다. ^^

URL은 http://kkongchi1027.cafe24.com

사용자 삽입 이미지

Posted by kkongchi