Apache : RewriteRule vs Redirect vs ProxyPass

ApacheのRewriteRuleとRedirectとProxyPass。
使い分けがよくわからなくて調べました。


今回私がやりたかったことは以下の二点。

  1. http://www.before.com/ ->リダイレクト-> http://www.after.com/
  2. http://www.front.com/ ->プロキシ-> http://www.back.com/


1では、ユーザーが最終的に見るURLはhttp://www.after.com/
2では、ユーザーが最終的に見るURLはhttp://www.front.com/http://www.back.com/のコンテンツのみ取得します。


上記の場合は何を使ったほうがいいのか?

結果を言うと、1はRewriteRuleかRedirectで実現できました。
1はRewriteRuleかProxyPassで実現できました。
つまりざっくり言うと以下。

RewriteRule Redirect ProxyPass
プロキシ ×
リダイレクト ×

基本的に今回私がやりたかったことではどちらを使っても大丈夫でした。
ですがRewriteRuleでは

  • 正規表現が利用可能
  • RewriteCondで適用条件を詳細に設定できる

ので、細かい設定が必要な場合はRewriteRuleの方がいいかもしれないです。
あるいは機能的にRewriteRuleで何でもできてしまうのなら、できるだけそれを使うことで統一した方がわかりやすいと思いました。

参考:http://blog.livedoor.jp/techblog/archives/65151527.html

WordPress3.5.1 を CentOS5.3 にインストール -Apache2.2+PHP5.4+Mysql5.5

WordPress3.5.1 を CentOS5.3 に一からインストールしたときのメモです。
主に、PHP5.4とMysql5.5のインストール部分について。
Apahche2.2はデフォルトでインストールされています。

CentOSダウンロード&セットアップ

http://www.thoughtpolice.co.uk/vmware/
32-bit: centos-5.3-i386-server.zip, 963M
用途に合わせてVMをダウンロード。

  • インターネットが利用できるように設定します。
  • firewallはデフォルトでsshしか通さないようになっているので、WWW(HTTP)を許可します。
続きを読む

checkboxはcheckが入っていないとサーバーに値自体送信されない

ということに今更気づきました。
これだと、チェックが入っているかどうかでtrue/falseの値を送信したいときに困ります。
何か賢い方法があるかと探してみましたが、基本的にはスクリプトで何とかするほかない様子。
または、SpringMVCのformが使用出来ればそれが一番みたいです。
以下、方法のメモです。

続きを読む

HibernateのSession管理について

久しぶりの投稿です。
Hibernate+spring frameworkと付き合って結構経ちますが、未だに混乱するので自分のための備忘録メモです。

HibernateのSessionとは

本から引用すると、「Sessionとは、永続化サービスの提供を行うもの。DBから取得したオブジェクトを保持し、状態管理を行うもの」です。
永続化サービスでは、「永続化コンテキスト*1に対する変更がDBに反映」されます。

HibernateのSession管理

セッションを取得・操作する方法はトランザクション管理方式によって異なります。

*1:永続化コンテキストとは、要は複数のインスタンスのまとまりのことを指しているようです。"A persistence context is a set of entity instances..." ドキュメントを参考

続きを読む

Google App Engine (Python) + Eclipse + Windowsの開発環境を構築する

Google App Engine(Python)で動くアプリをWindows環境(XP)のEclipseで開発できるよう環境を構築します。
基本他の人が紹介しているやり方を参照してます。

Python2.5インストール

以下にあるように、まずPythonをインストールします。
Google App Engine 開発環境
2011/11/4時点では、2.5をインストールしろとここに書いてあるので、2.5をインストールします。
Python 2.5.4
利用環境に合わせてWindowsのカテゴリからインストーラを選択してダウンロード。
インストールの様子はこちらを参考にしました。
ここでは「C:\Library\Python25」にインストールしました。

続きを読む

Google Apps Marketplaceにアプリを公開するときに気をつけること

先月infoScoop for Google AppsというサービスをGoogle Apps Marketplaceで公開しました。
infoScoop for Google Appsは、infoScoop OpenSourceにGoogle Appsのコンテンツをのせ、グループウェアのように使ってみようというサービスです。
まだβなのですが、現在正式リリースに向けて開発を続けています。
公式ホームページで詳しい機能などについて説明していますので、ご興味のある方はご参照ください。

Marketpalceについては全体的に情報が少なくて、色々とやってみないとわからないことがたくさんです。
なので、今回はそのMarketplaceにサービスを公開したあたりに引っかかったことなどの話をしてみたいと思います。

続きを読む

Mac OS 10.6 でMacportsを使って環境構築( Apache + MySQL + PHP +phpMyadmin)

Macbook Airを買いました。
Macなのですが、操作は非常に快適です。
でも開発するとなるといろいろ勝手がわかりません。
さぐりさぐりです。
Linuxでいうapt-getのような、パッケージ管理のツールがMac用でもあるということで、使ってみることにしました。
Macports
これで、ApacheMySQLPHPをインストールしてみます。あとついでにphpMyAdmin*1

以下のサイトを参考にしました。というかほとんど同じです。でも少しは違うので、自分用にメモです。
Snow Leopard で MacPorts から Apache2, PHP5, MySQL のインストール

Apache2をインストール

インストール手順は以下の通り。

  1. インストール
  2. 自動起動設定
  3. 設定ファイル(httpd.conf)のバックアップをとる

*1:実はXamppを試したけど色々あってうまくいかなかったので、結局自由度が効きそうなMacportでやることにしました。

続きを読む