1
第 7 回ワークショップ
ウェブサーバを作ろう
2011 年 10 月 25 日(火) 板垣翔大 鈴木亮介1
ウェブサーバ
1.1 ウェブサーバとは みなさんはウェブサーバと聞いてどのようなものを思い浮かべるでしょうか。簡単に言うと,ウ ェブサーバとは次の条件を満たしているものです。 グローバル IP アドレスを持ち,インターネットに接続している。 サーバソフトがインストールされ,起動中である。 つまり,皆さんが使っているPC もこの条件を満たせばウェブサーバになる,ウェブサーバは誰にで も作れるということです。以前使っていたが今は使っていないPC などで作ることができます。 1.2 ウェブサーバを作ることのメリットとデメリット 1.2.1 メリット サーバを作るとサーバのマシンの容量分,自分が使うことのできる容量が増えます。サーバと して増えた容量は他の端末からアクセス可能なため,例えば次のようなことが可能になります。 オンラインストレージとして利用する 最近ではDropbox などをはじめとするクラウドサービスが無料で利用できるため,この ような利用方法はあまり魅力がないかもしれません。しかし,それらは管理者の一存でサ ービスが終了したりしてしまえば利用することはできなくなります。また,無料版では広 告が付きまとったり,容量が制限されたりしています。それらの心配やストレスがなく利 用できるのはウェブサーバを作ることのメリットと言えるでしょう。 ウェブページを作る 普段私たちがブラウザで見ているページは,あるサーバにある html ファイルや php フ ァイルです。つまり,自分のサーバにそれらのファイルを置くということは,それだけで ウェブページが作られるということになります。また,サーバのデータベースとphp など のページを連携させることで,ウェブアプリケーションなども作成することができます。 1.2.2 デメリット 上記のような魅力的なメリットもありますが,それと同時に大きなデメリットもたくさんあり ます。ウェブサーバの条件として述べた2 つはわかりやすく言うと…… 「グローバル IP アドレスを持ち,インターネットに接続している」 ⇔「家の住所を世界に公開している」 「サーバソフトがインストールされ,起動中である」 ⇔「家の玄関やその鍵を開けたままにする」 ということに当たります。このような表現をすればそれなりのリスクを負っていることがわかる2 と思います。 例えば,何者かの手によってサーバのデータを破損されたり,ウィルスに感染させられたりと いうことがあり得るのです。また,場合によっては不正侵入・不正アクセスの踏み台にされると いうこともあり得ます。自分のマシンから不正をするとその足跡がすべて残るため,不正を行う 際には他人のサーバを介して不正をすることが多いです。このことを踏み台と言います。仮にそ うされた場合は,被害者側にアクセスをしたのは私たちという足跡が残り,真っ先に疑われてし まいます。 これらのリスクを回避するためにも,サーバを作るときには十分な知識と技術が必要になりま す。 1.3 デメリットとどう向き合うか サーバのマシンは,普段使っているPC とは異なります。まず,サーバは基本的に 24 時間 365 日 動いているものです。その割には,1 度構築してしまうと滅多に触れなくなってしまいます。そして, そこにつけ込まれるように悪意のある攻撃を受けるのです。 しかし,デメリットが大きいからと言って断念していたのでは始まらないので,そのデメリット とどのように向き合えば最小限に抑えることができるかを知っておかなければなりません。 ポートの設定 ポートとは,言わばPC のデータ通信の際の窓口です。それぞれのポートには,0~65535 の番号が振られています。例えば,私たちがブラウザで何かページを閲覧したりしていると きには,80 番のポートを使って通信しています。 ポートは家で言うところの玄関や窓に例えることができます。玄関や窓を開けっぱなしに しておけば,泥棒などに入られてしまう可能性があります( ⇔ポートを開けっぱなしにしてお けば,そこから攻撃をされる可能性がある)。しかし,完全に玄関や窓の鍵を閉めてしまった ら,住人は外出することができなくなってしまいます( ⇔自分自身もインターネットに接続で きない)。そのため,必要なときに必要なところだけのポートを開放するというのがベストに なります。 ファイアウォールの設定 ファイアウォールとは,その名の通り防火壁のようなものです。正しく設定しておくこと で,外からの攻撃を受けずに済むことになります。 アンチウィルスソフトの導入 普通の PC と同様に,アンチウィルスソフトを入れておくのが理想的です。「Kingsoft Internet Security」など,フリーのものでも十分な機能をもったものもあります。 サーバ用のマシンと普段使うものは分ける サーバとして使うものと,普段使うものは分けておいた方が良いです。HDD やメモリを共 有すると,サーバのパフォーマンスが低下します。また,個人情報流出などの危険性も高く なり,セキュリティ的にも良くありません。
3
2
サーバソフトのインストール
2.1 XAMPP サーバソフトにも様々なものがあります。今回は宮城教育大学でも使用している「Apache」とい うサーバソフトを例に挙げて説明します。また,サーバを作り運用する際には,データベースも一 緒に利用したり,PHP のページを表示させたりすることが多いです。今回はそれらを一度にインス トールできる「XAMPP」というものを紹介します。 2.2 インストールする前に……今回,私はWindows7 の PC に XAMPP をインストールしてサーバにしました。XAMPP をイン ストールすることで,Apache,MySQL,PHP が使えるようになります。このことを,一般にそれ らの頭文字をとって「WAMP サーバ」と呼ばれています。Mac の PC を使えば「MAMP」,Linux のPC を使えば,「LAMP」と呼ばれます。ちなみに「LAMP」はすべてがフリーのサーバとして知 られています。 また,今回私がサーバソフトをインストールしたPC は下の表のようなスペックのものです。そし て,もし画像や動画コンテンツを扱うようなサーバを立てるときには,その下の行に示した程度の スペックが最低限欲しいです。 CPU メモリ HDD 今回のもの 3.07 [GHz] 4.00 [GB] 1 [TB] 最低限必要なもの 2.00 [GHz] 1.00 [GB] 大きいほど良い 2.3 XAMPP のダウンロード・インストール ここではXAMPP 利用できるようにするまでの手順を紹介します。 1. まずは XAMPP をダウンロードします。次のページにアクセスし,[ダウンロード]の[XAMPP] をクリックします。 http://www.apachefriends.org/jp/xampp-windows.html 2. 次のページで[インストーラ]をクリックします。
4
3. ダイアログが表示されたら[ファイルを保存]をクリックして先に進みます。
4. 選べるのは English しかないので[OK]をクリックしましょう
5 ます。デスクトップにこのようなショートカットのアイコンが作成されます。大雑把に言っ てしまうと,ここまででもうサーバができてしまっています。
3
自分のサーバでページを見てみる
では,実際に自分の作ったサーバにHTML ファイルを置いてそれを見てみましょう。ここでは,私 が今年のドキュメントとして作ったページを見てみることにします。手順は次の通りです。 1. XAMPP をインストールしたフォルダをから「htdocs」というフォルダを開きます。 インストールする際にフォルダを指定しなおさなければ,C:¥xampp¥htdocs だと思います。 2. 開いているフォルダ内に HTML ファイルをドラッグ&ドロップします。6
3. デスクトップの XAMPP control panel をダブルクリックで起動します。サーバソフトである Apache の[Start]をクリックします。
4. ブラウザを起動し,ロケーションバーに「 localhost / [ファイルの名前] 」と入力します。す ると,自分のサーバにあるページを表示させることができます。
7
4
外部からのアクセスを可能にする
ここまでで自分のサーバでページを見ることができました。しかし,今の状態ではセキュリティ的 に問題があります。また,別のPC からは見ることができないため,セキュリティを見直したうえで外 部からアクセスできるようにしてみます。 4.1 XAMPP のセキュリティをチェック 1. ブラウザのロケーションバーに[localhost]と入力し,[日本語]をクリックします。 2. [セキュリティ]をクリックします。8
3. すると,上の 3 つが「要注意」となっているのがわかります。XAMPP は初めはセキュリティ が低くなっているので,下にあるリンクからセキュリティを強化します。
4. 上の 2 つにはパスワードを,下の 2 つにはユーザ名(任意)とパスワードを入力します。いずれも チェックを入れてボタンを押します。
9 5. セキュリティのページに再度アクセスし,ステータスが緑色の「安全」になっていることを確 認します。これでXAMPP のセキュリティが強化されました。 4.2 外部から閲覧できるようにする 1. [コントロールパネル]→[システムとセキュリティ]→[Windows ファイアウォール]と進みます。 2. ウィンドウ左側の[Windows ファイアウォールを介したプログラムまたは機能を許可する]をク リックします。
10
3. [Apache HTTP server]の左側にチェックを入れ,[OK]をクリックします。
4. (他の PC の)ブラウザに 「 [サーバの IP アドレス] / [ファイルの名前] 」と入力してアクセスし ます。外部からもページを閲覧可能なことが確認できます。
11
5
サーバ構築後
先にも述べたとおり,サーバ構築は多くのリスクを伴うものです。サーバを公開するときにももち ろん細心の注意が必要ですが,サーバを公開してからも常に注意が必要です。攻撃の手段やウィルス は常に新しいものへと変化しているからです。 アップデート サーバも普段私たちが行っているのと同じようにソフトウェアのアップデートが必要です。 単に最新のものにするのではなく,安定版の中で最新のものを選ぶようにすると良いです。 ログを確認 XAMPP で構築したサーバのアクセスログは XAMMP をインストールしたフォルダ→「apache」→「logs」 (インストール時に特に指定しなければ「C:¥xampp¥apache¥logs」) の中にある「access.log」に記録されています。定期的にログを確認し,異常なアクセスがない かを確認する必要があります。6
参考 URL
XAMPP ダウンロード元 :「apache friends - xampp for windows 」 http://www.apachefriends.org/jp/xampp-windows.html 解説の参考 :「自宅サーバ WO ノートパソコン DE 」
12