Server & OS

win2000Pro+APM+TOMCAT+JDBC+MOD_JK 설치 매뉴얼

컨텐츠 정보

본문

* Windows 2000,XP 에서 APM+TOMCAT+JDBC Mod_jk로 설치하기


퀵설치 문서 - 온인선 (t9ner@hanmail.net) 2003. 8. 28
김기철님의 문서를 주로 참고하였습니다. 감사합니다.

## 필요한 파일 #########################################################
http://httpd.apache.org ( apache_1.3.28-win32-x86-no_src.exe )
http://jakarta.apache.org/site/binindex.cgi ( jakarta-tomcat-4.1.27.zip )
http://jakarta.apache.org/site/binindex.cgi ( jakarta-tomcat-3.2.4.zip )
http://jakarta.apache.org/builds/jakarta-tomcat-connectors/jk/release/v1.2.4/bin/win32/ ( mod_jk.dll )
http://java.sun.com ( j2sdk-1_4_1_04-windows-i586.exe )
http://www.mysql.com ( mysql-3.23.57-win.zip )
http://www.mysql.com ( mysql-connector-java-3.0.8-stable.zip )
http://www.php.net ( php-4.3.2-Win32.zip )
http://www.zend.com ( ZendOptimizer-2[1].1.0b-Windows-i386.exe )


## Mysql설치 ############################################################
다운받은 mysql-3.23.57-win.zip 파일의 압축을 해제합니다. (버전은 상관없음)
c:\\server\\mysql 경로로 설치를 합니다.
(경로 역시 상관없으나 세팅시 각자 설치한 경로로 잘 변경하셔야합니다)


c:\\WINNT 아니면 C:\\WINDOWS 폴더에 아래의 내용으로 my.ini 파일을 만들어 줍니다.

#my.ini#
[mysqld]
basedir = c:/server/mysql          # 각자 설치한 경로로 지정해야합니다. (이하 설문 생략)
datadir = c:/server/mysql/data/   


콘솔에서 mysqld.exe 파일이 들어있는 c:\\server\\mysql\\bin 디렉토리로 이동합니다.
mysqld-nt --install 하여 서비스에 등록을 합니다. (서비스삭제는 --remove 옵션)

C:\\Server\\mysql\\bin>mysqld-nt --install
Service successfully installed.


서비스를 시작합니다.
net start mysql

C:\\Server\\mysql\\bin>net start mysql
MySql 서비스를 시작합니다..
MySql 서비스가 잘 시작되었습니다.


Mysql에 접속합니다.

C:\\Server\\mysql\\bin>mysql
Welcome to the MySQL monitor.  Commands end with ; or \\g.
Your MySQL connection id is 1 to server version: 3.23.57-nt

Type 'help;' or '\\h' for help. Type '\\c' to clear the buffer.

mysql>

위처럼 뜨면 설치가 성공한 것입니다.


## root암호 설정하기 ***********************************************
root 로 접속
C:\\Server\\mysql\\bin>mysql -u root


mysql Database에 연결합니다.

mysql> use mysql
Database changed


암호를 변경합니다.
mysql> update user set password=password('변경할암호') where user='root';

변경에 성공하면
Query OK, 2 rows affected (0.02 sec)
Rows matched: 2  Changed: 2  Warnings: 0
위처럼 Query OK란 메시지가 뜰것입니다.


## 새사용자 등록하기 ***********************************************
새사용자를 등록합니다.
mysql> insert into user (host, user, password) values ('localhost', '사용할ID', password('사용할암호'));


새로 등록한 사용자가 사용할 DB를 만들어 줍니다.

mysql> create database DB이름;

DB이름은 아무거나 상관없습니다만 사용자ID로 하는게 관리상 괜찮습니다.


새로 등록한 사용자가 만들어진 DB를 사용할수 있도록 권한을 설정합니다.

mysql> insert into db values ('localhost', 'DB이름', '사용자ID', 'y', 'y', 'y', 'y', 'y', 'y', 'y', 'y', 'y', 'y');

위에서 사용자를 등록할때 ID를 oninseon 이라고하고 그 사용자가 사용할 db이름을 on_db라고 하였을경우

mysql> insert into db values ('localhost', 'on_db', 'oninseon', 'y', 'y', 'y', 'y', 'y', 'y', 'y', 'y', 'y', 'y');

위처럼 해주시면 됩니다.

oninseon이란 사용자는 on_db를 사용하고 query할 권한을 가지게 된것입니다.


## 위사항 적용하기 ****************************************************
마지막으로 위의 사항을 적용합니다.
mysql에서 빠져나온후 리로드를 합니다.

mysql> exit
Bye

C:\\Server\\mysql\\bin>mysqladmin -u root reload

지금까지 등록한 모든사항이 적용이 활성화가 되었습니다.

이제 접속해봅니다.

C:\\Server\\mysql\\bin>mysql -u 등록한ID -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \\g.
Your MySQL connection id is 5 to server version: 3.23.57-nt

Type 'help;' or '\\h' for help. Type '\\c' to clear the buffer.

mysql> use mysql;
ERROR 1044: Access denied for user: '등록한ID@localhost' to database 'mysql'

mysql> use 생성한DB이름;
Database changed

mysql> show tables;
Empty set (0.00 sec)

잘보시면 권한이 분류된걸 보실수있죠?

새로 등록한ID도 ROOT처럼 권한을 가지게 할려면 mysql DB의 user 테이블을 수정해주시면됩니다.


여기까지 성공하셨다면 Mysql설치는 성공한것입니다.


## Apache 설치 ########################################################
apache_1.3.28-win32-x86-no_src.exe 를 실행합니다.

Network Domain 에는 사용할 Domain 이름을 넣습니다. (아무거나 넣어도 무관)
저는 localhost로 넣었습니다.

ServerName에는 127.0.0.1 을 넣습니다. (고정IP는 외부접속 IP를 넣어도 됨)

Administrator's Email Address 는 자기 메일을 넣습니다.
(서버에러시 관리자에게 메일보낼때 표시됩니다)

설치 폴더를 변경합니다.
C:\\Server\\

브라우져를 실행한뒤
http://127.0.0.1
위의 주소를 입력합니다.

Not Acceptable
An appropriate representation of the requested resource / could not be found on this server.
Available variants:

index.html.ca , type text/html, language ca
index.html.cz , type text/html, language cs
index.html.de , type text/html, language de
index.html.dk , type text/html, language da
index.html.ee , type text/html, language et
index.html.el , type text/html, language el
.
.
중략
.
.
Apache/1.3.28 Server at 127.0.0.1 Port 80

이렇게 뜨면 성공입니다.


## PHP 설치 ############################################################
php-4.3.2-Win32.zip 파일의 압축을 해제 합니다.

c:\\server\\php 경로로 압축이 풀린 파일들을 복사하거나 이동합니다.

php4ts.dll 파일을 c:\\winnt\\system32 폴더로 복사합니다.

php.ini-dist 파일은 php.ini 파일로 이름을 변경해 준뒤 실행합니다.

약 414번째 줄에있는 include_path의 내용을

include_path = "c:\\server\\php\\includes"

위 경로로 변경해줍니다. (경로 확인!)

조금밑에 있는 421 번줄에 doc_root 의 경로를 apache 홈디렉토리로 변경합니다.

doc_root = c:\\server\\apache\\htdocs

428번째 줄에있는 extension_dir 의 경로도 변경합니다.

extension_dir = "c:\\server\\php\\extensions"

그후 ; cgi.force_redirect = 1 를 검색하여 cgi.force_redirect = 0 이처럼 변경을 합니다.

register_globals = Off 도 register_globals = on으로 변경합니다.

저장을 한후 c:\\winnt\\ 밑에 복사합니다.

이로써 PHP의 설치는 끝났습니다.


## Apache 세팅 (php연동) ################################################
c:\\server\\apache\\conf 디렉토리에 있는 httpd.conf 파일을 에디터로 실행합니다.

385번째줄에 있는 DirectoryIndex 에 index.php index.htm index.php3 을 추가합니다.

DirectoryIndex 는 디렉토리의 index파일을 인식하는것으로 넣고싶은데로 세팅하면 됩니다.

DirectoryIndex index.html index.htm index.php index.php3

순서대로 찾아서 실행합니다. (html이 없으면 php로 가는 형식)

맨 끝에 php파일의 타입을 설정하는 config(?)를 넣습니다.

LoadModule php4_module c:\\server\\php\\sapi\\php4apache.dll
AddType application/x-httpd-php .php .php3 .html. htm
AddType application/x-httpd-php-source .phps

저장을 한후 apache 를 재시작 합니다.

C:\\>net stop apache
Apache 서비스를 멈춥니다..
Apache 서비스를 잘 멈추었습니다.


C:\\>net start apache
Apache 서비스를 시작합니다..
Apache 서비스가 잘 시작되었습니다.


php파일을 하나 작성합니다.

#index.php#
<?

phpinfo();

?>

작성을 한후 apache 웹루트 디렉토리인 c:\\server\\apache\\htdocs에 저장을 합니다.

브라우져로 확인 해봅니다.

http://127.0.0.1/index.php

php정보가 뜨면 성공한 것입니다.


## Zend 설치 ###############################################################
셋업하면 알아서 척척!;

별 이상없으면 성공입니다⌒⌒;


## JDK 설치 ################################################################
j2sdk-1_4_1_04-windows-i586.exe 을 실행하여 기본 정보대로 설치를 합니다. (경로변경은 자유)

설치가 끝난후 환경설정을 합니다.

바탕화면의 내 컴퓨터 -> 등록정보 -> 고급 -> 환경변수 로 이동합니다.

시스템 변수에 CLASSPATH로 변수이름을 만들고 값에는

.;C:\\j2sdk1.4.1_04\\libtools.jar;C:\\j2sdk1.4.1_04\\libjvm.lib;

이렇게 적어넣습니다. 경로는 설치한 경로로 알아서^^;

그다음 JAVA_HOME을 변수이름으로 생성하고 값에

C:\\j2sdk1.4.1_04

이렇게 넣습니다. 여기에 주의하실점은 C:\\j2sdk1.4.1_04; 이렇게 하시면 오류가 납니다. 주의하세요^^

그다음 Path값을 더블클릭합니다.

그럼 %SystemRoot%\\system32;%SystemRoot%;%SystemRoot%\\System32\\Wbem; 이 값이 등록이 되어있을것입니다.

이뒤에 C:\\j2sdk1.4.1_04\\bin; 이렇게 추가를 합니다.

Path : %SystemRoot%\\system32;%SystemRoot%;%SystemRoot%\\System32\\Wbem;C:\\j2sdk1.4.1_04\\bin;
JAVA_HOME : C:\\j2sdk1.4.1_04
CLASSPATH : .;C:\\j2sdk1.4.1_04\\libtools.jar;C:\\j2sdk1.4.1_04\\libjvm.lib;

위처럼 정리가 되었는지 확인하신후 확인을 눌러 종료합니다.

다음 콘솔창을 띠워 java -version 이나 javac를 입력해봅니다.

아무 경로에서나 정보가 실행된다면 JDK의 설치도 성공입니다.


## TOMCAT 설치 #############################################################
jakarta-tomcat-4.1.27.zip 파일을 압축 해제합니다.

C:\\Server\\Apache\\Tomcat

위의 경로가 되게끔 압축을 해제해 주신다음 bin디렉토리에서 startup을 하여 톰캣을 가동합니다.

c:\\server\\apache\\tomcat\\bin\\startup.bat

브라우져로 http://localhost:8080 를 입력해 제대로 설치가 되었는지 확인해봅니다.

제목 표시줄에 Apache Tomcat/(버전) 이 뜨면 성공입니다.



## APACHE+TOMCAT 연동 ######################################################
jakarta-tomcat-3.2.4.zip의 압축을 해제 합니다.

conf디렉토리의

mod_jk.conf와 workers.properties 파일을 tomcat의 conf디렉토리로 복사합니다.

c:\\server\\apache\\tomcat\\conf

그다음 mod_jk.dll파일을 apache의 module 디렉토리로 복사합니다.

c:\\server\\apache\\modules

복사한 workers.properties 파일을 에디터로 실행합니다.

workers.tomcat_home 와 workers.java_home 의 경로를 올바르게 수정합니다.

workers.tomcat_home=c:\\server\\apache\\tomcat
workers.java_home=c:\\j2sdk1.4.1_04

그다음 mod_jk.conf 파일을 수정합니다.

JkWorkersFile 부분을

JkWorkersFile "c:/server/apache/tomcat/conf/workers.properties"

위처럼 수정합니다.

그 다음 제일로 500에러를 많이 내는 부분인데 꼭수정해 주셔야합니다.

JkMount 들의 12인 끝번호를 13으로 수정합니다.

#mod_jk.conf#
LoadModule jk_module modules/mod_jk.dll

<IfModule mod_jk.c>

JkWorkersFile "c:/server/apache/tomcat/conf/workers.properties"
JkLogFile  logs/jk.log
JkLogLevel warn
JkMount /*.jsp ajp13
JkMount /servlet/* ajp13
JkMount /examples/* ajp13

</IfModule>

위처럼 하셨나요?

저장한후 다음으로 server.xml 과 httpd.conf 파일을 수정합니다.

server.xml파일은 tomcat하위디렉토리중 conf폴더에 존재합니다.

server.xml파일에서 8080이라고 검색을 하면 주석이 아닌 port="8080" 이 하나 나올것입니다.

non-SSL Coyote HTTP/1.1 부분입니다.

<!-- Define a non-SSL Coyote HTTP/1.1 Connector on port 8080 -->
<!--
<Connector className="org.apache.coyote.tomcat4.CoyoteConnector"
              port="8080" minProcessors="5" maxProcessors="75"
              enableLookups="true" redirectPort="8443"
              acceptCount="100" debug="0" connectionTimeout="20000"
              useURIValidationHack="false" disableUploadTimeout="true" />
-->

위처럼 주석처리를 하여 비활성화 시킵니다.

다음 아파치 설정파일은 httpd.conf 파일을 열어 설정합니다.


301줄에 있는 DocumentRoot 의 경로를 TOMCAT의 ROOT디렉토리로 변경합니다.

DocumentRoot "c:/server/apache/tomcat/webapps/ROOT"


그 밑의 326줄에 있는

<Directory "C:/Server/Apache/htdocs"> 도 변경합니다.

<Directory "c:/server/apache/tomcat/webapps/ROOT">

다음 맨 끝줄에 아래의 내용을 추가합니다.

include "c:/server/apache/tomcat/conf/mod_jk.conf"


마지막으로 DirectoryIndex 에 index.jsp 을 추가합니다.

DirectoryIndex index.jsp index.html index.php index.htm index.php3

php세팅시 생성한 index.php파일을 htodcs에서 TOMCAT홈인 webapps/ROOT으로 이동시켜 줍니다.

아파치를 재시작 합니다.

브라우져로 http://localhost/examples/jsp/ 와 http://localhost/index.php 둘다띠워서 테스트 해보세요.



## JDBC 세팅 ###############################################################
압축파일을 열면 mysql-connector-java-3.0.8-stable 폴더안에

mysql-connector-java-3.0.8-stable-bin.jar 파일이 있습니다.

이파일을 tomcat 하위폴더인 common/lib 폴더에 압축을 풉니다.

c:\\server\\apache\\tomcat\\common\\lib\\mysql-connector-java-3.0.8-stable-bin.jar

이런 경로가 되게 푸셨으면 CLASSPATH 환경변수에 등록을 합니다.

바탕화면 -> 내 컴퓨터 -> 등록정보 -> 고급 -> 환경변수 -> CLASSPATH 클릭

.;C:\\j2sdk1.4.1_04\\libtools.jar;C:\\j2sdk1.4.1_04\\libjvm.lib;   
c:\\server\\apache\\tomcat\\common\\lib\\mysql-connector-java-3.0.8-stable-bin.jar;

위에처럼 하셨다면 저장하시고 톰캣과 아파치를 재가동 시킵니다.

위에는 줄이 너무길어서 임의상 칸내림을 한것입니다. 실제로는 붙여서 등록이 되어있어야 합니다^^

다음으로 db.jsp 파일을 하나 생성합니다.

#db.jsp#
<%@ page import="java.sql.*" %>

<%

String DB_URL = "jdbc:mysql://localhost:3306/디비명";
String DB_USER = "아이디";
String DB_PASSWORD= "암호";

Connection conn = null;
Statement stmt = null;
String query = null;

query = "create table createTest (name varchar(10))";

try {
Class.forName("org.gjt.mm.mysql.Driver");
conn = DriverManager.getConnection(DB_URL, DB_USER, DB_PASSWORD);

stmt = conn.createStatement();
stmt.executeUpdate(query);
out.println("table created!!");
} catch(Exception msg) {
out.println("Error : <b>" + msg);
} finally {
stmt.close();
conn.close();
}

%>

데이타베이스명과 아이디 암호에는 각자 자기에 맞는 정보를 넣고 웹페이지로 로드해봅니다.

http://127.0.0.1/db.jsp

Result Ok나 Error : 에러명 형식의 메시지가 뜬다면 jdbc 도 성공입니다.

저도 에러잡아가면서 한것이라 문서중에는 수정을 하지못한게 있을지도 몰르니 문제가 발생하면

t9ner@hanmail.net 로 연락주세요.

수고하셨습니다⌒⌒

관련자료

댓글 0
등록된 댓글이 없습니다.
Today's proverb
우리는 유리할 때는 형제가 되고, 불리할 때는 남이 되며, 이로울 때는 친구가 되고, 해로울 때는 원수가 되는 그러한 인간관계를 증오한다. (북녘 하늘의 명언)