• 検索結果がありません。

情報システム管理 情報システム管理

N/A
N/A
Protected

Academic year: 2021

シェア "情報システム管理 情報システム管理"

Copied!
64
0
0

読み込み中.... (全文を見る)

全文

(1)

情報システム管理 情報システム管理

10 . Web サーバ

水野嘉明

(2)

本日の内容 本日の内容

1. WWW

2. 動的な Web ページの生成

3. Web サーバの設定

4. Web サーバの監視

(3)

1 1 . WWW . WWW

3

1 . 1 Web の仕組み 1 . 2 URL について 1 . 3 HTML について

1 . 4 httpについて 1 . 5 ブラウザ

1 . 6 Web の歴史

(4)

1 1 . WWW . WWW

 World Wide Web

 Web サーバにある HTML 文書 をネットワークを通して閲覧す るシステム

 インターネットで、最も多く利

用される技術

(5)

1 1 . . 1 1 Web Web の仕組 の仕組

 Web ページが表示される仕組

インターネッ ト

Web サーバ

参照したいファ イルの URL を

指定

指定されたフ ァイルを転送 ファイルをブ

ラウザで表示

5

クライアン ト

(6)

1 1 . . 2 2 URL URL について について

 インターネット上のリソース(情 報やサービス)の場所を指定する ための記述形式

( スキーム名 ):( スキームごとに定められた形 式 )

URL の一般形式

(7)

 Web (http)の場合

http://<user>:<password>@<host>:<port>/<url-path>

スキーム名と <host> 以外は省 略可

http://www2.toyo.ac.jp/~y-mizuno/index.html

スキーム名 ホスト名 パス名

(例 )

7

1 1 . . 2 2 URL URL について について

(8)

 スキーム名

 リソースの種類

http, ftp, mailto, telnet, f ile など

 ホスト名

 ホスト名+ドメイン名

( IP アドレスも可)

 パス名 (省略可)

1 1 . . 2 2 URL URL について について

(9)

1 1 . . 3 3 HTML HTML について について

 Hyper Text Markup Language

 文書の一部を タグ と呼ばれる特 別な文字列で囲う

 文書の構造や修飾情報を記述

 画像や音声、動画、ハイパーリン クを埋め込むことが出来る

W3C という団体が標準化

9

(10)

 HTML の例

1 1 . . 3 3 HTML HTML について について

(11)

1 1 . . 4 http について 4 http について

 Hypertext Transfer Protocol

 Web ブラウザと Web サーバの間で用 いられる通信プロトコル

 主に HTML テキストを送受信

 画像や音声、その他のファイルも伝 送できる

 デフォルトでは ポート番号 80 を使 用

11

(12)

1 1 . . 5 ブラウザ 5 ブラウザ

 ブラウザ

http文書を閲覧するためのソフト

 Internet Explorer

(マイクロソフト製、 Windows に付 属)

 Firefox ( フリー)

 Opera (フリー)

 Google Chrome (フリー)

(13)

1 1 . . 6 6 Web Web の歴史 の歴史

 1990 CERN (欧州原子核研究機 構)のバーナーズ=リーが最初の Web ページを作成

 1992 日本最初の Web サイト

( 文部省高エネルギー加速器研究機構 )

 1993 NCSA (米国立スーパーコン ピュータ応用研究所)にて、 NCSA Mozaic 開発

13

(14)

 1993 WWW を無料で誰にでも開放

 1994 Netscape Navigator

 1995 ~ 2000 Netscape Navigator と Internet Explorer 間で、ブラ ウザ戦争

 1998 Google 登場

 2002 Firefox 開発

1 1 . . 6 6 Web Web の歴史 の歴史

(15)

2 2 . . 動的な 動的な Web Web ページの生成 ページの生成

15

2 . 1 動的なページ生成の仕組

2 . 2 サーバサイドプログラミング

2 . 3 クライアントサイドプログラミング

(16)

2 2 . . 動的な 動的な Web Web ページの生成 ページの生成

 初期の/単純な Web は、 HTML

で作成されたページを表示するだけ

 動的に Web ページを生成

 入力したデータ、その他の条件に

より内容が変わる

(17)

2 2 . . 1 動的なページ生成の仕 1 動的なページ生成の仕 組 組

 ページ生成の仕組 ( 1 )

Web サー

アプリケー ション

Web サーバが、要求に従ってア プリケーションを呼び出し、アプ

リが HTML ファイルを生成する

17

(18)

 このタイプには

 CGI

 SSI

 JSP/JavaServl et

 ASP/ASP.NET などがある

2 2 . . 1 動的なページ生成の仕 1 動的なページ生成の仕

組 組

(19)

 ページ生成の仕組 ( 2 )

Web サー

HTMLの記述に従って、ブラウ ザがスクリプトを実行する。

実行結果が画面に反映される

スクリプト

19

2 2 . . 1 動的なページ生成の仕 1 動的なページ生成の仕

組 組

(20)

 このタイプには

 JavaScript

 AcitveX コントロール などがある

 クライアント側で実行するため

、 セキュリティ上問題となるこ とが多い

2 2 . . 1 動的なページ生成の仕 1 動的なページ生成の仕

組 組

(21)

2 2 . . 2 サーバサイドプログラ 2 サーバサイドプログラ ミング ミング

CGI (Common Gateway Interface)

 Web サーバ上でユーザプログラム を動かすための仕組み・仕様

 CGI プログラムは、 Perl でかかれ ることが多い

 最近は、 Python 、 Ruby なども

 プログラムの出力が、 Web の データ ( HTML や画像など)

21

(22)

 CGI プログラムは、サーバで実行

 作り方が悪いと、サーバの負荷が 大きくなる

 一般のプロバイダでは、ユーザに は作らせないことが多い

2 2 . . 2 サーバサイドプログラ 2 サーバサイドプログラ

ミング ミング

(23)

 CGI の主な用途

 掲示板

 アクセスカウンタ

 Wiki

 Blog システム

 チャット

 アンケートフォーム など

23

2 2 . . 2 サーバサイドプログラ 2 サーバサイドプログラ

ミング ミング

(24)

JavaServlet / JSP

 Java を用いて、動的に HTML を 生成する

 CGI よりもパフォーマンスを向 上

 厳密には、 JavaServlet と JSP は 異なる

 組み合わせて使うのが一般的な

2 2 . . 2 サーバサイドプログラ 2 サーバサイドプログラ

ミング ミング

(25)

ASP / ASP.NET

 HTML と、 VBScript や JavaScript などのスクリプト言語の組合わせ

 マイクロソフトが開発

 ASP を動作させるための Web サーバには、 IIS ( MS の Web サーバプログラム)が用いられる

25

2 2 . . 2 サーバサイドプログラ 2 サーバサイドプログラ

ミング ミング

(26)

JavaScript

 スクリプト言語

 サーバ側ではなく、クライアント 側( Web ブラウザ上)で動作する

 HTML の動的書き換え

 入力フォームの自動補完 など

 プログラミング言語の Java とは

2 2 . . 3 クライアントサイドプログ 3 クライアントサイドプログ

ラミング ラミング

(27)

2 2 . . 3 クライアントサイドプログ 3 クライアントサイドプログ ラミング ラミング

Ajax

 ブラウザ上の JavaScript とサー バとが非同期の通信をし,動的に 画面を再描画する仕組み

27

(28)

2 2 . . 3 クライアントサイドプログ 3 クライアントサイドプログ ラミング ラミング

クライアン ト

ブラウ ザ サーバ

Java

Script

パラメー タ 結果

ユーザではな く JavaScript

が通信する

(29)

3 3 . Web . Web サーバの設定 サーバの設定

29

3 . 1 Apache のインストール 3 . 2 Apache の特徴

3 . 3 Apache の設定

3 . 4 .htaccess によるアクセ スの制限

3 . 5 ユーザ認証

(30)

3 3 . Web . Web サーバの設定 サーバの設定

 Apache HTTP Server

 UNIX で一般的に用いられてい る Web サーバ

 オープンソースで開発されてい る

 Apache ソフトウェア財団

(31)

3 3 . . 1 1 Apache Apache のインストー のインストー ル ル

 最初からインストールされている ことが多い

 インストール、アップデート等 については

『アプリケーションのインス トール』 を参照

 自動起動するには

 update-rc.d / chkconfig

31

(32)

 バージョン

 1.3 系

 安定志向。十分「枯れて」いる

 2.0 系

 新しい機能を使いつつ安定志向

 2.2 系

3 3 . . 1 1 Apache Apache のインストー のインストー

ル ル

(33)

3 3 . . 2 2 Apache Apache の特徴 の特徴

 モジュール による機能追加

 Apache の機能を拡張するため のパーツ

Apache

Core (核

モジュール モジュール

モジュール

組込み・取

り外しが可

33

(34)

 Apache 標準の主なモジュール

モジュール名 役割

mod_auth_basic.s

o

ユーザ認証

mod_authz_host.s

o アクセス制限

mod_cgi.so

CGI の利用

mod_dav.so WebDAV の利用 mod_log_config.s

o ログ機能

34

3 3 . . 2 2 Apache Apache の特徴 の特徴

(35)

3 3 . . 3 3 Apache Apache の設定 の設定

 メインの設定ファイルは、OSやディ ストリビューションにより異なる

 KNOPPIX

/etc/apache2/apache2.conf

 Fedora ( RedHat 系)

/etc/httpd/conf/httpd.conf

 FreeBSD

/usr/local/etc/apache/httpd.conf

35

(36)

3 3 . . 3 3 Apache Apache の設定 の設定

 設定の一部は、別ファイルにして おいて Include 文で読み込む

( Apache 2.2 系から)

 設定ファイルは、テキストファイ ル

 ディレクティブ と呼ばれる命令

を、 1 行に一つずつ記述する

(37)

トップページ

普通は、ファイル名を指定しなくてもトッ プページが表示される

そのためのファイル名を指定

例 )

http://www.toyo.ac.jp/

ファイル指定がないが、

index.html

が表示される

DirectoryIndex index.html index.htm

37

3 3 . . 3 3 Apache Apache の設定 の設定

(38)

 ドキュメントルート

 例えば

http://www.foo.co.jp/bar.html にアクセスすると、

/var/www/bar.html

が表示されるようになっている

 この、 URL によるアクセスの起点と なるディレクトリを ドキュメント ルート と呼ぶ

3 3 . . 3 3 Apache Apache の設定 の設定

(39)

URL http://www.foo.co.jp/ ファ イル名

ファイル名

/var/www/ ファイル名

ファイル名(パス名)の先 頭に ドキュメントルートを加え る

ドキュメントル ート

省略され ることも 多い

39

3 3 . . 3 3 Apache Apache の設定 の設定

(40)

 ドキュメントルートの設定

DocumentRoot "/var/www"

 基本的には、このディレクト リの下に公開するファイルを 置く

 シンボリックリンクやエイリ

3 3 . . 3 3 Apache Apache の設定 の設定

(41)

 サーバ名

 サーバ名として、 DNS に登録 された名前(または IP アドレ ス)を記述する

 : 80 は、ポ-ト番号

ServerName www.toyo.ac.jp:80

41

3 3 . . 3 3 Apache Apache の設定 の設定

(42)

 ディレクトリ単位にルールを設定

3 3 . . 3 3 Apache Apache の設定 の設定

<Directory /var/www/hoo/bar/ >

このディレクトリのルール

</Directory>

(43)

 アクセス制限

 ディレクトリ単位でアクセス制限を かける

 設定方法は二通り

 設定ファイル ( httpd.conf 等)に記述

 対象ディレクトリに、 .htaccess という設定ファイルを置く (後

述)

43

3 3 . . 3 3 Apache Apache の設定 の設定

(44)

 まず、どのディレクトリに対す る設定なのかを指定する

<Directory ディレクトリパス >

ディレクトリのアクセス制御 ルール

</Directory>

3 3 . . 3 3 Apache Apache の設定 の設定

(45)

 アクセスを許可する一覧

 拒否する一覧

 Allow/Deny の評価順

Allow from アクセス許可リス ト

Deny from アクセス拒否リスト

Order Allow,Deny または

Order Deny,Allow

45

3 3 . . 3 3 Apache Apache の設定 の設定

(46)

( 例 )

<Directory /var/www/mypage>

Order Deny,Allow

Allow from 133.79.0.0/255.255.0.0 Deny from All

</Directory>

東洋大学( 133.79. x . y)か らのみ、アクセス可能

3 3 . . 3 3 Apache Apache の設定 の設定

(47)

 CGI の使用

ディレクトリ /usr/lib/cgi-bin に CGI プログラムを置き

http:// サーバ名 /cgi-bin/ ファ イル名 という URL で CGI が使用できる

ScriptAlias /cgi-bin/ "/usr/lib/cgi-bin/"

47

3 3 . . 3 3 Apache Apache の設定 の設定

(48)

 ユーザディレクトリでの CGI 使用

この拡張子のファイルが CGI ファイル

<Directory ディレクトリパス >

Options ExecCGI

</Directory>

AddHandler cgi-script .cgi

このディレクトリで CGI の実行を

3 3 . . 3 3 Apache Apache の設定 の設定

(49)

3 3 . . 4 4 .htaccess .htaccess によるアクセ によるアクセ ス制限 ス制限

 アクセス制限をかけるディレクト リに .htaccess というファイル を置いておく

 httpd.conf (apache2.conf) を修正

<Directory ディレクトリパス >

AllowOverride All

</Directory>

.htaccess による設定の上書きを許

49

(50)

.htaccess に、アクセス制御ルールを記述する ( 例)

Order Deny,Allow

Allow from 133.79.0.0/255.255.0.0 Deny from All

東洋大学( 133.79. x . y)か らのみ、アクセス可能

3 3 . . 4 4 .htaccess .htaccess によるアクセ によるアクセ

ス制限 ス制限

(51)

3 3 . . 5 ユーザ認証 5 ユーザ認証

 ユーザ名とパスワードにより、特定の ユーザのみ閲覧できるように制限でき る

 パスワードファイルを作成する

( OS のユーザ / パスワードとは別)

 httpd.conf (apache2.conf) または .h taccess に記述

51

(52)

 パスワードファイルの作成

ファイルの作成は htpasswd コマンドによる

$ htpasswd -c .htpasswd toyo

New password: (パスワードを入力

Re-type new password: (再度入力

3 3 . . 5 ユーザ認証 5 ユーザ認証

(53)

 htpasswd コマンドにて .htpasswd ファイルが出来るので、適当なディ レクトリにコピーする

(クライアントからはアクセスでき ないディレクトリに置く)

 所有者とパーミッションを変更する

$ chown apache:apache .htpasswd

$ chmod 600 .htpasswd

53

3 3 . . 5 ユーザ認証 5 ユーザ認証

(54)

(.htpasswd ファイルの例)

toyo:NbNKNUm38HWwc

ユーザ名 暗号化されたパスワー ド

3 3 . . 5 ユーザ認証 5 ユーザ認証

(55)

 httpd.conf によるパスワード認証 httpd.conf に以下を記述

<Directory ディレクトリパス >

AuthUserFile /etc/httpd/conf/.htpasswd AuthType Basic

AuthName "My page"

Require user toyo

</Directory>

55

3 3 . . 5 ユーザ認証 5 ユーザ認証

(56)

 .htaccess によるパスワード認証 .htaccess に以下を記述

AuthUserFile /etc/httpd/conf/.htpasswd AuthType Basic

AuthName "My page"

Require user toyo

3 3 . . 5 ユーザ認証 5 ユーザ認証

パスワードファイルの場所

(57)

4 4 . Web . Web サーバの監視 サーバの監視

57

4 . 1 アクセスログの解析

4 . 2 サーバ資源の監視

(58)

4 4 . Web . Web サーバの監視 サーバの監視

 Web サーバの資源は有限

 画像ファイル等が大きすぎる

 効率の悪いスクリプトを実行

 アクセスが集中

 レスポンスが悪くなる

Web サーバの監視が必要

(59)

 アクセスログ解析

 Appache のアクセスログは

/var/log/httpd/access_log 等

 以下のようなデータを調べる

 時間帯によるアクセスの傾向や アクセス元の情報

 ページ毎のアクセス数

 転送サイズ など

59

4 4 . . 1 アクセスログの解析 1 アクセスログの解析

(60)

 ログ解析ツール

 webalizer

 AWStats

 どちらも、ログを調査し、 Web ペー ジとして見える(つまり HTML フォー マットの)レポートを作成する

4 4 . . 1 アクセスログの解析 1 アクセスログの解析

(61)

( webalizer の出力例)

61

4 4 . . 1 アクセスログの解析 1 アクセスログの解析

(62)

 サーバ資源の監視

 次のような項目をモニタリングする

 CPU 使用率

 ネットワークの転送量

 ディスクの使用量 など

4 4 . . 2 サーバ資源の監視 2 サーバ資源の監視

(63)

 一定時間毎にモニタリングし、

グラフ化するツール

 MRTG

 Munin

( MRTG の出力例)

63

4 4 . . 2 サーバ資源の監視 2 サーバ資源の監視

(64)

お疲れ様でした

お疲れ様でした

参照

関連したドキュメント

本研究の目的は , これらの問題を解決するために , ある テニススクールの Web 情報システムを例にして CGI や JavaScript などの Web

どういう仕組み? 3 IPCのサーバの 共有フォルダに ファイルを保存 Webブラウザから アップロード Webブラウザから

7.4 新システム概念図 公開用 Web サーバ 庁内 Web サーバ アップロード 送信 Apache 子育てパスポートアプリケーシ ョン データベース mysql

2 方法と結果 開発したシステムは、Apache+PHP+PostgreSQL システムで、オープンソースを用いた改良しや すいシステムを目指した。PC サーバー上に Redh at

巴 ホテルCATVシステム 4.1

770 日立評論 VO+.57 No.9(1975-9)

情報システム 管理戦略として 明確に設定される 必要があ る. 情報システムの 戦略的環境認識がされた 下で

本論文では,双方向 HTML リンクを P2P ネットワーク上で分散管理するシステムを提案する. 双方向