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 로 연락주세요.

수고하셨습니다⌒⌒

관련자료

등록된 댓글이 없습니다.
Today's proverb
유쾌한 사람은 자기 일에만 몰두하는 사람이 아니다. 때론 자신의 일을 전부 제쳐놓고 타인의 문제에 전력을 쏟는 열정이 있는 사람이다. 타인에게 자신의 힘을 나누어주고 마음을 열어주는 것은 자신의 삶을 행복하게 만드는 방법이다.