以下の10の質問にお答えします。
■質問1:DBD-mysqlが導入されません
■質問2:Apacheが再起動できず
■質問3:p267、db_form_xxx.htmlでの文字化け
■質問4:WindowsXP HomeEditionでPerl PackageManagerを起動できず
■質問5:「Hello Java!」の出力確認できず
■質問6:./configure実行できず
■質問7:Linuxでのインストール不具合
■質問8:webapps以下のディレクトリに関し
■質問9:Windows Vistaにおける、MySQLとApacheの不具合
■質問10:Javaサーブレットの不具合
■質問1:DBD-mysqlが導入されません
p63~p65のPerlのインストールにおいて、付録CD-ROMからDBD-mysqlが導入されません。
■回答1:
DBD-mysqlがインストールできない場合はコマンドプロンプトを開いて、以下のコマンドを入力してみてください。
C:> ppm install DBD-mysql.ppd
また、上記でもできない場合は以下のアドレスよりDBD-mysql-3.0002.zipをダ
ウンロードします。
http://ppm.activestate.com/PPMPackages/zips/8xx-builds-only/Windows/
C:tmpなどに解凍後、コマンドプロンプトを開いて、以下のコマンドを入力して
ください(以下はC:tmpに移動後インストールの例)。
C:> cd c:tmp
C:tmp> ppm install DBD-mysql.ppd
上記の手段であれば問題なくインストールできると思います。
■質問2:Apacheが再起動できず
60ページのworkers.propertiesを設置するところまで進みましたが、その後
Tomcatは再起動できますが、Apacheが再起動できませんでした。
ちなみに59ページの"Include conf/mod_jk.conf"の追加は、単に"~Configuration File"の最後の行に記述するだけでよいのでしょうか?
■回答2:
まず、p59の"Include conf/mod_jk.conf"の追加ですが、Apache設定ファイル(C:
Program FilesApache GroupApache2confhttpd.conf)の最後の行にそのまま追記してください。設定ファイルを変更した場合は、Apacheの再起動を忘れずに行ってください。
p56のTomcatテスト画面が正常に表示されるようであれば、原因はApacheとTomcatの連携にあるのかもしれません。p58の2-2-5「ApacheとTomcatを連携させる」の設定が正しく行われているかどうか、ご確認ください。
また、本書で使用しているアプリケーション(付属CD-ROMに収録)をご使用でな
い場合は、CD-ROMのアプリケーションを導入してテストしてみてください。
もしどうしても連携がうまくいかず、テストを実行したい場合は、連携させずに実行させる方法もあります。その場合は、テストの際にアドレスを「http://localhost:8080」のように、ポート番号8080をつけて動作させてください。
■質問3:p267、db_form_xxx.htmlでの文字化け
p267のdb_form_xxx.html で「データ参照」(全件表示)を起動すると、ID、店名、住所は表示されますが、MySQLから読み出し表示されるところで、数字以外は文字化けしてしまいます。
■回答3:
ページ内に記載されている文字が化けていないのであれば、MySQLに格納された
文字が文字化けして格納されていたり、MySQLに格納された文字がページ出力のキャラクタセット(UTF-8)と異なっているため文字化けしている可能性があります。
コマンドプロンプトを開き、以下のコマンドでmysqlクライアントからMySQLに格
納された文字列のキャラクタセットを確認してみてください。
mysql> select charset(name_c) from list_t;
utf8であれば、list_tテーブルのデータを表示させ、文字化けして格納されていないかをご確認ください。
utf8が表示されなければ、UTF-8のキャラクタセットでデータが格納されていないので、再度データの追加をやり直してください。
データが正常でない場合、本書に付属のCD-ROMのSamplesフォルダChapter6に格
納されているchp_6_1_4.sqlをc:において、list_tテーブルを削除後、コマンドプロンプトより以下のコマンドを実行してください。
C:>mysql -u root -psecret shop_db < c:/chp_6_1_4.sql
■質問4:WindowsXP HomeEditionでPerl PackageManagerを起動できず
p65~66に記載の「2-3-2.PerlDBI、DBD-mysqlモジュールをインストールしよう」の項に関しての質問です。WindowsXP HomeEditionで学習しています。
p66の「1.PerlPackageManagerの起動」に記載の手順に沿ってPerl PackageManagerを起動しようとしていたのですが、起動できませんでした。書籍ではWindowsXP Professionalで動作検証されていますが、WindowsXP HomeEditionでは使えないのでしょうか。
■回答4:
Perl Packeage ManagerはWindowsXP HomeEditionでも使用できますが、Windowsの環境変数にPerl Packeage Managerのあるフォルダへのパスが設定されていない場合、そのままでは起動しません(インストールの際に「Choose Setup Options」画面で「Add Perl to the PATH environment variable」にチェックを入れると、環境変数に追加されます)。
Perlをインストールしたフォルダに移動して(本書ではC:Perlbin)、下記のppmコマンドを入力してください。
C:Perlbin>ppm
Perl Packeage Manager画面が表示されることを確認できたら、本書p55の記載を参考に、「システム環境変数」のPATHに「C:Perlbin」を追加後、コマンドプロンプトを新たに開き、ppmコマンドを入力してみてください。
もし、Perl Packeage Manager画面が表示されない場合はPerlのインストールをやり直してみてください。
■質問5:「Hello Java!」の出力確認できず
セットアップ中、p62の「Hello Java!」の出力確認で、"The requested resource (/java/Test) is not available."のエラーが発生してしまいます。Tomcat/Apacheの再起動、OS再起動しても変わりません。
なお、プログラムはWebからダウンロードしているため、若干バージョンが異なります。
■回答5:
お問合せのエラーですが、再度付録CD-ROMのプログラムで試したのですが、とくにこちらでは問題は再現されませんでした。
ファイルに目に見えないゴミコードのようなものが入っている可能性もあるため、まずは、関連のスクリプトファイルを付録CD-ROMからコピーして試していただけますか。
それでもうまくいかない場合は、Tomcatのバージョン違いによる影響かも知れません。
付録CD-ROMのプログラムでお試し下さい。
■質問6:./configure実行できず
p81の4.コンパイルの設定のところで./configureを実行しようとすると、「ファイルやディレクトリがありません」と出ます。どのような原因があるのでしょうか? 本書に書かれている¥マークですが、コマンドとして入力すると全角でしか入力できず、意味がよくわかりません。
■回答6:
p81の4.コンパイルの設定でのコマンドの入力方法ですが、「」の記載のある部分は半角の状態でキーボードの「」(バックスラッシュ)を入力してください。(画面上では半角の「\」で表示されます。)
ターミナル画面内でバックスラッシュを入力すると、表示上改行され、コマンドの入力がやりやすくなります。もしうまくいかないようでしたら、「」は入力せずに、改行することなあくコマンドを入力していってください。
上記入力方法を守ることで、コンパイルはできるはずです。
■質問7:Linuxでのインストール不具合
Linux環境で、付録CD-ROMからMySQLのインストールを試みています。p76のMySQLの起動のヶ所で下記のエラーが出ます。
Starting mysqld daemon with databases from /var/lib/mysql
STOPPING server from pid file /var/run/mysqld/mysqld.pid
070420 17:51:42 mysqld ended
■回答7:
MySQLのRPMパッケージがインストールされている可能性がありますので、本書p75のインストールパッケージの確認、削除を試し、再度インストールを試みてください。
また、本書で設定したものと異なる設定ファイル(my.cnf)を読み込んでいる場合もあります。/etc/my.cnfが作成されていたら、それを削除し、本書p97の手順で新しく設定ファイルを作成してみてください。
■質問8:webapps以下のディレクトリに関し
p84の環境変数の設定を行っています。CLASSPATHに関して、表の最下行に「webappsjavaWEB-INFclasses」とありますが、webapps以下にjava以下のディレクトリが見あたりません。webapps以下には、ROOTとtomcat-docsの2つしかありません。
■回答8:
先にパスを設定をしているので、わかりずらいかも知れませんが、p86の3-2-4 「Webアプリケーションを配備する」でjavaディレクトリ以下を作成しています。本書のまま設定し、読み進めてみてください。
■質問9:Windows Vistaにおける、MySQLとApacheの不具合
付録CD-ROMからMySQLとApacheをinstallしたところ、次のような問題に突き当たりました。
●MySQLに関し
インストール後、書p42に従って、my.iniを修正し、保存しようとしたところ、「MySQL Server5.0my.iniを作成できません」とメッセージが表れ、上書き保存を拒否されます。
●Apacheに関し
インストール後Apacheを起動すると「指定されたファイルが見つかりません No installed service named "Apache2"」が出て起動できません。
OSはWindows Vista Home Premium です。
■回答9:
Windows VistaではProgram Files以下のiniファイルを変更できないようになっているようです。
my.iniファイルを別の場所にコピーして、変更後、上書きすることでファイルの内容を変更できます。
もしくはProgram Files以下の場所以外の場所にMySQLをインストールしてください。ファイルを変更後、必ずコントロールパネルの管理ツールにある「サービス」から、MySQLプログラムを再起動してください
Apacheのエラーは、「ユーザーアカウント制御(UAC)」が原因であると思われます。インストール時に一時的にUACを解除することによりインストール可能です。
コントロールパネルよりユーザーアカウントの「ユーザーアカウント制御の有効化または無効化」により、UACを解除してインストールしてください。インストール後は再度有効化しておくことをお勧めします。
■質問10:Javaサーブレットの不具合
書籍の通りに進め、Javaサーブレットテストプログラム(Test_my_java.java)は正常に動作しました。そこで、HTMLフォームからDBを操作するための各種設定(web.xmlの編集等)も行い、p288のようにjavaファイルをコンパイルしたのですが、エラーが発生します。
Select.javaで「シンボルを見つけられません。シンボル:クラス QueryBean 場所:samples.SelectのクラスQueryBean qbean=null;」と「シンボルを見つけられません。シンボル:クラス QueryBean 場所:samples.Selectのクラスqbean=new QueryBean();」というエラーメッセージが発生します。他のjavaファイルに関しても同様の箇所がエラーになります。
■回答10:
QueryBean.javaがjavaファイルをコンパイルするフォルダにないためと思われます。以下の場所にQueryBean.javaがあるかどうかご確認ください。
C:Program FilesApache Software FoundationTomcat 5.5webappsjavaWEB-INFclasses
samples
ない場合は、CD-ROM(SamplesChapter66-3)よりコピーして再度コンパイルを試してください。