メインメニュー

最近の記事

カテゴリー

カレンダー
2010年9月
« 8月    
 12345
6789101112
13141516171819
20212223242526
27282930  

アーカイブ

2004年の日記

ケータイ版URL

http:://toyao.net/xoops/
modules/wordpress/

  カテゴリー ‘Linux’ のアーカイブ
ITに関すること、草野球のことなど。

7月
2010
11

オープンソースカンファレンス2010 京都に行ってきました

去年にひきつづき、7/10(土)にオープンソースカンファレンス(OSC)2010京都に行ってきました。
去年よりなんだか人が多い印象です。どのセミナーも、けっこういっぱい人が来ていました。
不況と勉強会の人気って相関があるんですかね?そんな気も少ししています。
 
 
 

10:15 HTML5で広がるインターネットアプリケーション開発の未来

担当:HTML5-WEST.JP
講師:村岡 正和
 
 
村岡さんはhtml5-west.jpの人です。
HTML5を使って、3D動画を簡単にページ上に表示させるデモを見せてもらいました。
動画を制御するための再生ボタンやSTOPボタンも、HTML内に1行コードを書くだけで作れるんですね。簡単です。
僕はHTML5についてほとんど知識がありませんでしたが、HTML5でいろいろなメディアのコントロールが簡単にできるというのは新しい発見でした。
45分の時間で村岡さんはじめの3人の方のプレゼンがありましたが、どの方もその場でコードを書いて解説しており、プレゼン慣れしてる感じでした。例えて言うなればピアノを弾きながら語れる技術?
僕だったら、ああいう場だと緊張してコードうまく書けないと思う…
プレゼンテーターはすべてMac使ってました。
村岡さんはEmacs使ってました。
 
 

11:00 はてな 今から使えるHTML5 ~はてなの場合~

担当:株式会社はてな
講師:外山 真 (nanto_vi) (株式会社はてな アプリケーションエンジニア)
 
 
大講堂でのセミナーでしたが、 ざっと見た感じ100人以上いました。人気の高さがうかがえます。
もう京都といったら任天堂かはてなですからね!
外山さんは4月に入社したばかりの人で、けっこう華奢な感じのする方でした。
Windows使っていました。

HTML5は旧称 WebApplication 1.0と言い、2006年くらいからHTML5と呼ばれるようになったそうです。
はてなブックマーク使っている人がどれくらいいるかアンケートとっていましたが、ざっとみて会場の半分くらいは使ってるかな?という印象でした。
はてなの新規サービスはHTML5の技術?のCanvasでグラフを作っているそうです。

HTML5ではtabindexを全要素に適用可能です。
例えばspan要素にtabindexを指定できます。そしてボタンじゃないけどクリックできるようになります。
もともとIEの独自拡張でしたが、ほかのブラウザもこの実装を追従するようになりました。
はてなのチュートリアル機能で使っているそうです。

はてなはTenという自社製のフレームワークを利用しています。jQueryを自作している感じ?
 
 
 

13:00 OpenOffice.orgを便利に活用しよう!

担当:関西OpenOffice.org勉強会
講師:大槻 武志、榎 真治、澤 徹、多田 真遵
 
 
榎さんは Windows XP使ってました。
OpenOffice.orgとは、無償で使える統合Officeソフトのことです。
ファイル形式はODF。
事例として、
会津若松市で組織全体で導入
四国中央市 1100台+小中学校用900代を5年かけて移行中
住友電工 全社レベルで活用 最終的に15000台が対象
などがあります。結構自治体や大企業で使われていますね。
 
USBにインストールすることができます。
オフィスソフトが入っていないパソコンでも、インストールせずに使えます。
僕もMacではOpenOffice.org使ってますが、けっこう使えます。MSのExcelデータも普通に読めるし。
もうMS Officeは高いからいらないんじゃないかな?
時代は、何万円もするMS Officeをあえて使わなくても良くなってきつつあります。
 
 
 

14:00 Eclipse PDT + MakeGoodによるPHPコードのテスト

担当:Piece Project
講師:松藤 秀治
 
 
MakeGoodというTDDやEclipse上で動作するテストランナーの紹介をしていただきました。
TDDってなんだかよくわかりませんでした。まぁEclipseでも使えるということで、こんど試してみたいと思います。
テストを自動実行してくれるので、テストが楽ちんになるそうです。
ソースコード保存時に勝手にテストが実行できるようにできる設定とか。けっこう驚きでした。
シナリオ実行とかできるんかな? こういうツールはどんどんやり方を覚えて、効率のよい開発をしたいですね!
 
 
 

15:15 現役IT担当者が語る! やればできる! OSSで中小企業のIT化!

担当:オープンソース(OSS)で中小企業のIT化
講師:菅 雄一
 
 
結構声が大きくて分かりやすい感じの語り口調が独特の人でした。
ITを専門としていないプレゼンテーターが、孤軍奮闘して中小企業のIT化を推進した顛末をプレゼンしていただきました。
プレゼンは高橋メソッド方式で、どんどん流れていく感じ。
 
ホームページ作成を外注業者を頼まず自作して、センスが最悪で、会社内ではボロカス評価だったそうです。
当初は結局、外注してホームページを作成したそうですが、最終的にはWikiで自前のホームページを作り上げました。
素人がITを推進して、痛い目にあうのは、トラブルにあったときです。
やはり表面的な知識では、トラブルに対応できないと痛感したそうです。
どっかから拾ってきたLinuxの設定をそのまま使って動いたからいいや、ではなく、
しっかりとした根拠をもった設定を、自分で考えて構築できるようにならないといけないですね。
具体的な技術事例というのはなかったですが、どういう姿勢で会社のIT化に取り組めばいいのかという参考になりました。
 
 
 
 
このあと、16:15から閉会までは大講堂で5分間スピーチ?という感じのライトニングトークを聴講しました。
5分間のプレゼン発表に命をかけてきてる猛者がいっぱいいて、この内容の濃いこと。
ほとんどの方が残り時間0秒まで使い切る完全に美しいプレゼンを行っていて、内容よりもそのプレゼン技術に感服しました。

次のオープンソース系イベントは秋のKOF(関西オープンフォーラム)があります。今回のようにオープンソースな方々の情熱に触れると、こっちまで元気になります。
技術的なことを学びに行く目的ももちろんありますが、「ようし、オレも頑張ろうっと」という前向きなモチベーションを与えてもらえる場、というのが一番大きいですね。

6月
2010
15

macで使うエディタをemacsにしようかと思う

MacOS Xで使うためのエディタをずっと探しているんですが、迷っていて決めかねています。
長年Windowsの秀丸とかで慣れてしまうと、他のエディタに乗り換えるのは結構有機が要りますよね…

秀丸のキーボードマクロ機能は超便利なんで、少なくともこの機能を備えたエディタでないと困るんです。
他には、少なくとも文字コードはShift-JIS、EUC、UTF-8は認識できて、改行コードも区別でき、それらの間を簡単に 切り替えたり、今どんなコードなのかをタイトルバーなんかに表示してくれたりできないと、ちょっと私には不便です。

PHPの開発環境はもうEclipseとかAptanaで慣れてきたので、その他の言語とか、ちょっとしたデータを見たりする
場合のエディタが欲しいのですね。

Macでは、以下のものがメジャーみたいです。

mi
http://www.mimikaki.net/mi/introduction/

CotEditor
http://www.aynimac.com/p_blog/files/article.php?id=41

Coda (シェアウェア)

http://www.panic.com/jp/coda/

jEdit
http://www.jedit.org/

エディタについては以下のまとめが役に立つと思います。
portal shit! : Mac用テキストエディター選手権
http://www.portalshit.net/article.php?id=1064

で、僕もいろいろエディタを入れて試していますが、新しいエディタに慣れるというのはそれなりにエネルギー と勇気が必要なわけです。
そしてWindows環境で、高機能な秀丸を使っていた身としては、知らず知らずのうちにエディタに対して求める 要求が高くなります。

そういうことを考えだすと、なかなか踏ん切りがつきません。

さらに考慮すべきは、仕事場ではWindowsを使うし、家ではLinux、Windows、Macを使うとなると、キー操作が まったく異なるエディタを別々に使っていると、体がついていけずかえって作業効率が悪くなります。

そんなときにemacsという最後のソリューションを思いつきました。
emacsは、UNIXで古くから使われているエディタですが、MacはUNIXベースのOSだから親和性はいいんじゃない のかと。さらにemacsはいろんなプラットフォーム版が出ているので、やろうとおもえばWindows環境下でemacs を使うことだってできるし。

emacsは、仕事では使うことは今までありませんでしたが、大学時代にSunのワークステーションで、emacs使いながら
LaTeXで卒業論文を書いていたので多少は使えます。(といっても、もう忘れましたが)

この際、昔を回顧する意味も込めて、emacsを覚えなおそうかなぁと。
というわけで、Mac環境にインストールしてみました。

インストール
http://ftp.gnu.org/pub/gnu/emacs/
ここから最新のemacstar.gzを入手します。
2010/6/12時店では emacs-23.2.tar.gz が最新でした。

ですが、IMEパッチを適用したい関係上、
ftp://alpha.gnu.org/gnu/emacs/pretest/
から少し古いバージョンの
emacs-23.1.96.tar.gz
をダウンロードしてきました。

IMEパッチは
http://jaist.dl.sourceforge.jp/macemacsjp/47194/
から
inline_patch-23.1.96-b2.tar.gz
をダウンロードしてきます。

<参考> CocoaEmacs – MacEmacshttp://macemacsjp.sourceforge.jp/index.php?CocoaEmacs

ダウンロードしてきたファイルを、ターミナル上で展開します。
tarの展開がMacでできるんだから便利。

tar xvzf emacs-23.1.96.tar.gz
tar xzf inline_patch-23.1.96-b2.tar.gz

ちなみにtar.gzファイルはfinderからファイルをダブルクリックでも開けるんですね。

次に、ディレクトリを移動して、パッチを当てます

cd emacs-23.1.96
patch -p 0 < ../inline_patch-23.1.96-b2/emacs-inline.patch

コンフィグ

./configure –with-ns –without-x

もし、ここで、 no acceptable C compiler found in $PATH と出る場合は、Xcode Toolsを先に入れましょう。 MacOS XのインストールCDに同梱されています。

Xcode Tools のインストール – BathyScapheWiki
http://bathyscaphe.sourceforge.jp/cgi-bin/wiki.cgi?p=Xcode+Tools+%A4%CE%A5%A4%A5%F3%A5%B9%A5%C8%A1%BC%A5%EB

コンパイルします。

make bootstrap
make install

以上で、emacsのMac用アプリケーションが作れます。
nextstepディレクトリの下に、Emacs.appがあるので、それを起動します。

100615-0001.png

<その他参考> CarbonからCocoaへ–Snow LeopardでEmacs 23を使う(1) – builder by ZDNet Japan
http://builder.japan.zdnet.com/sp/snow-leopard-09/story/0,3800100196,20409879,00.htm

5月
2010
9

VPSプランが最近安くなってきている件

先月、お名前.comの仮想専用サーバプラン(VPS:Virtual Private Server)を申込みました。

 

VPSプランといえば、ほんの1年くらい前までは共用サーバプランと比べて割高なイメージがありましたが、最近は劇的に値段が下がってきている感じがします。

 

去年はamazon EC2というクラウドサービスが話題になりました。要するにこれは仮想サーバを提供してくれるサービスなので、VPSみたいなもんだと思うのですが、一般的な利用では月額で1万円弱くらいかかってたんじゃないかと思います。(価格早見表)

 

海外のamazon EC2の他に、国内のVPSプランもありますが、そのときはもっと割高でした。

例えばKDDIのVPS仮想専用サーバは、現在時点で、120GBの容量が月額35000円していますが、どちらかといえば当時はこれくらいの相場観だったように思います。

とても個人では安易に手を出せるようなホスティングプランではありませんでした。

 

もちろん、現在もまだまだ高めな設定の業者がありますが、かなり安いVPSプランを出してきている格安レンタルサーバー業者が存在します。

 

各社VPSプランの比較

  容量 費用
FC2 VPS 100GB 月額980円 初期費用4800円
WebKeepers 100GB 月額980円 初期費用0円(期間限定)
ServerQueen 100GB 月額1995円 初期費用7350円
使えるねっと 100GB 月額5880円 初期費用0円
@YMC 40GB 月額3645円 初期費用10500円
First Server 10GB 月額3990円 初期費用10500円
VPS Stock 100GB 月額1980円 初期費用0円
RapidSite 10GB 月額1890円 初期費用5250円
お名前.com 120GB 月額2457円 初期費用0円(期間限定)

 

 

また、月額490円と言うVPSプランも登場してきているようです。

月額490円で使える仮想サーバー「ServersMan@VPS」が実現できた訳 -INTERNET Watch

http://internet.watch.impress.co.jp/docs/special/20100405_358327.html

 

ホスティングの価格破壊は共用サーバからVPSに主戦場が移っていくのでしょうか。

 

 

僕は先月までCORESERVERの共用サーバ15GBで月額500円のプランを使用していました。

3GBくらいしか使ってなかったので容量はまだ余裕だったのですが、ファイル数上限が設けられていて、300000ファイル数の上限に達してしまいこれ以上ファイルを増やせなくなりました。

この制限があることについては事前に把握しておらずちょっと焦りました。

 

で、しかたがないのでサーバーの引越しを検討したのですが、上記のようにVPSプランがかなり安くなってきているので、これを機にVPSに乗り換えました。

お名前.comのVPSプランを選択したのは、マイミクのグランパさんがお名前.comを使用しており、アクセス速度が十分高速だったことと、サーバー設置場所が国内であるのが理由です。あと、キャンペーン中で初期費用が0円というのも魅力的でした。

(僕が申込んだ翌月には、初期費用0円のみならず、最初の3か月までもが無料となってしまい悔しい思いをしましたが…orz)

 

業者選定をする際、サーバー設置場所が海外なのか国内なのかは気にした方がいいです。

amazon EC2は海外ですが、サーバーまでのデータ往復にかかる時間(レイテンシ)が国内サーバよりも海外サーバの方が余計にかかってしまうので、Webのアクセス速度などに影響します。

FTPでファイルをアップロードするときなんかも、海外サーバはアップロード時間がやたらかかるときがあり、実際にそういう経験をしたことがあるので、僕はそれ以来海外サーバーを避けるようにしています。

 

VPSプランが共用サーバと比較してメリットなのは、root権限が使えることに尽きます。

もちろんSSHが使えることは前提ですが、SSHできればサブドメインやバーチャルホストやデータベースが作り放題、PHPのバージョンなんかも好きに上げられます。

 

CORESERVERの共用サーバでは、データベースやバーチャルホストは作れましたが、root権限がもらえずWebのコンソール経由でしか作れませんでしたので手作業でやっていました。 しかしVPSプランではなんでもできちゃうので、以下の処理を続けてバッチ処理で行えるようになりました。

これでXOOPSサイトをスクリプト1発で簡単に作れます。

 

・バーチャルホスト設定(Apache)

・ユーザ作成

・データベース作成

・XOOPSファイルコピー

・Apache設定反映(再起動)

 

Webレスポンス的にも十分速いです。快適です。

将来的には、Webの「送信」ボタンと連動してXOOPSサイトが自動的に作れるような仕組みができれば素敵だなぁと思っていたりします。

4月
2010
29

Postfix とdovecotでメールサーバの設定

最近レンタル契約した仮想マシンのメールサーバを設定変更したのでメモ。

 

メールサーバは設定が複雑だし、スパムメールのリレーに使われないように注意しないといけないしで、何かとハードルが高いですが、まぁこれも勉強と思ってやりました。

仮想サーバはお名前.comのVPSプランを使っています。

 

 

環境

 

CentOS release 5.3

Postfix 2.6.2

 

CentOSのバージョンは、

cat /etc/redhat-release

 

で確認できます。

Postfixのバージョンは

postconf mail_version

 

で確認できます。

 

 

 

 

設定変更の前提と背景

 

お名前.comのVPSプランは、Webから管理コンソールが画面にログインできて、ここからサブドメインの設定や、メールの各種設定もできて便利なのですが、それらの設定ができる対象は、あくまでレンタルサーバ契約時に併せて申込んだドメインについてのみです。

他社で管理しているドメイン名を、DNS設定だけ変更してお名前.comのVPSで運用することはもちろんできますが、メールサーバやバーチャルドメインに関する設定は、管理コンソールを使えず自分でアプリケーションの設定を行わないといけないみたいです。

 

僕は他社管理のドメインについてメールの設定を行いたかったので、管理コンソール画面は使えず、Postfixを自前で立ち上げて設定を直接変更する必要がありました。

 

 

image

続きを読む

12月
2009
25

iPhoneでmixiアプリ

 

iPhoneでWebブラウジングは出来るけど、標準ブラウザのSafariがFlashをサポートしていないのが痛いところです。

なぜサポートしていないのかについては、

  • Appleはエンドユーザー体験に対するコントロールを維持したい
  • App Storeをアプリケーションの開発と配布のための主要なプラットフォームにしたい
  • サードパーティーのアプリケーションプラットフォームと競争したくない

など諸説あるようですが、いずれにしてもFlashが搭載される見込みはまだありません。

 

でもなんとかFlashを見たいと思って、VNCで試してみることにしました。

Flashで作られたmixiアプリもこれなら操作できます。

 

20091225IMG_0196

 

 

iPhoneからは、無料のMocha VNC Liteで接続できます。

VNCで自宅のマシンに接続して、そこからブラウザを開いてflashアプリを見ると言うわけです。

この方法で一応Flashを見られるのは見られるのだけれど、動作はかなりもっさりしており、画面リフレッシュもなかなか思うようにならないので、恒常的に使うのには向いてないでしょう。

あくまで「農作物が出来たから刈り取らなきゃ!」といった非常手段(?)くらいの時にしか使う気にはならないと思います。

 

20091225WS000011

 

ちなみに自宅側マシンはLinuxでもWindowsでもいいと思いますよ。

 

Windowsだったらこんな感じですね。

iPhoneでPCを遠隔操作できる 「Mocha VNC Lite」 – 今日のアプリ第202回 – iPhone・iPod touch ラボhttp://ipodtouchlab.com/2008/07/iphonepc-mocha-vnc-lite-202.html

 

僕の場合は、常時ONにして外部から見ることが出来るLinuxサーバーがあるので、それに接続していますけど。

11月
2009
27

WordPressをキャッシュするプラグインWP Super Cache導入

WordPress高速化のため、キャッシュ用プラグインを導入しました。
しかし導入にはかなり苦労しました。

WordPress単体で動かしている場合はそんなに苦労せず導入できると思うけど、うちはXOOPSモジュール(XPressME)を経由しているので、
一筋縄では行かない感じでした。

詳しくはWikiにて。

これを見てる人も、このブログ表示はちょっとは高速になりましたかね?
一度見たページは初回表示時に比べて高速に表示されると思います。
速さを確認するには、例えば左ブロックの「アーカイブ」で適当な過去の年月のエントリを表示してみてかかる時間と、
もういちど同じ年月をクリックしてみて、表示にかかる時間を比較してみれば分かると思います。
2回目のアクセスの方が速く表示されると思います。

こんな感じで、誰かが踏んで作られたキャッシュを、別の誰かが利用することで高速に表示できるようになります。(そのはずです)

しかし、キャッシュのログを見る限り、どうもChromeは毎回キャッシュを使ってくれるページとそうでないページがあるのですが、
原因が良く分かりません。
IEとかFirefoxに対してはうまくキャッシュを提供できているようです。
キャッシュのシステムというのはあまり扱ったことないので、どういう条件で動くのかあまり良く分かっていません。
各ブラウザが持っているCookieによっても変わってくるはずなので、どういう挙動をするかってのは詳しく仕様とか読まないと分からないでしょうな。
そしてマメな分析をして、どうチューニングすれば最適になるかとかいろいろ考えないといけない分野なんでしょう。

ちなみにXOOP本体にもキャッシュ機能がありますので、XOOPS内WordPressだったらそれでキャッシュできるはずなんですが、キャッシュ機能を有効にするとCSSが崩れたりして
おかしな挙動になるときがありますので、基本的にあまり信用していません。

11月
2009
22

swapの設定をする

自宅サーバーがときどきメモリ不足になって落ちているときがあるので、何が原因かを突き止めようとしているのですが、原因がはっきりと良く分かりません。
cronの処理のどれかでメモリ不足に陥ってるような気がするのですが。

サーバーのメモリ容量は2GBありますが、swapを設定しないまま運用していたので、念のためswapを設定することにしました。
といっても、swapを作るだけのディスクパーティションの余裕がもう無いので、/tmp用に作っていたパーティションを潰して、そこにswapを作ります。
/tmp 領域はRAID1(mirror)で5GB作っていましたが、/(root)パーティション10GBの使用率が現在5%ほどで思ったより使ってなかったので、ここに/tmpも含める形にしちゃおうかと思います。

/tmp の5GB分を、例えば3GB+2GBという風に分けて、/tmp を3GB、swapを2GBという分け方にしたかったんだけど、これらのパーティション領域が1TBディスクの最後の方であり、なぜかパーティションをうまく作れなかった(というかext3でフォーマットできなかった)ので、あきらめました。
1TBというディスクサイズの制限なのか、ディスク最後の方はいろいろと制限があるのかどうか分かりませんが、ディスクの最後の方ですから、何らかのはみだし部分があったりするのかも知れません。
あまりうまく説明できませんが、同じ1TBでも、ハードディスクメーカーによって厳密に総容量は異なることがあるので、(1MB=1024KBとするか1000KBとするかなどの違いなんだと思う)、ディスクの最後の方をケチくさく利用するのはあまり得策ではないのかも知れません。
セクタとかシリンダとかを厳密に計算すれば、あと残り使えるサイズは分かるのかも知れませんが、あまり難しいことにハマりたくないのでパス。

それにしても、物理メモリ2GBでは十分じゃないんかなぁ…メモリ増やそうかなぁ…
gnomeデスクトップ環境も立ち上げてるので、物理メモリはもう少しあった方がいいのかも知れない。
来月からWebアクセスも増えそうな気がしてるし。

行った操作はだいたいこんな感じ。環境はdebian(sqeeze)。

1. /tmp(/dev/md4)を潰すので、RAID1を削除 (ディスク使用中だとdevice busyとなるので、サーバー再起動しました。)

mdadm –manage –stop /dev/md4
mdadm –manage –remove /dev/md4

2. /etc/mdadm/mdadm.conf のmd4の記述を削除(サーバー起動時にRAIDを組まないようにする)
3. /etc/fstab のmd4の記載を削除(サーバー起動時にRAIDをマウントしないようにする)
4. /tmp パーティション(/dev/sda6,/dev/sdb6)を削除(Delete)し、この部分にswap(82)を割り当てる。

cfdisk /dev/sda6
cfdisk /dev/sdb6

5. swapの作成

mkswap /dev/sda6
mkswap /dev/sdb6

6. swapをONする

swapon /dev/sda6
swapon /dev/sdb6

7. /etc/fstab にswapの設定を入れる

/dev/sda6 none swap sw 0 0
/dev/sdb6 none swap sw 0 0

メモ:
・swapパーティションはRAIDで冗長化したり、ストライピングで高速化することはあまり意味ないらしい。
複数のswap領域が存在すれば、カーネルの機能でうまく分散させて利用してくれるみたい。
・swap領域は512Mは少なくともあった方が良いみたい。物理メモリのハイバネーション用にも利用されるため。
とはいっても、必ずしも物理容量と同じサイズをswapで用意する必要はない。うまいことサイズ圧縮してくれるらしい。
・どうしてもswap用のパーティションを用意できない場合、swapファイルを用意して、それをswapとして利用する手がある。(参考)
・swapの使用状況はfreeコマンドで確認できる。

 

<参考>
玄箱のswapパーティション設定 – ksaitoの日記
    http://d.hatena.ne.jp/ksaito11/20070513
swapパーティションの作成 – MakiWiki
    http://www.makichan.jp/home/index.php?swap%A5%D1%A1%BC%A5%C6%A5%A3%A5%B7%A5%E7%A5%F3%A4%CE%BA%EE%C0%AE
Linux Hacks:Linuxのスワップ処理を最適化するためのヒント (1/4) – ITmedia エンタープライズ
    http://www.itmedia.co.jp/enterprise/articles/0712/10/news011.html
PC便利帳: Linux スワップファイルの追加
    http://tipspc.blogspot.com/2008/09/linux.html

11月
2009
18

ローカル以外の別のコンピュータからMySQLデータベースに接続する

MySQLはローカル上で接続することしかしておらず、リモートマシンから接続するような使い方をしていなかったのだけれど、
sshクライアントでいちいちコマンドを打ったり、phpMyAdminで見たりするのも面倒になってきたので、リモートのWindowsマシンから
接続できるように設定しました。

これにあわせて、eclipseの便利なプラグインや、MySQLのモデリングツールなんかも使ってみたり。
いったん設定してしまうとなかなか快適です。

詳細はWikiに書きました。
ローカル以外の別のコンピュータからMySQLデータベースに接続する

10月
2009
25

画像管理にImageMagickが便利な件

デジカメで撮った写真が日々膨張してきており、それをどう保管しておこうか考えています。

今までは、バージョン管理システムSubversionの仕組みを使って、ローカルマシンに蓄積された画像ファイルを
Subversionサーバーにコミットするという使い方をしてました。
万が一ローカルに置いている画像が失われても、この仕組みを作っておけばsubversionサーバーからまた取り戻せます。
しかもこれだと、外出先からもファイルを手に入れようと思えばできるので、この点では便利かなーと思っていました。
ですが、いろいろと問題点がありました。

  • subversionへのコミットがめんどくさい。結局面倒で運用しなくなる。ローカルに画像ためっぱなしで意味なし。
  • subversionはそもそもはソースコードの管理システムなので、画像ファイル(=バイナリファイル)を管理するには
        ちょっと無理がある。ファイルと同じサイズの管理ファイルが必要なので、管理する画像ファイルの2倍の容量が
        サーバーに必要。
  • subversionサーバーから画像を取ってきたい場合、まずはサムネイルを見てどれをダウンロードするか決めたい
        のに、そういう使い方ができない。

    subversion以外ではgitが最近注目をあびてきているので、時代に乗り遅れないためにもgitを導入しようとかと
    計画しているのですが、gitにしても画像ファイルに関しては結局同じような制限が付きまとうと思われるので、画像
    ファイル管理は別の方法を考え中です。

    画像ファイルをRAIDに保存するという贅沢な使い方は今まで出来なかったのですが、ディスクも安くなってきたことも
    あり8月にサーバーのディスク容量を1TBのRAIDにしたので、この中にファイルを置くことにしました。
    ローカルマシンにはもう画像ファイル置くのやめて、デジカメの画像をいきなりサーバーに置きます。subversionも使
    わない。
    RAIDだからそもそもバックアップ運用の必要性ないし。楽チンになるかなと。

    外部から見えるようにするには、この領域をWebDAV化しようかなと。まFTPで現状アクセスできるのでそれでもあまり
    不便はなさそうですが。
    画像のサムネイル化ですが、方法をかなり探した揚句、ImageMagickのツールを使用して気持ちよい方法を見つけました。

montage -label ‘%f’ -geometry 100×100+20+10 -tile 4x -shadow *.JPG thumbnail.jpg

こんな感じのコマンドを実行すると、指定ディレクトリ以下の画像を100*100サイズで横4列のリストにしてthumbnail.jpg
を出してくれちゃいます。
以下のような感じです。

20091025

これを作るスクリプトを定期的にcronで回せば、あまり運用の手間なく、外部からもアクセスできる画像ライブラリが出来そうです。
ImageMagickってちゃんと使ったことなかったけど、すごいツールだわ。感動した!
WebDAVのツールに画像サムネイル化するような仕組みがあればいいんだけど、探したところ見つかりませんでした。
こういう製品を使えばWebDAVでサムネイル画像を見られるみたいだけど、有料だし、おそらくサーバー側にも特別な仕組みが必要っぽい。

<参考>
ImageMagickのmontageコマンド – Yaibeen
    http://nucleus.yaibeen.com/item21.html
Montage — IM v6 Examples
    http://www.imagemagick.org/Usage/montage/

9月
2009
20

twitterからmixiボイスへの自動投稿

こんなスクリプトが公開されていたので試してみました。

twitterからmixiボイスにマルチポストするRubyスクリプト書いた

d.hatena.ne.jp/gigi-net/20090918/1253224665

自分のサーバーはRubyが使えると思っていたのですが、入ってなかったのでまずRubyをサーバーにインストールしました。
しかしハマりました。

・ruby単体をインストールしただけではこのスクリプトは動かない。
・どうやらライブラリも含めインストールする必要があるらしい。
・Mechanizeというライブラリをインストールする必要があるらしい。
・rubygemというライブラリインストール用のコマンドがある。
・でもaptitude(debianパッケージ管理システム)経由でもrubyライブラリはインストールできる。
・aptitudeとrubygemのどっちを使えばいいんだ?どっちからでも可?
・とりあえずrubygemからmechanizeをインストール
 →うまく動かない
・それならばaptitudeからmechanizeをインストール
 →うまく動かない

# ./test.rb
/usr/lib/ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require’: no such file to load — Mechanize (LoadError)
from /usr/lib/ruby/1.8/rubygems/custom_require.rb:31:in `require’
from ./test.rb:3

もしかして入れる順番とか関係ある?同じライブラリを上書きしてておかしくなってる?
とかいろいろ考えたんだけど、ふと、
パッケージ名がmechanizeで、インストールされたスクリプト名はmechanize.rb
エラーはMechanize
で出ているので、もしやと思い

/usr/lib/ruby/mechanize.rb

のあるディレクトリで

ln -s mechanize.rb Mechanize.rb

としたらうまく通りました。

インストール方法が間違ってたんかな?でもこれはくだらない不具合のような気が…
debian+ruby環境でしか起こらないのかどうかも気になります。

ネットで調べてみたところでは、同じような現象に悩んでいる人はいなさそうなので固有の問題かも知れん。

それにしても、Rubyではmixiにログインするコードはこれだけで済むのか。美しいな。

page = agent.get(“http://mixi.jp/”)
form = page.forms.first
form["email"] = mixi_username
form["password"] = mixi_password
form.submit

RubyかわいいよRuby.

8月
2009
6

404 RAID Not Found

先週、toyaoサーバーのディスクが壊れたんですよ。
再構築したのでそのときのメモ。

1年くらい掃除してなかったので、こんな有様になってましたw
24時間うごかしているから、汚れ方もすごい。家が汚いのが原因だろって?それもありますねorz
20090806img_5771

そろそろ掃除しなきゃなーと思っていた矢先でした。
空気の循環も悪くなって、熱で逝っちゃったんだろうと見ています。
ディスクは2007年に買ったからまだ2年くらい。やっぱり夏はいろいろありますな。

RAIDにしといて良かったです。大事なファイルもいっぱい入ってたし。
RAIDの恩恵を初めて受けることになりました。
もしデータも消失してたら今頃山梨南部で行方不明になっているところでした。

で、今週再構築をするにあたって、1TBのディスクを2台買いました。
ディスクが(250GB+500GB)×2の4台あったもんもよろしくなかったと思います。
ディスクの数が多いとそれだけ熱も出るわけで。
ということで1TBディスクでディスクの数を減らす試みも行いました。
ディスクも安くなったしね。1TBでも7000円台で買えます。

このように、システムディスクの1台が逝きました。
20090806ws000022

それを1TBに一本化。
20090806-ws000020

RAID再構築のメモをwikiに書きました。力作になっちゃいました。

toyao.net/xoops/modules/xpwiki/?%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC%E8%A8%AD%E5%AE%9A%E3%83%A1%E3%83%A2%2Fmdadm%E3%81%AERAID%E5%86%8D%E6%A7%8B%E7%AF%89

要領悪くって、なんだかんだで2日かかったなぁ。
・カーネルの再構築、initrdの再構築
・1TBのディスクの後ろの方を、/etc/init.d/checkfs.shが認識してくれない?みたいでfsckエラーが出る
などの解決法をいろいろ調査してまして時間かかりました。
fsckについては解決できず…結局、エラーが出る一部のパーティションはチェックを行わないようにしました。

ところで、Excel2007って、図を書くのが前のバージョンに比べて楽ちんになってるね。センスいい図形もかけちゃうし。

3月
2009
27

カーネルモードPPPoE

ダイナミックDNSサービスの3domainが5月で営業終了するということで、他のダイナミックサービス私的DynamicDNSというところに乗り換えました。
3domainは有料だったけど、私的DynamicDNSは無料なんですね!しかもかなり親切に解説ページ作ってくれてるし。最初からここにしとけば良かった。

ということでうちのサーバーの方もいろいろ設定もみなおして、ついでにPPPoEの接続もカーネルモードにしたので手順を残しておきました。

カーネルモードpppoeでppp接続、ダイナミックDNSで自宅サーバー公開

でもカーネルモードにすると、クライアントのWindows機からインターネット接続したときに、なぜか特定のWebサイトが見れなくなったりしてるんよなぁ…
なんかサーバー上でパケット落ちしてて、延々と応答を待っているみたいだけど…
MTUとかちゃんと設定しなあかんのかも知れないんで、とりあえずカーネルモードは元に戻して原因をまたの機会に探ることにします。

1月
2009
25

PHP爆弾その2

PHPの仕事をすることになったのですが、やはり何もしないまま1年ぶりにPHPの開発をするのは不安なため、開発環境だけでも思い出す意味で自宅でシコシコ設定しておりました。

eclipseでPHPのリモートデバッグ環境をつくる

PHPはWebサーバー上で動くプログラムですが、クライアント側からリモートでデバッグすることができます。
これが出来ると開発の効率もあがるというものです。

実は趣味で作りたいPHPアプリがあるんで…いつかそのときのために開発環境は作っておいて損はあるまい。

1月
2009
18

XPressMEハックとか

本サイトで使用させてもらっているXPressMEのV1.08から、「最近の投稿」「最近のコメント」に投稿日付を表示できるようになったのですが、そのために1件の投稿/コメントが2行にわたって表示されてしまいちょっと間延びした感じになっちゃったので、やっぱり自分好みに加工しました。
変更の方法はwikiの方に書いてます。
http://toyao.net/xoops/modules/xpwiki/?%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC%E8%A8%AD%E5%AE%9A%E3%83%A1%E3%83%A2%2FXPressME%E6%8A%95%E7%A8%BF%E6%97%A5%E4%BB%98%E8%A1%A8%E7%A4%BA

あと、「関連記事」を表示してくれるwordpressプラグインも入れました。
導入記はこちら。
http://toyao.net/xoops/modules/xpwiki/?%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC%E8%A8%AD%E5%AE%9A%E3%83%A1%E3%83%A2%2FXPressME%E3%81%ABSimilar%20Posts%E3%83%97%E3%83%A9%E3%82%B0%E3%82%A4%E3%83%B3%E5%B0%8E%E5%85%A5

でもどんな関連付けで記事を選んで来てるんか良く分からんなぁ。
「どこが関連あるの?」ていうような記事とリンクするときもあるから、かえって混乱するんちゃうかなぁ。
ま、実験的に入れてみることにして。

1月
2009
4

UTF8化まとめ

去年の暮に本サイトの文字コードをEUCからUTF-8に変換したのですが、その手順を備忘録がわりにまとめておきました。
XOOPSのEUC→UTF-8化

11月
2008
9

trac野郎再び

風邪気味の体でなんとなくやっちゃいました。
去年、tracの設定をやりましたが、今年初めにマシンをセットアップしなおしたことでtracも使えなくなってしまっていました。
それからtracバージョンも上がって多少使いやすくなったらしいので、再度入れなおすことにしました。
前のバージョンは、webadminというプラグインを別途入れなければならなかったけど、最近のバージョンではすでに同梱されている!これが一番大きい!
次期バージョンの0.12だと、言語サポートも付いてくるからますます便利になるんだろうと思います。

tracの設定は以下に書いてます。
http://toyao.net/xoops/modules/xpwiki/?trac%E6%A7%8B%E7%AF%89

これを使って、将来的には外部から閲覧できる画像データベースにしたいんだけど、ファイル一覧をリスト表示するのではなく
サムネイル表示にしてくれるプラグインがなさそうなので、そんな構想はまだ先の話になりそうです。

10月
2008
20

うぶ

ちょっと古いネタだが。

Wikipedia財団、全サーバーをUbuntu Linuxへ移行
Ubuntuやっぱり流行ってんねんな。

しかし400台ってすげぇな。
設定変えるときどうするんやろ。
いっせいにrshするバッチとか流すんかな。

そういえば昔2000台のLinuxBOXの構成管理の仕事やってたな…
そのときはサードパーティ製のパッケージツール使ったけど。

9月
2008
17

D-Bus

D-Busってなんやろ?と思って調べてみたけどいまいち意味が分からん…
VNCを外出先から使いたいだけやのに…
この概念を理解しないと通れないらしい。

8月
2008
12

メールサーバーのログを解析するawstat

最近サーバーのメンテナンスやらをちょこちょこしてるので、備忘録代りにメモをとることにしました。
今日はawstatの設定をしたのでメモ。
http://toyao.net/xoops/modules/xpwiki/?Postfix%A4%CE%A5%ED%A5%B0%A4%F2%B2%F2%C0%CF%A4%B9%A4%EB%20awstats#xpwiki_body

個人PCには設定方法などのログをとるようにしていたけれど、カッコつけて公開してみるとどうなるかなぁ…
三日坊主になりそうな気はしてる。
でもこういうのって、技術の進歩によりすぐ陳腐化するから長持ちはせんのよね。
古いまま残しておくとそれはそれで混乱を招くし。
まぁ自己満足的な意味合いが強いですな。

8月
2008
6

Postfix外伝

メールサーバーって下手な設定すると、SPAMメール中継の温床になって、プロバイダに怒られたりするんだけど(過去に経験あり)、
そのような経緯もあってあまり込み入った設定とか、いちびった設定をせず普通に粛々と運用するだけにとどめたいんだけど、
訳あって設定を見直さないといけなくなったのでメモ。

契約しているプロバイダがOutboud port25 blockingを設定している場合があります。
かっこつけた言い方だとOP25Bというそうだ。
迷惑メール対策のために、契約ユーザーからのport 25(メール送信用ポートNo)のリクエストを外部に漏らさないためです。
しかし、自宅でメールサーバーを運用している場合、これが障害になり自前メールサーバからメールを送信することができません。
これの対策として、自メールサーバーからの送信メールはISPのメールサーバーに転送する設定を行います。

環境:debian + Postfix

saslモジュールが必要ですので、debianの場合は、以下のようにしてGET。
$apt-get install libsasl2-2 libsasl2-modules

/etc/postfix/main.cf を以下のようにする。

smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl/saslpass
relayhost = [smtpauth.eonet.ne.jp]:587
smtp_use_tls = yes

/etc/postfix/sasl/saslpass を作成する。各自のリレー先メールサーバーの設定をここに記述する。

[転送する先のSMTPサーバ]:587 POPアカウント:POPパスワード

とする。

ハッシュファイルを作成する。
$ cd /etc/postmap/sasl/
$ postmap saslpass
これでsaslpass.db が作成される。

安全のため、元のsaslpass ファイルは削除しておくか、パーミッションを変更しておく。

postfixを再起動する。
/etc/init.d/postfix restart

テスト
mailx xxx@xxx.com
Subjectと本文を適当に入力して、Ctrl-Dを2回で送信。

これで一応いろんなところにメール送れるようになったけど、セキュリティ大丈夫だろうか…?

< 参考>
http://www.ecoop.net/memo/2007-03-31-1.html