フォルダの空いているところでマウスの右ボタンをクリックし、[新規作成]-[テキスト ドキュメント]を選びます。
ちなみにメモ帳を新しく開くと『ANSI』のこともあれば『UTF-8』のこともありました。でも、今みると『UTF-8』でした!パソコンによって異なるのかなぁ?
フォルダの空いているところでマウスの右ボタンをクリックし、[新規作成]-[テキスト ドキュメント]を選びます。
ちなみにメモ帳を新しく開くと『ANSI』のこともあれば『UTF-8』のこともありました。でも、今みると『UTF-8』でした!パソコンによって異なるのかなぁ?
Javaでウェブサイトを作りたくて Windows クライアントに Apache Tomcat をセットアップしました。色々なサイトを参考にしましたので、わたしもまとめ情報を公開します。
でもね、開発するだけなら Tomcat も HTTP Server も不要でした。詳しくはこちら↓で紹介しています
Spring Initializrで始めるウェブ開発
ダウンロードしたファイルは次のものになります。今回はすべてZIPファイルをダウンロードしました。ダウンロード先のリンクを貼っておきます。
まずはJDKからセットアップします。
ダウンロードしたZIPファイル内の[jdk-23]フォルダを任意のローカルディスクに保存します。わたしはフォルダ名を[jdk]に変更しました。
次にWindowsのシステム環境変数を設定します。Tomcatでも設定しますので、あとでまとめて設定しても良いです。
[スタート]から[環境変数]を検索して、[システム環境変数の編集]を開きます。[システムのプロパティ]-[詳細設定]タブが開きますので、右下の[環境変数]ボタンを押します。
[JAVA_HOME]を追加して値をJDKのフォルダ名にします。例えば D:\webservice\jdk になります。
また[Path]にJDKのフォルダの中の[bin]を追加します。例えば D:\webservice\jdk\bin になります。
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 をセットアップします。
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
MySQLを使おうかMariaDBにしようか、色々と悩みました。色々と調べてみるとMySQLとMariaDBには際立った違いはなく、こだわらない人には「どちらでもよい」と感じられる程度の差異があるとの認識に達しました。今回はMariaDBを使うことにします。
MSIファイルをダブルクリックしてセットアップを始めます。
パスワードやインストール先パスを入力し、「Use UTF8 as default server’s character set」のチェックを入れます。
これでMariaDBのセットアップが終わり、サービスとしてMariaDBが動作しています。
次にWindowsのシステム環境変数を設定します。[Path]にMariaDBのフォルダの中の[bin]を追加します。例えば D:\webservice\MariaDB\bin になります。
ダウンロードしたjarファイルを次の2つのフォルダに保存します。
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 を終わらせます。
これでローカルPCにサーブレットとJSPの実行環境が整いました。
本番環境では https が使われますので、http から変更する設定が必要になります。でもドメインが必要になりますので、ローカル環境では難しいとおもいます。別の機会に紹介できればいいなとおもいます。
Tomcat/webapps のフォルダに アプリ名(コンテキストルート)/WEB-INF のサブフォルダを作ります。例えば tomcat\webapps\hello\WEB-INF という風です。
サンプルのサーブレットファイル(なんとか.class)は WEB-INF フォルダに classes サブフォルダを作って保存します。
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サンプルプログラム
片仮名で「メーベン」とするのが日本語っぽいでしょうか。色々なライブラリを使ったJavaのプログラムをビルドするためにあるそうです
こちら(Apache Maven のダウンロード – Apache Maven Project)から圧縮ファイルをダウンロードできます。
解凍したら任意のフォルダに保存します
次にWindowsのシステム環境変数を設定します。
[スタート]から[環境変数]を検索して、[システム環境変数の編集]を開きます。[システムのプロパティ]-[詳細設定]タブが開きますので、右下の[環境変数]ボタンを押します。
[Path]にMavenのフォルダの中の[bin]を追加します。例えば D:\webservice\maven\bin になります。
確認のために、次のようにMavenのバージョンを表示してみましょう
mvn -v
Mavenによって自動ダウンロードされるファイルが保存されるフォルダを作成します。次にsettings.xmlを更新します
<localRepository>D:\webservice\maven\repository</localRepository>
これで設定は終わりです
Mavenには次のようなSpring Bootのアーキタイプがありますが、10年も更新されず放置されているようです
3213: remote -> org.springframework.boot:spring-boot-sample-tomcat-archetype (Spring Boot Tomcat Sample)
Spring Initializrで『Project』を『Maven』にして、ひな形をつくると良いでしょう
流れは次のようになります
コマンドは次のようなものです↓
cd /d "プロジェクトをつくるフォルダ"
mvn -B archetype:generate "-DgroupId=グループ名" "-DartifactId=プロジェクト名"
次のようにフォルダとファイルがつくられます↓
プロジェクトをつくるフォルダ
プロジェクト名フォルダ
srcフォルダ
mainフォルダ
javaフォルダ
グループ名フォルダ
App.javaファイル
testフォルダ
javaフォルダ
グループ名フォルダ
AppTest.javaファイル
pom.xmlファイル
App.javaはこんな感じです↓ コメントを取り除いています
package グループ名;
public class App
{
public static void main( String[] args )
{
System.out.println( "Hello World!" );
}
}
AppTest.javaはこんな感じです↓ コメントを取り除いています
package グループ名;
import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;
public class AppTest
extends TestCase
{
public AppTest( String testName )
{
super( testName );
}
public static Test suite()
{
return new TestSuite( AppTest.class );
}
public void testApp()
{
assertTrue( true );
}
}
pom.xmlはこんな感じです↓
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>グループ名</groupId>
<artifactId>プロジェクト名</artifactId>
<packaging>jar</packaging>
<version>1.0-SNAPSHOT</version>
<name>プロジェクト名</name>
<url>http://maven.apache.org</url>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>
できたサンプルをビルドするには、プロジェクト作成時につくられたpom.xmlファイルがあるフォルダへ移動してから次のようにコマンドを入力します
cd /d "プロジェクトをつくるフォルダ\プロジェクト名"
mvn compile
プロジェクトを削除するには、プロジェクト作成時につくられたpom.xmlファイルがあるフォルダへ移動してから次のようにコマンドを入力します
cd /d "プロジェクトをつくるフォルダ\プロジェクト名"
mvn clear
EclipseやVisual Studio Codeを使うばあいは不要です
Spring Initializrを使っても良いかもしれません
次のページの『手動インストール』部分にある圧縮ファイル(例えば spring-boot-cli-3.3.5-bin.zip)をダウンロードします
Spring Boot のインストール - Spring
任意のフォルダに保存します。
[スタート]から[環境変数]を検索して、[システム環境変数の編集]を開きます。[システムのプロパティ]-[詳細設定]タブが開きますので、右下の[環境変数]ボタンを押します。
[Path]にSpring Boot CLIフォルダの中の[bin]を追加します。例えば D:\webservice\spring_CLI\bin になります
Windowsでbatファイルをつくるとき、最も気を付けなければならないのはファイル名でしょう。
ファイルの検索はカレントディレクトリが最優先されるため、命令を実行したつもりがバッチを実行してしまって???となることがあります。
コンピューターのファイルには、動作記録(ログ)や破棄されなかった一時ファイル(ワーク)が含まれます。長く動いているコンピューターにはこれら多くのファイルが残ります。ほおっておくと記憶領域(ハードディスク)の多くを占めるようになるかもしれません。
更新日時が古いものを削除するには、次のようなWindowsバッチ(*.bat)をつくって動かします。毎月とか毎年など定期的に動かせば安心ですね!
forfiles /P "パス" /S /D -猶予日数 /C "cmd /C if false==@isdir (echo delete @file @fdate @ftime @fsize byte & del @path)"
rem 『パス』の末尾は¥マークで終わらないこと!
rem 『猶予日数』は0から32768の範囲で指定します
ファイアーウォールの設定を全量表示するときに、PowerShellでShow-NetFirewallRuleコマンドを使います。
Show-NetFirewallRuleコマンドに先立ってDateコマンドを実行すると、Show-NetFirewallRuleの出力内容が要約されるようです。RemoteAddress部分が長いとき、Dateコマンドのあと(直後でなくてもよい)にShow-NetFirewallRuleコマンドを実行すると、RemoteAddressの値が{IPアドレス IPアドレス…}と省略されます。
WindowsパソコンにLaravelの開発環境を整えました。およそ次のとおりになります。
[コントロールパネル]>[プログラム]>[プログラムと機能]>[Windowsの機能の有効化または無効化]を開いて、次の項目にチェックを入れます。
これをPowerShellで設定するには次のようにします。PowerShellは[管理者として実行]します。
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
WindowsでWSL2を使って「完全なLinux」環境を作ろう!
ここまで設定したら、一旦Windowsを再起動します。
パソコンから目を離しても、Windowsがスリープしないように、[システム]>[電源とバッテリー]で設定しておきます。
それでは、Ubuntuをインストールしましょう。PowerShellを[管理者として実行]し、次のようにします。
wsl --install
Ubuntuがインストールされると、新しいユーザーの名前とパスワードの登録がおこなわれます。
ユーザー名とパスワードは何でもよいですが、ブランクにできません。このパスワードは頻繁に使いますので、しっかりメモしておきましょう。
成功すると、[スタート]>[すべてのアプリ]に[Ubuntu]が登録されます。
WSL を使用して Windows に Linux をインストールする
次に、Ubuntuを更新しましょう。[スタート]>[すべてのアプリ]から[Ubuntu]を開いて、次のようにします。
sudo apt update && sudo apt upgrade -y
exit
ここでWindowsを再起動します。
もういちど、Ubuntuを開いて、次のようにします。
sudo do-release-upgrade
exit
途中で[y]や[ENTER]の入力を求められます。
更に、WindowsとUbuntuの改行コードの違いを吸収するために次のようにします。
sudo apt-get install -y dos2unix
find . -type f -print0 | xargs -0 dos2unix
次のサイトからWindows用のDocker Desktopをインストールします。これはWindowsのアプリです。
インストールが正常に終わると[Installation succeeded]と表示されます。そのあとDocker Desktopを開くとチュートリアルが始まりますが、とりあえずスキップしましょう。
Ubuntuを開いて、次のようにします。
[○○]部分には任意のディレクトリ名を入れます。例えば[example-app]とすることができます。
curl -s "https://laravel.build/○○?php=81" | bash
cd ○○ && ./vendor/bin/sail up
これで、開発環境は整いました。
【Docker】Laravel Sailのインストールと使い方を確認
ここからは、コンピューターを開いてLaravelにアクセスするたびにおこないます。
まずはUbuntuを開いて、次のようにします。
cd ○○ && ./vendor/bin/sail up -d
[○○]部分には、先に curl -s “https://laravel.build/○○?php=81” | bash したときの○○を入れます。
次に、ブラウザを開いて http://localhost/ にアクセスします。無事にLaravelの画面が表示されたでしょうか。
なお、Laravelを終わらせるには、次のようにします。
./vendor/bin/sail down
開発環境の細かいところは、参加するチームによって色々と差異があるとおもいます。基本的なところが押さえられていたなら いいな..とおもいます。
Windowsでパスワードを変更しようとするとき、通常は Ctrl + Alt + Delete キーを押してパスワード変更の画面をだします。
リモートデスクトップからパスワードを変更するには Ctrl + Alt + End キーを押します。キーがかぶらないように工夫されていますね。