ヒマをみつけてWeb開発
その場の思い付きを、ヒマをみつけてWebサイトにしてみるブログ

CallistoでWTPインストール

Thursday, 28 September 2006 15:12 by sabro

Callistoでプラグインを更新してみました。

手順

  1. ヘルプ → ソフトウェア更新 → 検索およびインストールを実行。
  2. 新規インストールを選び、検索サイトをCallistoディスカバリーサイトに設定。
  3. 日本のミラーサイトを選択。
  4. インストールするフィーチャーの選択。今回は様子見ということでWTPとその依存モジュールのみをインストールすることにします。WTPを選択するとダイアログ上部に依存性に関するエラーメッセージが表示され、足りないモジュールが一目で分かるようになってました。また、「必須項目を選択」ボタンで依存モジュールを一度に選択することもできました。
  5. ライセンスに同意してインストール。

 

しかし、何度やり直しても更新に失敗。ミラーサイトを日本からオーストラリアに変えたら成功しました。何か調子が悪かったみたいです。

Tags:  
Categories:   eclipse
Actions:   Permalink | Comments (2) | Comment RSSRSS comment feed

トラックバックスパム解決

Wednesday, 27 September 2006 15:42 by sabro

トラックバックスパムの件ですが、コメント内のハイパーリンクに設定されているURLを禁止ワードでフィルタすることであっさり解決しました。

フィルタする際は生のHTMLを解析するわけで、よく考えたら当たり前の話でした。

Tags:  
Categories:   その他
Actions:   Permalink | Comments (2) | Comment RSSRSS comment feed

トラックバックスパムどうしよう

Tuesday, 26 September 2006 17:09 by sabro

トラックバックスパムが10件程来たので対策を考えていたのですが、どうも最近のスパムは狡猾なようでいい対策が思い浮かびません。

Pebbleのスパム防止機能は結構充実しており、以下のものがあるのですが、どれも微妙にかわされてしまいます。

 

  • IPアドレスによるフィルタ
  • コメント内のリンクの数によるフィルタ
  • コメント内の禁止ワードによるフィルタ
  • SpamScoreによるフィルタ

 

IPアドレスのフィルタは、WhiteListとBlackListを持ち、BlackListに記載されているものはペンディングにし、WhiteListに記載されているものは表示します。そして、どちらにも記載されてないアドレスは承認待ちになります。私はわざわざ承認を出すのが億劫なのでこの方法は心の琴線に触れません。

今日来ていたスパムはどれも1つしかリンクを持っていなかったので2つ目の方法も使えないし、コメント内容もアルファベットが不規則に並べてあり、禁止ワードでも無理そうでした。

最後のSpamScoreは文字通りスパムのスコアが一定以上になったらフィルタするというもので一見凄そうなのですが、このスコアは他の3つのフィルタに引っかかった場合に加算されるので、これ単独では使えないとのことです。

iptablesにアドレス直打ちとかするしかないんでしょうか。

Tags:  
Categories:   その他
Actions:   Permalink | Comments (40) | Comment RSSRSS comment feed

Javaにします

Sunday, 24 September 2006 14:38 by sabro

言語は結局Javaにすることにしました。しかも、1.4です(フツー)。

Ruby on Railsを勉強したかったので迷っていたのですが、自動生成される4種類のViewが活用できそうになかったので残念ながらやめておきました。なんせDBの更新はバッチで行う予定なんで。実際、Railsがピタリとハマるのは、ある程度単純なWebサイトでないと難しいんじゃないでしょうか。

Categories:   Java
Actions:   Permalink | Comments (36) | Comment RSSRSS comment feed

Ecllipse3.2をインストール

Sunday, 24 September 2006 10:31 by sabro

今までEclipse3.0を使っていたのですが、これを機に3.2をインストールしてみました。

手順

  1. ここからEclipse3.2本体とLanguagePackをダウンロード。
  2. 本体をインストールしたいフォルダに解凍。私はCドライブ直下に解凍しました。
  3. LanguagePackを解凍してできた、features、pluginsフォルダをEclipse本体の同フォルダにコピー。
  4. Eclipse3.2ドキュメントの「Workbench User Guide → Tasks → Upgrading Eclipseを見ると、3.0以前からアップグレードする場合は、3.2起動時に3.0フォルダ内のworkspaceをそのまま使用するように指定しろと書いてあるみたいなのですが、最悪なくなっても問題ないプロジェクトばかりだったので、とりあえずバックアップを取ってからC:\workspaceに3.0のプロジェクトをコピーし、3.2起動時にこのフォルダを使うように指定してみることにしました。
  5. Eclipse3.2のショートカットを作成し、リンク先に「-data」オプションを付けて起動。workspaceには先述のフォルダを指定。
  6. ワークベンチを復元できません、というエラーが出たが無視。プロジェクトを1個選んで実行できることを確認。

 

これにてとりあえずインストール完了です。ヘルプが日本語化されてないですけど、そういうものなんでしょうか。Callistoの使用感とかについても機会があれば書いてみようと思います。

Categories:   eclipse
Actions:   Permalink | Comments (40) | Comment RSSRSS comment feed

Tomcatでサブドメインを使う

Thursday, 21 September 2006 16:01 by sabro

昨日のPing送信の件ですが、数件失敗していたサイトがあったものの大多数のサイトにPingを送れたようです。とりあえず一安心(^^)。

このブログの本懐であるところのWeb開発は、使用する言語を迷っている段階なので、今日はこのブログを構築する際にハマッたTomcatでサブドメインを使う方法について書いてみようと思います。

まず、ブログ構築時に私がやりたかったことは「サブディレクトリでなく、サブドメインでアクセスしたい」でした。

ドメイン名 : webkai.net
プロジェクト名 : blog
とすると、こんな感じです。

http://webkai.net/blog または http://www.webkai.net/blog
   ↓
http://blog.webkai.net こちらの方がいい

で、私の試行錯誤の過程

  1. Apacheとの連携は必須だがmod_jkを使用して以下のように書くと、Tomcatのwebapps以下のディレクトリ名をURLで指定しなければならない。
    httpd.conf  JkMount /* ajp13 ← ajp13ワーカへ処理を渡すURL  
    http://www.webkai.net/blog
  2. mod_jkが無理そうだから、Apacheのリバースプロキシを使おう
    ProxyPass / http://localhost:8080/blog/
    ProxyPassReverse / http://localhost:8080/blog/
  3. ダメだ、PebbleのHTMLに「/blog/themes/custom/theme.css」みたいなサブディレクトリを含んだリンクが出力されてしまう。強引だがプロキシの設定を追加しよう。
    ProxyPass / http://localhost:8080/blog/
    ProxyPassReverse / http://localhost:8080/blog/
    ProxyPass /blog/ http://localhost:8080/blog/
    ProxyPassReverse /blog/ http://localhost:8080/blog/
  4. ダメだ、Cookieのパスが/blogになってる。一度ここで冷静になる。
  5. そもそもTomcat側が、サブディレクトリでのアクセスになっているから整合性が崩れるんだ。Tomcatのドキュメントルートにプロジェクトを置く方法はないのか?
  6. あった。Server.xmlのHostタグ。これでTomcat側でVirtualhostっぽい構成がとれるみたいだ。
    <Server port="8005" shutdown="SHUTDOWN" debug="0">
      <Service name="Catalina">
        <Engine name="Catalina" defaultHost="localhost" debug="0">
          <Host name="localhost" debug="0" appBase="webapps" ← デフォルトのwebapps用Host       unpackWARs="true" autoDeploy="true"       xmlValidation="false" xmlNamespaceAware="false">
          <Host name="blog.webkai.net" debug="0" appBase="blog" ← Pebble用に追加したHost       xmlValidation="false" xmlNamespaceAware="false">
          </Host>
        </Engine>
      </Service>
    </Server>
    これで、webappsと同じ階層にblogディレクトリを作って、その中にROOTというディレクトリを作ればそこがblog.webkai.netのルートになるのか。ふむふむ。
  7. Apacheから新しく作ったHostへ接続する方法が良く分からないけど、とりあえず同名のVirtualhostをApache側へも作ってみよう。
    <VirtualHost *:80>
        ServerName blog.webkai.net
        JkMount /* ajp13
    </VirtualHost>
    お、動いた。

という感じです。私はこのやり方を初めて知ったのですが、みんな当たり前のようにやっているんでしょうか。

2006/09/22 リバースプロキシのURLが間違っていたため修正。

Tags:   , , ,
Categories:   tomcat
Actions:   Permalink | Comments (59) | Comment RSSRSS comment feed

PebbleのPing送信失敗

Wednesday, 20 September 2006 15:26 by sabro

このブログは、ややマイナーなPebbleというツールで構築しています。PebbleはJavaで書かれているのですが、他のJava製品にありがちな面倒な設定がなく、warファイルを配置するだけで設置完了というお手軽さが特徴です。

このPebbleにPing送信機能がついてたので設定してみたのですが、どうやら失敗していたようで以下のようなログが出ていました。

2006-09-20 01:23:17,306 [Thread-45] ERROR pebble.webservice.UpdateNotificationPingsClient - Exception when calling weblogUpdates.ping at http://ping.cocolog-nifty.com/xmlrpcjava.io.IOException: Invalid character data corresponding to XML entity ヒ        at org.apache.xmlrpc.XmlRpcClient$Worker.execute(XmlRpcClient.java:444)        at org.apache.xmlrpc.XmlRpcClient$Worker.executeAsync(XmlRpcClient.java:363)        at org.apache.xmlrpc.XmlRpcClient$Worker.run(XmlRpcClient.java:349)        at java.lang.Thread.run(Thread.java:534)

仕方ないので「XmlRpcClient Invalid character data corresponding to XML entity」で検索を掛けてみると、以下のページを発見。

Apache XML-RPCではまったこと

なんでもXML-RPCに日本語処理のバグがあるとか。(XML-RPC2.0では直っているらしいです。Pebbleが使っているのは、XML-RPC1.2-b1。)

仕方ないので、ここから、XML-RPCのソースをダウンロードしてXMLWriter.javaを1行修正。

if (c < 0x20 || c > 0xff)      ↓if (c < 0x20)

Antでビルドして、できたxmlrpc-1.2-b1.jarをPebbleが使っているものと置き換えてみました。

これで直っていたらこの記事を送信後、Pingが飛ぶはずです。

Tags:   ,
Categories:   Java
Actions:   Permalink | Comments (36) | Comment RSSRSS comment feed

Apacheヘルプサイトをまとめて印刷

Tuesday, 19 September 2006 16:23 by sabro

Webサイトを作る前に、いまいち理解しきれてないApacheについて勉強することにしました。

Apache本家のヘルプサイトが良くまとまっていたので、通勤電車で読むために全ページ印刷しようとしたところ、ページが細かく分かれていて手動での印刷が大変だと発覚し、ここで一時断念。うまいやり方はないかと検索してみるとAdobe AcrobatでWebサイトをまとめて印刷出来るようなのですが、このためだけに数万円払いたくない・・・。

もう少し、もがいてみたところ以下のサイトでApacheのHTMLヘルプをゲットする方法を発見しました。

川o・-・)<2nd life - Apache のドキュメントを htmlhelp で

HTMLヘルプからならまとめて印刷ができそうな気がしたので、上記サイトの手順に従ってヘルプファイルを作成。ヘルプツリーの12個のルート部分からサブトピックをまとめて印刷できることが分かりました。

印刷プレビューがなかったので、PDFCreatorで一度PDF化するという小技を駆使しつつ、無事ドキュメントの印刷が完了。

ちなみにApacheモジュールのヘルプツリーは258ページになり、ここの印刷は諦めました。

Tags:   ,
Categories:   Tips
Actions:   Permalink | Comments (95) | Comment RSSRSS comment feed

Webサイトをつくろう

Monday, 18 September 2006 12:14 by sabro

Webサイトのアイデアを思いついたので、とりあえず作り始めてみることにしました。

会社員なのであまり時間はつくれないのですが、勉強もかねて毎日少しずつやっていこうと思います。

このブログでは、そのサイトの作成過程で得られた知識とかを公開していくつもりです。

Categories:   その他
Actions:   Permalink | Comments (2) | Comment RSSRSS comment feed