1
1

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 1 year has passed since last update.

Apache,Tomcat,MySQL Web3層システム構築(Windows Server 2016)

Last updated at Posted at 2022-08-17

環境

・Windows Server 2016 Standard
・Apache 2.4.54(Win64)
・jdk1.8.0_331
・Apache Tomcat 8.5.81
・MySQL 8.0.29 for Win64 on x86_64
・mysql-connector-java-8.0.30.jar

Windows Server 2016構築時の初期設定

以下の私の記事を参考していただけると幸いです。
https://qiita.com/maplejava/items/a1b1b306edc243ecd3d8

JDBCドライバの配置

以下のサイトを参考に、JDBCドライバをインストールし、デプロイしたいWebアプリケーション内のWEB-INF/libフォルダ内に配置します。
https://qiita.com/Yuriko-Y/items/d4c5cb29780ce0347375

Webサーバ構築

Visual C++ 再頒布可能パッケージのインストール

https://docs.microsoft.com/ja-JP/cpp/windows/latest-supported-vc-redist?view=msvc-170#visual-studio-2015-2017-2019-and-2022
→VC_redist.x64.exe
→exeを起動後、画面に従ってインストール。

Apacheのインストール

https://www.apachelounge.com/download/
→httpd-2.4.54-win64-VS16.zip
→ダウンロード後、任意のフォルダに解凍する。

サービスの自動起動設定

「サービス」からApacheのサービスを右クリックして「プロパティ」をクリック。
→「スタートアップの種類」を「自動」にして「OK」

APサーバ構築

JDKのインストール

https://www.oracle.com/java/technologies/downloads/archive/
→jdk-8u331-windows-x64.exe
→exeを起動後、画面に従ってインストール。

システム環境変数の追加

Windowsボタンを右クリック→システム→環境変数
→システム環境変数に以下の変数を追加。
変数名:JAVA_HOME
値:JDKのインストール先フォルダ
 例:C:\Program Files\Java\jdk1.8.0_331

Tomcatのインストール

https://tomcat.apache.org/download-80.cgi
→32-bit/64-bit Windows Service Installer (pgp, sha512)
→exeを起動後、画面に従ってインストール。
※インストール時「Configuration Options」の「Tomcat Administrator Login」で「User Name」「Password」「Roles」を設定する。

サービスの自動起動設定

「サービス」からTomcatのサービスを右クリックして「プロパティ」をクリック。
→「スタートアップの種類」を「自動」にして「OK」

システム環境変数の追加

追加方法はWebサーバの時と同じです。
変数名1:CATALINA_HOME
値1:Tomcatのインストール先フォルダ
 例:C:\Program Files\Apache Software Foundation\Tomcat 8.5
変数名2:CATALINA_BASE
値2:Tomcatのインストール先フォルダ
 例:C:\Program Files\Apache Software Foundation\Tomcat 8.5

WARファイルのインポート

APサーバでhttp://127.0.0.1:8080にアクセス。
→Manager Appをクリック。
→ユーザ、PWを聞かれるのでインストール時に指定した「User Name」「Password」を入力する。
→「Tomcat Webアプリケーションマネージャ」画面の「WARファイルの配備」からデプロイしたいWARファイルをTomcatにインポートする。
→APサーバでhttp://127.0.0.1:8080/[WARファイル名]/[サーブレットのコンテキストパス]でアクセスできたら上手くいっています。

DBサーバ構築

MySQLのインストール

インストールには、以下の記事が分かりやすかったので参考にさせて頂きました。
https://qiita.com/karakuri-t910/items/301a4585c54f4cab34a2

サービスの自動起動設定

「サービス」からMySQLのサービスを右クリックして「プロパティ」をクリック。
→「スタートアップの種類」を「自動」にして「OK」

システム環境変数Pathに値を追加

Webサーバ、APサーバの時のように変数自体を追加するのではなく、元々あるPathという変数に値を追加します。
Windowsボタンを右クリック→システム→環境変数
→システム環境変数の変数名が「Path」である行をクリックし、「編集」→「新規」でMySQLのインストール先フォルダを追加。
例:C:\Program Files\MySQL\MySQL Server 8.0\bin

データベースの構築

コマンドプロンプトで以下のコマンドを実行し、rootとしてmysqlにログインする。

> mysql -u root -p

以下の記事のコマンドを参考に、データベースを構築します。
https://qiita.com/ksugawara61/items/9db198041dec159ed0fe

外部接続用DBユーザの作成と接続許可

外部接続用DBユーザの作成
mysql> CREATE USER ユーザ名@'[APサーバのIPアドレス]' IDENTIFIED BY '接続時のパスワード'
接続許可
mysql> GRANT ALL PRIVILEGES ON データベース名.テーブル TO ユーザ@'[APサーバのIPアドレス]'

※データベース名.テーブルはアスタリスク「*」も使える。例えば「*.*」ですべてのDB、すべてのテーブルへのアクセスを許可する。
また「データベース名.*」でそのデータベースのすべてのテーブルへのアクセスを許可する。

Apache Tomcatの連携

・設定後のイメージ
クライアント端末→Webサーバ(80番ポート)→APサーバ(8009番ポート)
※元々APサーバ(Tomcat)では8080番ポートを受け付けている。

ファイアウォールの穴あけ

WebサーバとAPサーバで以下の手順を行う。
「セキュリティが強化されたWindows Defender ファイアウォール」
→「受信の規則」
→「新しい規則」
→「新規の受信の規則ウィザード」で以下の通り設定。
・規則の種類:ポート
・適用先:TCP
・特定のローカルポート
  Webサーバ:80
  APサーバ:8009
・接続を許可する
・ドメイン、プライべート、パブリックにチェック

Webサーバ

・httpd.conf
※192.168.1.11はTomcatサーバのIPアドレス。

//↓追記
ServerName localhost:80
ProxyPass / ajp://192.168.1.11:8009/
ProxyPassReverse / ajp://192.168.1.11:8009/
//↓コメントアウトを解除する。
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so

APサーバ

・server.xml
8080の記述をコメントアウトして以下の記述をする。

   <Connector protocol="AJP/1.3"
               port="8009"
               redirectPort="8443"
               address="0.0.0.0"
               secretRequired="false" />

これで設定は完了です。
http://192.168.1.10/[ProxyPassの後に指定したキーワード]/[warファイル名]/[サーブレットのコンテキストパス]でアクセスできたらタイトルの通り目標達成です!
※192.168.1.10はWebサーバのIPアドレス。ポート番号は指定しない。
※「ProxyPassの後に指定したキーワード」は今回「/」なので省略して大丈夫です。

1
1
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
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?