아파치에서 한글 파일 읽기 [mod_url 설치]

by ADMINPLAY posted Mar 17, 2009
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄

아파치에서 한글명으로 된 파일을 실행시키거나 또는 한글명으로 된 이미지 파일을 읽게되면

디폴트로 실행이 안되거나 이미지가 깨져보입니다.


이럴경우 인코딩을 일일히 utf-8로 바꿔야만 되는데... 아파치에 mod_url을 설치하여 한글파일도 지원되게 할 수 있습니다.

그럼 들어가겠습니다 ^^

 

셋팅에는 두가지가 있는데 컴파일방식과 DSO방식 두가지 다 가능합니다.

다운 로드 : apache1 - mod_url1.c
                     apache2 - mod_url2.c

이때 실제적으로 필요한 파일은 mod_url.c 하나입니다.

 

이것을 받으신 다음에 예를 들어 /usr/local/apache/mod_url/에 위치 시킵니다.
다음은 세부셋팅입니다 ^^;

 

1. DSO 설치 방식

현재 실행되고 있는 httpd 프로세스를 확인하여 DSO(Dynamic Shared Object)가 사용 가능한지 확인합니다.

1). DSO 확인
===========
$ httpd -l (in debian)
Compiled-in modules:
http_core.c
mod_so.c
mod_php3.c

$ /usr/sbin/httpd -l | grep mod_so (in redhat)
mod_so.c

여기서 mod_so.c 가 보이면 DSO를 통해 간편하게 mod_url.c를 설치할 수 있습니다.

2). DSO 설치 (일반적인 경우 RedHat은 아래 참조)
============================================
설치는 아파치 확장 툴인 apxs를 이용합니다.

mod_url.c 파일이 위치한 곳으로 이동 한 후 아래와 같이 컴파일을 진행합니다.

$ /usr/local/apache/bin/apxs -i -a -c mod_url.c
이렇게 실행하면 아래와 같이 컴파일이 완료됩니다.
gcc -fpic -DSHARED_MODULE
-I/path/to/apache/include -c mod_url.c
ld -Bshareable -o mod_url.so mod_url.o
cp mod_url.so /path_to/apache/libexec/mod_url.so
chmod 755 /path_to/apache/libexec/mod_url.so
[activating module `redurl' in
/path_to/apache/etc/httpd.conf]


 

########################################################################

 

2. 컴파일 설치 방식

/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/
이렇게 하여 카피를 합니다.
그러면 일단 모듈은 셋팅이 다 되었습니다

 

 

########################################################################
 

3. 환경설정 (httpd.conf파일을 설정합니다.)

 

1.3.x 에서는 다음과 같이 모듈이 추가 된것을 확인하고

LoadModule redurl_module modules/mod_url.so ==>225라인정도에 있음

 

httpd.conf 파일 마지막 부분에 아래부분을 추가한다.
AddModule mod_url.c
<IfModule mod_url.c>
CheckURL On
</IfModule>

 

============================================================================

 

2.x에서는 다음과 같이 모듈이 추가 된것을 확인하고
LoadModule redurl_module modules/mod_url.so ==>225라인정도에 있음

 

httpd.conf 파일 마지막 부분에 아래 부분을 추가한다.

<IfModule mod_url.c>
CheckURL On
</IfModule>

이렇게 합니다. 이후 아파치를 재시동하면 한글파일을 지원합니다 ^^