タイトルの通り, Tomcat 上で稼働している GitBucket の更新手順の自分用メモです.自分は 3.12 から 4.5 への更新を行いました. 自分の環境 Versions CentOS 7.2 Tomcat 7.0.54 JVM 1.8.0 GitBucket 3.12 Directories GitBucketの gitbucket.home は /var/lib/gitbucket Tomcatの CATALINA_HOME は /usr/share/tomcat 手順内の${gitbucket.home}とか${CATAILNA_HOME}とかは各々の環境に合わせて適宜変えてください.
Tomcat上のWebアプリケーションでMySQLのJDBCドライバを使用すると、Tomcat再起動時に以下のような警告が出力されます。 The web application [] appears to have started a thread named [Abandoned connection cleanup thread] but has failed to stop it. This is very likely to create a memory leak. これはMySQLにバグチケットが上がっていて、対処方法もそちらに記載があります。 MySQL Bugs: #65909: referenceThread causes memory leak in Tomcat ServletContextListener#contextDestroyed() で、該当のスレッドを止
個人的には、あまりTomcatやJavaといったものが好きではなかったのだが、今のプロジェクトがTomcatを扱っているため、忘れないように設定方法についてを記述していくことにする。 まずはOracle JDK及びTomcatのインストールから。 1.Oracle JDKのインストール まずは、Tomcatをインストールする上で前提となるJDKのインストールを行う。 JDKにはOpenJDKとOracleJDKがあるが、通常業務で利用する場合はOracleJDKを用いるので、そちらをインストールする。 まずは、Oracle社のこちらのページからOracle JDKをダウンロード。今回はOracle JDK 7u75を用いる。 ファイルダウンロード後、サーバ側で以下のように「/opt/jdk」ファイルを作成する。 (別に任意の場所でいいんだけど、とりあえず作成した。) mkdir /opt/
mod_jkとは、ApacheやIISなどとTomcatを連携させる為のConnectorです。 Tomcatは単体でWeb Serverとしての機能ももっていますが、Apache httpd程の(Web Serverとしての)パフォーマンスや安全性、細かい設定はできないと言われています。 (すいません、私はテストしていません。) そこで、一般的に公開するサイトではWeb Serverとしての機能をTomcatに持たせるのではなく、Apache httpdに持たせ、JSP・Servletの処理をTomcatに行わせるのが一般的なようです。 ここでhttpdとTomcatを仲立ちするのがmod_jkです。 ┌――――┐ httpリクエスト→ │ Apache ├―――┐ 処理を依頼 ┌――――┐ | |mod_jk|―――――→| Tomcat | httpレスポンス← | | |←――――
設定方法 Tomcatでは、<Valve>タグを使用し、アクセスしてくる端末をIPアドレス、ホスト名により制限することができます。<Valve>タグは<Engine>タグ、<Host>タグ、<Context>タグのサブ要素として設定できます。<Engine>タグのサブ要素として設定した場合はそのTomcatエンジンすべてに対するアクセスを制限します。<Host>タグのサブ要素として設定した場合は設定した仮想ホストに対するアクセスを制限します。<Context>タグのサブ要素として設定した場合は、設定したコンテキストに対するアクセスを制限します。 ホスト名によりアクセスを制限する場合はアクセスを制限するサーバがDNSの逆引き名前解決を行える必要があります。 アクセスフィルタを行うJavaクラスを指定。IPアドレスによりフィルタする場合はorg.apache.catalina.valves.
Tomcatは、存在しないURLへのリクエストがあったとき、認証に失敗したときやサーブレットにエラーがあったときなど、HTTPのエラー発生時には以下のようなエラーページを表示します。 しかし、このエラーページはセキュリティ的に問題となることがあります。使用しているTomcatのバージョンがエラーページのフッタに表示されるからです。エラーページの表示から、脆弱性のあるバージョンを使用していることを知られ、攻撃対象にされてしまう危険があります。もちろん、メンテナンスが万全で、脆弱性が発見されるたびに最新バージョンにアップデートしているシステムなら、バージョンが表示されても問題はありませんが、現実はなかなかそういかないでしょう。 このような危険を防ぐために、エラーページを自前で用意したものに置き換え、セキュリティの向上を図るべきです。Tomcatでは、Apacheと同様にエラーコードに応じて独自
セキュリティの重要性がますます大きくなってきた昨今。 でも本格的なファイアーウォール機器やIPSは高価だし設定云々が面倒。 そんなあなたに朗報(気休め)w tomcatでコンテキストごとにIPアドレスでアクセス制限をかけることができます。 【編集ファイル】 /usr/local/tomcat/conf/Catalina/localhost/hoge.xml 【編集内容】 <Context docBase="${catalina.home}/webapps/hoge" debug="0"> <Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="xxx.xxx.xxx.xxx, xxx.xxx.xxx.xxx" deny="xxx.xxx.xxx.xxx, xxx.xxx.xxx.xxx"/> <Valve c
CATALINA_HOME/conf/{EngineName}/{hostname}/{WebAppName}.xml CATALINA_HOME/webapps/{WebAppName}/WEB-INF/context.xml WAR ファイル内の WEB-INF/context.xml 設定内容 Context 要素に Valve 要素を作成 <Context> <Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="127.0.0.1,192.168.*.*" /> </Context> Host でのIP制限
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く