본문 바로가기

etc

로컬개발환경

반응형

개발팀에서 로컬 개발 전용 공용 아파치를 구성 해서 사용 하고 있고

이렇게 되면 개발자가 각각 로컬 PC 에 아파치 설치 하지 않고 공용 아파치 하나를 같이 사용함으로 인해서

로그인 모듈을 일일이 설치할 필요도 없고

로컬 개발 및 유지보수가 편리 하게 됩니다.



공용 아파치는 특정 서버에 아파치를 설치후 

vhost 를 아래와 같이 등록 합니다.

보시면 아시겠지만 도큐먼트 루트가 없고, Directory 설정 등이 없습니다.

제일 아래 보시면 클라이언트 IP 의 특정 포트로 proxy 시켜 버립니다. 클라이언트 Ap 서버의 http 포트가 되겠죠.


<VirtualHost *>

        ServerName   local.news.naver.com

        ErrorLog "| /home1/irteam/apps/apache/bin/rotatelogs -l  /home1/irteam/logs/apache/local.news.error.log.%Y%m%d 86400"

        CustomLog    "|/home1/irteam/apps/apache/bin/rotatelogs /home1/irteam/logs/apache/local.news.access.%Y%m%d 86400 +540" naverformat

        RewriteEngine On

        RewriteMap lowercase int:tolower


        #This sets the variable to env:

        RewriteRule ^ - [E=REMOTE_ADDR:${lowercase:%{REMOTE_ADDR}}]

        ProxyPassInterpolateEnv On

        ProxyPass / http://${REMOTE_ADDR}:8089/ interpolate

        ProxyPassReverse / http://${REMOTE_ADDR}:8089/ interpolate

</VirtualHost>


공용 아파치가 있는 상태라면
개발자는 호스트 화일에  아래처럼 호스트 화일 등록 하고 
10.64.99.99  local.news.naver.com    
로컬 pc 에 떠있는 AP 서버의 http 포트정보를 vhost 에 맞게 설정 만 하면 됩니다.

윈도우나 맥에서 개발 하시는 분들은 아파치 모듈이 없거나 제때 나오지 않아서
불편 하셨거나
개발 환경 재 설정 할때도 아파치 설정이 번거로웠을 텐데
로컬 개발 공용 아파치를 이용해서 이런 불편에서 벗어나길 바라면서 
공유 드립니다.


공용 아파치를 idc 에 설치할 경우는  ap 서버의 http 포트를 ntree 이용해서 acl 요청 해야 합니다.
만약 개발 하는곳과 동일한 곳에 설치 하신다면 acl 은 필요 없구요.

그리고 proxy 모듈 관련 해서 로딩 순서를 꼭 아래와 같이 지켜 주셔야 합니다.
LoadModule proxy_module       modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so
LoadModule proxy_ajp_module   modules/mod_proxy_ajp.so
LoadModule proxy_balancer_module   modules/mod_proxy_balancer.so

아파치 2.2.21 버전 기반 설명 입니다.


공용 아파치는 특정 서버에 아파치를 설치후 

vhost 를 아래와 같이 등록 합니다.

보시면 아시겠지만 도큐먼트 루트가 없고, Directory 설정 등이 없습니다.

제일 아래 보시면 클라이언트 IP 의 특정 포트로 proxy 시켜 버립니다. 클라이언트 Ap 서버의 http ( 톰켓 http 포트) 포트가 되겠죠.


<VirtualHost *>

        ServerName   local.news.naver.com

        ErrorLog "| /home1/irteam/apps/apache/bin/rotatelogs -l  /home1/irteam/logs/apache/local.news.error.log.%Y%m%d 86400"

        CustomLog    "|/home1/irteam/apps/apache/bin/rotatelogs /home1/irteam/logs/apache/local.news.access.%Y%m%d 86400 +540" naverformat

        RewriteEngine On

        RewriteMap lowercase int:tolower


        #This sets the variable to env:

        RewriteRule ^ - [E=REMOTE_ADDR:${lowercase:%{REMOTE_ADDR}}]

        ProxyPassInterpolateEnv On

        ProxyPass / http://${REMOTE_ADDR}:8089/ interpolate

        ProxyPassReverse / http://${REMOTE_ADDR}:8089/ interpolate

</VirtualHost>


공용 아파치가 있는 상태라면
개발자는 호스트 화일에  아래처럼 호스트 화일 등록 하고 
10.64.99.99  local.news.naver.com    
로컬 pc 에 떠있는 AP 서버의 http 포트정보를 vhost 에 맞게 설정 만 하면 됩니다.

윈도우나 맥에서 개발 하시는 분들은 아파치 모듈이 없거나 제때 나오지 않아서
불편 하셨거나
개발 환경 재 설정 할때도 아파치 설정이 번거로웠을 텐데
로컬 개발 공용 아파치를 이용해서 이런 불편에서 벗어나길 바라면서 
공유 드립니다.


공용 아파치를 idc 에 설치할 경우는  ap 서버의 http 포트를 ntree 이용해서 acl 요청 해야 합니다.
개발 하는곳과 동일한 곳(예 : 그린펙토리 <==> 그린펙토리) 에 설치 하신다면 acl 은 필요 없구요.

그리고 proxy 모듈 관련 해서 로딩 순서를 꼭 아래와 같이 지켜 주셔야 합니다.
LoadModule proxy_module       modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so
LoadModule proxy_ajp_module   modules/mod_proxy_ajp.so
LoadModule proxy_balancer_module   modules/mod_proxy_balancer.so

반응형

'etc' 카테고리의 다른 글

twitter.com  (0) 2012.07.06
블루투스 채팅  (0) 2012.07.05
Fluent 2012  (0) 2012.07.04
git config  (0) 2012.07.04
migrate subversion repository to git without losing log data  (0) 2012.07.03