今日Java Web開発を開始し、いくつかの問題が発生したため、Tomcat7をubuntuマシンにインストールしました。//localhost:8080を参照すると、デフォルトのウェルカムページが表示されます。
これはデフォルトのTomcatホームページです。ローカルファイルシステムの/var/lib/Tomcat7/webapps/ROOT/index.html
にあります。
Tomcat7のベテランは、TomcatのこのシステムインスタンスがCATALINA_HOME
のルールに従って/usr/share/Tomcat7
のCATALINA_BASE
と/var/lib/Tomcat7
の/usr/share/doc/Tomcat7-common/RUNNING.txt.gz
でインストールされることを知って喜ぶかもしれません。
しかし、奇妙なことに、echo $CATALINA_HOME
を試してみると何も表示されません。また、デフォルトの/ var/lib/Tomcat7/ROOTで何もコピー/作成することはできませんが、いくつかのアクセス許可を提供するだけの問題ですが、それが正しい方法かどうか疑問に思っていました。
私がやりたいのは、自宅にWebアプリケーションを配置できる別のディレクトリを作成し、Tomcatがそこから裾を読み取ることができるようにすることです。それを行う方法はありますか? Apacheでは、document-rootとディレクトリを変更することでそれを行うことができますが、Tomcatでそれを行う方法がわかりません
しかし、奇妙なことに、echo $ CATALINA_HOMEを試しても何も表示されません。
これは、パッケージ化されたバージョンが、Tomcatを起動する直前、構成ファイル(通常は/ etc内のどこか)から読み取った後にCATALINA_HOME
を設定するためです。
また、デフォルトの/ var/lib/Tomcat7/ROOTで何もコピー/作成することはできませんが、いくつかのアクセス許可を提供するだけですが、それが正しい方法かどうか疑問に思っていましたか?
パーミッションの問題は、root(またはTomcatユーザー)ではないことに関係しています。ほとんどのパッケージ化されたTomcatインストール(debまたはRPM)は、特定のユーザーを念頭に置いてインストールする傾向があり、別のものとしてコピーすると機能しない場合があります。
/usr/share/Tomcat7
はCATALINA_HOME
ディレクトリであり、/var/lib/Tomcat7/webapps
、/etc/Tomcat7
などの他のディレクトリへのリンクがあります。Webアプリケーションに直接コピーしないでください。 WebアプリケーションをWARファイルにパッケージ化し、「デプロイ」する必要があります。利点はたくさんあります。
私がやりたいのは、自宅にWebアプリケーションを配置できる別のディレクトリを作成し、Tomcatがそこから裾を読み取ることができるようにすることです。それを行う方法はありますか?
はい、「Webアプリのデプロイ」時に作成されます。標準のTomcat7ドキュメントを参照し、コマンドライン以外のインターフェイスが必要な場合は、「マネージャ」Webアプリケーションのインストールを検討してください。 Webアプリの「インストール」と呼ばれるものがわかったので、これはおそらく簡単な作業になります。
Apacheでは、document-rootとディレクトリを変更することでそれを行うことができますが、Tomcatでそれを行う方法がわかりません
Tomcatには、ドキュメントルートに対して異なる、少し制限の厳しい一連の要件があります。あなたはそれを学ぶ必要があります、そしてそれが同じになることは決してないだろうという考えに同意するだけです。基本的に「webapps」ディレクトリの下には、WARファイルまたはWARファイルからの拡張ディレクトリがあります。 CGIに相当するものは、実行されるたびにディスクから読み取られるわけではなく、Tomcatのメモリにリンクされているため、Tomcatではインプレース編集はお勧めできません。これは、ディレクトリの変更がWebアプリケーションに影響を与えない可能性があることを意味します。これは、デプロイされたWebアプリケーションのディスク上のファイルをわざわざ変更しない十分な理由です。
Webアプリケーションを変更して再パッケージ化し、デプロイメントを更新します。これは、Tomcatを使用するための本当に「正しい」方法です。
Webrootフォルダーに権限777を付与します
Sudo chmod -R 777 Webroot
Tomcatフォルダに移動した後
しかし、奇妙なことに、echo $ CATALINA_HOMEを試しても何も表示されません。
このコマンドを使用してTomcat7をインストールした場合
Sudo apt-get install Tomcat7
/ usr/share/Tomcat7はCATALINA_HOMEですが、これを/.bashrcファイルの環境変数として追加する必要があります。
Sudo vi ~/.bashrc
この情報をファイルの最後に追加できます。
export Java_HOME=/usr/lib/jvm/default-Java
export CATALINA_HOME=/usr/share/Tomcat7
保存して.bashrcを終了します。 bashrcファイルを再起動することで、変更を有効にすることができます。
. ~/.bashrc
これで、$ CATALINA_HOMEをエコーするとパスが表示されます。