環境:
◇Windows Server 2003 SP2
◇Apache_2_0_58
◇Tomcat_5_0_28
◇JDK_1_4_2_15(開発と本番の実行環境)
◇JDK_1_6(Tomcatの実行環境)
◇mod_jk2.so(ApacheとTomcat連携用ファイル)
構築手順:
①JDKのインストール(JDK_1_4_2_15とJDK_1_6)
C:\j2sdk1.4.2_15
C:\Program Files\Java\jdk1.6.0_27
システムの環境変数に追加 JAVA_HOME:C:\j2sdk1.4.2_15
②Apacheのインストール
C:\Program Files\Apache Group\Apache2
mod_jk2.soをC:\Program Files\Apache Group\Apache2\modulesにコピーする
Apache2\conf\【httpd.conf】ファイルを編集
LoadModule jk2_module modules/mod_jk2.soを追加する
Apache2\confに【workers2.properties】ファイルを作成
# ログファイルの設定
[logger.file:0]
level=ERROR
file=${serverRoot}/logs/jk2.log
# ソケット通信チャンネル
[channel.socket:localhost:8009]
info=Ajp13 forwarding over socket
## host=localhost
## port=8009
## group=lb
# lbワーカグループで使うWebアプリケーション
[uri:/test/*]
info=Map the Tomcat examples
## group=lb
# ステータス監視ワーカの設定
[status:]
[uri:/jkstatus/*]
group=status:
# 共有メモリ
[shm:]
# 使わない
disabled=1
③Tomcatのインストール(C:\Program Files\Java\jre6を指定)
C:\Program Files\Apache Software Foundation\Tomcat 5.0
システムの環境変数に追加 TOMCAT_HOME:C:\Program Files\Apache Software Foundation\Tomcat 5.0
TOMCAT_HOME\confにある設定ファイルの追加と編集
【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=8019
# Default:
# channelUnix.file=${jkHome}/work/jk2.socket
# Just to check if the the config is working
# shm.file=${jkHome}/work/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
【tomcat-users.xml】
<?xml version='1.0' encoding='utf-8'?>
<tomcat-users>
<role rolename="manager"/>
<role rolename="tomcat"/>
<role rolename="admin"/>
<role rolename="role1"/>
<user username="sou" password="sou" roles="admin"/>
<user username="role1" password="tomcat" roles="role1"/>
</tomcat-users>
【server.xml】
<Server port="8005" shutdown="SHUTDOWN" debug="0">
<Listener className="org.apache.catalina.mbeans.ServerLifecycleListener" debug="0"/>
<Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" debug="0"/>
<GlobalNamingResources>
<Environment name="simpleValue" type="java.lang.Integer" value="30"/>
<Resource name="UserDatabase" auth="Container" type="org.apache.catalina.UserDatabase" description="User database that can be updated and saved"></Resource>
<ResourceParams name="UserDatabase">
<parameter>
<name>factory</name>
<value>org.apache.catalina.users.MemoryUserDatabaseFactory</value>
</parameter>
<parameter>
<name>pathname</name>
<value>conf/tomcat-users.xml</value>
</parameter>
</ResourceParams>
<!-- For MySql -->
<Resource name="jdbc/dragon" type="javax.sql.DataSource"/>
<ResourceParams name="jdbc/dragon">
<parameter>
<name>maxWait</name>
<value>5000</value>
</parameter>
<parameter>
<name>maxActive</name>
<value>10</value>
</parameter>
<parameter>
<name>url</name>
<value>jdbc:mysql://*.*.*.*/dragon</value>
</parameter>
<parameter>
<name>driverClassName</name>
<value>com.mysql.jdbc.Driver</value>
</parameter>
<parameter>
<name>maxIdle</name>
<value>2</value>
</parameter>
<parameter>
<name>username</name>
<value>dragon</value>
</parameter>
<parameter>
<name>password</name>
<value>dragon</value>
</parameter>
</ResourceParams>
<!-- For Oracle10g -->
<Resource name="jdbc/career" type="javax.sql.DataSource"/>
<ResourceParams name="jdbc/career">
<parameter>
<name>maxWait</name>
<value>5000</value>
</parameter>
<parameter>
<name>maxActive</name>
<value>10</value>
</parameter>
<parameter>
<name>url</name>
<value>jdbc:oracle:thin:@*.*.*.*:1521:CAREER</value>
</parameter>
<parameter>
<name>driverClassName</name>
<value>oracle.jdbc.driver.OracleDriver</value>
</parameter>
<parameter>
<name>maxIdle</name>
<value>2</value>
</parameter>
<parameter>
<name>username</name>
<value>system</value>
</parameter>
<parameter>
<name>password</name>
<value>system</value>
</parameter>
</ResourceParams>
<!-- For SqlServer2000 -->
<Resource name="jdbc/bizTest" type="javax.sql.DataSource"/>
<ResourceParams name="jdbc/bizTest">
<parameter>
<name>maxWait</name>
<value>5000</value>
</parameter>
<parameter>
<name>maxActive</name>
<value>10</value>
</parameter>
<parameter>
<name>password</name>
<value></value>
</parameter>
<parameter>
<name>url</name>
<value>jdbc:microsoft:sqlserver://*.*.*.*:1433;DatabaseName=BusinessIssues</value>
</parameter>
<parameter>
<name>driverClassName</name>
<value>com.microsoft.jdbc.sqlserver.SQLServerDriver</value>
</parameter>
<parameter>
<name>maxIdle</name>
<value>2</value>
</parameter>
<parameter>
<name>username</name>
<value>sa</value>
</parameter>
</ResourceParams>
<!-- For SqlServer2005 -->
<Resource name="viper" type="javax.sql.DataSource"/>
<ResourceParams name="viper">
<parameter>
<name>maxWait</name>
<value>5000</value>
</parameter>
<parameter>
<name>maxActive</name>
<value>10</value>
</parameter>
<parameter>
<name>password</name>
<value></value>
</parameter>
<parameter>
<name>url</name>
<value>jdbc:sqlserver://*.*.*.*:1433;DatabaseName=Viper</value>
</parameter>
<parameter>
<name>driverClassName</name>
<value>com.microsoft.sqlserver.jdbc.SQLServerDriver</value>
</parameter>
<parameter>
<name>maxIdle</name>
<value>2</value>
</parameter>
<parameter>
<name>username</name>
<value>sa</value>
</parameter>
</ResourceParams>
</GlobalNamingResources>
<Service name="Catalina">
<Connector port="8080" maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
debug="0" connectionTimeout="20000"
disableUploadTimeout="true" />
<Connector port="8009"
enableLookups="false" redirectPort="8443" debug="0"
protocol="AJP/1.3" />
<Engine name="Catalina" defaultHost="localhost" debug="0">
<Logger className="org.apache.catalina.logger.FileLogger"
prefix="catalina_log." suffix=".txt"
timestamp="true"/>
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
debug="0" resourceName="UserDatabase"/>
<Host name="localhost" debug="0" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
<Logger className="org.apache.catalina.logger.FileLogger" directory="logs" prefix="localhost_log." suffix=".txt" timestamp="true"/><Context path="/strutsapp" reloadable="true" docBase="C:\Program Files\Apache Software Foundation\Tomcat 5.0\webapps\strutsapp" workDir="C:\Program Files\Apache Software Foundation\Tomcat 5.0\webapps\strutsapp\work" />
</Host>
</Engine>
</Service>
</Server>
※SqlServer2000とSqlServer2005のJDBC設定方法が違う、要注意。
※JDBCドライバ:TOMCAT_HOME\common\libにコピーする
SqlServer2000のJDBCドライバはmsbase.jar、mssqlserver.jar、msutil.jar
SqlServer2005のJDBCドライバはsqljdbc.jar
conf\Catalina\localhostに【test.xml】を作成する
<Context displayName="test Project" docBase="test" path="/test" reloadable="true" workDir="work\Catalina\localhost\test">
<ResourceLink global="jdbc/dragon" name="jdbc/dragon" type="javax.sql.DataSource"/>
<ResourceLink global="jdbc/bizTest" name="jdbc/bizTest" type="javax.sql.DataSource"/>
<ResourceLink global="jdbc/career" name="jdbc/career" type="javax.sql.DataSource"/>
<ResourceLink global="jdbc/viper" name="jdbc/viper" type="javax.sql.DataSource"/>
</Context>
④開発したシステムはTOMCAT_HOME\webappsに置きましょう。
⑤ApacheとTomcatサービスを起動する。
⑥http://localhost/testで確認する。
以上。