[한경숙]님이 남기신 글:
>모두들 안녕하셨어요?
>
>proxy 서버 문제 이렇게 질답게시판을 찾았습니다.
>하루 종일 패키지를 찾아 헤맸더니 좀 지치네요. ^^;;
>
>
>현재 제가 사용하는 배포판은 wowlinux 7.0 이고 여기에 install된
>아파치 서버 버전은 1.3.14 입니다.
>그런데 proxy 서버 기능이 필요하여 apache-mod_proxy-1.3.20 을 설치하였으나
>설치 직 후 apache-1.3.14와 충돌이 일어난다는 에러 메시지를 받았습니다.
>(--nodeps 옵션을 이용해서 설치했거든요.)
>
>추측으로는 apache-1.3.14와 충돌이 일지 않는 mod_proxy는 apache-mod_proxy-1.3.14가 아닐까 추측해 봅니다.
>물론 정확하지는 않습니다.
>
>현재 apache-1.3.14와 apache-mod_proxy의 충돌 문제로 인해 클라이언트에서
>프록시 기능을 설정한 후 접속을 요청하면
>접속이 됐다가 접속을 받은 httpd 가 바로 exit 해 버립니다.
>
>
>질문 사항은 다음과 같습니다.
>1) www.rpmfind.net과 온갖 검색 엔진을 동원해도 apache-mod_proxy의 rpm 패키지는 version 1.3.20 밖에 구할 수 가 없습닌다.
>어떻게 하면 어디서 apache-mod_proxy-1.3.14 (하여튼 apache-1.3.14와 충돌하지 않는 mod_proxy)를
>구할 수 있을까요?
>
>
소스 컴파일이 더 편할텐데요...
>2) proxy server 기능을 위해 squid를 설치했으나
>/etc/rc.d/init.d/squid start 한 다음 잠시 후
># ps -aux | grep squid 하면 프로세스가 죽고 없습니다.
>왜 그럴까요?
뭔가 설정이 잘못된것 같군요.....
다시한번 차근차근 읽어보세요...
squid에 대해서 잘 몰라서..
그리고 squid와 아파치 프록시모듈을 사용할 경우 둘다
프록시 서버 기능을 합니다. 따라서 둘중 하나만 선택해보세요.
물론 포트가 다르면 상관없겠지만.
>
>3) httpd.conf의 proxy 설정과 squid 의 실행은 관련 있나요?
>즉, httpd.conf의 ProxyRequest ON 의 주석을 풀어주어야 squid도 동작하나요?
>
두개의 관계는 서로 상관없습니다.
>
>4) 마지막으로... mod_proxy을 소스로 설치하려면 mod_proxy.tar.gz을 어디서 구할 수 있나요?
>요즘 계속 이 문제들 때문에 헤맸는데 아직 한가지도 답을 얻지 못했네요.
>
따로 패키지하여 gz 형태로 배포하지 않습니다.
아파치 소스를 풀면,
apache-1.3.xx/src/modules/proxy
에 관련 C 함수가 있습니다.
>
>고수님들의 조언 부탁드립니다.
>
>좋은 하루로 마무리 하는 저녁 시간 되길 바라며...
========================================
DSO 모듈로 직접 컴파일하여 설치하는 방법
1. 우선 mod_so가 이미 아파치에 정적으로 컴파일되어 있어야합니다.
2. apxs 유틸리가 있어야합니다.
1번 확인
# httpd -l
...
mod_so.c ## <--- 확인
...
#
2번 확인
# which apxs
(또는 whereis apxs)
(또는 locate apxs)
...
/usr/local/bin/apxs
(또는 /usr/sbin/apxs, 또는 /sbin/apxs 로 나올수 있음)
#
만약 apxs가 $PATH에 결려있지 않다면
apxs 경로를 알고 있어야합니다.
또한
이미 아파치가 설치되어 있는 --prefix=
와 apxs를 편집기로 열어서
my $CFG_PREFIX = q(/usr/local/apache); # substituted via APACI install
my $CFG_SBINDIR = q(/usr/local/apache/bin); # substituted via APACI install
my $CFG_INCLUDEDIR = q(/usr/local/apache/include); # substituted via APACI install
my $CFG_LIBEXECDIR = q(/usr/local/apache/libexec); # substituted via APACI install
my $CFG_SYSCONFDIR = q(/usr/local/apache/conf); # substituted via APACI install
이부분이 같나 확인합니다.
즉,
apxs 유틸리티를 이용해서 mod_proxy 모듈을 DSO로 설치하면
앞에서 $CFG_LIBEXECDIR 로 지정한 위치로 최종 설치됩니다.
가능한 소스로 직접 컴파일하는것이 더 편함.
[컴파일하기]
아파치 소스를 풀고(예전것이 있다면 그곳으로 이동)
예)
# cd /usr/local/src/apache-1.3.20/src/modules/proxy
#
# rm -rf *.so *.o (관련 오브젝트 파일을 모두 삭제)
#
# ls
Makefile.OS2 mod_proxy.c proxy_cache.c proxy_ftp.c proxy_util.c
Makefile.tmpl mod_proxy.h proxy_connect.c proxy_http.c
#
# /usr/local/bin/apxs -a -i -c *.c
...
...(컴파일진행)
...
[activating module `proxy' in /usr/local/apache/conf/httpd.conf]
cp mod_proxy.so /usr/local/apache/libexec/mod_proxy.so
chmod 755 /usr/local/apache/libexec/mod_proxy.so
cp /usr/local/apache/conf/httpd.conf /usr/local/apache/conf/httpd.conf.bak
cp /usr/local/apache/conf/httpd.conf.new /usr/local/apache/conf/httpd.conf
rm /usr/local/apache/conf/httpd.conf.new
#
#
httpd.conf 파일을 열어서
LoadModule proxy_module libexec/mod_proxy.so
이와 비슷하게 되어 있나 확임함.
libexec는 rpm으로 이미 아파치를 설치했다면 다를 수 있음
또는
/usr/local/apache/libexec/mod_proxy.so
파일이 있나 확인
모두 확인했으면
현상태에서
# apachectl start
또는
# /etc/rc.d/init.d/httpd start
로 아파치를 가동해 봅니다.
|