<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <title>hello,world</title>
    <link rel="alternate" type="text/html" href="http://www.sorich.jp/blog/shimamura/" />
    <link rel="self" type="application/atom+xml" href="http://www.sorich.jp/blog/shimamura/atom.xml" />
    <id>tag:www.sorich.jp,2008-01-07:/blog/shimamura/19</id>
    <updated>2010-06-21T11:10:38Z</updated>
    
    <generator uri="http://www.sixapart.com/movabletype/">Movable Type Publishing Platform 4.01</generator>

<entry>
    <title>[crontab]cronで設定したコマンドが実行されてないっぽい</title>
    <link rel="alternate" type="text/html" href="http://www.sorich.jp/blog/shimamura/2010/06/crontab-escape.html" />
    <id>tag:www.sorich.jp,2010:/blog/shimamura//19.638</id>

    <published>2010-06-21T11:10:38Z</published>
    <updated>2010-06-21T11:10:38Z</updated>

    <summary> cronで設定したコマンドが実行されてないっぽいのです。 ...</summary>
    <author>
        <name>島村 純</name>
        <uri>http://www.sorich.jp/blog/shimamura</uri>
    </author>
    
        <category term="crontab" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="ja" xml:base="http://www.sorich.jp/blog/shimamura/">
        <![CDATA[ cronで設定したコマンドが実行されてないっぽいのです。<br />
<br />]]>
        <![CDATA[/var/log/cron を確認してみると、指定の時間に実行はされてるけどコマンドが途中で切れてる！<br />
なんと、cronで「%」を使う場合は、バックスラッシュでエスケープしないと最初の「%」は改行文字に置き換えられるとのこと。<br />
<a href="http://www.linux.or.jp/JM/html/cron/man5/crontab.5.html">Manpage of CRONTAB</a><br />
<br />
指定の時間に実行はしてくれてたんだけど、コマンドが期待通りに認識されてなかったのね。<br />
<br />

ウィキペディアによると、シングルクオートで囲えばエスケープしなくてもよいみたい。<br />
<a href="http://ja.wikipedia.org/wiki/Crontab">crontab - Wikipedia</a><br />
<br />
もしくはおうちゃくしないで、シェルスクリプトファイルを作りなさいということでしょうかね。。

]]>
    </content>
</entry>

<entry>
    <title>[cakephp][oracle]DATABASE_CONFIGの設定</title>
    <link rel="alternate" type="text/html" href="http://www.sorich.jp/blog/shimamura/2010/02/cakephp-oracle-database-config.html" />
    <id>tag:www.sorich.jp,2010:/blog/shimamura//19.627</id>

    <published>2010-02-05T11:20:56Z</published>
    <updated>2010-02-05T11:20:56Z</updated>

    <summary>Oracle Database 10g Express Edition を使用す...</summary>
    <author>
        <name>島村 純</name>
        <uri>http://www.sorich.jp/blog/shimamura</uri>
    </author>
    
        <category term="cakephp" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="oracle" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="ja" xml:base="http://www.sorich.jp/blog/shimamura/">
        <![CDATA[Oracle Database 10g Express Edition を使用する際の app/config/database.php のDATABASE_CONFIGの設定例です。<br />
CakePHPは1.2.5を使用しています。<br />
<br />]]>
        <![CDATA[ホスト名またはIPアドレスを 'host' の方ではなく、'database' の方に書くのと、文字セットの設定が encoding' ではなく 'charset' なところがポイントでしょうか。<br />
<pre><textarea class="html" name="code">&lt;?php
class DATABASE_CONFIG {

	var $default = array(
		'driver' =&gt; 'oracle',
		'persistent' =&gt; false,
		'host' =&gt; '',
		'login' =&gt; 'ユーザー名',
		'password' =&gt; 'パスワード',
		'database' =&gt; '//localhost/XE',
		'charset' =&gt; 'AL32UTF8'
	);
}
?&gt;
</textarea></pre>
<br />
cake/libs/model/datasources/dbo/dbo_oracle.php を見てみると、'host' の値は使われていません。<br />
ocilogonはoci_connect、ociplogonはoci_pconnectのエイリアスです。<br />
そして、よくよく見ると文字セットのインデックスが、'encoding'ではなく、'charset'になっています。<br />
oci_connect() は、文字セットが指定されていないか、またはNULLの場合、NLS_LANG環境変数の設定が使用されるようです。<br />
文字セットをNLS_LANGで設定する場合は、JAPANESE_JAPAN.AL32UTF8(&lt;language&gt;_&lt;territory&gt;.&lt;character set&gt;)のように指定すると思いますが、oci_connect() の引数に渡す場合は、単純にAL32UTF8(&lt;character set&gt;)のみを設定しないとうまく動きませんでした。
<pre><textarea class="html" name="code">...
	function connect() {
		$config = $this-&gt;config;
		$this-&gt;connected = false;
		$config['charset'] = !empty($config['charset']) ? $config['charset'] : null;

		if ($this-&gt;config['persistent']) {
			$connect = 'ociplogon';
		} else {
			$connect = 'ocilogon';
		}
		$this-&gt;connection = @$connect($config['login'], $config['password'], $config['database'], $config['charset']);
...
</textarea></pre>

<br />
参考<br />
<a href="http://www.php.net/manual/ja/function.oci-connect.php">PHP: oci_connect - Manual</a><br />
<a href="http://www.oracle.com/technology/global/jp/tech/php/htdocs/php-oracle-tutorial.html">PHPfestチュートリアル：Oracle Database 10g Express EditionおよびZend Core for Oracle</a>]]>
    </content>
</entry>

<entry>
    <title>[ubuntu][apache][cakephp]サーバー構築のメモ(２)</title>
    <link rel="alternate" type="text/html" href="http://www.sorich.jp/blog/shimamura/2010/02/ubuntu-apache-cakephp.html" />
    <id>tag:www.sorich.jp,2010:/blog/shimamura//19.622</id>

    <published>2010-02-02T09:20:17Z</published>
    <updated>2010-02-02T09:20:17Z</updated>

    <summary>[ubuntu][apache][php][oracle]サーバー構築のメモ  ...</summary>
    <author>
        <name>島村 純</name>
        <uri>http://www.sorich.jp/blog/shimamura</uri>
    </author>
    
        <category term="apache" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="cakephp" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="ubuntu" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="ja" xml:base="http://www.sorich.jp/blog/shimamura/">
        <![CDATA[<a href="http://www.sorich.jp/blog/shimamura/2010/02/ubuntu-apache-php-oracle.html">[ubuntu][apache][php][oracle]サーバー構築のメモ </a>
で用意したサーバーで、CakePHPのアプリケーションを動くようにします。<br />
<br />]]>
        <![CDATA[■Apacheの設定<br />
・mod_rewriteを有効にする<br />
<pre><code class="console">root@ubuntu:~# a2enmod rewrite
Enabling module rewrite.
Run '/etc/init.d/apache2 restart' to activate new configuration!
</code></pre>
<br />
・ドキュメントルートの設定<br />
ドキュメントルートの設定は、/etc/apache2/sites-available/default に書いてあります。<br />
CakePHPを動かすためには、Options と AllowOverride に最低限、次の権限を設定する必要があります。

<pre><code class="console">...
&lt;Directory /var/www/&gt;
        Options FollowSymLinks
        AllowOverride FileInfo
        Order allow,deny
        allow from all
&lt;/Directory&gt;
...
</code></pre>
※Options は mod_rewrite、AllowOverride は .htaccessのための設定です。<br />
<br />
参考<br />
Apache コア機能<br />
<a href="http://httpd.apache.org/docs/2.2/ja/mod/core.html#options">http://httpd.apache.org/docs/2.2/ja/mod/core.html#options</a><br /><a href="http://httpd.apache.org/docs/2.2/ja/mod/core.html#allowoverride">
http://httpd.apache.org/docs/2.2/ja/mod/core.html#allowoverride</a><br />
<br />

すでに他のアプリケーションを動かしている場合は、例えば /etc/apache2/sites-available/new など別ファイルに仮想ホスト設定を記述して有効にすることもできます。<br />
<br />
newの設定を有効にする場合
<pre><code class="console">root@ubuntu:~# a2ensite new
Enabling site new.
Run '/etc/init.d/apache2 reload' to activate new configuration!
</code></pre>
defaultの設定を無効にする場合
<pre><code class="console">root@ubuntu:~# a2dissite default
Site default disabled.
Run '/etc/init.d/apache2 reload' to activate new configuration!
</code></pre>
この方法で設定ファイルを小分けにしておけば、特定のアプリケーションのみ設定を無効にしたい場合など、該当の行をコメントアウトするのではなく、コマンドでファイル単位で簡単に切り替えられるので楽ですね。<br />
<br />
設定を変更したら、Apacheの再起動は忘れずに。
<pre><code class="console">root@ubuntu:~# service apache2 restart
</code></pre>
<br />
・SSLの設定<br />
こちらは必要であれば。<br />
<pre><code class="console">root@ubuntu:~# a2enmod ssl
Enabling module ssl.
See /usr/share/doc/apache2.2-common/README.Debian.gz on how to configure SSL and create self-signed certificates.
Run '/etc/init.d/apache2 restart' to activate new configuration
</code></pre>
<br />
証明書と秘密鍵の発行などはこちらに<br />
<a href="http://d.hatena.ne.jp/toguni/20090312/1236823206">UbuntuでApache2+SSLしてみる - toguniの日記</a><br />
<br />
次のようなエラーがでる場合は、Listen 443が複数定義されている可能性があります。<br />
<pre><code class="console">root@ubuntu:~# service apache2 restart
 * Restarting web server apache2
 ... waiting (98)Address already in use: make_sock: could not bind to address 0.0.0.0:443
no listening sockets available, shutting down
Unable to open logs
</code></pre>
Listen 443は、/etc/apache2/ports.conf にすでに記述されているので、/etc/apache2/sites-available/httpd-ssl.conf のものは忘れずにコメントアウトしておきましょう。<br />
<br />
■デプロイ<br />
・CakePHPのアプリケーションをドキュメントルートにアップロード<br />
・app/tmp に Apacheの実行ユーザーが書き込める権限を与える<br />]]>
    </content>
</entry>

<entry>
    <title>[ubuntu][apache][php][oracle]サーバー構築のメモ</title>
    <link rel="alternate" type="text/html" href="http://www.sorich.jp/blog/shimamura/2010/02/ubuntu-apache-php-oracle.html" />
    <id>tag:www.sorich.jp,2010:/blog/shimamura//19.606</id>

    <published>2010-02-01T06:15:43Z</published>
    <updated>2010-02-01T06:15:43Z</updated>

    <summary>Ubuntu 8.04, Apache2.2, PHP5.2, Oracle 1...</summary>
    <author>
        <name>島村 純</name>
        <uri>http://www.sorich.jp/blog/shimamura</uri>
    </author>
    
        <category term="apache" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="oracle" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="php" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="ubuntu" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="ja" xml:base="http://www.sorich.jp/blog/shimamura/">
        <![CDATA[Ubuntu 8.04, Apache2.2, PHP5.2, Oracle 10g XEでサーバーを構築した時のメモです。<br />
<br />]]>
        <![CDATA[===== Oracle Database 10g Express Edition のインストール =====<br />
<br />
<a href="http://www.sorich.jp/blog/shimamura/2009/03/ubuntuoracle.html">[ubuntu][oracle]Oracle Database 10g Express Editionをインストールする - hello,world</a><br />
<br />

===== Oracle Instant Client のインストール =====<br />
<br />
<a href="http://www.oracle.com/technology/global/jp/software/tech/oci/instantclient/index.html">Instant Clientのダウンロード</a>からInstant Clientパッケージ - Basic と *Instant Clientパッケージ - SDK をダウンロードします。<br />
<br />
aptitude でインストールされたOracle Database 10g Express Editionは10.2.0.1-1ですが、Instant Clientのダウンロードサイトに同じバージョンのものがなかったので、バージョン10.2.0.4のものをダウンロードしました。<br />
ダウンロードしたアーカイブを解凍して、シンボリックリンクを作成します。<br />
<pre><code class="console">root@ubuntu:~# mkdir -p /opt/oracle
root@ubuntu:~# unzip \*.zip -d /opt/oracle
...
root@ubuntu:~# cd /opt/oracle
root@ubuntu:/opt/oracle# ln -s instantclient_10_2/ instantclient
root@ubuntu:/opt/oracle# cd instantclient
root@ubuntu:/opt/oracle/instantclient# ln -s libclntsh.so.10.1 libclntsh.so
root@ubuntu:/opt/oracle/instantclient# ln -s libocci.so.10.1 libocci.so
</code></pre>
<br />

===== PHPのインストール =====<br />
<br />
PHP関連をインストールします。Apacheもインストールされます。<br />
<pre><code class="console">root@ubuntu:~# aptitude install php5 php5-cli php5-dev php-pear libaio1
</code></pre>
<br />
oci8をインストールします。<br />
<pre><code class="console">root@ubuntu:~# pecl install oci8
downloading oci8-1.3.5.tgz ...
Starting to download oci8-1.3.5.tgz (137,987 bytes)
.............................done: 137,987 bytes
10 source files, building
running: phpize
Configuring for:
PHP Api Version:         20041225
Zend Module Api No:      20060613
Zend Extension Api No:   220060519
 1. Please provide the path to the ORACLE_HOME directory. Use 'instantclient,/path/to/instant/client/lib' if you're compiling with Oracle Instant Client : autodetect

&gt;A&gt; 1-1, 'all', 'abort', or Enter to continue: all
&gt;B&gt; Please provide the path to the ORACLE_HOME directory. Use 'instantclient,/path/to/instant/client/lib' if you're compiling with Oracle Instant Client [autodetect] : instantclient,/opt/oracle/instantclient                              
 1. Please provide the path to the ORACLE_HOME directory. Use 'instantclient,/path/to/instant/client/lib' if you're compiling with Oracle Instant Client : instantclient,/opt/oracle/instantclient

1-1, 'all', 'abort', or Enter to continue: 
building in /var/tmp/pear-build-root/oci8-1.3.5
running: /tmp/pear/cache/oci8-1.3.5/configure --with-oci8=instantclient,/opt/oracle/instantclient
...
(中略)
...
Build process completed successfully
Installing '/usr/lib/php5/20060613+lfs/oci8.so'
install ok: channel://pecl.php.net/oci8-1.3.5
configuration option "php_ini" is not set to php.ini location
You should add "extension=oci8.so" to php.ini
</code></pre>
&gt;A&gt;の行で「all」<br />
&gt;B&gt;の行で「instantclient,/opt/oracle/instantclient 」と入力しています。<br />
その他は[Enter]です。<br />
<br />
もしくは環境変数 ORACLE_HOME に instantclient,/opt/oracle/instantclient を設定すれば、すべて[Enter]でもだいじょうぶぽいです。<br />
<br />
oci8.soを読み込むようにします。<br />
<pre><code class="console">root@ubuntu:~# echo extension=oci8.so &gt;&gt; /etc/php5/apache2/conf.d/oci8.ini
</code></pre>
<br />

===== 文字コードの設定 =====
<pre><code class="console">root@ubuntu:~# echo "export NLS_LANG=JAPANESE_JAPAN.AL32UTF8" &gt;&gt; /etc/apache2/envvars
</code></pre>
※Oracle Database 10g Express Editionのデフォルトの文字コードはUTF-8です。<br />
文字コードについてはこちらに詳しく書いてありました。<br />
<a href="http://shodai.hp.infoseek.co.jp/oracle_global/oracle_global.html">Olacle 文字コード</a><br />
<br />

===== 確認 =====<br />
<br />
Apacheを再起動して、phpinfo()を確認してみます。<br />
<pre><code class="console">root@ubuntu:/var/www# service apache2 restart
 * Restarting web server apache2
   ...done.
root@ubuntu:~# echo '&lt;?php phpinfo();?&gt;' &gt;&gt; /var/www/phpinfo.php
</code></pre>
ブラウザで /phpinfo.php にアクセスして oci8 の項目が表示されていればOKです。
<a href="http://www.sorich.jp/blog/shimamura/2010/01/11/phpinfo.png"><img alt="phpinfo.png" src="http://www.sorich.jp/blog/shimamura/2010/01/11/phpinfo.png" width="100%" /></a>
<br />

<br />
参考<br />
<a href="http://swil.blogspot.com/2009/08/ubuntu-804-lts-php-oci8.html">Something what I like.: Ubuntu 8.04 LTSに PHP と OCI8 をインストール</a>]]>
    </content>
</entry>

<entry>
    <title>[oracle]Oracle Database 10g Express Editionのインストール直後、systemユーザーでログインできない</title>
    <link rel="alternate" type="text/html" href="http://www.sorich.jp/blog/shimamura/2010/01/oracle-system-login-failed.html" />
    <id>tag:www.sorich.jp,2010:/blog/shimamura//19.615</id>

    <published>2010-01-12T18:22:40Z</published>
    <updated>2010-01-12T18:22:40Z</updated>

    <summary> Oracle Database 10g Express Editionのインス...</summary>
    <author>
        <name>島村 純</name>
        <uri>http://www.sorich.jp/blog/shimamura</uri>
    </author>
    
        <category term="oracle" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="ja" xml:base="http://www.sorich.jp/blog/shimamura/">
        <![CDATA[ Oracle Database 10g Express Editionのインストール直後、systemユーザーでログインしようとしたところ、パスワードはあっているはずなのですが、なんだかエラーになってログインできません。<br />]]>
        <![CDATA[<pre><code class="console">sqlplus system/パスワード(/etc/init.d/oracle-xe configureの時に入力したもの)@XE

SQL*Plus: Release 10.2.0.1.0 - Production on 水 1月 13 00:23:52 2010

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

ERROR:
ORA-01017: invalid username/password; logon denied


ユーザー名を入力してください: 
</code></pre>

いろいろ試してみたところ、どうやらパスワードに「admin」という文字列が含まれるとログインできないぽいです。]]>
    </content>
</entry>

<entry>
    <title>[command]unzipで複数のzipアーカイブを一括解凍する</title>
    <link rel="alternate" type="text/html" href="http://www.sorich.jp/blog/shimamura/2010/01/command-unzip-multiple-files.html" />
    <id>tag:www.sorich.jp,2010:/blog/shimamura//19.614</id>

    <published>2010-01-11T12:29:54Z</published>
    <updated>2010-01-11T12:29:54Z</updated>

    <summary> unzipで複数のzipアーカイブをワイルドカードで指定する場合、&quot;*&quot;をエス...</summary>
    <author>
        <name>島村 純</name>
        <uri>http://www.sorich.jp/blog/shimamura</uri>
    </author>
    
        <category term="command" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="ja" xml:base="http://www.sorich.jp/blog/shimamura/">
         unzipで複数のzipアーカイブをワイルドカードで指定する場合、&quot;*&quot;をエスケープしないといけないんですね。
        <![CDATA[<pre><code class="console">unzip \*.zip
</code></pre>

エスケープしないと、filename not matchedと警告が出ます。<br />
<br />
<a href="http://unix.ittoolbox.com/groups/technical-functional/solaris-l/unzip-caution-filename-not-matched-404258">unzip - caution: filename not matched: (4th Response) - Toolbox for IT Groups</a><br />
<br />
ちなみに、解凍するディレクトリを指定する場合は、-d オプションで指定します。<br />
<pre><code class="console">unzip \*.zip -d /extract/files/into/exdir
</code></pre>]]>
    </content>
</entry>

<entry>
    <title>社員旅行の景品</title>
    <link rel="alternate" type="text/html" href="http://www.sorich.jp/blog/shimamura/2010/01/nikeid.html" />
    <id>tag:www.sorich.jp,2010:/blog/shimamura//19.608</id>

    <published>2010-01-06T13:13:11Z</published>
    <updated>2010-01-06T13:13:11Z</updated>

    <summary>社員旅行の景品でNIKEiDギフトカードをもらいました。 ...</summary>
    <author>
        <name>島村 純</name>
        <uri>http://www.sorich.jp/blog/shimamura</uri>
    </author>
    
        <category term="event" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="ja" xml:base="http://www.sorich.jp/blog/shimamura/">
        <![CDATA[社員旅行の景品で<a href="http://nike.jp/nike_id/giftcard.html">NIKEiDギフトカード</a>をもらいました。<br /><br />
]]>
        <![CDATA[ギフトカードの場合は、くつのモデルは送り主の人がすでに決めてあるので、色や素材をカスタマイズします。<br />
カスタマイズしたくつは、年末年始挟んで４週間くらいで送られてきました。<br />
<br />
<a href="http://www.sorich.jp/blog/shimamura/2010/01/06/kako-4Gm3PIGijBc1A6QZ.jpg"><img alt="kako-LkNOS1Y45MYYWZHS.jpg" src="http://www.sorich.jp/blog/shimamura/2010/01/06/kako-4Gm3PIGijBc1A6QZ.jpg" width="100%" /></a><br />
※実物はもう少し発色がよいです。ぶたはついてきません。<br />
<br />
デザインのテンプレートがたくさんあるので、その中から好みに近いものを見つけてからカスタマイズを始めたのですが、小一時間いじった挙句に、そのテンプレートを超えることができなかったので、そのまま注文しちゃいました。<br />
とは言ってもかなりの数のテンプレートがありますし、後日見たらそのテンプレートが見当たらなかったので流れてしまったのかもしれません。一期一会ですね。素材のちがいをうまいこと組み合わせているなかなか素敵なデザインでした。<br />
同じモデルの色ちがいを作って、左右色ちがい履くのもおもしろいかなぁ、と思いました。<br />
<br />
<a href="http://nikeid.nike.com/nikeid/index.jsp?channel=JP_NIKEID&amp;country=jp&amp;language=ja">NIKEiD</a>
]]>
    </content>
</entry>

<entry>
    <title>[ssh]自宅から社内LAN上のWebサイトを閲覧する - 多重ポートフォワーディング編</title>
    <link rel="alternate" type="text/html" href="http://www.sorich.jp/blog/shimamura/2010/01/ssh-port-forward.html" />
    <id>tag:www.sorich.jp,2010:/blog/shimamura//19.576</id>

    <published>2010-01-04T05:53:01Z</published>
    <updated>2010-01-04T05:53:01Z</updated>

    <summary>自宅から会社のサーバーBのWebサイトを、ポートフォワーディングを使用して閲覧し...</summary>
    <author>
        <name>島村 純</name>
        <uri>http://www.sorich.jp/blog/shimamura</uri>
    </author>
    
        <category term="ssh" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="ja" xml:base="http://www.sorich.jp/blog/shimamura/">
        <![CDATA[自宅から会社のサーバーBのWebサイトを、ポートフォワーディングを使用して閲覧したいと思います。
<a href="http://www.sorich.jp/blog/shimamura/ssh/ssh_port_forward.png"><img alt="ssh_port_forward.png" src="http://www.sorich.jp/blog/shimamura/ssh/ssh_port_forward.png" width="100%" /></a>
<br />
サーバーA：社外からSSHアクセス可能<br />
サーバーB：社内からのみSSH・HTTPアクセス可能<br />
<br />]]>
        <![CDATA[ローカルマシンの10022番ポートをサーバーBの22番ポートへ転送します。
<pre><code class="console">$ ssh -A -f -N ユーザーA@ホストA [-p ポート] [-i SSH キー] -L 10022/ホストB/22</code></pre><meta charset="utf-8">
ローカルマシンの8080番ポートをサーバーBの80番ポートへ転送します。
<pre><code class="console">$ ssh -A -f -N ユーザB@localhost -p 10022 [-i SSH キー] -L 8080/localhost/80</code></pre><meta charset="utf-8">
※ローカルのポートはお好みで<br /><br />

ローカルマシンのブラウザで「http://localhost:8080/」にアクセスすれば、サーバーBのWebサイトが閲覧できます。<br />
<br />
参考<br />
<a href="http://d.hatena.ne.jp/kzhro/20090425/1240664383">Cygwinで多重のSSHポートフォワーディング - kzhroの日記</a><br />
<a href="http://www.unixuser.org/~euske/doc/openssh/man/ssh.html">SSH (1)</a>]]>
    </content>
</entry>

<entry>
    <title>[php]divブロックの入れ子をスマート？に出力する</title>
    <link rel="alternate" type="text/html" href="http://www.sorich.jp/blog/shimamura/2010/01/php-div-nest.html" />
    <id>tag:www.sorich.jp,2010:/blog/shimamura//19.604</id>

    <published>2010-01-04T05:48:23Z</published>
    <updated>2010-01-04T05:48:23Z</updated>

    <summary>PHPでdivブロックを入れ子にする場合は、array_chunkが便利です。 ...</summary>
    <author>
        <name>島村 純</name>
        <uri>http://www.sorich.jp/blog/shimamura</uri>
    </author>
    
        <category term="php" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="ja" xml:base="http://www.sorich.jp/blog/shimamura/">
        <![CDATA[PHPでdivブロックを入れ子にする場合は、<a href="http://www.php.net/manual/ja/function.array-chunk.php">array_chunk</a>が便利です。<br />
<br />]]>
        <![CDATA[例えば、次のようにdivブロックを入れ子にする場合、
<pre><textarea class="html" name="code"><div class="columns">
    <div class="column">
        <!-- データ -->
    </div>
    <div class="column">
        <!-- データ -->
    </div>
    ...
</div>

<div class="columns">
    <div class="column">
        <!-- データ -->
    </div>
    <div class="column">
        <!-- データ -->
    </div>
    ...
</div> 
...
</textarea></pre>

データの配列をそのままイテレートすると、次のような感じになるかなと思います。
<pre><textarea class="php" name="code"><?php
// データの配列
$columns = array($column1, $column2, $column3...);

$count = count($columns);
// 内側のdivブロックのカウンター
$j = 0;
for ($i = 0; $i < $count; $i++):
?>
<?php if ($j === 0): ?>
<div class="columns">
<?php endif; ?>

    <div class="column">
        <!-- データ -->
    </div>

<?php if ($j++ === 1 || $i === $count - 1): ?>
</div>
<?php $j = 0; endif; ?>

<?php endfor; ?>
</textarea></pre>データの配列をあらかじめ<a href="http://www.php.net/manual/ja/function.array-chunk.php">array_chunk</a>で分割しておくと、<meta charset="utf-8">次のようにif文を書かなくて済みます。
<pre><textarea class="php" name="code"><?php
// データの配列
$columns = array($column1, $column2, $column3...);

// 配列の分割
// 第2引数は内側のdivブロックの数
$columns = array_chunk($columns, 2);
?>
<?php foreach ($columns as $group): ?>

<div class="columns">

<?php foreach ($group as $column): ?>

    <div class="column">
        <!-- データ -->
    </div>

<?php endforeach; ?>

</div>

<?php endforeach; ?>
</textarea></pre>

って、わざわざ書くほどのことでもなかったりして。。]]>
    </content>
</entry>

<entry>
    <title>[hudson]リポジトリにコミットしたらビルドする</title>
    <link rel="alternate" type="text/html" href="http://www.sorich.jp/blog/shimamura/2009/09/hudson-svn-hook-build.html" />
    <id>tag:www.sorich.jp,2009:/blog/shimamura//19.575</id>

    <published>2009-09-20T14:04:40Z</published>
    <updated>2009-09-20T14:04:40Z</updated>

    <summary>Subversionのフック機能を使って、コミットが完了したら、Hudsonのビ...</summary>
    <author>
        <name>島村 純</name>
        <uri>http://www.sorich.jp/blog/shimamura</uri>
    </author>
    
        <category term="hudson" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="subversion" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="ja" xml:base="http://www.sorich.jp/blog/shimamura/">
        <![CDATA[Subversionのフック機能を使って、コミットが完了したら、HudsonのビルドURLにアクセスするようにしてみました。<br /><br /><br /> ]]>
        <![CDATA[hooks/post-commit
<pre><code class="default">REPOS="$1"
REV="$2"

wget -O /dev/null -q "http://YOURHOST/hudson/job/PROJECTNAME/build?delay=120sec"
</code></pre>
-O /dev/null を指定しないと、コミットしたユーザーのホームディレクトリーに取得内容(index.html)が保存されます。<br />
すぐビルドを開始すると、コミットが反映されていなかったので、delay=120sec でビルドを遅延させています。<br />きっと秒数は環境によって調整するのがよいかと思います。

<br /><br />あと、「post-commit」に実行権限をつけておくのをお忘れなく。
<pre><code class="console"># chmod +x hooks/post-commit
</code></pre>
<br /><br /><a href="https://hudson.dev.java.net/build.html">Hudsonでのプロジェクトのビルド方法</a><br /><a href="http://www.thinkit.co.jp/cert/article/0611/2/3/2.htm">[ThinkIT] 第3回：Subversionによるバージョン管理（後編） (2/3)</a><br /><a href="http://tech.bayashi.net/svr/doc/wget.html">wget の使い方</a><br />]]>
    </content>
</entry>

<entry>
    <title>[hudson][ubuntu]JettyでHudsonを動かす</title>
    <link rel="alternate" type="text/html" href="http://www.sorich.jp/blog/shimamura/2009/09/hudson-ubuntu-jetty.html" />
    <id>tag:www.sorich.jp,2009:/blog/shimamura//19.570</id>

    <published>2009-09-18T15:41:57Z</published>
    <updated>2009-09-18T15:41:57Z</updated>

    <summary>Hudsonが便利そうなので、Ubuntuにインストールして使ってみたいと思いま...</summary>
    <author>
        <name>島村 純</name>
        <uri>http://www.sorich.jp/blog/shimamura</uri>
    </author>
    
        <category term="hudson" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="ubuntu" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="ja" xml:base="http://www.sorich.jp/blog/shimamura/">
        <![CDATA[<a href="http://wiki.hudson-ci.org/display/HUDSON/Home">Hudson</a>が便利そうなので、Ubuntuにインストールして使ってみたいと思います。<br />Webサーバーは、Jettyを使うことにします。<br />Hudsonのバージョンは、1.323です。<br /><br /><br />]]>
        <![CDATA[SunのJavaと、Jettyをインストールします。
<pre><code class="console">root@ubuntu:~# aptitude install sun-java5-bin jetty
</code></pre>

Javaのバージョンを確認します。
<pre><code class="console">root@ubuntu:~# java -version
java version "1.6.0_0"
IcedTea6 1.3.1 (6b12-0ubuntu6.5) Runtime Environment (build 1.6.0_0-b12)
OpenJDK Client VM (build 1.6.0_0-b12, mixed mode, sharing)
</code></pre>

デフォルトがSunでない場合は、設定を変更します。
<pre><code class="console">root@ubuntu:~# update-alternatives --config java

`java' を提供する 2 個の alternatives があります。

  選択肢       alternative
-----------------------------------------------
          1    /usr/lib/jvm/java-1.5.0-sun/jre/bin/java
*+        2    /usr/lib/jvm/java-6-openjdk/jre/bin/java

デフォルト[*] のままにするには Enter、さもなければ選択肢の番号のキーを押してください: 1
Using '/usr/lib/jvm/java-1.5.0-sun/jre/bin/java' to provide 'java'.
</code></pre>

もう一度確認します。変わりました。
<pre><code class="console">root@ubuntu:~# java -version
java version "1.5.0_16"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_16-b02)
Java HotSpot(TM) Client VM (build 1.5.0_16-b02, mixed mode, sharing)
</code></pre>

Hudsonをダウンロードします。
<pre><code class="console">root@ubuntu:~# cd /usr/share/jetty/webapps
root@ubuntu:/usr/share/jetty/webapps# wget http://hudson.gotdns.com/latest/hudson.war
</code></pre>

今の段階でJettyを起動して、http://hostname:8280/hudson/にアクセスすると、パーミッションの問題で、JettyのホームディレクトリにHUDSON_HOMEディレクトリが作成できません。
<pre><code class="default">Unable to create the home directory '/usr/share/jetty/.hudson'. This is most likely a permission problem. 
</code></pre>
<a href="http://wiki.hudson-ci.org/display/HUDSON/Jetty">HUDSON_HOMEを変更する方法</a>もありますが、Jettyのホームディレクトリに、.m2ディレクトリ(Maven２と連携する場合)が作られる際に同じくパーミッションの問題が発生したり、.subversionディレクトリ(Subversionと連携する場合)ができたりするので、思い切って？ホームディレクトリを変更してみようかと思います。<br /><br />

Jettyの新しいホームディレクトリを作成します。<br />※ホームディレクトリのパスは適当に読み替えてください。
<pre><code class="console">root@ubuntu:~# mkdir /home/jetty
</code></pre>
新しいホームディレクトリのオーナーを変更します。
<pre><code class="console">root@ubuntu:~# chown jetty:nogroup /home/jetty
</code></pre>
Jettyのホームディレクトリを変更します。
<pre><code class="console">root@ubuntu:~# usermod -d /home/jetty jetty
</code></pre>
Jettyを起動します。
<pre><code class="console">root@ubuntu:~# service jetty start
</code></pre>
http://hostname:8280/hudson/にアクセスして、「Hudsonへようこそ！ ．．．」と表示されれば成功です。]]>
    </content>
</entry>

<entry>
    <title>[eclipse][mac]Pleiades All in OneのMac版を作る２</title>
    <link rel="alternate" type="text/html" href="http://www.sorich.jp/blog/shimamura/2009/09/eclipse-mac-pleiades.html" />
    <id>tag:www.sorich.jp,2009:/blog/shimamura//19.567</id>

    <published>2009-09-11T02:20:25Z</published>
    <updated>2010-06-10T02:42:28Z</updated>

    <summary>Eclipse 3.5 Galileo Pleiades All in Oneを...</summary>
    <author>
        <name>島村 純</name>
        <uri>http://www.sorich.jp/blog/shimamura</uri>
    </author>
    
        <category term="eclipse" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="mac" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="ja" xml:base="http://www.sorich.jp/blog/shimamura/">
        <![CDATA[Eclipse 3.5 Galileo Pleiades All in OneをMacで再現してみました。<br />
<br />]]>
        <![CDATA[以前3.4の移植作業をした時は、dropinsディレクトリー以外のものは、アップデートサイトからインストールしていたのですが、意外に面倒くさくて。。<br />
なので、今回はかなり横着しちゃいました。<br />
<br />
1.まずは<a href="http://mergedoc.sourceforge.jp/">Eclipse 3.5 Galileo Pleiades All in One</a>と<a href="http://www.eclipse.org/downloads/">Mac用のEclipse</a>を用意します。<br />
ちなみに今回はPleiades All in One　Java(JREなし)から、Eclipse IDE for Java Developers(Mac Cocoa 32bit)へ移植しました。<br />
<br />
2.dropinsディレクトリーの中身をコピーします。<br />
<br />
3.featuresディレクトリーの中身をコピーします。<br />
※ディレクトリーごと置き換えではなく中身をマージです。たしか同名のファイルは上書きしたような。<br />
<br />
4.pluginsディレクトリーの中身をコピーします。<br />
※ディレクトリーごと置き換えではなく、中身をマージです。たしか同名のファイルは上書きしたような。<br />
<br />

5.Eclipse.app/Contents/MacOS/eclipse.iniを編集して、Pleiadesを有効にします。
<pre><code class="default">-startup
../../../plugins/org.eclipse.equinox.launcher_1.0.200.v20090520.jar
--launcher.library
../../../plugins/org.eclipse.equinox.launcher.cocoa.macosx_1.0.0.v20090519
-product
org.eclipse.epp.package.java.product
--launcher.XXMaxPermSize
256m
-vmargs
-Dosgi.requiredJavaVersion=1.5
-XstartOnFirstThread
-Dorg.eclipse.swt.internal.carbon.smallFonts
-XX:MaxPermSize=256m
-Xms128m
-Xmx512m
-Xdock:icon=../Resources/Eclipse.icns
-javaagent:../../../dropins/MergeDoc/eclipse/plugins/jp.sourceforge.mergedoc.pleiades/pleiades.jar=no.mnemonic
</code></pre>
※-startup と --launcher.library のパスはダウンロードしたバージョンによって異なりますのでご注意を
<br />
<pre><code class="default">-showsplash
org.eclipse.platform
</code></pre>
の部分を消したのですが、起動時の画像がEclipseのデフォルトのままで、Pleiadesの画像が表示されません。。<br />
何気にPleiadesの起動時の画像きれいなんで、毎年楽しみにしているんですよね。<br />
なので、なんとしてもPleiadesの画像を表示させたい場合は、plugins/org.eclipse.platform_3.3.200.v200906111540/splash.bmpをdropins/MergeDoc/eclipse/splash.bmpで置き換えてしまえば、OKです。<br />
<br />こんな感じで今のところは問題なく動作しています。]]>
    </content>
</entry>

<entry>
    <title>[maven2]Cargo Maven2 Pluginで起動中のTomcatにリモートアクセスでデプロイする</title>
    <link rel="alternate" type="text/html" href="http://www.sorich.jp/blog/shimamura/2009/09/cargo-maven2-plugin.html" />
    <id>tag:www.sorich.jp,2009:/blog/shimamura//19.571</id>

    <published>2009-09-09T11:21:31Z</published>
    <updated>2009-09-09T11:21:31Z</updated>

    <summary>使用しているCargo - Maven2 pluginのバージョンは、1.0.1...</summary>
    <author>
        <name>島村 純</name>
        <uri>http://www.sorich.jp/blog/shimamura</uri>
    </author>
    
        <category term="maven2" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="ja" xml:base="http://www.sorich.jp/blog/shimamura/">
        <![CDATA[使用している<a href="http://cargo.codehaus.org/Maven2+plugin">Cargo - Maven2 plugin</a>のバージョンは、1.0.1-alpha-1です。
<br /><br />Tomcatは、Tomcat Webアプリケーションマネージャ(http://ホスト名:8080/manager/html)にアクセスできるように設定しておきましょう。<br /><a href="http://www.ncad.co.jp/blog/tech/2009/05/tomcatmanager.html">備忘録：TomcatのManagerアプリケーションのユーザ設定 - araiBlog</a><br /><br /><br />
]]>
        <![CDATA[■Tomcatへリモートアクセスでデプロイする設定です。<pre><textarea name="code" class="xml">  &lt;build&gt;
    &lt;plugins&gt;
      &lt;plugin&gt;
        &lt;groupId&gt;org.codehaus.cargo&lt;/groupId&gt;
        &lt;artifactId&gt;cargo-maven2-plugin&lt;/artifactId&gt;
        &lt;configuration&gt;
          &lt;configuration&gt;
            &lt;properties&gt;
              &lt;cargo.hostname&gt;ホスト名&lt;/cargo.hostname&gt;
              &lt;cargo.remote.username&gt;ユーザー名&lt;/cargo.remote.username&gt;
              &lt;cargo.remote.password&gt;パスワード&lt;/cargo.remote.password&gt;
              &lt;cargo.servlet.port&gt;ポート&lt;/cargo.servlet.port&gt;
            &lt;/properties&gt;
            &lt;type&gt;runtime&lt;/type&gt;
          &lt;/configuration&gt;
          &lt;container&gt;
            &lt;containerId&gt;tomcat5x&lt;/containerId&gt;
            &lt;type&gt;remote&lt;/type&gt;
          &lt;/container&gt;
          &lt;deployer&gt;
            &lt;deployables&gt;
              &lt;deployable&gt;
                &lt;groupId&gt;グループID&lt;/groupId&gt;
                &lt;artifactId&gt;アーティファクトID&lt;/artifactId&gt;
                &lt;type&gt;war&lt;/type&gt;
                &lt;properties&gt;
                  &lt;!-- contextを指定しない場合は、warのファイル名がコンテキストになります --&gt;
                  &lt;context&gt;コンテキスト名&lt;/context&gt;
                &lt;/properties&gt;
              &lt;/deployable&gt;
            &lt;/deployables&gt;
          &lt;/deployer&gt;
        &lt;/configuration&gt;
      &lt;/plugin&gt;
    &lt;/plugins&gt;
  &lt;/build&gt;
</textarea></pre>
実行します。
<pre><code class="console">mvn clean package cargo:deploy
</code></pre>

<br /><br />
■特定のプロファイル指定時に、リモートアクセスでTomcatへデプロイする設定です。<br />
<pre><textarea name="code" class="xml">&lt;build&gt;
  &lt;profiles&gt;
    &lt;profile&gt;
      &lt;id&gt;test&lt;/id&gt;
      &lt;build&gt;
        &lt;plugins&gt;
          &lt;plugin&gt;
            &lt;groupId&gt;org.codehaus.cargo&lt;/groupId&gt;
            &lt;artifactId&gt;cargo-maven2-plugin&lt;/artifactId&gt;
            &lt;configuration&gt;
              &lt;configuration&gt;
                &lt;properties&gt;
                  &lt;cargo.hostname&gt;ホスト名&lt;/cargo.hostname&gt;
                  &lt;cargo.remote.username&gt;ユーザー名&lt;/cargo.remote.username&gt;
                  &lt;cargo.remote.password&gt;パスワード&lt;/cargo.remote.password&gt;
                  &lt;cargo.servlet.port&gt;ポート&lt;/cargo.servlet.port&gt;
                &lt;/properties&gt;
                &lt;type&gt;runtime&lt;/type&gt;
              &lt;/configuration&gt;
              &lt;container&gt;
                &lt;containerId&gt;tomcat5x&lt;/containerId&gt;
                &lt;type&gt;remote&lt;/type&gt;
              &lt;/container&gt;
              &lt;deployer&gt;
                &lt;deployables&gt;
                  &lt;deployable&gt;
                    &lt;groupId&gt;グループID&lt;/groupId&gt;
                    &lt;artifactId&gt;アーティファクトID&lt;/artifactId&gt;
                    &lt;type&gt;war&lt;/type&gt;
                    &lt;properties&gt;
                      &lt;context&gt;コンテキスト名&lt;/context&gt;
                    &lt;/properties&gt;
                  &lt;/deployable&gt;
                &lt;/deployables&gt;
              &lt;/deployer&gt;
            &lt;/configuration&gt;
            &lt;executions&gt;
              &lt;!-- すでにアプリケーションが存在する場合、エラーになってしまうので、まずはundeployしています --&gt;
              &lt;execution&gt;
                &lt;id&gt;test-undeploy&lt;/id&gt;
                &lt;phase&gt;package&lt;/phase&gt;
                &lt;goals&gt;
                  &lt;goal&gt;undeploy&lt;/goal&gt;
                &lt;/goals&gt;
              &lt;/execution&gt;
              &lt;execution&gt;
                &lt;id&gt;test-deploy&lt;/id&gt;
                &lt;phase&gt;package&lt;/phase&gt;
                &lt;goals&gt;
                  &lt;goal&gt;deploy&lt;/goal&gt;
                &lt;/goals&gt;
              &lt;/execution&gt;
            &lt;/executions&gt;
          &lt;/plugin&gt;
        &lt;/plugins&gt;
      &lt;/build&gt;
    &lt;/profile&gt;
  &lt;/profiles&gt;
&lt;/build&gt;
</textarea></pre>

プロファイルを指定して実行します。
<pre><code class="console">mvn clean package -Ptest
</code></pre>


]]>
    </content>
</entry>

<entry>
    <title>[eclipse]YAMLエディター</title>
    <link rel="alternate" type="text/html" href="http://www.sorich.jp/blog/shimamura/2009/09/eclipse-yaml.html" />
    <id>tag:www.sorich.jp,2009:/blog/shimamura//19.569</id>

    <published>2009-09-07T11:50:11Z</published>
    <updated>2009-09-07T11:50:11Z</updated>

    <summary>カラフルな方がYAMLが楽しいので、EclipseにYAMLのプラグインを入れて...</summary>
    <author>
        <name>島村 純</name>
        <uri>http://www.sorich.jp/blog/shimamura</uri>
    </author>
    
        <category term="eclipse" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="ja" xml:base="http://www.sorich.jp/blog/shimamura/">
        <![CDATA[カラフルな方がYAMLが楽しいので、EclipseにYAMLのプラグインを入れてみました。<br />試してみたのは、次の２つです。<br /><br /> ]]>
        <![CDATA[・<a href="http://code.google.com/p/yamleditor/">yamleditor - Project Hosting on Google Code</a><br />・<a href="http://code.google.com/p/yedit/">yedit - Project Hosting on Google Code</a><br /><br />YAMLEditorは、シックな色づかいでYAMLを表示してくれます。<br />設定などは変更できないようです。<br /><br />YEditは、もう少しポップな色づかいでYAMLを表示してくれます。<br />こちらは設定で、色の変更や、テンプレートを登録して、ｃｔｒｌ + スペース でコード補完が使えたりします。<br />アウトラインを表示してくれたりもします。<br /><a href="http://code.google.com/p/yedit/wiki/Screenshots">スクリーンショット</a><br />ｃｔｒｌ + / で、まとめてコメントアウトできるのもよい感じです。<br /><br />YEditはバージョン番号もまだ若いので、今後ますます便利になってゆくかもしれませんねー。<br />]]>
    </content>
</entry>

<entry>
    <title>[tomcat]Contextコンテナを相対パスで記述する２</title>
    <link rel="alternate" type="text/html" href="http://www.sorich.jp/blog/shimamura/2009/09/tomcat-context-relative.html" />
    <id>tag:www.sorich.jp,2009:/blog/shimamura//19.565</id>

    <published>2009-09-03T03:45:16Z</published>
    <updated>2009-09-03T03:54:16Z</updated>

    <summary> [tomcat]Contextコンテナを相対パスで記述するに書いたように、以前...</summary>
    <author>
        <name>島村 純</name>
        <uri>http://www.sorich.jp/blog/shimamura</uri>
    </author>
    
        <category term="tomcat" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="ja" xml:base="http://www.sorich.jp/blog/shimamura/">
        <![CDATA[<a href="http://www.sorich.jp/blog/shimamura/2008/07/tomcat-context.html"> [tomcat]Contextコンテナを相対パスで記述する</a>に書いたように、以前はdocBaseをappBaseからの相対パスで書いましたが、新たに構築した開発環境では、そのように設定したら何の因果かわかりませんが、「以前のエラーのためにコンテキストの起動が失敗しました」になってしまいました。<br /><br />]]>
        <![CDATA[■docBaseをappBaseからの相対パスで書いた場合の例
<pre><textarea class="xml" name="code">&lt;Context path="/hoge" reloadable="false" docBase="../../foo/bar/src/main/webapp" workDir="../foo/bar/work" &gt;
	&lt;Logger className="org.apache.catalina.logger.SystemOutLogger" verbosity="4" timestamp="true"/&gt;
	&lt;Loader className="org.apache.catalina.loader.DevLoader" reloadable="true" debug="1" useSystemClassLoaderAsParent="false" /&gt;
&lt;/Context&gt;
</textarea></pre>
今回構築した開発環境では「以前のエラーのためにコンテキストの起動が失敗しました」になってしまいました。
docBaseが見つからないと、Tomcatがエラーメッセージを出してくれますが、その旨のメッセージは出ないので、相対パスはあっているようなのですが。。

<br /><br />■docBaseを${catalina.home}を使用して相対パスで書いた場合の例
<pre><textarea class="xml" name="code">&lt;Context path="/hoge" reloadable="false" docBase="${catalina.home}/../foo/bar/src/main/webapp" workDir="../foo/bar/work" &gt;
	&lt;Logger className="org.apache.catalina.logger.SystemOutLogger" verbosity="4" timestamp="true"/&gt;
	&lt;Loader className="org.apache.catalina.loader.DevLoader" reloadable="true" debug="1" useSystemClassLoaderAsParent="false" /&gt;
&lt;/Context&gt;
</textarea></pre>
これだとうまくいきました。<br />
appBaseからの相対パスでうまくいかない方は、${catalina.home}を試してみるとよいかもしれません。]]>
    </content>
</entry>

</feed>
