Unix/Linux/Mac

Linux에서 proxy를 이용하여 ant 사용하는 방법

업무용으로 서버를 받았는데, 이게 인터넷에 접속하지 못하는 인트라넷 전용 서버라서, ant를 이용하여 필요한 소프트웨어 패키지를 설치하기 위해서는 다른 서버에서 받아서 카피하는 불편함을 피할 수가 없었다.

ant로 의존성이 높은 패키지들을 한꺼번에 설치하기 위해서는 인터넷 접속이 꼭 필요하기 때문에, proxy 기능을 이용해보기로 했다.

1. 인터넷 접속이 가능한 이웃 서버에 tinyproxy를 설치한다.

–prefix 옵션으로 지정된 설치 디렉토리의 sbin에 tinyproxy가 설치되고 etc에 tinyproxy/tinyproxy.conf가 설치된다. 이 두 파일만 주의하면 된다. 적절하게 tinyproxy.conf를 수정하고 tinyproxy -d로 테스트해본다. 잘못 설정된 항목을 살펴보고 수정한 뒤에 -d 옵션 없이 실행시켜놓는다. 데몬 프로세스로 실행해야 되므로 root 권한이 필요하다.

2. 인터넷 접속이 불가능한 서버에서는 시스템의 autoproxy 기능을 사용하기 위해 gconftool을 사용한다.

gconftool-2 -t bool -s /system/http_proxy/use_http_proxy true
gconftool-2 -t string -s /system/http_proxy/host "인터넷접속가능한이웃서버이름"
gconftool-2 -t int -s /system/http_proxy/port 이웃서버의프락시포트번호

SSL(https)을 위해서는 다른 설정이 좀 더 필요하지만 여기서는 생략한다.

3. ant를 실행한다. -autoproxy 옵션을 사용한다. (기본적으로) 시스템 디렉토리에 설치하는 경우에는 root 권한이 필요하다.

ant -autoproxy build

* ant의 경우에는 build.properties와 build.xml 파일의 proxy 설정을 변경하여 proxy를 사용하는 방법도 있다.

* tinyproxy의 기능 부족으로 인하여, HTTP URL이 redirect되는 경우에는 ant가 연속적으로 http request를 날리지 못하게 되어 실패하는 경우가 종종 발생하기도 한다. 이런 경우에는, build.properties.default 파일을 수정하여 redirect된 URL의 server 이름을 대신 사용하도록 수정하는 임시처방도 유효할 수 있다.

답글 남기기