웹모아 
웹모아  로그인  회원가입   
웹모아
 
자잘한팁
 


  mod_url
  등록: 2007-04-23 12:35:42 조회:2843



mod_url.c


mod_url.c : 박원규<wkpark@kldp.org>
README 작성: 권순선<kss@kldp.org> 수정 박원규<wkpark@kldp.org>

COPYRIGHT: GPL
최종업데이트: 2000/10/11
- 2000/10/11: glibc-2.1.x 와 glibc-2.1.9x 에서 모두 돌아가도록 수정

한글로 된 URL을 정상적으로 처리할 수 있게 하는 mod_url.c의 설치 방법은 다음과 같습니다.

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

다운 로드 : http://kldp.net/plugins/scmcvs/cvsweb.php/mod_url/apache1/mod_url.c?cvsroot=modurl
http://chem.skku.ac.kr/~kle/main/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-----------
<IfModule mod_url.c>
CheckURL On
</IfModule>
-----------8x-----------


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 을 지원한다면 어떤 시
    스템에 대하여도
    적용가능할 것입니다.

Technical Notes: Undefined symbol 'dbm_fetch' with the Apach


Technical Notes: Undefined symbol 'dbm_fetch' with the Apache server

I tried to include in my Apache Web server's configuration the mod_rewrite module, but when I restarted the server, I received an error:

    Cannot load /usr/local/apache/libexec/mod_rewrite.so into server:
/usr/local/apache/libexec/mod_rewrite.so: undefined symbol: dbm_fetch

The problem, as it turns out, is that mod_rewrite.so is compiled incorrectly. It should be linked with a dbm library but it isn't.

If you have an up-to-date set of Apache source files, you can easily solve this problem by manually rerunning the last compilation step of this module, using the correct options. When you execute make mod_rewrite.so in the appropriate directory, it performs this final step:

    gcc -shared -o mod_rewrite.so mod_rewrite.lo

Rerun gcc, this time adding a reference to the GNU gdbm library:

    gcc -shared -o mod_rewrite.so mod_rewrite.lo -lgdbm

Next, copy the newly created mod_rewrite.so over to /usr/local/apache/libexec or wherever your Apache module files are located.

In my case, this was all that was needed to solve the problem. Your mileage may vary.

Posted by 이운억 at 2005-11-04 01:18:02 . 350 hits
source . info . diff . files. 0.194 sec




 

 





자잘한팁
페이지: 1 / 3   

   리눅스에서 하드디스크 mount 하기1301
     CentOS 하드 마운트1400
   리눅스에서 캡쳐하는 방법2477
   특정 디렉토리의 사용량을 알려면2615
   시스템이 ping에 응답하지 못하게 설정하려면2133
   리눅스에서 공백이 포함된 디렉토리 처리2432
   cp 명령과 ln 명령의 차이점5521
   리눅스 명령어 top2215
   특정 디랙토리 인증걸기 htpasswd, htacc2511
   IP 주소 접속을 도메인 주소로 바꾸기2556
   apache 에서 '사이트 공사중' 2748
   한개의 호스팅으로 여러개 홈피 운영하기2127
    리눅스 실시간 트래픽 모니터링 하기2674
   리눅스에서 날짜를 기준으로 파일삭제9068
   윈도우에서 unload 받은 오브젝트를 리눅스에서 2224
   유닉스 및 리눅스 명령어 팁2821
   리눅스 부팅후 자동 실행2400
   리눅스 소유권바꿀때 인수 명단이 너무 김..에대해서3136
   find 명령어로 특정문자가 포함된 파일 찾기(홈마스타)(1) 2758
   리눅스에서 파일 찾기(홈마스타)2416
   특정 문자열을 포함하는 특정 파일들 찾는 쉘(홈마스타)2411
   인터넷 이용시 만나는 에러메시지의 의미(홈마스타)2506
   하이퍼텍스트 전송규약 1.1표준(안)(홈마스타)3777
   웹 로그 분석 기본 개념의 이해 (70) : 웹 로(홈마스타)2616
mod_url(홈마스타)2844
   다른 서버, 다른 도메인간 세션 공유 방법 1차 개(홈마스타)3188
     [RE] 다른 서버, 다른 도메인간 세션 공유 방법(홈마스타)2942
   다른서버 세션공유(홈마스타)2900
   이미지 링크 못하게 하기(홈마스타)2281
   아파치 가상 유저 호스트 설정하기[modr_rewr(홈마스타)1419
≪ [1]  [2]  [3]   ≫

복수단어 검색은 공백(space)로 구분해 주세요.



 
인기 글
4326
5521
4765
6698
5111
6019
6498
3878
3817
4561
3951
[홈마스타] [RE] input type=\\
6575
4478
7077
9689
 
최근 글
94
137
138
104
86
102
2887
741
712
901
793
3958
3343
3381
3767