Web サイト構築の手帖 Windows編

自分のホームページを持ちたいという場合に、Google Apps(無償版) のように無料で使えるサービスも多くあります。でも、自分で思い通りの Web サイトを制作しようと思えば、サーバーをどうするかから始まって多くのことを検討する必要があります。このサイトでは、Web サイトを構築するために自分でいろいろと試行錯誤したことをメモしています。

日本では、Web サイトを構築するといえば、Linux サーバーを使うというのが定番になっています。そのためか Linux サーバーに関する Web サイトは多数あるのですが、Windows OS を使用した Web サイト構築に関する Web サイトは殆どありませんでした。しかし、「BuiltWith.com」をみれば、世界的には Top 100,000 Sites のようにアクセスの多い Web サイトでは Windows サーバーも結構使われているので、Windows OS で Web サーバーというのも捨てたものではないなと思っていました。職場や家庭で使っているパソコンの多くはWindowsです。Windows OS も、改良を繰り返し信頼性も Linux サーバーと同じかそれ以上になっています。それならば Windows でいくのも面白いだろうということで、このサイトを作成しました。実際に Windows OS を使ってみて、少しコストが高くシステムが重いのが欠点ですが、いろんな点で手間は省けたかなと思っています。

Windows PC に Web サイトを作成

Web サイトを構築する場合、まず自分が日頃使っているパソコンで Web サイトを作成してみましょう。実際に Web サーバーを運用し始めても、サイトの模様替えの時には、公開サーバーを直接いじるのではなく、自分のパソコンにダウンロードして、それを修正し、完了したらアップロードして新しいサイトにするというのが普通です。だから、パソコンに作成した Web サイトは後々まで使うことになると思います。

Windows パソコンは、初期設定のままだと Web サーバーはインストールされていないので、最初に Web サーバーをインストールしてやる必要があります。Web サーバーをインストールする方法は、大きく分けて以下の3つの方法があります。

1番目は、Microsoft WebMatrix をインストールする方法です。WebMatrix を利用すれば、驚くほどの手軽さで環境の構築からWebアプリの開発・テストをおこなうことができます。それに加えて、Wndows 7/Vista/XP のほぼ全ての機種で動作するのが大きなメリットです。なお、ここでは WebMatrix ということにしていますが、WebMatrix は Web サーバーの機能をもっているのではなく、実際は IIS Express という開発用の Web サーバーを利用しています。最初に使用するアプリケーションとしては WordPress がお勧めです。詳細については WebMatrix を使用した WordPress のインストールにメモしています。

2番目は、Internet Information Service (IIS) と呼ばれる Web サーバーを利用する方法です。IIS は、Windows 2008 等のサーバーOSに搭載されている Web サーバーと基本的には同一のもので高機能ですが、設定が複雑になるのと、Home Premium 以上の機種でないと添付されていないというのが欠点です。詳細については、IIS のインストールにメモをしています。

3番目は、Visual Web Developer 2010 Express Edition をインストールして、それに付属する Web サーバーを使用することです。どちらかというとプログラミングをしたいという人向きです。VWD に付属する Web サーバーは、Cassini と呼ばれているのですが、今後は、WebMatrix でも利用している IIS Express という開発用に最適化した Web サーバーを利用するようになります。

また、IIS でも IIS Express でも、Linuxの世界の定番である MySQL、PHP、Ruby、Python を容易にインストールすることができるので、WordPress、Joomla!、Drupal 等の LAMP 環境で有名な多くのWebアプリケーションを利用することができます。

Windows レンタルサーバーを利用

自分の PC で Web サイトの作成ができたら、次は、その Web サイトをインターネットで公開しましょう。公開の方法として通常はレンタルサーバーを利用します。日本では、レンタルサーバー(共用サーバー)といえばLinuxが大部分で、Windows の共用サーバーはマイナーな存在です。しかし、現在では SQL Server の利用料を含めて月額千円以下のものが選択可能になっています(Windows レンタルサーバーの比較に一覧を記載)。例えば ExpressWeb は月額263円で借りることができます。また、Windows レンタルサーバーでは、ASP.NET のアプリケーションだけでなく、PHPとMySQLも利用でき、WordPress、Drupal、Jooml等のLAMP環境で有名なアプリケーションも同時に利用することができます。次に、共用サーバーでは不満を持つようになった場合には、VPS を利用することもできます。VPSの価格も大幅に低下しており5年前の共用サーバー並の価格になっています(Windows VPS の比較を参照)。ウィンサーバー VPSだと月額1890円で借りることができます。

また、Amazon EC2 や Windows Azure のクラウドサービスを利用することもできるので、大規模なシステムに成長したとしても問題なく対応できます。最近、Amazon EC2 の t1.micro の Windows OS が1年間無料で使えるようになっています。また、Microsoft BizSpark を利用すれば 3年間無料で Windows Azure の S コンピューティング インスタンスを2個利用することができます。Web サービスを提供しようと考えているのであれば、4年間無料でクラウドを利用することが可能です。

自宅サーバーを立てる

Web サイトをインターネットに公開するもう一つの方法が自宅サーバーを立てることです。レンタルサーバーの制限がいやで自由にマシンをさわりたいという場合には、自宅サーバーを検討すればいいと思います。最近、レンタルサーバーのコストが下がっていますが、自宅サーバーについても以前より導入は格段にしやすくなっています。マシンも普段使っている Windows 7/ Vista で十分だし、インターネット回線の方も光回線が主流になってきて、その気になればすぐにでも自宅サーバーを立てることができます。詳しくは、Windows 7/Vista で自宅サーバーにメモしています。

ASP.NET でプログラミング

プログラム言語の選択は結構悩ましい問題です。ソフトウェア・エンジニアとして就職したい場合は、メジャーな言語を使うのがいいと思います。参考になる資料の一つに、 TIOBE Programming Community Index というプログラミング言語の人気調査をしているサイトがあります。人気言語の1位は、Java で、次に C となっています。ということで、就職をしたい場合には、Java か C を選択するというのが最も問題のない言語の選択だということになります。

それでは、Windows OS で Web サイトを構築しようとした場合はどうかというと、Microsoft の Visual Studio .NETの統合開発環境(IDE:Integrated Development Environment)を利用して、言語は C# を使うことが基本になります。C# は、TIOBE では、人気言語の 3 位になっています。Visual Studio 及び C# の開発生産性を考慮すると、就職をしたい場合でも悪くはない言語の選択だと思います。

このサイトでは、Windows OS でということなので、C#になるのですが、C#に関しては、++C++; //未確認飛行 C という優れた Web サイトがあるので、そちらを見ていただきたいと思います。

自分でサイトを作るためにプログラミングを習得したい場合は、自分が最も習得しやすい言語を選択すればいいと思います。プログラミング言語では、どの言語が優れているかという論争がよくありますが、日本語と英語のどちらが優れているのかという議論と同じで、結局は慣れの問題が一番大きい思います。Java、C、C#、PHP は言語的にはかなり近い言語で、言語の基本だけでいいのならば全部覚えることはそれほど難しいことではありません。しかし、実際に効率よくプログラミングするためには、ライブラリにも慣れる必要があるので、最初はどれか一つに絞って慣れる方がいいと思います。次に使用する分野によって、適した言語は異なるということを考慮する必要があります。Web をサイト作成するためのプログラミングということに限定すれば、C や C++ は何でもできるのですが、その代わり少し手間がかかりすぎるという欠点がでてきます。一方で、スクリプト言語である PHP、Python、Ruby は、簡易に使えるので有力な選択肢になります。

Web サイトを作成するためには、プログラム言語というべきかどうか疑問はありますが、HTML、CSS、JavaScript の知識が必須になります。これらについては、Adobe Flash を利用して ActionScript を利用するという代替手法もあったのですが、Flash は iPhone からインターフェースが合わない、セキュリティに問題がある等の理由で閉め出されており、その後スマートフォン用の Flash Player の開発が中止されています。今後、Web サイトでスマートフォンの比重が大きくなることを考慮すれば、HTML5、CSS3、JavaScript の知識は必須になるでしょう。

ASP.NET のオープンソース・ソフトウエア

ASP.NET のオープンソース・ソフトウェアは、LAMPの世界ほど数は多くはありませんが、優秀なソフトウェアが多く作られています。(ASP.NETオープンソース・ソフトウエアのページを参照)

ASP.NETのオープンソース・ソフトウェアの具体例をあげると、CMS では Umbraco日本語の紹介)があり、自由度が高く拡張性のある優秀なソフトです。また、ブログエンジンには BlogEngine.NETDasBlogSubtext が、Wiki エンジンには ScrewTurn Wiki があります。