Javaでウェブサイトを作りたくて Windows クライアントに Apache Tomcat をセットアップしました。色々なサイトを参考にしましたので、わたしもまとめ情報を公開します。

 でもね、開発するだけなら Tomcat も HTTP Server も不要でした。詳しくはこちら↓で紹介しています
Spring Initializrで始めるウェブ開発

セットアップするソフトウエア

 ダウンロードしたファイルは次のものになります。今回はすべてZIPファイルをダウンロードしました。ダウンロード先のリンクを貼っておきます。

JDK (Java Development Kit)

 まずはJDKからセットアップします。
 ダウンロードしたZIPファイル内の[jdk-23]フォルダを任意のローカルディスクに保存します。わたしはフォルダ名を[jdk]に変更しました。

 次にWindowsのシステム環境変数を設定します。Tomcatでも設定しますので、あとでまとめて設定しても良いです。
 [スタート]から[環境変数]を検索して、[システム環境変数の編集]を開きます。[システムのプロパティ]-[詳細設定]タブが開きますので、右下の[環境変数]ボタンを押します。

 [JAVA_HOME]を追加して値をJDKのフォルダ名にします。例えば D:\webservice\jdk になります。
 また[Path]にJDKのフォルダの中の[bin]を追加します。例えば D:\webservice\jdk\bin になります。

Apache Tomcat

 JDKに続いて Apache Tomcat をセットアップします。
 ダウンロードしたZIPファイル内の [apache-tomcat-10.1.30] フォルダを任意のローカルディスクに保存します。わたしはフォルダ名を[tomcat]に変更しました。

 次に設定ファイルを更新します。
 Tomcatのフォルダにある conf\server.xml をメモ帳で開きます。
 <Connector port=”8080″ から /> までをコメントアウトして無効にします
 <Connector protocol=”AJP/1.3″ から /> までをコメントアウトから外して有効にします
 <Connector protocol=”AJP/1.3″ から /> の間に secretRequired=”false” を追記します。
 <Host から </Host> の間に <Valve className=”org.apache.catalina.valves.RemoteAddrValve” allow=”127.0.0.1″ /> を追記します。
 ファイルを保存して閉じます。

(Windowsのみ)
 Tomcatのフォルダにある conf\logging.properties をメモ帳で開きます。
 java.util.logging.ConsoleHandler.encoding = UTF-8 行を java.util.logging.ConsoleHandler.encoding = SJIS に変更します。

 次にWindowsのシステム環境変数を設定します。
 [CATALINA_HOME]を追加して値をTomcatのフォルダ名にします。例えば D:\webservice\tomcat になります。
 また[Path]にTomcatのフォルダの中の[bin]を追加します。例えば D:\webservice\tomcat\bin になります。

 サービスとして起動するには、コマンドプロンプトを開いてトムキャットの bin ディレクトリへ移動して次のコマンドを実行します。

service.bat install

 もし「[error] [ 3540] 指定されたサービスは既に開始されています。」と表示されたら、既にサービスに登録されていることを疑ってみます。サービス名はAから始まる「Apache Tomcat ・・・」です。

 次にWindowsサービスの一覧を開いて「Apache Tomcat ・・・」を見つけます。
 「スタートアップの種類」が手動になっていますので、自動へ変更します。

Apache HTTP Server

 最後に Apache Http Server をセットアップします。
 ZIPファイル内の [Apache24] フォルダを任意のローカルディスクに保存します。わたしはフォルダ名を[apache]に変更しました。

 次に設定ファイルを更新します。
 Apache HTTP Serverのフォルダにある conf\httpd.conf をメモ帳で開きます。
 Define SRVROOT “パス” のパスを実際のパスに書き換えます。例えば D:/webservice/apache になります。
 次の2行の先頭にある#を取り除いて有効にします
#LoadModule proxy_module modules/mod_proxy.so
#LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
 次の2行を追記します。
ProxyPass / ajp://localhost:8009/
ProxyPassReverse / ajp://localhost:8009/

 ファイルを保存して閉じます。

 サービスとして起動するには、コマンドプロンプトを開いてアパッチの bin ディレクトリへ移動して次のコマンドを実行します。

httpd.exe -k install

MariaDB

 MySQLを使おうかMariaDBにしようか、色々と悩みました。色々と調べてみるとMySQLとMariaDBには際立った違いはなく、こだわらない人には「どちらでもよい」と感じられる程度の差異があるとの認識に達しました。今回はMariaDBを使うことにします。

 MSIファイルをダブルクリックしてセットアップを始めます。
 パスワードやインストール先パスを入力し、「Use UTF8 as default server’s character set」のチェックを入れます。

 これでMariaDBのセットアップが終わり、サービスとしてMariaDBが動作しています。

 次にWindowsのシステム環境変数を設定します。[Path]にMariaDBのフォルダの中の[bin]を追加します。例えば D:\webservice\MariaDB\bin になります。

MariaDB Connector/J

 ダウンロードしたjarファイルを次の2つのフォルダに保存します。

  • jdk/lib
  • tomcat/lib

 Tomcatが開始されているときはファイル保存後に再起動します。

開始(サービス登録していないとき)

 最初に Tomcat を開始します。
 Tomcat のフォルダにある bin\startup.bat をダブルクリックで Tomcat を開始します。
 [JAVA_HOME]に関するエラーが表示されたばあいは、環境設定のパスを再確認します。パスをコピペしてみると良いでしょう。

 次に Apache Http Server を開始します。
 Apache HTTP Serverのフォルダにある bin\httpd.exe をダブルクリックで Apache Http Server を開始します。

 最初に開始するときは Windows によって PC が保護されます。

 これを回避するために bin\httpd.exe ファイルのプロパティを開いて、[全般]タブの下側にある[許可する]にチェックを入れて[適用]します。これで bin\httpd.exe ファイルをダブルクリックで実行できるようになりました。

 ブラウザーを開いて http://localhost を開きます。Apache Tomcat の画面が表示されれば成功です。

終了(サービス登録していないとき)

 開いている httpd.exe の画面の右上にある X をクリックして閉じます。
 次に Tomcat のフォルダにある bin\shutdown.bat をダブルクリックで Tomcat を終わらせます。

https

 これでローカルPCにサーブレットとJSPの実行環境が整いました。
 本番環境では https が使われますので、http から変更する設定が必要になります。でもドメインが必要になりますので、ローカル環境では難しいとおもいます。別の機会に紹介できればいいなとおもいます。

アプリを動かす設定

 Tomcat/webapps のフォルダに アプリ名(コンテキストルート)/WEB-INF のサブフォルダを作ります。例えば tomcat\webapps\hello\WEB-INF という風です。

サーブレットファイルを配置

 サンプルのサーブレットファイル(なんとか.class)は WEB-INF フォルダに classes サブフォルダを作って保存します。

web.xml を配置

 Tomcat/conf/web.xml を WEB-INF フォルダにコピペして、メモ帳で開きます。次のブロックを探しましょう。

<servlet>
<servlet-name>default</servlet-name>
<servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class>
 ・・・
<load-on-startup>1</load-on-startup>
</servlet>

 ↑これを、↓このように書き換えて保存します。

<servlet>
<servlet-name>default</servlet-name>
<servlet-class>アプリ名(コンテキストルート)</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>

設定反映

 Tomcatを再起動することで設定が読み込まれます。

実行

 ブラウザーを開いてURL「http://localhost/アプリ名(コンテキストルート)」を開きます。
 無事に開きましたでしょうか?

稼働確認プログラム

 稼働確認のためにつくったプログラムはこちらからダウンロードできます
[Java]Tomcat-MariaDBサンプルプログラム

.htaccess (2) @False (3) @True (5) ByRef (3) ByVal (3) C# (7) CGI (6) cron (2) CSS (8) Excel (3) False (3) Goto (3) HTML (4) httpd.conf (2) if (3) Java (8) Java Servlet (3) Linux (5) List (3) Lotus Script (38) Lotus 式言語 (29) ls (2) MariaDB (4) Notes/Domino (10) Now (3) null (5) Option Compare (3) Path (3) PHP (6) Python (10) Spring Boot (3) True (3) UTF-8 (4) VBScript (29) Windows (9) インストール (6) セットアップ (2) ダウンロード (2) ノーコード (4) ファイル一覧 (2) ファイル名 (3) ローコード (3) 変換 (3) 変数 (3) 日時 (3) 比較方法 (7) 環境変数 (4) 言語比較 (36) 配列 (4) 開発環境 (5)