fedora 17 kde 에서 yum으로 톰캣 설치 후 초기화
find -name "tomcat"
명령어를 쓰면
./usr/share/tomcat
./usr/share/maven-fragments/tomcat
./usr/share/java/tomcat
./usr/sbin/tomcat
./etc/sysconfig/tomcat
./etc/logrotate.d/tomcat
./etc/tomcat
./var/log/tomcat
./var/cache/tomcat
./var/lib/tomcat
두군데에 톰캣 폴더가 보인다. 어느곳이 진짜일까?
/usr/share/tomcat 의 경우
drwxr-xr-x. 2 root root 4096 9?? 7 11:27 bin
lrwxrwxrwx. 1 root tomcat 11 9?? 7 11:27 conf -> /etc/tomcat
lrwxrwxrwx. 1 root tomcat 22 9?? 7 11:27 lib -> /usr/share/java/tomcat
lrwxrwxrwx. 1 root tomcat 15 9?? 7 11:27 logs -> /var/log/tomcat
lrwxrwxrwx. 1 root tomcat 22 9?? 7 11:27 temp -> /var/cache/tomcat/temp
lrwxrwxrwx. 1 root tomcat 23 9?? 7 11:27 webapps -> /var/lib/tomcat/webapps
lrwxrwxrwx. 1 root tomcat 22 9?? 7 11:27 work -> /var/cache/tomcat/work
/etc/tomcat 의 경우
drwxrwxr-x. 3 root tomcat 4096 9?? 7 11:27 Catalina
-rw-rw-r--. 1 tomcat tomcat 12128 7??26 05:54 catalina.policy
-rw-rw-r--. 1 tomcat tomcat 5435 7??26 05:54 catalina.properties
-rw-rw-r--. 1 tomcat tomcat 1394 7??26 05:54 context.xml
-rw-rw-r--. 1 tomcat tomcat 547 7??26 05:55 log4j.properties
-rw-rw-r--. 1 tomcat tomcat 3288 7??26 05:54 logging.properties
-rw-rw-r--. 1 tomcat tomcat 6435 7??26 05:54 server.xml
-rw-rw----. 1 tomcat tomcat 1998 7??26 05:54 tomcat-users.xml
-rw-rw-r--. 1 tomcat tomcat 1445 7??26 05:55 tomcat.conf
-rw-rw-r--. 1 tomcat tomcat 152724 7??26 05:54 web.xml
/etc/tomcat 이 설정파일이 있는 conf 폴더이고 /usr/share/tomcat 의 경우 다른 폴더들을 심볼릭 링크 해놓은 것을 알 수있다.
이제부터 /usr/share/tomcat 을 {$tomcat} 이라고 지칭하겠다.
아파치 서버와 연동해야 하지만 이번에는 단순히 웹어플리케이션만 만들어 보기로 하겠다.
윈도우의 톰캣과 비슷한 경로인 {$tomcat}/webapps 디렉토리에 들어가보면
아무런 웹 어플리케이션도 있지 않다.
가장 간단한 웹 어플리케이션의 경우
{$tomcat}/webapps 경로 아래에
(끝에 /가 붙는 것은 폴더임)
프로젝트명/
프로젝트명/WEB-INF/
프로젝트명/WEB-INF/web.xml
이렇게 존재한다.
(주의 WEB_INF, web_inf, web-inf 등이 아니다. 리눅스/유닉스는 파일,디렉토리명의 대소문자를 구분한다. WEB-INF를 정확히 쓸것)
톰캣 서버를 껏다 켰을때 메모리상에 올라가는 것이다.
index.jsp 의 경우 없어도 상관 없다 하지만 이런 폴더구조와 web.xml이 없을 경우, 또는 web.xml이
잘못된 경우 로딩이 되지 않는다.
톰캣 루트 폴더인 {$tomcat}/webapps로 이동
(이후 톰캣 루트폴더는 웹앱스 폴더로, 표현하고 {$tomcat}은 톰캣 폴더로 표현하겠다. 물론 그냥 루트폴더는 /이다.
이것은 톰캣을 설치후 해당 서버명으로 붙었을때 접근하는 폴더, 즉
http://도메인 혹은 아이피:8080
또는
http://도메인 혹은 아이피:8080/
로 접근했을때 뜨는 페이지가 톰캣루트디렉토리이기 때문이다.
이 파일구조와 웹에서 접근 할 때의 관계를 잘 외워두자.)
cd {$tomcat}/webapps
이번에 만들 프로젝트이름은 ticketM 이다.
mkdir ticketM
cd ticketM
mkdir WEB-INF
touch web.xml
이렇게 하면 web.xml 이 된다.
web.xml의 내용은 이렇게 채운다
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
version="2.5">
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
당신이 root 로 작업했다면 ls -al 이나 ls -lrt 를 쳤을때 이상한 것을 발견해야 된다.
만약 발견하지 못한다면 알려주겠다.
새로 생성된 폴더와 파일은 root로 생성되어 다른 유저가 접근하지못한다.
그런데 톰캣 서비스 (데몬프로세스) 는 tomcat이라는 유저가 실행하는 것과 같다.
(아파치도 마찬가지)
그래서 이 파일 주인과 그룹을 톰캣으로 바꿔놓는 것이 필요
chmod 644 <파일명>
chmod 755 <디렉토리명>
으로 각자 실행해 준다.
권한까지 다 변경하면
톰캣 서비스를 껏다켜보자
페도라에서 yum으로 설치한 경우:
service tomcat restart
라고 치면
Redirecting to /bin/systemctl restart tomcat.service
이렇게 출력되면 된다.
톰캣 바이너리를 따로 설치한 경우,
{$tomcat}/bin/shutdown.sh
{$tomcat}/bin/startup.sh
이렇게 실행하면 된다.
(해당 쉘이 없을 경우 잘 모르겠다.)
이후 http://도메인 혹은 아이피:8080/로 들어갔을때 출력되지 않을 것이다.
ticketM 폴더에 index.jsp 파일을 생성한후
파일의 내용을
123123 으로 채우고
http://도메인 혹은 아이피:8080/ticketM
혹은
http://도메인 혹은 아이피:8080/ticketM/
로 들어가면 123123이 출력된다.
이후에
http://도메인 혹은 아이피:8080/
을 홈페이지 루트를 웹으로 접근한다고 표현하고
http://도메인 혹은 아이피:8080/ticketM
혹은
http://도메인 혹은 아이피:8080/ticketM/
를 웹브라우저에 쳐서 접근하는 것을
웹어플리케이션 루트, 또는 웹 프로젝트 루트디렉토리에 웹으로 접근한다고 하겠다.
'Linux' 카테고리의 다른 글
리눅스 프로세스 상태 보기(ps명령) (0) | 2012.11.19 |
---|---|
mpich2 를 이용한 클러스터링 셋업 (0) | 2012.11.16 |
ubuntu kde 에 한글입력 올리기 (0) | 2012.11.11 |
리눅스 chrome root 로 실행 (0) | 2012.11.10 |
ubuntu intel graphic 드라이버 올리기(백트랙) (0) | 2012.11.10 |