Category Archives: FreeBSD

FreeBSDでPT1を使って地デジを録画してみた


最近は、地デジの録画をtorneでしていたのですが、torneってBSの録画ができないんですよね。
録った番組をエンコードしてiPhoneで見ることもできませんし。
そんなことを考えていたある日、友人の家にお邪魔すると、PT1が転がっているではありませんか。その友人は、PT2を使っているということなので、強奪(?)してきました。

アマゾンのサーバでエラーが起こっているかもしれません。
一度ページを再読み込みしてみてください。

本来は、16,800円のはずなのですが、人気のせいか3万円程度で売られていることも珍しくはありません。また、PT2は既に生産終了しています。(PT1は言わずもがな。)

で、地デジを録画しようと思いたったのですが、LinuxやWindowsで録画している人はたくさん居ますが、僕の愛するFreeBSDでPT1やPT2を使っている人は数人しか居なさそうです。
そもそも、PT1やPT2のドライバを書いた方がi386で動かしたのが、今年の6月5日ですよ。

そんなことで、サーバにしかFreeBSDを使っていなかったけど、FreeBSDを愛する僕が、FreeBSDでPT1を使って地デジを録画してみました。
ちなみに、僕はPT1でやりましたが、PT2でも手順にはまったく違いはないはずです。
Read more »

WordPressの自動アップデート機能をSSHで使えるようにした


ちょっと調べてみて、どうもこの情報が少ないように思えたので記事にしてみる。
WordPressには、自動アップデート機能というものがあって、WordPressが入っているサーバのFTPやSSH(SFTP)を使ってWordPress自体やインストールしてあるプラグインをアップデートする機能が備わっている。

標準では今さらなFTPで自動アップデートをするみたいですが、僕はFTPサーバなんて自分のマシンで立ち上げていないので、SSHを使って自動アップデートをしたいと思います。

僕は、WordPressをインストールしたときに、適当にアーカイブを展開してインストールしたので、wp-config.php をちゃんといじってなかった。また、サーバ側に必要最低限のモジュールしか追加していなかったのだ。 これまで、毎回プラグインや本体のアップデートの通知が出る度に、sshでサーバにログインして手動でアップデートしていたが、数日に1回アップデートの通知が出たりしたので面倒になってしまった。

で、自動アップデート機能を使えるようにして、ブラウザでちょいちょいとクリックするだけでアップデートできるようにしたいと思い、今回ちょっとマジメにチャレンジしてみた。

僕の環境は、少数派になりつつある、FreeBSDです。なので、Linuxの方は適宜読み替えをして貰わなければいけません。
とはいえ、OSの違いって、パッケージ管理システムの違いくらいで、上で動いているアプリケーションは同じなので、問題無いと思います。

やることは簡単、僕の環境で足りていなかったのは、libssh2とSSHを使うPECLモジュールです。 最近、めんどくさがりでportsを使うようになったので、portsでインストールしました。

# cd /usr/ports/security/libssh2/
# make
# make install
# cd /usr/ports/security/pecl-ssh2/
# make
# make install
# /usr/local/etc/rc.d/apache22 stop
# /usr/local/etc/rc.d/apache22 start

以上です。 一応、

extension=ssh2.so

という行が /usr/local/etc/php/extensions.ini に書き加えられているかは確認しました。
WordPressの管理画面の自動アップデートを実行する画面に、FTPだけでなくSSHというボタンが追加されているのを確認できればOKかと思います。

いざ実行してみると、認証に失敗しました。たぶん Password Authentication がFreeBSDでは標準で許可されていないからだろうと思い、

/etc/ssh/sshd_config
PasswordAuthentication yes

と書き換えてやって、

# /etc/rc.d/sshd restart

sshdを再起動して、再度試すとうまくいきました。

portsでphp4とopenssl


サーバのほとんどでFreeBSDを使っているのだが、それが故にハマったのでメモしておく。
portsでphpをinstallしているのだが、後になって、phpのOpenSSLサポートが使いたくなった。
普通ならば、security/php4-opensslをinstallするのだけれども、これだとfsockopen()を使うと、
opensslがenableになっていない( no SSL support in this build )とエラーメッセージが出てしまう。
phpinfo()してやっても、opensslがenableになっているので、数時間悩んだのだが、結局のところ、
php4は、openssl extensionがstatic linkされていないといけないらしい。
たしかに、phpのソースのext/standard/fsock.cあたりを見るとそんな感じ。
lang/php4でmake distclean; make cleanしてから、念のために /var/db/ports/php4/optionsを
削除して、makeすると、ダイアログが表示されて、そこでopensslをstaticでcompileするか確認
されるので、コンパイルしなおした。
ロードバランサの奥のマシン全部コンパイルしなおしなので、ものすごく面倒だった。

Emacsを使いはじめた


いままでVi万歳で、Emacsを使う理由も見あたらなかったのだが、VimではUTF-8をうまく
扱えないっぽいということで、Emacsを使い始めることにしてみた。
EmacsでUTF-8でファイルを編集するには、Emacs21まではMule-UCSというのを
使わなければならなかった様ですが、どうもこのMule-UCSを入れると起動が遅くなるらしい。
いままでEmacsを使っていなかったので、特にバージョンにこだわることもないので、
Emacs current ( Emacs22 ) を使うことにした。
私の作業マシンのFreeBSD 5.4-RELEASEにEmacs22を入れる手順をメモしておく。

# cd /usr/local/src
# cvs -d:pserver:anonymous@cvs.sv.gnu.org:/sources/emacs login
(パスワードを聞かれるのでEnterを押す)
# cvs -d:pserver:anonymous@cvs.sv.gnu.org:/sources/emacs co emacs
(これで、ソースを取ってこれる。)
# make bootstrap
# make
# make install

たったこれだけなのだが、make bootstrapするのがよく分からずこまった。

FreeBSD 2.2.9-RELEASEが出た(笑)


エイプリルフールである、4月1日にFreeBSD-Announceメーリングリストに2.2.9-RELEASEの
リリースの案内が流れた。
リリースノートによると、

NOTE: Yeah, it’s been 7 and a half years since 2.2.8, and we know that that
was supposed to be last release from the 2.2-stable branch. But then
Ruslan “The MDOC man” Ermilov and I said to ourselves, “2.2.8 was a
great release! Who needs multi-CPU 64 bit blah blah blah anyways?
New drivers and new features? Bah, my overclocked Celeron-300 has
more power than I’ll ever need anyways.”

ということで、2.2.8から7年半ぶりだそうです。懐かしい。
「誰が64bitのマルチCPUやら新しいドライバや新機能を欲しがるんだ?俺のオーバークロックした
Celeon 300MHzは最高だぜ。」的なことが書いてあって面白い。
とりあえず、(いつ消えるのか分からないので)ISOイメージを保護して、VMWare Playerで動かして
みました。
インストール中のスクリーンショットをいくつか撮ってみました。懐かしいポイントを押さえてます。

▲DESをインストールするかどうか確認する画面。
この頃って、DESの米国外への輸出ができないという問題があったから、米国内かどうか聞かれましたねぇ。

▲TimeZoneで日本を選んでも、琉球か否かを聞かれた。
FreeBSDが使っているtzdataという配布データにこれが残ったままだったかららしいです。

▲ということで、インストール完了です。懐かしい…