[webalizer] 한글깨짐 문제시 참고 글

원래 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을 쓰고 있다.)

그래서 이렇게 해봤다.

#LANG=”POSIX” webalizer

결과는.. 모든 메시지가 영문으로 빠지고.. url에 한글이 있는 부분들도 잘 표시됨을 확인할 수 있었다.
ubuntu패키지에서 webalizer패키지엔 cron 스크립트도 함께 있다. 앞으로 그넘이 자동으로 돌아가게 하려면 그쪽도 수정해 줄 필요가 있다.

/etc/cron.daily/webalizer에서 해당 부분을 찾아서 아래와 같이 수정한다.

# Run webalizer quietly
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}

만 추가해도 되는 듯 하다.

libxml2 설치

1. libxml2 설치

– libxml2 는 XML C 파서( parser ) 로서 리눅스의 Gnome 프로젝트를 위한 툴킷되는 도구이며 MIT 라이센스하에서는 자유로는 자유로운 소프트웨어임. 또한 libxml2 는 Linux 뿐 아니라 Unix, 윈도우, Cygwin, MacOS, OS/2 등 다양한 시스템에서 큰 문제없이 설치되고 작동될 수 있음.

– 홈페이지 : http://www.xmlsoft.org

– libxml2 다운받기
wget ftp://ftp.superuser.co.kr/etc/libxml2-2.6.16.tar.gz

– 압축풀기
tar xvfz libxml2-2.6.16.tar.gz

– 디렉토리 이동
cd libxml2-2.6.16

– configure
./configure –prefix=/usr/local/libxml2

– make
make

– make install
make install

[APM] gd 설치

1. gd 설치

– 동적이미지 생성 ANSI C 라이브러리로서 PNG, JPEG, GIF 의 포멧으로 된 이미지들을 생성할 수 있는 유용한 툴임. 홈페이지에서 동적인 이미지구현을 하기위한 가장 대표적인 도구임.
예를들어 홈페이지에서 이미지를 다른이미지와 합성하거나 특정로고이미지를 다른이미지에 부착하는 등의 작업을 위해서 많이 사용함. 그리고 GD 설치시에는 GD 의 버전에 대한 다음 사항을 고려해야 함.
GD 버전 2.0.28 이전 버전에서는 gif 이미지에 대한 READ 만 가능하였고 WRITE 는 불가능 하였음. 하지만 2.0.28 이후 버전부터는 gif 이미지파일의 READ 와 WRITE 가 모두 가능하게 되었음
따라서 가능하면 2.0.28 이후 버전을 설치하기 바람.

– gd 를 사용하기 위해서는 zlib, libpng, freetype, jpeg 등이 먼저 설치되어 있어야 함.

– 홈페이지 : http://www.boutell.com/gd/

– gd 다운받기
wget http://www.boutell.com/gd/http/gd-2.0.33.tar.gz

– 압축해제
tar xvfz gd-2.0.33.tar.gz

– 디렉토리 이동
cd gd-2.0.33

– configure
./confiugre –prefix=/usr/local/gd

– gd 의 configure 작업이 끝나기 바로 전에 안내문을 출력함. gd 가 지원하는 라이브러리들에 대한 안내문임. gd 이전에 설치했던 라이브러리들과 비교하면서 보기바람.

– 기타 다른 configure 옵션
–with-png=DIr : png 라이브러리가 설치된 디렉토리를 지정함. 만약 디렉토리위치를 지정하지 않는다면 png 헤드파일과 라이브러리들을 기본위치에서 찾게 됨. 만약 png 를 지원하지 않도록 하려면 –without-png 를 사용하거나 –with-png=no 를 사용하면 됨.

–with-freetype=DIR : freetype 2.X 버전을 지원하기 위한 옵션. freetype 관련파일들은 여기서 지정한 디렉토리( DIR ) 내의 DIR/include/freetype2 에서 찾게 된다.

–with-jpeg=DIR : jpeg 라이브러리를 지원하기 위한 옵션. 지정된 디렉토리위치에서 jpeg 관련파일들을 찾게됨.

–with-xpm=DIR : xpm 라이브러리를 지원하기 위한 옵션입 지정된 디렉토리위치에서 xpm 라이브러리파일등을 검색하게 됨.

– make
make

– make install
make install

[APM] libpng 설치

1. libpng 설치

– 앞에서 설치한 zlib 가 생성한 이미지파일을 png 포멧으로 변형하여 사용하기 위한 라이브러리임. 즉, 포터블네트워크 그래픽라이브러리로서 libpng 는 zlib 이 반드시 설치되어 있어야 함. 이 역시 MRTG 등에서 웹화면 실시간 그래픽표현을 위해 zlib 과 함께 없어서는 안될 라이브러임.

– 홈페이지 : http://www.libpng.org

– libpng 다운받기
wget ftp://ftp.superuser.co.kr/etc/libpng-1.2.5.tar.gz
※ 이 페이지에는 libpng-1.2.14.tar.gz 버전이 올려져 있다. 선택은 자유.

– 압축해제
tar xvfz libpng-1.2.5.tar.gz

– 디렉토리 이동
cd libpng-1.2.5

– libpng 에서는 configure 를 실행하지 않고 기존에 있던 여러종류의 makefile 가운데 linux 버전으로 되어있는 makefile.linux 파일을 cp 로 복사하여 사용함. 이 작업이 config 작업이라 보면 됨.
cp scripts/makefile.linux makefile

– make test
make test
※ 이 과정에서 gcc 컴파일러는 libpng 관련 목적파일과 헤드파일을 생성해 냄.

– make install
make install

[APM] zlib 설치

1. zlib 설치

– zlib 은 gzip 등으로 압축된 파일을 읽고 쓰기 위해 꼭 필요한 라이브러리임. MRTG 를 이용한 트래픽모니터링 홈페이지를 구축할 때에 반드시 필요함.

– zlib 홈페이지 : http://www.zlib.org 또는 http://www.gzip.org/zlib

– zlib 다운받기
wget http://pchero21.com:8080/file_download.php?filename=5949f302fc32ac4895fbe35169d8dc46
또는
wget ftp://ftp.superuser.co.kr/etc/zlib-1.2.1.tar.gz
※ 이 페이지에 올려져있는 zlib의 버전은 zlib-1.2.3.tar.gz 이고 superuser.co.kr 의 버전은 zlib-1.2.1.tar.gz 이다. 참고.

– 다운을 받았으면 압축을 푼다.
tar xvfz zlib-1.2.3.tar.gz   <– zlib-1.2.3 버전

– zlib 디렉토리로 이동
cd zlib-1.2.3

– config 실행
./configure –prefix=/usr/local/zlib
※ –prefix=/usr/local/zlib 는 설치 경로를 지정해 준 것이다. 마음에 안들면 바꿔도 무방. 하지만 설치 경로는 기억해둬야 한다.

– make 실행
make

– make install 실행
make install

설치끝.