筑波大学附属図書館のezproxy設定メモです.筑波大ではezproxyを
で運用しているので,それらに関する設定を中心に記録します.
ezproxy | 紀伊国屋から購入 | ¥131250 |
サーバ | 検証用の既存サーバを使用 | ¥0 |
SSL証明書 | GeoTrust?のRapidSSL Wildcard 12ヶ月 | ¥18730 |
SSL証明書 | 同 Rapid SSL 12ヶ月 | ¥2820 |
前提:筑波大学附属図書館のサブドメイン(tulips.tsukuba.ac.jp)内にezproxyというホスト名でezproxyのサーバを立ち上げる.
ドメイン(tulips.tsukuba.ac.jp)のDNS管理者に依頼して,ネームサーバに登録してもらう.我々は後述のようにproxy by hostを使うので以下のようにDNSワイルドカードの設定が必要.proxy by portの場合は二行目は不要.
ezproxy.tulips.tsukuba.ac.jp. IN A 192.168.0.1 *.ezproxy.tulips.tsukuba.ac.jp. IN A 192.168.0.1
httpsで接続するデータベースや電子ジャーナルを中継するためにSSL証明書を調達する.我々はproxy by hostなのでワイルドカード証明書
*.ezproxy.tulips.tsukuba.ac.jp
を購入.proxy by portならezproxy.tulips.tsukuba.ac.jpという普通のSSL証明書を購入すれば良い.
/usr/local/ezproxy/config.txtを編集して,サーバ名を設定する.記述がないとOSの認識するホスト名が自動設定されるが,普通は実ホスト名ではなくcanonical nameを使うだろう.http://www.oclc.org/support/documentation/ezproxy/cfg/name/
Name ezproxy.tulips.tsukuba.ac.jp
/usr/local/ezproxy/user.txtを編集して,ezproxy固有のローカルアカウントを設定する.我々の場合は全ユーザをShibboleth認証するが,管理者アカウントとテスト用アカウントをローカルに作成した.http://www.oclc.org/support/documentation/ezproxy/usr/
testuser:testpass adminuser:adminpass:admin
ezproxyはポート番号で中継先を振り分ける方法(proxy by port)とホスト名で振り分ける方法(proxy by hostname)の二つの方法を用意しており,前者が既定.でも,筑波大ではproxy by hostで運用することにした.config.txtに以下の一行を追加する.http://www.oclc.org/support/documentation/ezproxy/cfg/proxybyhostname.htm
Option ProxyByHostname
ezproxyの既定のポート番号は2048番だが,Proxy by Hostnameを使うと変なポート番号である必然性がなくなるので80番に変更する.また,httpsも有効にして,ポート番号を443番に指定する.config.txtに
LoginPort 80 LoginPortSSL 443
ezproxyをrestartしてmessage.txtに
2009-11-27 11:07:41 Server http URL http://ezproxy.tulips.tsukuba.ac.jp 2009-11-27 11:07:41 Server https URL https://login.ezproxy.tulips.tsukuba.ac.jp
のように表示されることを確認する(特にhttpsでのサーバ名が「login.ezproxy」になっていること).*.ezproxy.tulipsのワイルドカード証明書はezproxy.tulipsの証明書にならないので,httpsアクセス時に警告を表示させないため,自動でこのように設定される.もし,loginが付与されないとすると,config.txt中にIgnoreWildcardCertificate?というオプション指定をしているはずで,これをコメントアウトする(http://www.oclc.org/support/documentation/ezproxy/changes.htm )あるいは,ActiveなSSL証明書がワイルドカード証明書ではない.
proxy by hostnameの際,http://db.example.comへのアクセスは,http://db.example.com.ezproxy.tulips.tsukuba.ac.jpに自動的に書き換えられる. しかし,*.ezproxyのワイルドカード証明書ではdb.example.com.ezproxyの証明はできないので,db-example-com.ezproxyのようにハイフンで置き換えるための設定を行う.config.txtのDB定義部よりも前に以下の一行を記載.
Option HttpsHyphens
urlを指定しないEZproxyへのアクセスに対して,既定ではdocs/menu.htmが表示される.menu.htmのひな形は,埋め込まれた変数でデータベースの一覧が自動生成されるようになっている.詳しくは,http://www.oclc.org/support/documentation/ezproxy/docs/
menu.htmでなく別のページを表示するにはconfig.txt内でLoginMenu?を指定する.http://www.oclc.org/support/documentation/ezproxy/cfg/loginmenu/
LoginMenu http://www.tulips.tsukuba.ac.jp.ezproxy.tulips.tsukuba.ac.jp/
すべてOCLCかUnofficial EZproxy Self-Support Wikiに設定情報があった.
Operaが厳格なCookie管理をしているため正常に動作しない障害が発覚.Operaの同一ドメイン判定ルールに適合させるため,DNSサーバ上でtulips.tsukuba.ac.jpにAレコードを設定.see http://ls.suny.edu/read/messages?id=933283#933283