今回はリクエストをいただいたので「Windows Serverで社内向けイントラネットをお金をかけずに構築したい」というときにどのような選択肢があるのかを考えてみることにします。
まずは目的を明確に
何かをしようと思ったら色々な事を明確にしなければいけません。アクセスするのは誰なのか、顧客なのか、社員なのか、プロジェクトメンバーなのか。そこでは何がなされるのか、情報提供なのか、商品を売りたいのか、共同の作業場所にしたいのか。アクセスはどの程度見込むのか、可用性はどの程度あればいいのか。
そして何よりも重要なのは、そのシステムによって「何を実現するのか、何ができれば成功なのか」という事を明確にすることです。
これによって何を選択するのかは全く変わってきますし、また、おのずと明確になっていくでしょう。
とはいえ選択肢を並べてみましょう
とはいえ、今回ここで具体的に何かを作り出すわけではありませんから、具体的にどのような選択肢があるのかを見ていってみましょう。
手動管理 一番原始的な方法です。
- Webサーバーを構築する
- 手動でコンテンツ(HTMLファイル等)を作成、配置する
WebサーバーとしてはWindows ServerですからIISを使うもよし。Apacheを使うもよし。その他動けばなんでもかまいません。
そしてそのWebサーバーに対して自分で作成したコンテンツをおいていくわけです。更新する場合にはエディタで開いて中身を更新。静的なファイルですから読むだけ・・・ですね。
私が始めてWebページを作り出した1998年あたりのころは、みんなこうやってWebページを作っていたものでした。手間かかってました。
手動管理+動的ページ 静的なファイルが置かれているだけではあんまりですので、動的なページを使うということもできます。CGI等を用いてPerl、Ruby、Phyton、Java等で書かれたプログラムを動かす形になります。ちょっとひねるパターンとしてはFlaxを使うようなバージョンでしょうか。マイクロソフト的にはIIS+.NETという感じになります。
確かにやればもうこれだけで何でもできてしまいます。ちょっと大規模にやるならデータの保管場所にSQLデータベースでも使ってしまえばやってできないことは何も無い。という形でしょうか。
ただし、このような形で手動で管理するのは手間もかかりますし、間違いも起きます。大規模なWebサイトを作ろうと思ったらこのような手法だけでは限界があります。また、プログラミングスキルが要求されるなど、誰にでもできるようなものではありません。
コンテンツマネジメントシステム(CMS) そこで登場してきて一気に普及したのが、CMSです。昨今のWebシステムと言えばほとんどCMSにカテゴライズされてしまうのではないでしょうか。
CMSはWebシステムを構成する要素を統合的に管理し、HTMLやプログラミングを知らなくてもWeb上のインターフェース(だけとは限らないが)でWebサイトが構築できてしまうものです。
上記のWikipediaを見てもわかりますが、非常に多くの種類があります。汎用的なものからブログなどある程度形の決まったものまであります。これらはインストールさえしてしまえばその後の運用が楽なものが多いです。
Webアプリケーションフレームワークを使った構築 自分で作る、あるいはCMS自体を作る、というときには昨今は強力なWebアプリケーションフレームワークを用いて作る、ということが多いようです。「手動管理+動的ページ」と書いたものをかなり発展させたものです。
お勧め
それでは、私のお勧めを書いてみます。
Windows SharePoint Services
正直なところ、機能的にはあまりお勧めではないのですが以下の点でやはりお勧めせざるを得ないかなと思います。
- Microsoft純正である
- 無料である
特に企業内で使うような場合に「上司が何のことやら理解していないOSSのプロダクト」よりも「Microsoftの製品で無料だけれども、それなりのことができるもの」の方が納得感が得られやすいのではないかと思います。
インストールが簡単なのも良い点です。ドキュメントライブラリなどは他の製品よりもはるかに出来がいい(そもそもこういうものを実装しているものがあまりない)ので、それも良い点です。
ただし、繰り返しますが、機能的な面ではお勧めしません。ですが、それも用途しだい。用途を明確にして、マッチするようであれば有力な選択肢の一つになるでしょう。
機能として何を持っているのか、と言う点については以下にまとまっていますので参照してみてください。(※ただし、何でもできるように書かれているので鵜呑みにしないように!)
ブログ - Wordpress
目的が「ブログ」で達成できるのであればWordPressは良い選択肢です。あなたが今読んでいるこのブログもWordPressで構築されています。情報発信がメインであるのであればこれを選んでおけば間違いないでしょう。
ブログとしての次点にはMovableTypeをあげておきます。サポートありの商用バージョンもありますし、オープンソースバージョンもあります。
ただし、社内でアンケートを取りたい・・・とか、Todoリストを管理したい・・・とかそういう用途には使えません。何度も繰り返しますが用途を明確に。
ウィキ – MediaWiki
目的がまさにWikipediaのようなものを作成したいのであれば、MediaWikiが良いと思います。MediaWikiはWikipediaを作るために作られたWikiエンジンですので、Wikipediaでできることはできるわけです。
もっと高機能なものがいい、ということであればDekiWikiあたりがいいかもしれません。ワープロのような感覚でWebページを編集できます。
ただ、正直なところウィキに関しては種類が沢山ありすぎてどれがいいのかというところは私もよくわかっていません。色々試してみるといいでしょう。
インストールを楽にするために
さて、調子にのって沢山紹介してしまいましたが、これらを実際にWindows Serverに入れようとすると大体以下のようなものが必要になってきます。
- Apache
- PHP
- MySQL
それぞれWebサーバー、プログラミング言語、データベースサーバーです。まずこれらを導入し、下地を整えた上で、プロダクトをインストールしていくわけですね。それぞれインストール方法なども解説がありますし、インターネット上にも情報が沢山ありますが、いかんせん”UNIX向けの記事が多くてWindows向けのことは書いていない”ということが多いです。残念ながら。
そこで使えるのが以下のような統合インストーラーです。
インストールするだけで環境がすぐに整いますので構築作業が非常に楽だと思います。・・・と言いながら私は一度も使ったことがありません。私は1つづつ苦労しながら入れていくのが好きなので・・・。すみません。
まとめ
というわけで、今回はWindows上でWebシステムを構築する際の話をまとめてみました。結局CMS製品をお勧めしているだけになってしまいましたがお許しください。
今回は「イントラネット向け」、「お金をかけずに」という条件だったのでこのような形になりました。お金をかけてもいいということであればエンタープライズ向け製品がこのほかにも沢山あります。が、それはまたの機会にしましょう。