질문&답변
클라우드/리눅스에 관한 질문과 답변을 주고 받는 곳입니다.
리눅스 분류

설치관련 질문입니다

작성자 정보

  • 유설 작성
  • 작성일

컨텐츠 정보

본문

정말 서버쪽은 정말 처음이라서요

이제 처음 깔아 보는데요

리눅스는 깔았고요

위에

자바 아파치 톰캣 mysql을 깔려고하는데요

어떤거부터 깔아야할지 정말 몰라서요

초보를 위한 자세한 답변을 부탁드립니다. ㅠ.ㅠ

관련자료

댓글 1

안상훈님의 댓글

  • 안상훈
  • 작성일
예전의 경험으로는 순서 보다는 아파치와 tomcat의 연동문제이라 생각되어집니다.
apache에서 php를 사용하지 않는 다면 특별히 tomcat과 연동해서 설치할 필요없이
jdk+mysql+tomcat만 사용하셔도 될거 같습니다.
아래 자료는 제가 예전에 apahe+mysql+php+jdk+tomcat+ZendOptimizer를 설치 했던 자료입니다.
도움이 되셨으면 합니다.
필요한 부분만 사용하시면 될거 같습니다.
----------------------------------------------------------------------------
1. Mysql-4.0.21  install

2. Aache-2.0.52 source install

# ./configure --prefix=/usr/local/apache --enable-modules=so --enable-so --enable-headers
# make
# make install

# vi /usr/local/apache/conf/httpd.conf
User nobody
Group #-1
 
아파치를 실행할 유저와 그룹을 설정한다.
User nobody
Group nobody
DefaultLanguage euc_kr
 
ServerAdmin you@example.com
#ServerName www.example.com:80
필요하다면 위 설정도 고친다.
 

설정 파일 테스트를 해본다.
# ./apachectl configtest
Syntax OK

 
문제 없음으로 나왔다.. 아파치를 실행해 본다.

# cp /usr/local/apache/bin/apachectl /etc/init.d/httpd

3. Php-4.3.8 source intalll
# ./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs
> --with-config-file-path=/etc --with-zlib --with-mysql=/usr/local/mysql
> --with-mod-charset --with-language=korean --with-charset=euc_kr

# make
# make install
# cp php.ini-dist /usr/local/php/etc/php.ini

Apache 와 연동
# vi /usr/local/apache/conf/httpd.conf
php make install 시 자동으로 httpd.conf 화일에
- LoadModule php4_module lib/apache/libphp4.so 추가 됩니다(확인사항)

- AddType 부분으로 이동해서 다음을 추가 합니다.
AddType application/x-httpd-php .php .phtml
AddType application/s-httpd-php-source.phps  <== 요거 안먹히네

- DirectoryIndex 부분을 찾아 index.php와 index.phtml을 추가합니다.
DirectoryIndex index.html index.html.var index.php index.phtml

- Apache Restart

4. ZendOptimizer-2.5.5 install

# ./install.sh

- Zend Path = /usr/local/php
- Apache bin Path = /usr/local/apache/bin


5. Jdk-1.4.2-05-linux install

# chmod 755 j2sdk-1_4_2_05-linux-i586-rpm.bin
# ./j2sdk-1_4_2_05-linux-i586-rpm.bin
일케 하면 RPM 파일이 생성됩니다
# rpm -Uvh j2sdk-1_4_2_05-linux-i586-rpm
/usr/java/j2sdk1.4.2_05 디렉토리가 생성되면서 설치가 됩니다.

- JAVA PATH 설정
# vi /etc/profile
JAVA_HOME=/usr/java/j2sdk1.4.2_05
PATH=$PATH:$JAVA_HOME/bin
export JAVA_HOME
# source /etc/profile
# java -vesion <== 확인


6. Tomcat-5.0.27 install

# tar xvfz jakarta-tomcat-5.0.27.tar.gz -C /usr/local
# cd /usr/local
# mv jakarta-tomcat-5.0.27 tomcat
# vi /etc/profile
JAVA_HOME=/usr/java/j2sdk1.4.2_05
PATH=$PATH:$JAVA_HOME/bin
CLASSPATH=/usr/java/j2sdk1.4.2_05/lib/tools.jar
CATALINA_HOME=/usr/local/tomcat

export JAVA_HOME CLASSPATH CATALINA_HOME
와 같이 수정후
# source /etc/profile
# /usr/local/tomcat/bin/startup.sh

7. jakarta-tomcat-connectors-jk2-src-current.tar.gz install

# cd jakarta-tomcat-connectors-jk2-2.0.4-src/jk/native2
# ./configure --with-apxs2=/usr/local/apache/bin/apxs
# make

- make 과정이 끝나면 "mod_jk2.so" 화일이 생성된다. 어디에?
# cd jakarta-tomcat-connectors-jk2-2.0.4-src/jk/build/jk2/apache2 <== 여기에
# cp mod_jk2.so /usr/local/apache/moduels/

======================================================================================================
config 화일 수정
* httpd.conf
# vi /usr/local/apache/conf/httpd.conf

LoadModule jk2_module modules/mod_jk2.so  <==추가
 
DirectoryIndex 부분에 index.jsp    <==추가

# vi  workers2.properties <== 이화일을 만들어 준당
===================================================================
# Shared memory handling. Needs to be set.
[shm]
file=/usr/local/apache/logs/shm.file
size=1048576
 
# Example socket channel, explicitly set port and host.
[channel.socket:localhost:8009]
port=8009
host=127.0.0.1
 
# define the worker
[ajp13:localhost:8009]
channel=channel.socket:localhost:8009
 
# Announce a "status" worker
[status:status]
 
# Uri mapping
[uri:/jsp-examples/*]
worker=ajp13:localhost:8009
 
[uri:/servlets-examples/*]
worker=ajp13:localhost:8009
 
[uri:/tomcat-docs/*]
worker=ajp13:localhost:8009
 
[uri:/*]
worker=ajp13:localhost:8009
 
[uri:/status/*]
worker=status:status
================================================================

* 자 이제 톰켓에서 8009 포트로 작동할 준비와 아파치에서 8009 포트로 작동할 설정 (준비)를 해야한다. 
 
우선 톰켓 설정 부터하자.
# cd /usr/local/tomcat/conf
 
톰켓 5에는 coyote connector 가 기본적으로 설치되어 있다. coyote connector가
하는 역할은 mod_jk2 의 모듈에서 전달하는 정보를 수신 송신하는 역할을 한다.
이것을 설정하는 파일이 jk2.properties 파일이다. 당연히 이 파일은 존재한다.
 
# vi jk2.properties
## THIS FILE MAY BE OVERRIDEN AT RUNTIME. MAKE SURE TOMCAT IS STOPED
## WHEN YOU EDIT THE FILE.
 
## COMMENTS WILL BE _LOST_
 
## DOCUMENTATION OF THE FORMAT IN JkMain javadoc.
 
# Set the desired handler list
# handler.list=apr,request,channelJni
#
# Override the default port for the socketChannel
channelSocket.port=8009        <== 요기
# Default:
# channelUnix.file=${jkHome}/work/jk2.socket
# Just to check if the the config  is working
shm.file=/usr/local/apache/logs/jk2.shm  <== 요기
 
# In order to enable jni use any channelJni directive
# channelJni.disabled = 0
# And one of the following directives:
 
# apr.jniModeSo=/opt/apache2/modules/mod_jk2.so
 
# If set to inprocess the mod_jk2 will Register natives itself
# This will enable the starting of the Tomcat from mod_jk2
apr.jniModeSo=inprocess <== 요기

 
==> apache, tomcat 재시작


그리고 http://homeaddress/ 를 입력해본다.
http://homeaddress:8080/ 과 같은 화면이 뜬다. 우선 이것으로 자카르타 톰켓
커넥터는 자알~~ 설치되었다.
 
이것으로 우리는 웹 페이지를 보이는 아파치 웹 루트와 톰켓을 보이는 웹 루트가
있는 것을 알 수 있다. 그러나 지금 보이는 톰켓 루트만 보이고 웹 루트는 보이
는가? index.html이 아파치 웹루트에 있다면 이것은 작동하지 않는다.(파일이 없다고 나온다.)
 
그러면 어떻게 설정해야하는가? 그리고 왜 이렇게 나오는가?
우리는 mod_jk 의 작동 방식을 잘 생각해보면 답이 나온다. 그리고 
workers2.properties를 잘 살펴본 사람이라면 쉽게 답이 나올 수 있다.
# Uri mapping 이부분이다. 이부분에 맞는 url가 나오면 무조건 톰켓으로 정보를
보내어 버린다. 특히 극악은
[uri:/*]
worker=ajp13:localhost:8009 이부분으로 모든 파일은 톰켓으로 전송해버리는 극
악한 짓을 한다.
즉 http://homeaddres/index.html 은 톰켓 루트에서 찾는다.
/* 과 url가 매칭이 되기 때문이다. -ㅁ-;;
 
그럼?
[uri:/jsp/*]
worker=ajp13:localhost:8009
 
와 같이 만들어 버리고 톰켓 웹 루트에 jsp 디렉토리를 만들어 이곳으로 자바서블
릿을 설치하면 될거라고 생각한다..
무슨 말인지 이해하겠는가?
 
자 복습해보자
[uri:/*.html] 이렇게 써있다면 어떻게 작동할 것인가?
aaa.html 파일을 실행했을 때 aaa.html 파일은 어느 디렉토리에서 찾을 것인가?
[uri:/image/*.jpg] 이렇게 써있다면 어떻게 작동할 것인가를 잘 생각해보자..^^
 
참고로 톰켓은 php 작동은 안한다 ㅡㅡ; 그러니 아파치에서 실행하는 문서와
톰켓에서 실행하는 문서는 달라야한다?
그러면 아파치 웹 루트를 톰켓 웹루트로 바꾸면 되지 않는가?
아니면 반대의 경우라면?
아파치와 톰켓의 작동 방식은 약간 달라서 상당히 어려울 것이면
톰켓에서 바꿔설정해줘야 할부분이 훨씬 많아질 것이다.
그러니.. 실력을 쌓으면 바꿔보자.




공지사항


뉴스광장


  • 현재 회원수 :  60,138 명
  • 현재 강좌수 :  36,196 개
  • 현재 접속자 :  649 명