Linux Virtualhost와 PHP,JSP별도로 운용하기
페이지 정보
본문
아직 검증안된 강좌입니다.~~~~~
1. PHP5 설치
2. Apache, Tomcat 연동
3. mod_proxy_ajp 설정
Apache에 있는 mod_proxy_ajp 모듈을 통해 확장자 .jsp 파일을 Apache가 아닌 tomcat이 처리 하도록 한다.
Apache가 이상 없이 설치가 되어있다며 /etc/httpd/conf.d/proxy_ajp.conf 파일이 있을 것이다.
순서대로 확인 하고 따라 하자
# vim /etc/httpd/conf.d/proxy_ajp.conf 의 아래의 내용 주석해지
...
#ProxyPass /tomcat/ ajp://localhost:8009/ -> 주석 해제
ProxyPass /tomcat/ ajp://localhost:8009/
...
# vim /etc/httpd/conf.d/rewrite.conf -> 새로 생성
RewriteEngine on #모듈 사용 여부
RewriteCond %{REQUEST_FILENAME} .jsp # 사용 형식 .jsp
RewriteRule (.*) ajp://localhost:8009$1 [P] # 처리 방식 [P] ->proxy ajp 사용
위 밑줄 부분은 mod_rewrite 모듈을 사용한다.
/etc/httpd/conf/httpd.conf 에서 모듈로드를 하고 있는지 확인한다.
참고 사항으로 이 부분를 처음에 proxy_ajp.conf 입력을 했었다. 물론 이상이 없었다.
그렇게 해도 상관도 없고 아무런 오류도 없다.
하지만 virturehost를 하면서 오류가 발행했다. 메인 사이트만 되고 virturehost 되지 않는 것이다.
그래서 새롭게 파일을 만들어서 각각의 사이트에서 적용하게 했다.
4. NameServer 에 도메인 추가
5. VirtualHost
JSP host는 jsp만 인식하고, PHP host는 php만 인식하게 하자.
#cd /etc/httpd/conf.d
#ll
-rw-r--r-- 1 root root 565 2008-01-16 20:24 php.conf
-rw-r--r-- 1 root root 150 2008-01-09 23:04 rewrite.conf
새로운 디렉토리를 만들고 위 2개 파일을 이동한다.
#mkdir /etc/httpd/conf/php
#mkdir /etc/httpd/conf/jsp
#mv /etc/httpd/conf.d/php.conf /etc/httpd/conf/php
#mv /etc/httpd/conf.d/rewrite.conf /etc/httpd/conf/jsp/
rewrite.conf 는 php,jsp등 관련 모듈이 아니라 Apache 이용 모듈이다.
모듈 로드 또한 그냥 httpd.conf 에서 하기도 한다.
하지만 여기서는 JSP 세팅을 위해 새롭게 생성한 파일이고
VirtualHost 할 때도 각각의 host에 세팅을 해주어야만 JSP가 이상이 없기도 하다.
또한 PHP host 부분에 인식되지 않기 위하기도 하다.
httpd.conf에서 DefaultHost를 없애고 VirualHost로만 호스트를 해보자
#vim /etc/httpd/conf/httpd.conf
JSP host는 jsp만 인식하고, PHP host는 php만 인식하게 하자.
#cd /etc/httpd/conf.d
#ll
-rw-r--r-- 1 root root 565 2008-01-16 20:24 php.conf
-rw-r--r-- 1 root root 150 2008-01-09 23:04 rewrite.conf
새로운 디렉토리를 만들고 위 2개 파일을 이동한다.
#mkdir /etc/httpd/conf/php
#mkdir /etc/httpd/conf/jsp
#mv /etc/httpd/conf.d/php.conf /etc/httpd/conf/php
#mv /etc/httpd/conf.d/rewirte.conf /etc/httpd/conf/jsp/
rewrite.conf 는 php,jsp등 관련 모듈이 아니라 Apache 이용 모듈이다.
모듈 로드 또한 그냥 httpd.conf 에서 하기도 한다.
하지만 여기서는 JSP 세팅을 위해 새롭게 생성한 파일이고
VirtualHost 할 때도 각각의 host에 세팅을 해주어야만 JSP가 이상이 없기도 하다.
또한 PHP host 부분에 인식되지 않기 위하기도 하다.
httpd.conf에서 DefaultHost를 없애고 VirtualHost로만 호스트를 해보자
#vim /etc/httpd/conf/httpd.conf
...
NameVirtualHost *:80
### JSP HOST
<VirtualHost *:80>
ServerAdmin webmaster@jjjj.co.kr
DocumentRoot /home/jsp/www
ServerName jjjj.co.kr
Include conf/jsp/*.conf
DirectoryIndex index.jsp index.html
</VirtualHost>
<VirtualHost *:80>
ServerAdmin webmaster@jjjjj.co.kr
DocumentRoot /home/jsp2/www
ServerName jjjjj.co.kr
Include conf/jsp/*.conf
DirectoryIndex index.jsp index.html
</VirtualHost>
#### PHP HOST
<VirtualHost *:80>
ServerAdmin webmaster@pppp.co.kr
DocumentRoot /home/php/www
ServerName pppp.co.kr
Include conf/php/*.conf
DirectoryIndex index.php index.html
</VirtualHost>
6. PHP 확인
php 먼저 확인 해보자
#vim /home/php/www/index.php
<?phpinfo();?>
아파치 실행
#service httpd start
웹브라우저로 확인
7. JSP 확인
Apache2.2, Tomat5.5 연동이 이상 없다며
server.xml 파일을 이용 세팅 해보자
#vim /etc/tomcat5/server.xml
<Engine name"Catalina" defaultHost="localhost">
-> <Engine name"Catalina" defaultHost="jjjj.co.kr">
<Host name="localhost" appBase=" ~~~~
-> <Host name="jjjj.co.kr" appBase="/home/jsp/www" ~~~
<Context path="" docBase="" reloadable="true"/> <-없다며 추가하자
하나의 JSP Host 세팅을 했다.
톰캣, 아파치를 재실행한다.
#service tomcat5 restart
#service httpd restart
JSP 파일을 생성
#vim /home/jsp/index.jsp
<%@ page contentType="text/html; Charset=EUC-KR" %>
<%
out.println("Hello");
%>
웹브라우저로 확인
8. 톰캣에 2개의 호스트 사용
server.xml에서 호스트 하나 더 추가 해보자
#vim /etc/tomcat5/server.xml
</Host> <--이부분이 끝나고 나서 밑에 추가 해준다
<Host name="jjjjj.co.kr" appBase="/home/jsp2/www" ~~~
<Context path="" docBase="" reloadable="true"/> <-없다며 추가하자
</Host>
톰캣, 아파치를 재실행한다.
#service tomcat5 restart
#service httpd restart
#vim /home/jsp2/index.jsp
<%@ page contentType="text/html; Charset=EUC-KR" %>
<%
out.println("Hello2");
%>
웹브라우저로 확인
관련자료
http://blog.naver.com/hshighabove/120046895857
http://blog.naver.com/hshighabove/120046631165
1. PHP5 설치
2. Apache, Tomcat 연동
3. mod_proxy_ajp 설정
Apache에 있는 mod_proxy_ajp 모듈을 통해 확장자 .jsp 파일을 Apache가 아닌 tomcat이 처리 하도록 한다.
Apache가 이상 없이 설치가 되어있다며 /etc/httpd/conf.d/proxy_ajp.conf 파일이 있을 것이다.
순서대로 확인 하고 따라 하자
# vim /etc/httpd/conf.d/proxy_ajp.conf 의 아래의 내용 주석해지
...
#ProxyPass /tomcat/ ajp://localhost:8009/ -> 주석 해제
ProxyPass /tomcat/ ajp://localhost:8009/
...
# vim /etc/httpd/conf.d/rewrite.conf -> 새로 생성
RewriteEngine on #모듈 사용 여부
RewriteCond %{REQUEST_FILENAME} .jsp # 사용 형식 .jsp
RewriteRule (.*) ajp://localhost:8009$1 [P] # 처리 방식 [P] ->proxy ajp 사용
위 밑줄 부분은 mod_rewrite 모듈을 사용한다.
/etc/httpd/conf/httpd.conf 에서 모듈로드를 하고 있는지 확인한다.
참고 사항으로 이 부분를 처음에 proxy_ajp.conf 입력을 했었다. 물론 이상이 없었다.
그렇게 해도 상관도 없고 아무런 오류도 없다.
하지만 virturehost를 하면서 오류가 발행했다. 메인 사이트만 되고 virturehost 되지 않는 것이다.
그래서 새롭게 파일을 만들어서 각각의 사이트에서 적용하게 했다.
4. NameServer 에 도메인 추가
5. VirtualHost
JSP host는 jsp만 인식하고, PHP host는 php만 인식하게 하자.
#cd /etc/httpd/conf.d
#ll
-rw-r--r-- 1 root root 565 2008-01-16 20:24 php.conf
-rw-r--r-- 1 root root 150 2008-01-09 23:04 rewrite.conf
새로운 디렉토리를 만들고 위 2개 파일을 이동한다.
#mkdir /etc/httpd/conf/php
#mkdir /etc/httpd/conf/jsp
#mv /etc/httpd/conf.d/php.conf /etc/httpd/conf/php
#mv /etc/httpd/conf.d/rewrite.conf /etc/httpd/conf/jsp/
rewrite.conf 는 php,jsp등 관련 모듈이 아니라 Apache 이용 모듈이다.
모듈 로드 또한 그냥 httpd.conf 에서 하기도 한다.
하지만 여기서는 JSP 세팅을 위해 새롭게 생성한 파일이고
VirtualHost 할 때도 각각의 host에 세팅을 해주어야만 JSP가 이상이 없기도 하다.
또한 PHP host 부분에 인식되지 않기 위하기도 하다.
httpd.conf에서 DefaultHost를 없애고 VirualHost로만 호스트를 해보자
#vim /etc/httpd/conf/httpd.conf
JSP host는 jsp만 인식하고, PHP host는 php만 인식하게 하자.
#cd /etc/httpd/conf.d
#ll
-rw-r--r-- 1 root root 565 2008-01-16 20:24 php.conf
-rw-r--r-- 1 root root 150 2008-01-09 23:04 rewrite.conf
새로운 디렉토리를 만들고 위 2개 파일을 이동한다.
#mkdir /etc/httpd/conf/php
#mkdir /etc/httpd/conf/jsp
#mv /etc/httpd/conf.d/php.conf /etc/httpd/conf/php
#mv /etc/httpd/conf.d/rewirte.conf /etc/httpd/conf/jsp/
rewrite.conf 는 php,jsp등 관련 모듈이 아니라 Apache 이용 모듈이다.
모듈 로드 또한 그냥 httpd.conf 에서 하기도 한다.
하지만 여기서는 JSP 세팅을 위해 새롭게 생성한 파일이고
VirtualHost 할 때도 각각의 host에 세팅을 해주어야만 JSP가 이상이 없기도 하다.
또한 PHP host 부분에 인식되지 않기 위하기도 하다.
httpd.conf에서 DefaultHost를 없애고 VirtualHost로만 호스트를 해보자
#vim /etc/httpd/conf/httpd.conf
...
NameVirtualHost *:80
### JSP HOST
<VirtualHost *:80>
ServerAdmin webmaster@jjjj.co.kr
DocumentRoot /home/jsp/www
ServerName jjjj.co.kr
Include conf/jsp/*.conf
DirectoryIndex index.jsp index.html
</VirtualHost>
<VirtualHost *:80>
ServerAdmin webmaster@jjjjj.co.kr
DocumentRoot /home/jsp2/www
ServerName jjjjj.co.kr
Include conf/jsp/*.conf
DirectoryIndex index.jsp index.html
</VirtualHost>
#### PHP HOST
<VirtualHost *:80>
ServerAdmin webmaster@pppp.co.kr
DocumentRoot /home/php/www
ServerName pppp.co.kr
Include conf/php/*.conf
DirectoryIndex index.php index.html
</VirtualHost>
6. PHP 확인
php 먼저 확인 해보자
#vim /home/php/www/index.php
<?phpinfo();?>
아파치 실행
#service httpd start
웹브라우저로 확인
7. JSP 확인
Apache2.2, Tomat5.5 연동이 이상 없다며
server.xml 파일을 이용 세팅 해보자
#vim /etc/tomcat5/server.xml
<Engine name"Catalina" defaultHost="localhost">
-> <Engine name"Catalina" defaultHost="jjjj.co.kr">
<Host name="localhost" appBase=" ~~~~
-> <Host name="jjjj.co.kr" appBase="/home/jsp/www" ~~~
<Context path="" docBase="" reloadable="true"/> <-없다며 추가하자
하나의 JSP Host 세팅을 했다.
톰캣, 아파치를 재실행한다.
#service tomcat5 restart
#service httpd restart
JSP 파일을 생성
#vim /home/jsp/index.jsp
<%@ page contentType="text/html; Charset=EUC-KR" %>
<%
out.println("Hello");
%>
웹브라우저로 확인
8. 톰캣에 2개의 호스트 사용
server.xml에서 호스트 하나 더 추가 해보자
#vim /etc/tomcat5/server.xml
</Host> <--이부분이 끝나고 나서 밑에 추가 해준다
<Host name="jjjjj.co.kr" appBase="/home/jsp2/www" ~~~
<Context path="" docBase="" reloadable="true"/> <-없다며 추가하자
</Host>
톰캣, 아파치를 재실행한다.
#service tomcat5 restart
#service httpd restart
#vim /home/jsp2/index.jsp
<%@ page contentType="text/html; Charset=EUC-KR" %>
<%
out.println("Hello2");
%>
웹브라우저로 확인
관련자료
http://blog.naver.com/hshighabove/120046895857
http://blog.naver.com/hshighabove/120046631165
댓글목록
등록된 댓글이 없습니다.