MASUDAQ Blog

NO DEVELOPMENT NO LIFE.

Apache CGI を有効にする

Apahce 名前ベースのヴァーチャルホスト (name-based virtual hosting)に引き続き、Apache で CGI を有効にする方法を紹介する。 [root@centkun ~]# vi /etc/httpd/conf/httpd.conf 拡張子とハンドラーを関連付ける。 (before) #AddHandler cgi-script .cgi (after) AddHandler cgi-script .cgi CGI スクリプトの実行を許可する。以下の設定は、すべてのディレクトリ "/" 以下に CGI スクリプトの実行を許可している。 (before) <Directory />     Options FollowSymLinks     AllowOverr... 続きを読む

Apahce 名前ベースのヴァーチャルホスト (name-based virtual hosting)

Apache HTTP Server のヴァーチャルホスト機能の構成方法について説明する。 ヴァーチャルホスト機能の構成方法とは、IIS でいうところのホストヘッダーに該当する。 つまり、単一環境に、IP や ポートの違いで 、複数の Web サーバーを構築するのではなく、ホスト名の違いによって、複数の Web サーバーを構築する。 単一環境で、「http://dot-net.masudaq.com」、「http://java.masudaq.com」のアドレスの違いで、全く別のコンテンツをホストできる。もちろん、共存するホスト名は、それぞれがサブドメインである必要もなく、全く別の異なるホスト名もよい。 Apache HTTP Server のヴァーチャルホスト機能には、他にもいろいろなことができるが、今回は、この「名前ベースのヴァーチャルホスト (name-based virtual hosting) 」の構成方法について説明... 続きを読む

Linux 統合サービス v2.1 の評価 IDE HDD 編

Linux Integration Services Version 2.1 for Microsoft Hyper-V の IDE ハードディスクサポートの評価情報を紹介する。 まずは、Linux 統合サービス v2.1 インストール前のハードディスクの情報を収集する。 以下は、ブートログの抜粋。 ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx  PIIX4: IDE controller at PCI slot 0000:00:07.1  PIIX4: chipset revision 1  PIIX4: not 100% native mode: will probe irqs later    ide0: BM-DMA at 0xffa0-0xffa7, BIOS settings: hda... 続きを読む

Your system DOES NOT support the timesource driver

Linux 統合サービス v2.1 のインストールモジュールをメイク時に以下のメッセージが表示されることがある。 "Your system DOES NOT support the timesource driver" これは、Red Hat Enterprise Linux 5 x64 系統の Linux OS で発生する。 Linux 統合サービス v2.1(Linux Integration Services Version 2.1 for Microsoft Hyper-V) の制限事項として、ゲスト OS を Red Hat Enterprise Linux 5 x64 とした場合、"Pluggable Time Source component" がサポートされないということが原因。 Red Hat Enterprise Linux 5 x86 系統の Li... 続きを読む

Linux 統合サービス バージョンの確認方法

先日リリースされた、Linux 統合サービス v2.1 では、新たに "modinfo" コマンドに対応し、インストールされている統合サービスモジュールのバージョンが確認できるようになった。 まず、インストールされている Linux カーネル モジュールの一覧を表示する。 [root@centkun ~]# lsmod | grep vsc blkvsc 70184 3 storvsc 64264 0 netvsc 73504 0 vmbus 88304 3 blkvsc,storvsc,netvsc scsi_mod 196953 5 scsi_dh,blkvsc,storvsc,libata,sd_mod Linux 統合サービス v2.1 の カーネル モジュール ... 続きを読む

Linux 統合サービス v2.1 アップグレード

前回の記事では、Linux 統合サービス v2.1 の新規インストール方法を紹介した。 では、すでに Linux 統合サービス v2.0 がインストールされている環境において、 Linux 統合サービス v2.1 へアップグレードするにはどうしたらよいか。 方法は... 続きを読む

Linux 統合サービス kernel-devel のバージョン

前回の記事にあるように Linux 統合サービスをインストールする際には、カーネルのバージョンと kernel-devel のバージョンを完全に一致させる必要がある。 これは、Linux 統合サービスの Makefile を参照するとわかるのだが、参照ライブラリのパスに "uname -r" コマンドが使用されることにある。 また、当方の CentOS 環境では、最新の kernel-devel をインストールしてもシンボリックリンクの参照先が間違っており、make に失敗していた。 [root@centkun ~]# ls -l /lib/modules/2.6.18-194.el15/build /lib/modules/2.6.18-194.el15/build -> /usr/src/kernels/2.6.18-194.el15-x86_64 (*) この場合、存在し... 続きを読む

Linux 統合サービス v2.1 インストール

つい先日、Linux 統合サービス v2.1 がリリースされた。 以降では、"Linux Integration Services v2.1 for Windows Server 2008 Hyper-V R2" のインストール手順を紹介する。 (*) この記事では、過去の Linux サービスがインストールされていない環境への新規インストールを対象としている。 まず、以下のサイトより、"Linux Integration Services v2.1 for Microsoft Hyper-V.EXE" をダウンロードする。 Linux Integration Services v2.1 for Windows Server 2008 Hyper-V R2 "Linux Integration Serv... 続きを読む

Tomcat Server Adapter のインストール

"Eclipse IDE for Java EE Developers" では、以下のようにいくつかの Server Adapter がインストールされている。 しかし、前回説明した Eclipse Classic 3.6.0 に WTP を手動でインストールする方法では、Server Adapter がインストールされない。 さらには、[Download additional server adapters] リンクから、Apache Tomcat の Server Adapter を入手することもできない。 そこで、Eclipse Helios のリポジトリから、Apache Tomcat の Server Adapter をインストールする方法を説明する。 Eclipse を起動し、[Help] -> [Install... 続きを読む

Eclipse Helios への WTP インストール方法

前回の記事では、 Eclipse Helios のインストール方法を紹介した。 今回は、Eclipse Helios に "WTP(The Eclipse Web Tools Platform)" を手動でインストールする方法を紹介する。 以下の手順は、"Eclipse Classic 3.6.0" が既にインストールされていることを前提条件とする。 ("Eclipse IDE for Java EE Developers" をインストールしている場合は、WTP は同パッケージに含まれているため追加でインストールする必要はない。一般的には、"Eclipse IDE for Java EE Developers" を利用することが推奨されている。) The Eclipse Web To... 続きを読む

Windows 7 x64 への Eclipse Helios のインストール

以前の記事では、Windows 7 x64 へ Eclipse Galileo(3.5.x) のインストール方法を紹介した。 今回は、Windows 7 x64 へ Eclipse Helios(3.6.x) のインストール方法を紹介する。 イントールの前に以下の前提条件を満たしていることを確認する。 64bit 版 JVM(64-bit JVM) がインストールされていること Java VM version 1.6.0_21 がインストールされていないこと 1 については、過去の記事を参照し、64bit 版 JVM をインストールする。 2 については、Java VM version 1.6.0_20 にインストールし直す。( もしくは、Eclipse インストール後に "eclipse.exe" と同フォル... 続きを読む

Windows Server 2008 R2 で ping を通す

Windows Server 2008 R2 では、"セキュリティが強化された Windows ファイアウォール" により ICMP がフィルタされているため、外部からの ping 要求に応答しない。 ping に応答させたい OS 上で、[スタート] -> [管理ツール] -> [セキュリティが強化された Windows ファイアウォール] より、[セキュリティが強化された Windows ファイアウォール] スナップインを起動する。 [ローカル コンピュータ のセキュリティが強化された Windows ファイアウォール] -> [受信の規則] のリストから、[ファイルとプリンタの共有 (エコー要求 - ICMPv4受信)] を選択し、右クリックメニューから [プロパティ] を選択する。 [全般] タブから、[有効] にチェックを入れ [OK] より設定を有効化する。 ... 続きを読む

Windows 7 自動ログオンの設定

UMPC は、ローカルストレージに機密情報、個人情報が含まれないように構成することにより、シンクライアントとして利用されることがある。 このようなシンクライアントでは、OS 起動時にローカルの OS にログオンし、さらに、VPN なり、インターネット経由でサー側の仮想クライアント OS にログオンする。 ローカルには、何の情報も保持していないのであれば、ログオンを二度するのは煩雑だ。 (*) ローカル PC にモバイルネットワークのプロファイル、リモートサーバーのログイン ID 及びパスワードを保持している場合は、盗難による脅威にさらされるため、以降の手順は実施するべきではない。 そこで、今回は、Windows 7 で OS の起動時に任意のアカウントで自動ログオンする方法を説明する。 (*) "管理者" 権限のあるユーザーを自動ログオンに設定... 続きを読む

MX レコードの確認方法

Windows の nslookup コマンドに -type オプションを指定すると、任意のレコードを確認することができる。 以下は、"example.com" ドメインの MX レコードの確認方法。 >nslookup -type=MX example.com サーバー: dns01.masudaq.village Address: 192.168.1.222 example.com     primary name server = dns1.icann.org     responsible mail addr = hostmaster.icann.org     serial = 2009100600 ... 続きを読む

Windows 7 telnet クライアントの有効化

Linux 等では、多用される telnet クライアント (telnet コマンド) は、Windows 7 では、デフォルトではインストールされていない。 [スタート] -> [コントロール パネル] -> [プログラム] -> [Windows... 続きを読む

Hyper-V Linux 統合サービスでマウスキャプチャを有効にする

前回の記事では、Hyper-V の仮想マシンに Linux (CentOS 5.4) をインストールし、Linux 統合サービス (Linux Integration Components for Windows Server 2008 Hyper-V R2 - 日本語) をインストールする手順を紹介した。 ただし、Windows 系の 統合サービスとは異なり、Linux 統合サービスを仮想マシンにインストールしても、ホストマシン - 仮想マシン間で、シームレスにマウスの自動切り替えが行えない。 仮想マシンにマウスがキャプチャされると、[Ctrl]+[Alt]+[<-] キーで、ホストマシンにマウスがリリースする必要がある。 また、リモートデスクトップで、ホストマシンにアクセスすると、マウスのキャプチャさえされない。これは、GUI に慣れたユーザーにとっては、非常に不便な点だ。 ... 続きを読む

Linux su コマンドで root ユーザーに切り替える際の注意

"su" コマンドだけでは、/sbin 以下のコマンドへのパスが通らないことがあるので、"-"(ハイフン) をオプションにして "su" コマンドを実行する。 Linux OS の "su" コマンドで root にログインすると、"/sbin" ディレクトリが $PATH に追加されていないことがある(CentOS 5.4 で再現)。 このような場合は、"-"(ハイフン) をオプションにして "su" コマンドを実行する。 [nekohamawalker@centkun ~]# su - パスワード: [root@centkun]# /sbin のコマンドが実行できる。 ... 続きを読む

CentOS x64 に Hyper-V Linux 統合サービスをインストール

前回の記事では、Hyper-V に CentOS x64 をインストールする方法を紹介した。 前回の記事では、レガシ ネットワークアダプターを使用し、ネットワークのセットアップを行った。今回の記事では、ネットワークが高速になる "synthetic network controller" をセットアップする方法を紹介する。Linux は、CentOS 5.4 x64 を利用した。 以下のサイトより、"Linux_IC_v2.EXE" をダウンロードする。 Linux Integration Components for Windows Server 2008 Hyper-V R2 - 日本語 "Linux_IC_v2.EXE" を実行し、"LinuxIC v2.iso" を抽出し、ホ... 続きを読む

Apache リバースプロキシで文字化けする

Apache リバースプロキシを導入した際に文字化けが発生する場合の対処方法について紹介する。 開発用サーバーでは、文字化けが発生することはなかったが、運用サーバーで Apache リバースプロキシを経由した場合に文字化けが発生することがある。 これは、Apache リバースプロキシの文字コードとコンテンツの文字コードが異なる場合に発生する。 デフォルトでは、Apache 構成ファイル "httpd.conf" の "AddDefaultCharset" ディレクティブが "UTF-8" に設定されている。 # # Specify a default charset for all content served; this enables # interpretation of all conte... 続きを読む

CentOS ポート開放 ファイアウォールの設定

CentOS では、インストール時にファイアウォールで許可するサービスを指定できる。ここでは、インストール後にファイアウォールのポートを開放する方法を説明する。 "/etc/sysconfig/iptables" を直接編集してもよいが、ここでは、"system-config-securitylevel" ユーティリティーを利用する。 "system-config-securitylevel" ユーティリティーは、TeraTerm 等のターミナルからも起動できるため非常に便利である。 >su >system-config-securitylevel [カスタマイズ] -> [受信を許可] で、"SSH"、"Telnet"、"FTP"、"WWW... 続きを読む

Hyper-V に CentOS x64 をインストールする

前回は、Hyper-V に CentOS 5.4 x86 をインストールする方法を紹介した。この記事では、Hyper-V に CentOS 5.4 x64 のインストール方法について説明する。 また、前回の記事では、インストール時に、ネットワークアダプタが認識されなかったが、こちらに紹介している方法では、インストール時にネットワークアダプタが認識され、ネットワーク経由で "yum" を実行することができる。 http://centos.org/ へアクセスする。[Downloads] -> [CentOS-5 ISOs] -> [x86_64/] -> [http://ftp.jaist.ac.jp/pub/Linux/CentOS/5.4/isos/x86_64/](任意のサイト)より、"CentOS-5.4-x86_64-bin-DVD.iso" ... 続きを読む

Windows 7 DHCP で IP 取得できない ことはない

前回、Windows 7 でルーター (DHCP サーバー) から IP アドレスが取得できない現象を紹介した。 しかし、これが間違いであることが分かった。 その経緯は、ルーターを工場出荷時の状態に初期化したら、Windows 7 でも IP アドレスが取得できた。 Windows Update の更新プログラムで修正された障害とも考えたが、先ほど、Windows 7 をインストールして、Windows Update を実行せず、IP アドレスの取得に成功した。しかも、NIC は、無線。 ただ、前回も紹介したが、Windows Vista では、DHCP サーバー から IP アドレスの取得に失敗するようだ。 Windows Vista で特定のルーターやマイクロソフト製以外の特定の DHCP サーバーから IP アドレスを取得できない ... 続きを読む

Windows Server 2008 R2 IE 8 Windows Live サインイン 補足

前回は、以下の URL を信頼済サイトに追加すると Windows Live サインインができると述べたが、IE 8 のプロセスが生きている場合は、スクリプトエラーが発生して、ログインに失敗する。 IE 8 のプロセスをすべて終了してから、Windows Live サインインを行うとログインに成功する。 これでは、不便なので、以下の URL を信頼済サイトに追加することにより問題を解決した。 1."http://*.live.com" 2."http://*.wlxrs.com/" 3. "https://*.live.com" 前回の記事で信頼済サイトに追加した "http://login.live.com"、"https://login... 続きを読む

Windows Server 2008 R2 の IE 8 で、Windows Live サインイン

前回の Windows Live  サインイン版の紹介。 "Windwos Live" のログオンを Windows Server 2008 R2 の IE 8 デフォルト設定で実行すると、以下のようなメッセージが表示される。 サインインするには JavaScript が必要です Windows Live ID では、サインインするために JavaScript が必要です。このブラウザーでは JavaScript をサポートしていないか、現在スクリプトの使用が禁止されています。 お使いのブラウザーが JavaScript をサポートしているかどうかや、スクリプトの使用を許可する方法については、ブラウザーのヘルプを参照してください。 ここで、"http://login.live.co... 続きを読む

Windows Server 2008 IE のスクリプトエラー

Windows Server 2008 等のサーバー OS 上で IE 等のブラウザを利用する機会はほとんどない(セキュリティの観点から、サーバー OS 上でのインターネット閲覧は、控えた方がよい。)。 ただ、時として、ドライバをダウンロードするために、インターネットサイトへアクセスすることもある。 その時に、アクセス先のサイトを "信頼済みサイト" に設定していてもブラウザの左下にスクリプトエラーのアイコンが表示され、画面が崩れて表示されたり、まったくページが表示されないことがある。 これは、"信頼済みサイト" に設定されたサイト外から、スクリプトを読み込むように作成されたページで発生する可能性が多い。 事実、Windows Server 2008 R2 のデフォルト設定の IE で、"http://www.microsoft.com" ... 続きを読む

DateTime の ToString で曜日、月を英語表示させる

.NET では、カレントのカルチャで文字列がフォーマットされるため。以下のようにコーディングした場合は、カレントのカルチャである日本語で文字列が出力される。 string formatString = "ddd, dd MMM yyyy HH':'mm':'ss 'GMT'"; DateTime n = DateTime.Now; System.Console.WriteLine(n.ToString(formatString)); 上記のコードでの出力文字列は以下のようになる。 水, 31 3 2010 03:40:00 GMT これを英語表記に変更する場合は、ToString メソッドのオーバーロードメソッドの第二引数に、フォーマットの元となるカルチャ ("en-US") を指定す... 続きを読む

Windows から、CentOS 5.4 への VNC 接続 - 補足 -

Windows から、CentOS 5.4 への VNC 接続 の補足。 CentOS の起動時に VNC サーバーが自動的に起動するように設定する。 ... 続きを読む

Windows Server 2008 R2 64 bit 版 IIS 7 と Tomcat 6 の連携

Windows Server 2008 R2 64 bit 版 IIS 7 と Tomcat 6 の連携 Windows Server 2008 R2 64 bit 版 の IIS 7 を Web サーバー、Tomcat 6 をアプリケーションサーバーにする方法を紹介する。 今回のケースでは、IIS と Tomcat は、物理的に別のサーバーで、クライアントからの HTTP アクセスを IIS が着信し、IIS から、Tomcat へ要求を AJP(Apache Jserv Protocol) でリダイレクトする。比較的一般的な Apache HTTP Server を Web サーバーとする構成ではなく、IIS を Web サーバーとする。 Tomcat では、"Tomcat Connector" という名称で、様々な Web サーバーとの連携を実現する Web ... 続きを読む

CentOS 5.4 で、Apahce と Tomcat 6 の連携

CentOS 5.4 で、Apache を Web サーバー、Tomcat 6 をアプリケーションサーバーにする 前回は、Tomcat をデーモンとして、システム起動時に Tomcat が自動起動するように設定した。本記事の趣旨としては、開発環境ではなく、運用環境を目的としている。 Tomcat には、簡易的な Web サーバーが搭載されていて、デフォルトでは、http://localhost:8080/ でアクセスが可能だ。もちろん、この簡易 Web サーバーを運用環境としても利用してもよいが、あくまで簡易的な Web サーバーなので、一般的な Web サーバーで利用可能な、ネットワーク負荷分散、リーバスプロキシ、ホストヘッダ機能等が搭載されていない。さらには、これらの機能が搭載されていたとしてもある程度の規模であれば、負荷分散、可用性、信頼性の面から、Web サーバーを Tomcat と分離させた方が良い... 続きを読む

CentOS 5.4 で、Tomcat 6 を自動起動する

CentOS 5.4 で、Tomcat 6 を自動起動する 前回は、CentOS 上で Tomcat をデーモンとして起動する方法を紹介した。今回は、起動スクリプトを作成し、システムのスタートアップ時に自動起動する方法を紹介する。 以下は、前回紹介した手動でのデーモン起動方法だ。 >./bin/jsvc -cp ./bin/bootstrap.jar -user tommy -home /usr/java/jre1.6.0_18/ -outfile ./logs/catalina.out -errfile ./logs/catalina.err org.apache.catalina.startup.Bootstrap 同じく、手動停止方法は、以下の通り。 >./bin/jsvc -stop org.apache.catalin... 続きを読む

CentOS 5.4 で Apach Tomcat 6 をデーモンとして起動する。

CentOS 5.4 へ Apach Tomcat 6 をインストールし、デーモンにする。 前回は、CentOS 5.4 への Apach Tomcat 6 を紹介した。今回は、開発環境ではなく、運用環境として、Tomcat 6 をセットアップする方法を紹介する。 ここで、紹介する運用環境とは、以下の通り。 Tomcat をデーモンとして起動する。 Tomcat プロセスを専用のユーザーコンテキストで起動する。 デーモンとして起動するのは、Windows ユーザーであれば、サービスとして起動するとすれば分かりやすいだろいう。次のデーモン専用のユーザーコンテキストで起動するのは、これもまた、Win... 続きを読む

CentOS 5.4 への Apache Tomcat 6.0 インストール

CentOS 5.4 への Apache Tomcat 6.0 インストール JRE のインストールに続いて、CentOS 5.4 に Apache Tomcat 6.0 をインストールする方法を紹介する。 まずは、既存環境の整理だ。yum list より Tomcat モジュールのインストールの有無を調べる。 >yum list | grep tomcat jakarta-commons-collections-tomcat5.i386 3.2-2jpp.3 base struts-webapps-tomcat5.i386 1.2.9-4jpp.5 base tomcat5.i386 5.5.23-0jpp.7.el5_3.2 base tomcat5-admin-webapps.i386 5.5.23-0jpp.7.el5_3.2 bas... 続きを読む

Windows 7 で、ルーターから IP アドレスを自動取得できない

現在、評価環境で Windows 7 を使用しているが、以前から疑問に思っていたことがある。それは、ブロードバンドルーター (DHCP サーバー ) から IP アドレスを自動取得できないことだ。 評価環境では、某社の民生用ブロードバンドルーターを利用しており、そのブロードバンドルーターの DHCP 機能により、IP アドレスを自動取得できるようにしてある。 評価クライアントとして、Windows XP を利用していた際には、IP アドレスは、DHCP から取得していた。しかし、Windows 7 を評価クライアントとして利用した場合には、IP アドレスの自動取得に失敗する。 この頃は、OS 自体の評価というより、Windows 7 64bit 環境での Java 開発環境というテーマで評価を行っていたため、DHCP からの IP アドレスの自動取得に失敗してはいたが、そのトラブルシュートに時間をか... 続きを読む

Windows から、CentOS への VNC 接続

Windows から、CentOS 5.4 への VNC 接続方法を紹介する。 CentOS(Linux) のオペレーションは、Tera Term 等のターミナルで事足りる。 しかしながら、CUI では、疲労困憊時時には、スペルミス等のケアレスミスが多発して、生産性が大幅に低下してしまうことが多々ある。また、キーボードレス、マウスだけのオペレーションでやりすごしてしまいたいことも多々ある。 それに加え、最近の Linux 、CentOS のデフォルトインストールでは、GUI が起動する。これは、やはり需要と供給の結果ではないだろうか。 そこで、今回は、GUI でのリモート接続、Windows で言えば、リモートデスクトップに相当する VNC により、CentOS へのリモート接続例を紹介する。 VNC を利用すれば、Windows to Windows、Win... 続きを読む

CentOS 5.4 への JRE のインストール

CentOS 5.4 への JRE のインストール 開発環境は、利便性の高い Windows を利用し、運用環境は、Linux で構築というケースも多々あるとおもう。Java のプラットフォーム非依存性がなせる技だ。 今回は、Windows 環境から、CentOS 5.4 へのリモートアクセスには、老舗の TeraTerm を利用した。現在でも現役のターミナルとして進化を続けているのが驚きだ。もちろん、CentOS のターミナルで操作しても構わない。筆者は、Hyper-V で評価環境を構築したので、リモートアクセスが便利だと考えた。 ターミナルから 、"java -version" コマンドで、既にインストール済みの JRE のバージョンを確認する。筆者の環境では、以下のように出力された。 >java -version jav... 続きを読む

Hyper-V に CentOS をインストール

Windows 2008 R2 Hyper-V に CentOS 5.4 をインストールする方法を紹介する。また、CentOS に "統合サービス" をインストールする方法も紹介する。 Windows 2008 R2 Hyper-V は、言わずと知れた Windows が提供する仮想環境だ。Windows 2008 がプラットフォームであるので、ゲスト OS として Windows OS を選択した場合、親和性が非常に高い。Hyper-V では、"統合サービス" というモジュールが .iso 形式で提供され、仮想 DVD ドライブに読み込ませ、対 Hyper-V ネットワークドライバ等のドライブ一式をインストールすることができる。 ゲスト OS に Linux を選択した場合にも、Linux 用の統合サービスが公式に提供されている。 Linux Integra... 続きを読む

Apache Tomcat 6.0 のフォーム認証 -DataSourceRealm-

前回に続き、今回は、Apache Tomcat 6.0 のレルム "DataSourceRealm" について紹介する。 DataSourceRealm は、ユーザー、パスワードを RDB に保持し、その RDB へは、JNDI 経由の JDBC でアクセスする。Java プラットフォームで Web アプリケーションを開発する際に、もっとも、一般的な方法だろう。 まず、ユーザー情報、ロール情報を管理するテーブルを作成する。筆者の開発環境は、MySQL Server 5.1 を利用しているが、JDBC ドライバーが提供されている RDB であれば、何を使ってもよい。 create table users (   user_name varchar(15) not null primary key,   user_pass varcha... 続きを読む

Apache Tomcat 6.0 のフォーム認証

Apache Tomcat 6.0 のフォーム認証の実装の方法を説明する。 Apache Tomcat 6.0 では、レルムというアカウント、ロール管理のフレームワークが提供されている。レルムのアカウントのデーターソースとして以下のデータソースが利用できる。 JDBCRealm: JDBCRealm: RDB にアカウント情報を保持する。RDB には、JDBC でアクセスする。 JDBCRealm: RDB にアカウント情報を保持する。RDB には、JDBC でアクセスする。 DataSourceRealm: RDB にアカウント情報を保持する。RDB には、JNDI 経由の JDBC でアクセスする。 JNDIRealm: LDAP サーバーにアカウント情報を保持する。LDAP サーバ... 続きを読む

Apache Tomcat 6.0 の JNDI による DB アクセス

Apache Tomcat 6.0 の JNDI リソースを利用した DB アクセスの方法 Tomcat 6 では、J2EE の JDNI が利用できる。JNDI は、簡単に言えば分散オブジェクトの技術だが、JDBC データソース の管理にも利用できる。もちろん JNDI を利用することなく、JDBC を直接利用して、DB へアクセスしても構わないが、JNDI を利用することにより、コネクションプーリングや疎結合性による将来的なスケーラビリティの確保等の恩恵を受けることができる。 ただ、JNDI は、JDBC と対極する技術ではなく、JNDI は、下位で JDBC を利用している。JDBC を JNDI でラップすることにより、疎結合性を確保している。 まず、JDBC ドライバーを Tomcat にインストールする。$CATALINA_HOME/lib にJDBC ファイルをコピーする。筆者の環境で... 続きを読む

MySQL コマンドプロンプト での日本語入力

MySQL へコマンドプロンプトからの日本語インサート MySQL をインストールすると、一緒にインストールされる "MySQL Command Line Client "。 テストの際は、気付かなかったが、INSERT 文で、日本語文字列をいれると、エラーが発生した。 ERROR 1366 (HY000): Incorrect string value: '\x8..... キャラセットを utf-8 にしてるのに何故?? mysql> show variables like '%char%'; +--------------------------+---------------------------------------------------- -----+ | ... 続きを読む

Eclipse WTP JSP Encoding

Eclipse WTP JSP Encoding Eclipse と WTP(The Eclipse Web Tools Platform) で JSP を作成すると、デフォルトのエンコードが charset pageEncoding に設定されてしまう。 筆者の環境では、デフォルトで、"windows-31j" が設定されてしまう。 <%@ page language="java" contentType="text/html; charset=windows-31j" pageEncoding="windows-31j"%> これを毎回、手動で修正するのは辛いので、デフォルトの設定を変更する。 [Window] -> [Preferences] -> [General] ... 続きを読む

Tomcat 6 と WTP での Servlet リファクタリング時の注意

Tomcat 6 と WTP での Servlet リファクタリング時の注意 Dynamic Web Project でサーブレットを追加後、サーブレットの名前(サーブレットのファイル名)を変更した際に、ファイル内のクラス名などは、Eclipse が変更後の名前で同期をとってくれるが、Tomcat 6 を利用している場合は、注意が必要だ。 Tomcat 6.x からの仕様に絡んでの動作だと思うが、サーブレットを追加すると、web.xml にサーブレットと URL パスのマッピングが自動で定義される。これは、非常に便利だ。しかしながら、サーブレットのクラス名(ファイル名)を変更しても、web.xml には、変更が反映されない。サーブレットのクラス名(ファイル名)を変更した際には、同時に手動での、web.xml の変更を忘れてはいけない。 尚、この記事では、以下の環境を前提としている。 ... 続きを読む

WTP(The Eclipse Web Tools Platform) による JSP 開発環境の構築

WTP(The Eclipse Web Tools Platform) による JSP 開発環境の構築 [File] -> [New] -> [Project...] で、[New Project] ダイアログを起動し、 [Web] -> [Dynamic Web Project] -> [Next] ボタンをクリックし、[New Dynamic Web Project] ダイアログを起動する。 [New Dynamic Web Project] ダイアログ [project name] に "HelloJspViaWtp"( プロジェクト名任意 ) と入力、[Finish] でプロジェクトを作成する。サーバーラインタイムの設定が未であれば、http://www.masudaq.com/blogger/Daily_2010_03_02.htm#c75709ed-c861-45f2-a82e-492ebf43e242 ... 続きを読む

Eclipse と MySQL Connector/J による MySQL との疎通確認

Eclipse と MySQL Connector/J による MySQL との疎通確認 http://www.mysql.com/ にアクセスする。上位タブから、[Download (GA)] をクリック、タブ内の [MySQL Connectors] をクリック。Java からの疎通確認を行うため、[Connector/J] をクリック。Windows を利用しているので、zip 版である "Platform Independent (Architecture Independent), ZIP Archive" をダウンロードする。 ダウンロードした "mysql-connector-java-5.1.12.zip" を任意の場所に展開する。筆者は、以下のパスにファイルを配置した。 C:\Program Files\MySQL\mysql-connector-java-5.... 続きを読む

Windows 7 64bit 環境における MySQL のインストール

Windows 7 64bit 環境における MySQL のインストール http://www.mysql.com/ にアクセスする。上位タブから、Download (GA) をクリック、フリーのエディションである MySQL Community Server をクリック。"Windows (x86, 64-bit), MSI Installer"  -> [Download]。ログオン画面が表示されるが、急ぎの場合は、「No thanks, just take me to the downloads! 」をクリックし、好みのミラーサイトから、mysql-5.1.44-winx64.msi をダウンロードする。ちなみに、DB のエンジンのみで、管理ツールなどが必要ない場合は、ファイル名に essential とついたモジュールをダウンロードする。 あとは、インストーラーを起... 続きを読む

WTP(The Eclipse Web Tools Platform) による Tomcat 開発環境の構築

WTP(The Eclipse Web Tools Platform) による Apache Tomcat 開発環境の構築 [File] -> [New] -> [Project...] で、[New Project] ダイアログを起動し、 [Web] -> [Dynamic Web Project] -> [Next] ボタンをクリックする。 [New Dynamic Web Project] ダイアログの [project name] に任意のプロジェクト名を、[Target runtime] から、[New...] を選択し、[Apache Tomcat v6.0] を選択して [Next] ボタンをクリック、[New Server Runtime Environment] ダイアログで、[Tomcat install directory] に To... 続きを読む

WTP(The Eclipse Web Tools Platform) のインストール方法

WTP(The Eclipse Web Tools Platform) は、Eclipse を IDE として、Web に特化した開発環境を構築できる Eclipse プラグインだ。ここでは、既存の Eclipse に対して、WTP をプラグインして利用する。WTP が Eclipse と同梱されているパッケージ版もあるので、インストールが手間な場合は、"Eclipse IDE for Java EE Developers" を利用するとよい。"Eclipse IDE for Java EE Developers" は、以下のサイトでダウンロード可能だ。 http://www.eclipse.org/ から、[Download] -> [Eclipse Packages]で、"Eclipse IDE for Java EE Developers" を選択する。 手... 続きを読む

Eclipse と Tomcat で JSP 開発環境を構築する

Eclipse と Tomcat で JSP 開発環境を構築する。Eclipse を IDE として、Tomcat 上で JSP を実行する環境としては、J2EE の類もあるが、J2EE は、概念なので、敷居が高いので、初心者や容易に速く JSP を実装したい場合には、Eclipse の Tomcat プラグインを利用するとよい。 まず、Tomcat のプラグインをダウンロードする。2010/02/29 現在では、以下のサイトより Tomcat プラグインをダウンロード可能だ。 http://www.eclipsetotale.com/tomcatPlugin.html [Download] から、現在の最新バージョンである "tomcatPluginV321.zip" をダウンロードする。ダウンロードしたファイルを解凍し、Eclipse のプラグインのホームディレクトリにコピー... 続きを読む

Windows 7 x64 環境への Apache Tomcat のインストール方法

Windows 7 64bit を Servlet, JSP の開発環境とするため、Java の Web コンテナである Apache Tomcat をインストールする。 今回インストールする Apache Tomcat のバージョンは、Apache Tomcat 6.x であるため、必要条件として、Java 2 Standard Edition Runtime Environment (JRE) version 5.0 または、それ以降のバージョンがインストール済みとして手順をすすめる。JDK のインストールは、他のサイトか、こちらを参照願いたい。 ブラウザで、http://tomcat.apache.org/ を開き、左部 [Download] -> [Tomcat 6.x] をクリックする。[Quick Navigation] -> [6.0.24](2010/02/28 現在)  ... 続きを読む

Windows 7 x64 環境への Eclipse のインストール方法

http://www.eclipse.org/ -> [Downloads] -> [Projects] -> [Eclipse Project] を選択。 なぜか、[Projects] を選択した際に、プロジェクトの一覧が表示されないことがある。 試してはいないが、IE 8 の問題だとおもう。 Build Type の Latest Release(2010/02/27 現在) である 3.5.2 をクリックする。 [Eclipse SDK] - [Platform] から、Windows (x86_64) を選択し、[eclipse-SDK-3.5.2-win32-x86_64.zip] をダウンロードする。今回は、Web からダウンロードするので、[Download] から、(http) をクリックする。 すると、[Important N... 続きを読む

XPath の文字列比較で、小文字と大文字を区別しない方法

.NET の XML DOM を使って、XPath の文字列比較によって、大文字、小文字を区別することなく、ノードをセレクトする方法を紹介する。 一般的な言語系であれば、文字列比較関数で、大文字、小文字を区別することなく、文字列を一致させるオプションが用意されていることは普通だ。しかし、XPath では、そのような関数のオプションは用意されていないようだ。 translate() 関数を応用することによって実現する。 まず、translate() 関数によって、検索対象ノード値文字列を小文字に変換する。 これは、string クラスの ToLowerString() メソッドに相当する。 translate(@targetAttribute, 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz') あとは、通常の文字列比較によって、式を記述する。 以下は、object ノードより、deleted 属性が、false のノードのみを取得するサンプルコード。deleted 属性文字列は、大文字、小文字... 続きを読む

XmlSerializer によりシリアライズしたオブジェクトを XmlDocument オブジェクトに変換する方法

XmlDocument System.Xml.XmlDocument XmlSerializer System.Xml.Serialization XmlSerializer によりシリアライズしたオブジェクトを XmlDocument オブジェクトに変換する方法 ========================================================= using System.Xml.Serialization; [XmlRoot("branch")] public class Branch { [XmlElement("name")] public string name = null; [XmlElement("title")] public string Title = null; [XmlElement("description")] public string Description = null; [Xm... 続きを読む