8
11

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Apache 2.4 and Tomcat 8.0 - Installing on Windows 7

Posted at

概要

Windows7に開発環境としてApache 2.4とtomcat 8.0をインストールしmod_proxy_ajpによる連携の設定を行います。

環境

下記の環境で動作確認を行いました。

  • Windows7 (64bit)
  • Apache 2.4.16 (VC11)
  • Tomcat 8.0.26

参考

下記のサイトを参考にさせて頂きました。

インストール

ランタイムのインストール

[Visual Studio 2012 更新プログラム 4 の Visual C++ 再頒布可能パッケージ] (http://www.microsoft.com/ja-jp/download/details.aspx?id=30679)より、Apacheの実行に必要なランタイムを取得してインストールします。

ファイル名: vcredist_x64.exe

ダウンロードしたインストーラーを実行してインストールを行います。

Apacheのインストール

ダウンロード

[ダウンロードページ] (http://httpd.apache.org/download.cgi#apache24)より、Windows版のアーカイブファイルを配布しているサイトへアクセスしアーカイブファイルをダウンロードします。
今回は[Apache Lounge] (http://www.apachelounge.com/download/)というサイトよりVC11版のApache 2.4.16 Win64をダウンロードしました。

ファイル名: httpd-2.4.16-win64-VC11.zip

インストール

ダウンロードしたアーカイブファイルをインストールしたいディレクトリで展開します。
この記事では下記の場所へ展開しました。

インストールディレクトリ: D:\dev\apache2.4.16-win64

次にこのインストールディレクトリを環境変数APACHE_HOMEと、binディレクトリを環境変数pathに登録します。

httpd.confの編集

下記(抜粋)の箇所を編集します。

httpd.conf(抜粋)
# ServerRoot "c:/Apache24"
ServerRoot "d:/dev/apache2.4.16-win64"

ServerName localhost:80

# DocumentRoot "c:/Apache24/htdocs"
DocumentRoot "d:/dev/apache2.4.16-win64/htdocs"

# <Directory "c:/Apache24/htdocs">
<Directory "d:/dev/apache2.4.16-win64/htdocs">

    #ScriptAlias /cgi-bin/ "c:/Apache24/cgi-bin/"
    ScriptAlias /cgi-bin/ "d:/dev/apache2.4.16-win64/cgi-bin"

# <Directory "c:/Apache24/cgi-bin">
<Directory "d:/dev/apache2.4.16-win64/cgi-bin">

# Various default settings
Include conf/extra/httpd-default.conf

httpd.confの構文チェックを行います。"Syntax OK"と出れば問題ありません。

> httpd.exe -t
Syntax OK

バージョンの確認

> httpd.exe -v
Server version: Apache/2.4.16 (Win64)
Apache Lounge VC11 Server built:   Jul 12 2015 12:01:56
> httpd.exe -V
Server version: Apache/2.4.16 (Win64)
Apache Lounge VC11 Server built:   Jul 12 2015 12:01:56
Server's Module Magic Number: 20120211:47
Server loaded:  APR 1.5.2, APR-UTIL 1.5.4
Compiled using: APR 1.5.2, APR-UTIL 1.5.4
Architecture:   64-bit
Server MPM:     WinNT
  threaded:     yes (fixed thread count)
    forked:     no
Server compiled with....
 -D APR_HAS_SENDFILE
 -D APR_HAS_MMAP
 -D APR_HAVE_IPV6 (IPv4-mapped addresses disabled)
 -D APR_HAS_OTHER_CHILD
 -D AP_HAVE_RELIABLE_PIPED_LOGS
 -D DYNAMIC_MODULE_LIMIT=256
 -D HTTPD_ROOT="/apache"
 -D SUEXEC_BIN="/apache/bin/suexec"
 -D DEFAULT_PIDLOG="logs/httpd.pid"
 -D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
 -D DEFAULT_ERRORLOG="logs/error.log"
 -D AP_TYPES_CONFIG_FILE="conf/mime.types"
 -D SERVER_CONFIG_FILE="conf/httpd.conf"

サービスのインストール

コマンドプロンプトを管理者モードで起動し下記のコマンドを実行します。

サービス名: apache2.4

> httpd.exe -f D:\dev\apache2.4.16-win64\conf\httpd.conf -k install -n apache2.4
Installing the 'apache2.4' service
The 'apache2.4' service is successfully installed.
Testing httpd.conf....
Errors reported here must be corrected before the service can be started.

起動

> httpd.exe -k start -n apache2.4

起動時にエラーメッセージが表示されなければ下記のURLにアクセスし"It works!"と表示されることを確認します。

停止

> httpd.exe -k stop -n apache2.4
The 'apache2.4' service is stopping.
The 'apache2.4' service has stopped.

アンインストール

> httpd.exe -k uninstall -n apache2.4

netコマンド

Windowsサービスとしてインストールした後はnetコマンドで起動、停止を行うことができます。

> net start apache2.4
apache2.4 サービスを開始します.
apache2.4 サービスは正常に開始されました。
> net stop apache2.4
apache2.4 サービスを停止中です.
apache2.4 サービスは正常に停止されました。

Tomcatのインストール

ダウンロード

ダウンロードページよりアーカイブファイルを取得しインストールします。

ファイル名: apache-tomcat-8.0.26-windows-x64.zip

インストール

ダウンロードしたアーカイブファイルをインストールしたいディレクトリで展開します。
この記事では下記の場所へ展開しました。

インストールディレクトリ: D:\dev\apache-tomcat-8.0.26

次にこのディレクトリを環境変数CATALINA_HOMEと、binディレクトリを環境変数pathに登録します。

configtest

> configtest.bat

起動

> catalina.bat start
Using CATALINA_BASE:   "D:\dev\apache-tomcat-8.0.26"
Using CATALINA_HOME:   "D:\dev\apache-tomcat-8.0.26"
Using CATALINA_TMPDIR: "D:\dev\apache-tomcat-8.0.26\temp"
Using JRE_HOME:        "C:\Program Files\Java\jdk1.8.0_60"
Using CLASSPATH:       "D:\dev\apache-tomcat-8.0.26\bin\bootstrap.jar;D:\dev\apache-tomcat-8.0.26\bin\tomcat-juli.jar"

起動時にエラーメッセージが表示されなければ下記のURLにアクセスし"If you're seeing this, you've successfully installed Tomcat. Congratulations!"というメッセージが書かれたページが表示されることを確認します。

停止

> catalina.bat stop
Using CATALINA_BASE:   "D:\dev\apache-tomcat-8.0.26"
Using CATALINA_HOME:   "D:\dev\apache-tomcat-8.0.26"
Using CATALINA_TMPDIR: "D:\dev\apache-tomcat-8.0.26\temp"
Using JRE_HOME:        "C:\Program Files\Java\jdk1.8.0_60"
Using CLASSPATH:       "D:\dev\apache-tomcat-8.0.26\bin\bootstrap.jar;D:\dev\apache-tomcat-8.0.26\bin\tomcat-juli.jar"

Webアプリケーションマネージャ

Webアプリケーションマネージャを有効にします。

tomcat-users.xml

conf/tomcat-users.xmlのtomcat-users要素に下記の行を追加します。

tomcat-users.xml
<tomcat-users ...>
  ...省略...

  <role rolename="manager-gui"/>
  <user username="admin" password="adminpass" roles="manager-gui"/>
</tomcat-users>

tomcatを再起動した後に下記のURLにアクセスするとアカウント/パスワードの入力を求められるので上記で設定したアカウントでログインします。

SSL

keystoreファイルを保存するディレクトリを作成します。

ディレクトリ: %TOMCAT_HOME%/conf/keystore

keystoreファイルの作成にはJDK付属のkeytool.exeを使用します。

> where keytool
C:\Program Files\Java\jdk1.8.0_60\bin\keytool.exe

下記のコマンドを実行してkeystoreファイルを作成します。
いろいろ入力項目がありますが開発用なのですべてRETURNキーを押して進めます。

> keytool.exe -genkey -alias tomcat-example -keyalg RSA -keystore D:\dev\apache-tomcat-8.0.26\conf\keystore\keystore.jks
キーストアのパスワードを入力してください: password
新規パスワードを再入力してください: password
姓名は何ですか。
  [Unknown] : {RETURN}
組織単位名は何ですか。
  [Unknown] : {RETURN}
組織名は何ですか。
  [Unknown] : {RETURN}
都市名または地域名は何ですか。
  [Unknown] : {RETURN}
都道府県名または州名は何ですか。
  [Unknown] : {RETURN}
この単位に該当する2文字の国コードは何ですか。
  [Unknown] : {RETURN}
CN=Unknown, OU=Unknown, O=Unknown, L=Unknown, ST=Unknown, C=Unknownでよろしいですか。
  [いいえ] :  Y
<tomcat-example>の鍵パスワードを入力してください
        (キーストアのパスワードと同じ場合はRETURNを押してください): {RETURN}
新規パスワードを再入力してください: {RETURN}

keystoreファイルの内容を確認するには下記のコマンドを使用します。もっと詳しく見たい場合は-vオプションを追加します。

> keytool.exe -v -list -keystore D:\dev\apache-tomcat-8.0.26\conf\keystore\keystore.jks
キーストアのパスワードを入力してください:

キーストアのタイプ: JKS
キーストア・プロバイダ: SUN

キーストアには1エントリが含まれます

tomcat-example,2015/09/21, PrivateKeyEntry,
証明書のフィンガプリント(SHA1): 63:3F:F4:75:A2:EB:25:75:AE:6A:C2:44:B8:3F:84:5C:C5:35:F9:53

server.xml

conf/server.xmlファイルを編集します。

server.xml
<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
           maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
           clientAuth="false" sslProtocol="TLS" keystoreFile="d:/dev/apache-tomcat-8.0.26/conf/keystore/keystore.jks" keystorePass="password" keyAlias="tomcat-example" />

tomcatを再起動した後に下記のURLにアクセスしてページが表示されることを確認します。

バーチャルホスト

バーチャルホスト名: dummy.localhost.localdomain

hosts

hostsファイルに下記の行を追加します。

127.0.0.1 dummy.localhost.localdomain

httpd-vhosts.conf

conf/extra/httpd-vhosts.confを編集します。

httpd-vhosts.conf
<VirtualHost *:80>
    ServerAdmin webmaster@dummy.localhost.localdomain
    DocumentRoot "d:/dev/apache2.4.16-win64/docs/dummy.localhost.localdomain"
    ServerName dummy.localhost.localdomain
    ErrorLog "logs/dummy.localhost.localdomain-error.log"
    CustomLog "logs/dummy.localhost.localdomain-access.log" common

    <Directory "d:/dev/apache2.4.16-win64/docs/dummy.localhost.localdomain">
      Options Indexes FollowSymLinks
      AllowOverride None
      Require all granted
    </Directory>
</VirtualHost>

httpd.conf

下記の行を有効にします。

Include conf/extra/httpd-vhosts.conf

ドキュメントルート

ドキュメントルートのディレクトリを作成します。

ディレクトリ: %APACHE_HOME%/docs/dummy.localhost.localdomain

確認用のhtmlファイルを作成します。

index.html
<html><body><h1>dummy-host<br>It works!</h1></body></html>

確認

下記のURLにアクセスしてindex.htmlが表示されることを確認します。

apacheとtomcatの連携

mod_proxy_ajpモジュールを使用してapacheとtomcatの連携を行います。
今回は確認用にtomcatのexamplesページを使用します。

Apache側の設定

httpd-proxy-ajp.conf

conf/extra/httpd-proxy-ajp.confファイルを作成します。

httpd-proxy-ajp.conf
<Location /examples/ >
  ProxyPass ajp://localhost:8009/examples/
  Order allow,deny
  Allow from all
</Location>

httpd.conf

下記の2行を有効にします。

httpd.conf
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so

下記の行を追加します。

# mod_proxy_ajp settings
Include conf/extra/httpd-proxy-ajp.conf

構文チェックを行います。

> httpd.exe -t
Syntax OK

Tomcat側の設定

デフォルトの状態では設定の必要はないと思いますが念のため下記の点を確認します。

server.xml

conf/server.xmlファイルの下記の行が有効になっていることを確認します。

<!-- Define an AJP 1.3 Connector on port 8009 -->
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
8
11
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
11

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?