【メモ】 Amazon APIによる商品紹介が上手く動いていないとき

Amazon Amazon APIが上手く動いていない(例えば商品表示がすべて表示されていないなど)場合で、特に大きな仕様変更がない場合、サーバの時刻がずれていることがあります。特に、何らかの理由によりサーバの再起動が行われた場合には、時刻のずれに気付かないことがあります。本来であれば自動的に時刻合わせをしているはずなのですけど、シャットダウンのタイミングによってはntpdがエラーで正しく起動せず、時刻合わせが行われないと言うことがあるらしい。 というわけでこの場合には、管理者権限にて時刻のズレを確認した上で、時刻合わせを手動で行います。

# date ← サーバの時刻を確認
# hwclock --show ← ハードウェアクロックの時刻を確認
# /etc/init.d/ntpd stop
# ntpdate ntp.nict.jp ← 時刻合わせ
# /etc/init.d/ntpd start
ちなみにこれが理由で上手く動いていない場合の、Amazonからのレスポンスは「Amazon returned invalid HTTP response code 400」でした。400ってBad Requestでしょってことなんだけど、まあタイムスタンプズレてれば認証用パラメータも期限切れになるよね(という表現でいいのかわかんないけど)ということで。

続きを読む

Mac OS X 起動時にVirtualBox上のゲストOSを自動的に起動する

VirtualBox.jpg ローカルサーバを毎回手動で起動するのが面倒だったので、自動的に起動するようにしてみました。 ググって試行錯誤したんですが上手く行かず、結局こんな方法に。

1. シェルスクリプトを用意する

配置する場所はホーム直下で良いと思います。非表示フォルダではないところで。 ファイル名は適当で大丈夫です。

runvm.command

#!/bin/sh

vboxmanage startvm hogehoge --type headless

killall Terminal
「hogehoge」はVM名です。環境に合わせて設定してください。 「killall Terminal」は処理が正常に実行されたらターミナルを閉じる設定です。これがないと、実行後にターミナルが残ってしまって鬱陶しいので。

2. ログイン時に実行されるよう設定する

「システム環境設定 > ユーザとグループ」を開き、ユーザーを選択。「ログイン項目」タブを表示して、上で用意したシェルスクリプトを登録。 以上で終わり。 やり方は色々あるみたいだし、これが正しい方法とは思えないけれど、上手く出来なかったので。 もう少し解ってる人は、もう少しきちんとした方法をとるべきだと思います。

参考記事

shell – Macでログイン時にスクリプトを実行する(Automator不使用) – Qiita OSX のターミナルを終了時に自動で閉じたい – Windows 2000 Blog

参考にしたかったけど上手く動かせなかった記事

VirtualBox上のゲストOSのブート&スナップショット撮影の自動化 – まんぼう日記 Mac OS Xで使って便利な「ログインフック」 – builder by ZDNet Japan OSX – OS X で起動時に任意のコマンドを実行する – Qiita

続きを読む

【メモ】 CUIに実行ログを書き出す(1行を上書きしていく) 【PHP】

やりたいこと

フレームワークのタスクなどを実行する際に、きちんと進行しているかインジケータを表示させたい。ただし、処理数分だけ行数を重ねるのではなくて1行に上書きしていきたい。上手く説明できなくて歯がゆいんですけど、つまりこうではなくて、
doSomething ...  1/5
doSomething ...  2/5
doSomething ...  3/5
doSomething ...  4/5
doSomething ...  5/5 finished
こう。
doSomething ...  5/5 finished ← この行だけで更新されていく
わかりますかね…

続きを読む

【メモ】 VitualBoxでGuest Additionsが動かなくなったら

VirtualBox.jpg 起動したら共有フォルダへのマウントが解除されており、GUIを起動して共有フォルダを設定し直そうとしたら「Guest Additionsがインストールされてないから共有フォルダは使えませんぜ、旦那」と言い出すVitualBoxさん。かわいい。いや、面倒なだけだよ。「デバイス > Guest Additions のインストール」とクリックしても何も起きずに困ったのですが、CUIから主導でGuest Additionsをインストールし直したら直りました。

参考サイト

Ubuntu日本語フォーラム / Guest Additionsがインストールできない

続きを読む

【メモ】 MySQLを5.1から5.5に上げてmroongaを導入(嵌まった)

最終的にどうしたかというと、こちらのリポジトリを利用させていただきました。 にわかSEの独り言 CentOS 5.8 x64でmroongaを設定 レポジトリはこちらの「wing」を。 にわかSEの独り言 RHEL6互換OS用 wingリポジトリ を公開 それで、「mysql55-mroonga」をインストールすればOK。 一緒にMySQL5.5(wingレポジトリに含まれる)もインストールされます。 わーい。

本当は

  1. 既存のMySQLを5.5にアップデートした上でmroongaをインストール
  2. groongaのレポジトリからMySQL5.5と一緒にインストール
このどちらかで行ければ良かったんですが、mroongaをプラグインとしてインストールするときに失敗したり、groongaを入れてレポジトリを指定しても入るMySQLが5.1のままだったり、なぜか上手くいきませんでした。それで上手く行っているサイトはたくさん見つかるので僕のとこの環境の問題ですかねえ…よくわかりません。 本来参考にしたかったサイトも含めて以下にいくつか参考サイトを上げておきます。

参考サイト

実際に利用したレポジトリおよびインストール方法

にわかSEの独り言 RHEL6互換OS用 wingリポジトリ を公開 にわかSEの独り言 CentOS 5.8 x64でmroongaを設定

mroongaのドキュメント

mroonga — mroonga v2.07 documentation

嵌まったときに指針にしたサイト

MySQL の INSTALL PLUGIN に失敗する時の処方箋(mroonga-1.20編) – Y-Ken Studio

その他のサイト

groongaをCentOS5.5のMySQL5.5にインストールする – ドラあり!*ドラゴンに挑むアリの物語 ** Python使いの日々 Y-Ken Studio CentOS さくらVPS Mysql groonga インストール | junkpotてくなメモ

続きを読む

VirtualBoxの共有ディレクトリ内のファイルを更新してもApacheで表示が更新されない問題

VirtualBox.jpg

作業環境

ホスト

  • OS … Windows 7 64bit
  • 開発環境 … Eclipse 3.7.2

ゲスト

  • OS … CentOS 6.0
  • Httpd … Apache 2.2.15

起きた問題

ちょっと解りにくいので作業順に従って箇条書きで書くとこんな感じ。
  1. Eclipseのワークスペースを共有フォルダとしてVirtualBoxに登録
  2. 共有フォルダをマウントしてドキュメントルートにシンボリックリンクを貼る
  3. Eclipseでファイルを更新
  4. ゲストOS上でファイルの内容が更新されていることを確認
  5. ブラウザの表示を更新→更新されない
    • 読み込むjsファイルやcssファイルを変更しても反映されない
    • JavaScriptの場合途中までしか読み込まれずにエラーが出る
    • ExtJS4ではファイルの末尾によく解らない文字列が追加され「illegal character」エラーが出る

続きを読む

【メモ】SSLの契約を更新(RapidSSL)

RapidSSL社のSSL証明書を更新した作業のまとめメモ。 SSL証明書 RapidSSL 2600円 ワイルドカード 18000円 (RapidSSL Strategic Partner) 新規申し込みおよび、サーバへの設定についてはこちらを。 【メモ】 SSLをインストールする(トラウマを乗り越えた話) | mutter 手順におけるファイル名は上記エントリを引き継いでいます。

環境

  • CentOS 5.1
  • Apache 2.2.3

続きを読む

旧サーバのcronがまだ生きてた …えっ、なにそれ怖い

毎朝6時過ぎに、前日はてなブックマークでブックマークしたエントリを集めたエントリを自動投稿しているのですけど、最近それが2重に投稿されて行っていることに気付きました。なんでなのかな…と思って投稿された内容を確認してみると、どうも現在は使っていないテンプレートで記事が投稿されている様子。えっ、なにそれ怖い。 一瞬、なんらかの非現実的なエネルギーによって過去のプログラムが未来に蘇り、開発された当時の、今はもう世相に合わなくなってしまっている設定に基づいて、自らの存在を現代社会に誇示しようとしているのか…なんていう妄想が浮かびましたが(BIOSHOCKみたいなの)、もちろんそんなことはなくて、さくらVPSのリニューアルで引っ越した時の旧サーバ(現在解約処理中)がまだ稼働していてcronが動いていたため…でした。えっ、なにそれ怖い。 DNSが切り替わってるんだし悪さは出来ないだろう(旧サーバ内で完結するだろう)と思っていたんですが、考えてみたらブログへの自動投稿はXML-RPCを利用していて、XML-RPCのエンドポイントはhttp://からのフルパスで指定しているのですよね。つまり、Webサービスパスワードが同じである限り旧サーバのcronから現サーバへの投稿は可能。えっ、なにそれ怖い。 IPアドレスで指定しているような設定(DB操作など)は現サーバには繋がらなくなっているので問題ないのですけど…見落としていました。油断してた。cronのチェックをするよりもサーバ自体を止めた方が確実なので、そのように。それにしても不思議なのは、サーバの引っ越しを行ったのは4月中旬で、異常が確認できるのは5/20以降。その間は特に何も問題はなかったんですよね…なにがあったんだろう。突然何か閃くものがあったとか。人為的にスイッチを入れられたとか。えっ、なにそれ怖い。

ちなみに

たまにカテゴリーの指定がされていない状態で投稿されてしまっているのは、何らかの事情で上手く投稿が完了できなかったせいで調整をいろいろとやってますが何ともならんので仕方ありません。そろそろカテゴリを指定して投稿できるようになってないのかなぁ。 (現在は一度投稿してからカテゴリを設定して再構築する必要がある)

続きを読む