【メモ】 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以降。その間は特に何も問題はなかったんですよね…なにがあったんだろう。突然何か閃くものがあったとか。人為的にスイッチを入れられたとか。えっ、なにそれ怖い。

ちなみに

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

続きを読む

【メモ】 Apacheの設定で「wwwあり」と「wwwなし」を統一する

かなりBasicな話なのですけど、設定ミスでアクセス出来ない事例が生じてたのでメモとして。
Apacheの設定で「wwwあり」と「wwwなし」を統一するには、VirtualHostを使うと楽です。

「wwwあり」→「wwwなし」


ServerName www.example.com
Redirect permanent / http://example.com/

「wwwなし」→「wwwあり」


ServerName example.com
Redirect permanent / http://www.example.com/
このサイトでは「wwwなし」に統一しているので上のパターンですね。 以下のような転送が行われています。 転送時のステータスは「301 Moved Permanently」です。

注意

この用途に使う場合、転送先のURLの最後には「/」が必要です。 誤って以下のように設定していたため、間違って転送されていました。

誤った設定


ServerName www.nplll.com
Redirect permanent / https://nplll.com

誤った設定による転送結果

  • https://www.nplll.com/archives/category/mutter/ → https://nplll.comarchives/category/mutter/
もちろん、404 Not Found。あれま。

正しい設定


ServerName www.nplll.com
Redirect permanent / https://nplll.com/

続きを読む

KyotoTycoonとTokyoTyrantの違い

開発者である平林幹雄さんによると「TokyoTyrant」はキャッシュサーバではないと。

開発メモ: Kyoto Tycoonベータ版リリースすた

Tokyo Tyrantも似たようなコンセプトなのだが、TTはキャッシュサーバではない。キャッシュサーバには、一定時間が経過したら消えるレコードを格納することで空間使用量を一定に保つという「expiration」機能が求められるのだが、TTはそれを自身では実装していない。つまり、TTは「キャッシュ」というよりも「簡易ストレージ」といった位置づけの製品だと言える。

ああ、確かに。

続きを読む