WebMatrix を使ってウェブページが完成したら、次は作成したウェブページの公開です。5分間インストールで紹介したデータベースとして SQL CE 4.0 を使用した場合は、データベースとの接続パラメータを考慮する必要がないので公開も簡単にできます。
Umbraco を公開するには、Windows サーバーが必要になります。公開用のサーバーとしては、自分でサーバーを立てるほかに、共用サーバー、VPS、専用サーバーをレンタルする、Windows Aure や Amazon EC2 等のクラウドサービスを利用するという選択肢があります。Linux サーバーの場合と比較すれば選択肢は限られますが、選択に困るということはありません。
初心者に一番おすすめなのは、共用レンタルサーバーの ExpressWeb です。3,150円で1年間利用できるので、自宅サーバーの電気代よりも安いと思います。
共用サーバーを利用していて不満になってきた時には、自分でサーバーを立てることやクラウドサービス、VPS に乗り換えることを検討したらいいでしょう。サーバーの構築方法については、このホームページの Windows 7/Vista で自宅サーバーにメモしています。また、Microsoft の IIS TechCenter には、インターネット Web サーバー構築ガイドラインが公開されていて、ウェブサーバーの構築についてわかりやすく書かれています。共用サーバーを使っている場合でも、ウェブサーバーの構築について学習しておくとウェブシステムについての理解が深まるので、早めに学習しておくのがいいでしょう。
1. ExpressWeb への発行
1-1. ExpressWeb への発行の準備
WebMatrix で作成したウェブページを ExpressWeb に発行する前に以下の作業をします。
- ExpresWrb で作成したウェブページを動作させる Webサイトを用意します。仮想ディレクトリでも動作しますが、WebMatrix での環境とは、絶対パスが異なるようになるので css 等への参照を変更する必要が出てくる場合があります。Web サイトのルートディレクトリにインストールすることをお勧めします。はじめて利用するのであれば、初期設定で作成されている Web サイトを利用してもいいし、Webサイトは無制限に追加することができるので新たにWebサイトを作成することもできます。追加する場合の具体的な操作については、ExpressWeb の操作マニュアルを参照してください。
- ExpressWeb の Webサイトは初期状態では ASP.NET 3.5 に設定されているので、用意したWebサイトの ASP.NET を「Webサイトプロパティ」の「エクステンシャン」で 3.5 から 4.0 に変更します。
- WebMatrix のファイルのエディタを使って、web.config ファイルを修正
(詳細は ExpressWeb でASP.NET アプリのインストールに注意!の方に記載)
修正内容については、<system.web> タグに、<machineKey>タグを以下のように追加します。
<machineKey>タグは、http://aspnetresources.com/tools/keycreator.aspx で作成することができます。
1-2. ExpressWeb への発行
準備ができたら、ExpressWeb への発行を行います。発行の方法については、以下の3通り方法があります。Web 配置は、フォルダーやファイルのアクセス許可の設定が自動でできるので便利です。
- WebMatrix の発行で Web 配置を利用する
詳細については、ExpressWeb のサポートの WebMatrix での接続方法 を参考にしてください。
まず、ExpressWeb 側で「Web展開の有効化」を行います。WebMatrixでWeb展開を行いたいWebサイトのプロパティを開き、「管理」タブをクリックします。 ユーザ名、パスワードを入力して「有効」ボタンをクリックします。「リモート管理は有効です」が表示されたらコントロールパネルでの設定は完了です。WebMatrix での発行の設定を簡単にするため、このサイト用のProfile.xml を生成することもできます。
次に、WebMatrix で、サイトの発行の設定を行います。発行したいサイトを起動し、「サイト」->「発行」の下にあるドロップダウンボタン->「設定」の順でクリックすると以下の設定画面が表示されます。サイトのURLが umb.pp22.net の場合には以下のように入力します。先に Profile.xml を生成しておいた場合は、「発行の設定のインポート」をクリックして読み込みます。「接続の検証」ボタンをクリックして、「正常に接続しました」と表示されることを確認します。確認ができたら、「保存」ボタンをクリックします。
発行の準備ができたので、WebMatrix で、「発行」ボタンをクリックします。下の図のように発行のプレビューが表示されます。データベース Umbraco.sdf は、発行する必要があるのでチェックを入れます。「続行」ボタンをクリックします。
以上で、http://umb.pp22.net にアクセスすると、WebMatrix で作成したウェブページが表示されます。
- WebMatrix の発行で FTP を利用する
WebMatrix は、FTP を利用した発行も可能で、サイトが umb.pp22.net の場合で、初期設定のままの状態のルートディレクトリに発行する場合の設定は下の図のようになります。ユーザー名とパスワードは、コントロールパネルの FTP アカウントで設定したユーザー名とパスワードを使用してください。FTP の場合は、サーバー側のアクセス許可の設定ができないので、発行後に設定を行う必要があります。以下の※FTP で発行する場合の注意事項をみてください。
- FTP クライアントを利用する
WebMatrix で FTP を利用するのであれば、FileZilla Client や FFFTP 等の FTP クライアントを使って、アップロードしても同じことになります。WebMatrix にパスが表示されているので、そのフォルダー内のすべてのファイルをアップロードします。なお、FTP の場合は、サーバー側のアクセス許可の設定ができないので、発行後に設定を行う必要があるのは 2. の場合と同じです。
※ FTP で発行する場合の注意事項
Windows サーバーでは、FTP クライアントを使ってアクセス許可の設定ができません。コントロールパネルのファイルマネージャを使ってフォルダーのアクセス権の設定をおこなうようにします。
アクセス権の設定をせずにサイトにアクセスした場合には、サーバー エラーが発生します。変更の権限を設定する必要があるフォルダーは、まず App_Data フォルダーで、このフォルダーに変更権限を設定しないとUmbracoの動作に必要なデータが保存されている場所なのでサーバーエラーになります。次に、CSS、masterpages、media、macroScripts、scripts、usercontrols、xslt は、それぞれの対応するデータを保存する時に変更権限が必要になるので、変更権限を設定するようにします。また、umbraco、bin フォルダーは、パッケージのインストールをする時に変更権限が必要になる場合があります。
アクセス権の設定の操作は、コントロールパネルのファイルマネージャを使っておこなます。ファイルマネージャの該当のフォルダーを表示後、フォルダー名の右側に表示される鍵のマークをクリックします。
アクセス権の設定の画面が表示されるので、インストールしようとするサイト名の「変更」にチェックをして、「アクセス権を設定」のボタンをクリックします。
2. 自宅サーバー、VPS 等の場合
個人的には、FTP クライアントの FileZilla Client を利用してアップロードしています。FTP クライアントを使用する場合には、Linux サーバーと違って、Windows サーバーでは、FTP クライアントでアクセス許可の設定ができないことに注意してください。
※ Web 配置について
WebDAV による接続については、Windows 認証の場合は問題なく接続できるようなのですが、Windows 7 だけの環境だとローカル以外では使えません。そこで基本認証を使う必要がありますが、基本認証だと SSL 接続を使用する必要があり(Microsoft iis.net の Installing and Configuring WebDAV on IIS を参照)、SSL 接続の場合には SSL の証明書が自己証明書だとうまく接続できないようです。そういうことで、Web 配置によるアップロードはできていません。