OSのセットアップは楽しいけど、頻繁にするのは面倒

HDD容量が小さく、2006年に出たVAIOでWindowsとLinuxを併用したい。
現在のWindows環境は購入してから一度もリストアしていない。
動作が遅くなるなど調子が悪くなるたびにメンテナンスしているので今もなんとか使えている。

このマシンを開発環境として使いたいと常々考えているのだが、そこにはいつもLinux導入の壁が立ちはだかる。
私が作業するにはTeXgnuplotなどの研究に必要なツールはもちろん、sshなどの基本的なツールも必要なのだ。
今まではOSSやGNU、有志の人たちが用意してくれたWindows用のバイナリを使っていたのだけれど、いつもしっくりこない。
例を挙げてみる。

WindowsにxyzzyMeadowLinuxにEmacs23の比較的新しいスナップショット、MacOSXCarbon Emacsを入れると、
それぞれに違う内容の設定ファイルを「しっかり」用意しないと使い勝手が悪く、環境を移ると操作に違和感がある。

一度しっかり環境をセットアップすればそうそう面倒なことにはならないと思っていたのだが、そうではなかった。
WindowsもLinuxもMacも進化する。どんどん進化するテクノロジーやどんどん見つかる脆弱性に対応しようとどのOSも進化し続けるのだ。
ユーザもそれに合わせなきゃならない。
そうなると、一年に一度くらいはOSを再セットアップしなければならない
(かもしれない。が、WindowsXPだけを使いつづける人は2014年4月まで安泰だ)
事実、Fedoraを使っていた頃はすごいペースでサポートが切れるのでしんどかった。

頻繁に再インストールしなければならないということには、いい面とわるい面があると思う。
いい面は、

  • OSの性能向上の恩恵にあずかれる
  • セキュリティ、ツールのアップデートサポートがある

わるい面は、

  • 再セットアップが煩雑
  • 環境が安定するまで作業の効率が落ちる

新しいOSを使うことは楽しい。
だけど、ここ2,3年で何度Emacsをインストールし直したのだろう。数えたくもない・・・

新しいOSを試す環境とは別に、安定した開発環境を作ったほうがいいのかもしれない。
そんなわけで、どこに行ってもスムーズに作業ができるよう、
環境が整った仮想マシンイメージを用意しようと思う。

感想

結局PukiWikiしかインストールできなかった。
だけど、大会が終わったあとも気になってるCMSを追加していこうと思ってる。

今回一番面倒だったのはドキュメントの作成。
IIS7.0とFastCGIの仕組みを調べたところで一週間、
PukiWikiインストールしてドキュメントまとめるところまでで二週間。
ドキュメントの作り方を簡潔な方法にしておけば、やる気も失われなかったのかもしれない。
それほどドキュメント作りが面倒だった。
他にもインストール方法を掲載しているサイトがあるから、
リンクだけ貼って終わりにしても良かったのかもしれない。

反省点だらけの大会でした。
また機会があれば挑戦するかもしれません。

PukiWikiをインストールする

今回は念願のPukiWikiをインストールするぞ!
ということで、早速WindowsWebServer2008のIIS7.0に導入したいところですが、その前に準備しましょう。

IIS7.0にPukiWikiを導入する記事を見つけたので、以下を参考にしましょう。
注意するポイントは、IIS7.0になって変更が加えられたインターネットゲストアカウント。
PukiWikiはページの記述内容をデータベースではなく、テキストファイルとして保存するのでテキストファイルを変更できる権限が必要なのである。


追記予定

サブドメインで複数サイトを運営したい

また、今大会はOSSをいくつかインストールするのですが、
なんとなくサブドメインで管理したくなったので、
Microsoft URL Rewriting Moduleも導入しちゃいましょう。
下のVC++2008SP1ランタイムも入れましょうと書いてありました。

(追記)

どうやら、URL Rewriting Moduleではだめそうだ。
一台のWebサーバで複数のサイトを運営する方法を私は2つ知っている。

  • DNSでバーチャルドメインを作成する方法
  • ポートを複数使う方法

3つ目の方法として、URL Rewriting ModuleでURLを書き換えることで、
複数サイトを同時に運営できないかと目論んだのだが、
ただ単純にURLを書き換えるだけではどうにもならなそうだというのがとりあえずの結論。

ポートを複数使う方法はポートを複数空けなきゃいけないのでやりたくない。
となるとDNSサーバを使う方法しか残らないけれど、
WindowsWebServer2008 には DNSサーバ機能がない。手詰まりだ。

DreamSparkでダウンロードしてきたWindowsServer2008 StandardEdition に戻すか、
それとも今大会中の複数サイト運営は見逃すか、それが問題だ。

IISサーバでPHPを使う

PHPの導入については親切にも大会本部がインストールの資料を用意してくれている。


今回は以下のページの内容にそってFastCGIをインストールすることにしました。
内容は英語で読むのは面倒だけれども、最後まで読むとIIS7.0の運用の仕方がうっすら見えてきた。
また、同じ記事のなかの「Best Practices for Configuring FastCGI and PHP
という見出しのすぐ下のプレゼンテーション資料もダウンロードしてあわせてみたほうがいい。
豊富な図のおかげで、先ほどの英語サイトの内容がわかりやすくなるはずだ。


この際注意しないといけないのがIISPHPに関する不具合。
以下のパッチを当てましょう、と書かれていた。


次に、Administration Pack for IIS7.0をインストール。
このリンクはx64用のもの


(追記)
前回大会の参加者の人が上の英語サイトの内容を日本語で簡潔にまとめてくれています。
英語サイトと見比べながら利用しましょう。
ただし、しっかりセキュリティに関係する項目を把握しながら設定しましょう。
特に、php.iniの設定項目にはサーバ管理者として知っておかなければならないものも多くあるはずです。


ふぅ、php.iniの制御が細かいことに加え、FastCGIの運用についてと、初回から結構ヘビーな内容だった。
これだけでおなかいっぱいだ。すぐにはOSSを大量にインストールする気分になれないだろう。

サーバ設置完了!

なんとかWANからFQDN(ドメイン名・サブドメイン名・ホスト名を省略せずにすべて指定した記述形式のことらしい。知らなかった。)で自宅サーバに接続できるようになりました。
といっても、設定自体は全然難しくないのです。
LAN内のPCからFQDNでアクセスを試みるとサーバにアクセスできなかったので、おかしいなと思ってネットを徘徊していました。
するとどうやら、私のルータにはヘアピンNATなる機能がないらしい。
次の記事の内容と同じような体験をしたので、アドレスをメモ。

しょうがないのでiPhoneで3G回線から接続したところ、接続を確認できました。
セキュリティについてしっかり確認できたら、やっとインストール作業に入れるかな。
かなり出遅れてるだろうけど、研究もしなきゃいけないし・・・