- PR -

Tomcatのcontextroot内にシンボリックリンクは使えるの?

1
投稿者投稿内容
JJ
会議室デビュー日: 2004/05/28
投稿数: 10
投稿日時: 2005-03-12 17:14
JJです。

LinuxでApache1.3+Tomcat4.1を動かしているのですが、

$CATALINA_HOME/webapp/application

上記のappiicationディレクトリ直下に

cd $CATALINA_HOME/webapp/application
ln -s /data .

上記のようにコンテキストディレクトリ以外のディレクトリのシンボリックリンクを張り
ましたが、うまく読み込めませんでした。

/dataディレクトリをシンボリックリンクではなく
applicationディレクトリにコピーすれば正常に読み込めました。
/dataディレクトリの中には性的なHTMLファイルを置いて
読み込みました。
コンテキストディレクトリ内ではシンボリックリンクは使えないのでしょうか?
それとも何か設定が必要なのでしょうか?
よろしくお願い致します。
JJ
会議室デビュー日: 2004/05/28
投稿数: 10
投稿日時: 2005-03-12 18:30
ちなみにTomcatは4.1.12です
山本 裕介
ぬし
会議室デビュー日: 2003/05/22
投稿数: 2415
お住まい・勤務地: 恵比寿
投稿日時: 2005-03-12 19:10
Java からみればシンボリックリンクも実体も区別はありませんので使えると思いますが・・・。
なんでしょうね?
はしもと
大ベテラン
会議室デビュー日: 2003/02/05
投稿数: 182
投稿日時: 2005-03-12 19:51
Resources 要素の allowLinking 属性について調べてみて下さい。
でも、4.1.12 のそれはバグってるそうです。
要バージョンアップ。
JJ
会議室デビュー日: 2004/05/28
投稿数: 10
投稿日時: 2005-03-13 23:52
Resources要素を追加しましたが対象のコンテキストが起動出来ません。
バグの影響でしょうか?
例えば以下のような書き方にしていますが
Resorcesタグの中にResourceを書く必要があるのでしょうか?
server.xmlのDTDはないためわかりませんでした。
バージョンアップは難しいので
シンボリックリンクのようにコンテキストルート以外のディレクトリを
コンテキストルート内のディレクトリのように見せかける方法はありますでしょうか?
Apacheの設定とかで出来ますか?
そのディレクトリではjspファイル等ありますので
Apacheのhtdocs内では駄目だとは思いますが
4.1.12では無理なんでしょうか?
何か方法がありましたらアドバイスお願いいたします。

-------------設定----------------------------
<Context ...>
<Resources className="org.apache.naming.resources.FileDirContext"
allowLinking="true" />

<Resource name="bean/MyBeanFactory" auth="Container"
type="com.mycompany.MyBean"/>
<ResourceParams name="bean/MyBeanFactory">
<parameter>
<name>factory</name>
<value>org.apache.naming.factory.BeanFactory</value>
</parameter>
<parameter>
<name>bar</name>
<value>23</value>
</parameter>
</ResourceParams>
</Context>

1

スキルアップ/キャリアアップ(JOB@IT)