2010年03月19日

Tiny_mceの設定

【覚え書き】Tiny_mceの設定ではまったので、メモ。

■やりたかったこと
1. pluginのemorionsを使って、スマイリーの絵文字を表示させる
2. Google Mapsを埋め込むためにiframeタグをTiny_mceエディタにコピペする

■問題点
1. Tiny_mceを利用する管理画面のドメインと作成コンテンツの公開ドメインが異なるが、デフォルトのままでは、絵文字画像へのリンクパスがドメインが管理画面での相対パスで登録されるため、公開ドメインでリンク切れとなり、肝心の絵文字が表示されない。

2. Tiny_mceはデフォルトの設定で、入力されたHTMLの内容を整形してくれる。その際に、iframeタグなどは削除されてしまう

■最初にした対処
1. relatvie_urls: falseに設定して、'/js/tiny_mce/plugins/emotions/img/smiley-cool.gif'と管理画面で絶対パスのまま、登録されるようにして、公開ドメインにも、シンボリックリンンクで、'/js/tiny_mce'のパスを切っておく方法を採用

2. cleanup:falseを設定して、Tiny_mceが勝手にHTMLを整形しないようにした

■発生した問題
1. 設定通りに動作せず、src='http://kanri.domain/js/tiny_mce/plugins/emotions/img/smiley-cool.gif'となってしまい、_mce_srcという属性に"/js/tiny_mce/plugins/emotions/img/smiley-cool.gif"がセットされる

2.iframeタグが削除されず、Google Mapsは公開ドメインで表示される

■わかったこと
URLの調整は、HTML整形と同じところで処理されているようで、cleanup:falseすると、URLの調整は行われず、relative_urls, remove_script_host, document_base_urlなどの設定をいくら変更しても、意味がなかった。したがって、Google Mapsのiframeタグを正しく登録するためにcleanup:falseをしたために、絵文字画像へのURL調整が無効になってしまっていた。

■最終的な対応
1. cleanup: falseはやめて、替わりにextended_valid_elementsを使う。これは、HTML整形の対象からはずす、タグと属性を指定する設定。以下のように設定した。

extended_valid_elements : "a[name|href|target|title|onclick],img[class|src|border=0|alt|title|hspace|vspace|width|height|align|onmouseover|onmouseout|name],hr[class|width|size|noshade],font[face|size|color|style],span[class|align|style],iframe[src|width|height|frameborder|scrolling|marginheight|marginwidth|style]"

投稿者 nekobara : 固定リンク | コメント (0)

2009年12月25日

Apacheのリバースプロキシーでの基本認証

【覚え書】

Apacheで、リバースプロキシーしているときに、アクセスに対して、基本認証したい場合は、<Proxy>ディレクティブを記述して、そのなかにアクセス関連の設定する。

<VirtualHost *:80> 
  ServerAdmin admin@example.com
  DocumentRoot /data/example
  ServerName www.example.com
 
  # 
  CustomLog logs/example_access_log combined 
  ErrorLog logs/example_error_log 
 
  <Proxy *> 
    AllowOverride FileInfo AuthConfig Limit 
    Options MultiViews Indexes SymLinksIfOwnerMatch 

    AuthType Basic 
    AuthName "Password for www.example.com" 
    AuthUserFile /etc/httpd/conf/www_example_com_passwd 
    Require valid-user 
  </Proxy> 
 
  # Reverse Proxy 
  ProxyPass / http://192.168.0.200:3000/ 
  ProxyPassReverse / http://192.168.0.200:3000/ 
  
</VirtualHost> 

あと、特定のIPアドレスは基本認証をスルーして、アクセスさせる場合は、Proxyディレクティブ内に以下のように記述する。

Allow from 192.168.0.10 
Satisfy Any 

また、特定のパスだけは認証なしで、アクセスOKにするには、公開するパスを記述したProxyディレクティブを追加する。

  <Proxy http://192.168.0.200:3002/public/*> 
      Allow from all 
      Satisfy Any 
  </Proxy> 


関連ドキュメント
http://httpd.apache.org/docs/2.2/ja/mod/mod_proxy.html

投稿者 nekobara : 固定リンク | コメント (0)

2009年12月18日

SQL::Translator libxml2 MacOSX 10.5.8

【覚え書】

MacBookにSQL::Translator 0.11003 をインストールしようとしたら、以下のようにテストプログラムでエラーが出てしまう。

--------begin
t/43xml-to-db2...................dubious
Test returned status 0 (wstat 10, 0xa)
DIED. FAILED test 1
Failed 1/1 tests, 0.00% okay
t/44-xml-to-db2-array............dubious
Test returned status 0 (wstat 10, 0xa)
DIED. FAILED test 1
Failed 1/1 tests, 0.00% okay
t/45db2-producer.................ok
t/46xml-to-pg....................dubious
Test returned status 0 (wstat 10, 0xa)
DIED. FAILED test 1
Failed 1/1 tests, 0.00% okay
t/47postgres-producer............ok
t/48xml-to-sqlite................dubious
Test returned status 0 (wstat 10, 0xa)
DIED. FAILED tests 1-2
Failed 2/2 tests, 0.00% okay
--------end

で、いろいろ調べてみたら、XMLで表現されたスキーマをそれぞれのデータベースのスキーマに変換してくれる機能のテストで、XMLファイルの読み込みでおかしくなっている。で、内部で実際にXMLを読み込んでいるのは、XML::LibXMLモジュールだ。

で、調べてみると以下のサイトのように、XML::LibXMLで実際に処理を委託しているlibxml2のバージョンが古いと色々と不都合が起きる場合があるらしい。

< a href="http://ripary.com/libxml2_leopoard.html">http://ripary.com/libxml2_leopoard.html

ちなみに私のMacBookにインストールされているlibxml2のバージョンは、2.6.22。SQL::Translator 0.11003が普通にインストールできた、CentOS5.3のlibxml2は、2.6.26だった。

MacBookのlibxml2をバージョンアップすることも考えたが、今回、SQL::TranslatorではXMLを読み込むようなことはしないし、サービスを動かすのはCentOS5.3上なので、XML関連のテストは通過しなかったが、MacBook上では強制インストールして、この問題を回避することにした。

以上、経緯を忘れたときのための覚え書き。

投稿者 nekobara : 固定リンク | コメント (0)

2008年08月11日

apcupsdについての覚え書き

APCのUPSを制御するオープンソースであるapcupsdにおいて、サーバシャットダウン後にUPSに対して、自分自身の電源OFFをするコマンドがシャットダウン直前に発行される。

今回、ある事情により、UPSへの電源供給が断たれたら、さっさとサーバはシャットダウンするが、UPSにつながった残りの機器は、UPSのバッテリがなくなるまで、稼働させておく設定にしたかった。

しかし、/etc/apcupsd/apcupsd.confの設定を見渡しても、そのように制御するパラメータを見つけられなかった。唯一、KILLDELAYパラメータで近い形で制御できそうだったが、APC RS900では、KILLDELAYに秒数(2400)を設定しても、サーバのシャットダウン後に、少しの間をおいてUPSも停止してしまった。

そこで、ごにょごにょ調べていたら、UPSへの電源停止命令は、/etc/apcupsd/apccontrolで、「/sbin/apcupsd -killpower」が発行されて実行されていることが分かった。そこで、泥臭いやりかただが、/etc/apcupsd/apccontrolの部分を以下のように変更して、UPSが電源停止しないようにした。

----------------------------------------------------
case "$1" in
killpower)
# echo "Apccontrol doing: ${APCUPSD} --killpower on UPS ${2}"
# sleep 10
# ${APCUPSD} --killpower
# サーバシャットダウン後にUPSの電源を切らないようにコメントアウト
# echo "Apccontrol has done: ${APCUPSD} --killpower on UPS ${2}" | ${WALL}
echo "Apccontrol don't: ${APCUPSD} --killpower on UPS ${2}"
echo "Apccontrol don't: ${APCUPSD} --killpower on UPS ${2}" | ${WALL}
;;
----------------------------------------------------

ぜんぜんスマートじゃない方法なので、もっとエレガントな方法を知っている人がコメントくれることも狙いつつ、覚え書きとして、記録!

ちなみにapcupsdは、3.14.4。

投稿者 nekobara : 固定リンク | コメント (0)

2008年07月16日

iPhoneは最強の電話機能付きPDA(aka スマートフォン)

私が住んでいる田舎では、7/11には入荷しなかったが、翌日には100台入荷。12時の時点で数名しか、そのソフトバンクショップにはいなかったので、余裕でゲットできた。

で、いろいろ立て込んでいたので、今日になって始めてじっくり使ったところだが、iPhone + MobileMe + Mac + Gmailがものすごく便利だわ。

MobileMeサービス(年間9000円強)と使うと、メール(***@me.com)、カレンダー(予定表)、アドレスブック(住所録)が、iPhone、MobileMeサイト、Macで同期できる。Macのアドレスブックを修正して、MobileMeと同期させると、MobileMeからiPhoneにその修正内容がプッシュされて、iPhone上のアドレスブックも同期される。MobileMe、iPhoneのアドレスブックを修正しても、それが他のアドレスブックにもちゃんと反映される。カレンダーも同じ。

MobileMeのメールもIMAP対応なので、アドレスブックと同じように同期されるのだが、****@me.comのドメインしか使えない。ドメインが違う複数のメールアドレスを使い分けている人は、全てのメールをGmailに転送し、Gmailのフィルタリング機能を使って、メールアドレス別にタグ分けするようにしておく。そして、IMAPで利用すればよい。iPhoneで読んだメールを、Macで開いたときにはちゃんと既読になっている。(IMAPなので当然ですが)

Safariが時々落ちるのと、日本語入力がすごくのろくなってしまうときがあるが、すでにネットで騒がれているので、そのうちアップデートが出て解消されるでしょう。ちなみに機内モードにしてネット接続を完全に切るか再起動すれば、日本語入力は元に戻るらしい。

いろいろ欠点もあるが、PDAとしては最高じゃないだろうか、電話もできるし。(^^)

投稿者 nekobara : 固定リンク | コメント (2)

2008年06月20日

iPhoneの日本語入力

iPhone日本語入力.jpg

iPhone SDKをからかっていたら、iPhoneシミュレーターの日本語設定にテンキーというのがあって、その設定をオンにすると、こんなインターフェースが現れた。iPod touchで、日本語入力していて、もっと早く日本語入力できないかと常々思っていたので、iPhoneのこの日本語入力インターフェースにはかなり期待してしまう。

実は、iPod touchで日本語入力インターフェースに不満があったので、画像のようなインターフェースを実装して、リリースすれば、注目されるかなぁと思ってiPhone SDKをからかい始めたのですが、すでに標準で実装されるようで、いきなり出鼻を挫かれました。(^o^ )

(まあ、俺が考えつくようなことは、誰かがすでに実現しているというこですね。チクショー!)

※iPod touchにもすでに実装されているのかと思って、いじってみたけど、見つけられなかった。このインターフェースがすでにiPod touchでも使えるのなら、どうすればよいか、誰か教えてください。(_o_)

投稿者 nekobara : 固定リンク | コメント (0)

2008年05月16日

TEST for Scoutle

Scoutle.com
Scoutle.com

投稿者 nekobara : 固定リンク | コメント (0)

2008年02月26日

WEB+DB PRESS Vol.42

WEB+DB PRESS Vol.42
WEB+DB PRESS Vol.42WEB+DB PRESS編集部


Amazonで詳しく見る
by G-Tools

【後から該当記事を参考にするために】

「アルゴリズム&データ構造 最新入門」p18
「現場で使えるREST」p80 RESTfulサービス
「ニコニコ動画の進化の歴史」p50 負荷対策 システム構成 モバイル動画
「いまどきの全文検索エンジン基礎知識」p108 Senna 転置インデックス
「スケーラブルWebシステム工房 第5回」p146 ネットワークの冗長化方法

投稿者 nekobara : 固定リンク | コメント (0)