[IT 알아보기]/IT 소식

리눅스+아파치 서버에서 한글파일 제대로 지원하기1

이호스트ICT 2009. 9. 8. 11:53

아파치에서 한글명으로 된 파일을 실행시키거나 또는 한글명으로 된 이미지 파일을 읽게되면 디폴트로 실행이 안되거나 이미지가 깨져보입니다.
이럴경우 인코딩을 일일히 utf-8로 바꿔야만 되는데... 아파치에 mod_url을 설치하여
한글파일도 지원되게 할 수 있습니다.

mod_url 다운받는 곳에 가셔서 자신의 아파치 버전에 맞는 파일을 받습니다. 이때 실제적으로 필요한 파일은 mod_url.c 하나입니다.
이것을 받으신 다음에 예를 들어 /usr/local/apache/include/에 위치 시킵니다.

다음은 세부셋팅입니다..
셋팅에는 두가지가 있는데 컴파일방식과 DSO방식 두가지 다 가능합니다.
전 컴파일 방식을 선호하는 편이라 DSO를 하지 않았습니다 (DSO방식에는 http-devel이 필요하다는군요.. 깔기 귀찮아서요.. 시스템도 지저분해지고)
DSO방식은 kldp( http://kltp.kldp.org/stories.php?story=01/01/29/5413242 )에도 있습니다.

그럼 컴파일 방법 쉽게 나가겠습니다

/usr/local/apache/include에서
gcc -fpic -DSHARED_MODULE -I/usr/include/apache -c mod_url.c

또는

gcc -fpic -DSHARED_MODULE -I/usr/include/apache -DEAPI -c mod_url.c

이렇게 컴파일을 해서 mod_url.o 파일을 생성합니다.
이후 다시한번

gcc -shared -o mod_url.so mod_url.o 이렇게 하여 .so파일을 만드신후

apache1.3.x버전에서는
cp mod_url.so /usr/local/apache/libexec
chmod 755 /usr/local/apache/libexec/mod_url.so

apache2.x에서는
cp mod_url.so /usr/local/apache/modules/

이렇게 하여 카피를 합니다.
그러면 일단 모듈은 셋팅이 다 되었습니다

마지막으로 httpd.conf파일을 설정합니다.
1.3.x 에서는 다음과 같이
LoadModule redurl_module modules/mod_url.so ==>225라인정도에 있음
AddModule mod_url.c
<IfModule mod_url.c>
  CheckURL On
</IfModule>
이와같이 해주시고

2.x에서는
LoadModule redurl_module modules/mod_url.so ==>225라인정도에 있음
<IfModule mod_url.c>
  CheckURL On
</IfModule>
이렇게 합니다. 이후 아파치를 재시동하면 한글파일을 지원합니다 ^^