System/OS
2013.04.23 15:48
[linux] 한글 URL 인식할 수 있게 아파치(Apache) 설정 (mod_url.c 설치)
조회 수 13067 댓글 0
리눅스기반 아파치 웹서버에서 한글로 된 URL을 정상적으로 처리할 수 있게 하는 mod_url.c 설치 방법.
현재 실행되고 있는 httpd 프로세스를 확인하여 DSO(Dynamic Shared Object)가 사용 가능한지 확인.
다운 로드 : http://kle.kldp.org/apache/mod_url.c
http://kle.kldp.org/apache/readme.mod_url
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.1. 컴파일(일반적인 경우 RedHat은 아래 참조)
============================================
설치는 아파치 확장 툴인 apxs를 이용한다.
#apxs -i -a -c mod_url.c
이렇게 실행하면 된다.
$ 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.2. 컴파일(RedHat 경우)
========================
레드헷의 경우는 apxs 가 인스톨되지 않는다.
apache-devel 이 설치되어 있는지 확인하고,
$ rpm -q apache-devel
apache-devel-1.3.12-25 (버젼은 1.3.9 이상이면 될거임)
$ 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
(EAPI 는 버젼 1.3.? 이상에서 지원되는 것인데, error_log 에서 이에 관련된 warning이 보이면 이를 정의하고 컴파일 해야 함.)
$ gcc -shared -o mod_url.so mod_url.o
(혹은 ld -Bshareable -o mod_url.so mod_url.o)
$ su
# cp mod_url.so /usr/lib/apache/
# chmod 755 /usr/lib/apache/mod_url.so
그런 다음, /etc/httpd/conf/httpd.conf 를 열어서 다음 라인을 추가/확인.
-----------8x-----------
...
LoadModule redurl_module modules/mod_url.so
...
AddModule mod_url.c
...
-----------8x-----------
2.3. mod_url 활성화
===================
아파치 설정 파일인 httpd.conf를 끝부분에 다음과 같은 내용을 추가.
---------8X---------
[...]
CheckURL On
--------------------
2.4 재실행
==========
이제 아파치를 재실행하면 한글 URL이 제대로 인식됨.
# apachectl restart
(or /etc/init.d/httpd restart or
/etc/rc.d/init.d/httpd restart)
3. 기타
=======
배포본에 패키지 형태로 들어 있는 아파치 웹서버의 대부분은 다양한 모듈들을 사용할 수 있게 하기 위해 DSO를 기 본적으로 사용 가능하게 해 두었으나 소스로부터 컴파일하여 아파치를 설치한 경우에는 소스를 직접 패치해야 한다.
*주의: 이 모듈은 현재 아파치 1.3.9와 1.3.11에서 테스트된 것임.
*주의: 리눅스의 경우는 glibc-2.1.x 환경에서만 가능.
mod_url.c는 glibc-2.1.x의 iconv()함수를 사용함.
* iconv() 가 UTF8 <-> EUCKR 을 지원한다면 어떤 시스템에 대하여도 적용이 가능.
번호 | 분류 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|---|
873 | Develop | [c] 더블(이중) 연결리스트 예제.. | hooni | 2013.04.23 | 7470 |
872 | Develop | [c] 도메인 소켓(Unix Domain Socket) UDP | hooni | 2013.04.23 | 9284 |
871 | Develop | [c] 도메인(호스트)으로 IP정보 알아오기.. (nslookup과 비슷) | hooni | 2013.04.23 | 6934 |
870 | Develop | [c] 도스 공격(DoS Attack) 프로그램 | hooni | 2013.04.23 | 11578 |
869 | Develop | [c] 디피-헬만 키교환(Diffie–Hellman key exchange) 샘플 코드.. ㅋㄷ | hooni | 2013.04.23 | 9111 |
868 | Develop | [c] 라인수 입력받아 마름모꼴 출력하기.. | hooni | 2003.04.23 | 6869 |
867 | Develop | [c] 레포트용으로 제출했던 여러 소스코드 모음 | hooni | 2003.04.23 | 8086 |
866 | Develop | [c] 로또(Lotto) 번호 생성기 | hooni | 2013.04.23 | 7174 |
865 | Develop | [c] 마우스 따라다니는 고양이 - 네코95 (WinAPI) | hooni | 2013.04.23 | 7945 |
864 | Develop | [c] 맵서치인 듯(옛날 컴에서 찾은 자료) | hooni | 2013.04.23 | 6904 |
863 | Develop | [c] 메세지 프로그램 (Server - Agent - Client) | hooni | 2013.04.23 | 6459 |
862 | Develop | [c] 메시지큐(Message Queue) 설명.. (joinc) | hooni | 2013.04.23 | 14277 |