원래 webalizer는 미약하기는 하나 오래전부터 한글을 잘 지원하던 프로그램이었던 것으로 기억한다.
그러나 오늘 서버에 apt-get install webalizer로 설치하고 깜짝 놀랐다.
영어로 나왔다고 해도 패키징이 나쁘구나..라고 생각하는데.. 어절시구리? 한글이 다 깨져보인다. 웹브라우저의 텍스트 인코딩 옵션을 이리저리 바꿔도 깨지는 건 마찬가지다.
언 제나 그렇듯히 구글사마의 힘을 빌었으나 데비안 유저 그룹에서 그 문제로 webalizer를 다시 패키징 했다는 양반만 있을 뿐, 별 반 답이 없었다. 다시 컴파일 하란 말인가? 데비안 쓴지 얼마 되지 않아.. 그런걸 모르는데다가…..
결국 눈물을 머금고 소스를 받아 .configure해보니… 이게 왠일..png라이브러리가 없다고 한다 – dpkg로 보니 깔려 있긴 깔려 있는데… 먼가 빠진게 있는 모양…
그 래도 포기할 소냐.. 여기 저기 뒤져보니깐 이런 점을 알 수 있었다. webalizer는 C인지 perl인지의 코드를 컴파일해서 생성이 되는 프로그램이고, 예전에 1.0 버전때는 있었던거 같은데 2.0에서는 언어 설정을 할 수 있는 내용이 설정파일에도 없고.. 엄청 난감한 사태에 빠져들었다.
이 상황에서 눈여겨 본것은 webalizer가 실행을 시작할 때 시스템의 로케일을 불러온다는 생각이 드는 것이다. 그리고 html을 만들어 낼 때 webalizer가 한국어라고 인식하면 euc-kr로 만들어 내는 것 같다고 생각이 드는 거다.(우분투와 쿠분투는 utf-8디펄트고, 나는 utf-8을 쓰고 있다.)
그래서 이렇게 해봤다.
결과는.. 모든 메시지가 영문으로 빠지고.. url에 한글이 있는 부분들도 잘 표시됨을 확인할 수 있었다.
ubuntu패키지에서 webalizer패키지엔 cron 스크립트도 함께 있다. 앞으로 그넘이 자동으로 돌아가게 하려면 그쪽도 수정해 줄 필요가 있다.
/etc/cron.daily/webalizer에서 해당 부분을 찾아서 아래와 같이 수정한다.
LANG=”POSIX” ${WEBALIZER_BIN} -c ${WEBALIZER_CONF} -q
LANG=”POSIX” ${WEBALIZER_BIN} -c ${WEBALIZER_CONF} -q ${nonrotatedlog}
EUC-KR을 사용하지 않는 웹서버라면.. 한번쯤 꼭 참고하면 좋을 것 같다.
나의 Debian-Linux system에서 Webalizer 설치시 한글 깨짐 현상이 발생하였다.
위의 글처럼 /etc/cron.daily/webalizer 파일을 수정 후 다시 시작해 보았다.
하지만…실패!
-c 옵션을 알아듣지 못하는 듯 하였다. 결국 -c 옵션 이후 부분을 주석 처리 후 실행했다.
결과는 성공.
단순히 /etc/cron.daily/webalizer 파일에 LANG=”POSIX” ${WEBALIZER_BIN}
만 추가해도 되는 듯 하다.