SlideShare une entreprise Scribd logo
1  sur  47
WEB サーバの基礎知識 2010 年 10 月 29 日 平成 22 年度  地域企業立地促進等事業費補助事業
アジェンダ 00 .講習の導入 01 . WEB サーバとは? 02 .一般的な WEB サーバの紹介 03 . Apache WEB サーバ 04 . Apache  とネットワーク 05 . Apache  のインストール 06 . Apache  のモジュール 07 . Apache  の設定 08 . Virtual Host (仮想ホスト) 09 .認証 10 . MIME  タイプ 11 .インデックス 12 .セキュリティ 13 . PHP 14 .ログの記録
01 . WEB サーバとは? 出典:総務省「平成 21 年度 通信利用動向調査」 (平成 7 年) Windows95  発売 (平成 11 年 2 月) i モード開始 (平成 13 年 9 月) Yahoo BB!  サービス開始 (平成 15 年頃) FTTH  普及拡大
01 . WEB サーバとは? 出典:総務省「平成 21 年度 通信利用動向調査」
01 . WEB サーバとは? ■  World Wide Web ( WWW )の  3 技術要素     ①. URI ( Uniform Resource Identifier )     URL ( Uniform Resource Locator )    ⇒ 情報資源を一意に決定する方法   ②. HTML ( HyperText Markup Language )    ⇒  WEB ページを記述するためのマークアップ言語   ③. HTTP ( HyperText Transfer Protocol )    ⇒  HTML 文書をインターネットを通して異なる      コンピュータ間で送受信する規約
01 . WEB サーバとは? ■  URL (参照) Apache  ハンドブック  P.1 http :// www.kago.com : 8888 / download / index.html スキーム ホスト ポート パス ファイル
01 . WEB サーバとは? 出典:  http://itpro.nikkeibp.co.jp/article/lecture/20061115/253796/ ■  WEB ページ閲覧の流れ (参照) Apache  ハンドブック  P.1
02 .一般的な  WEB サーバの紹介 出典:  Netcraft ( http://news.netcraft.com/ )「 October 2010 Web Server Survey 」 ■  WEB サーバの台数 ( 2007 年) Google  巨大 DC  稼働 Apache, IIS  シェア接近 nginx  急増 Apache  の  1.5 倍の増加率
02 .一般的な  WEB サーバの紹介 出典:  Netcraft ( http://news.netcraft.com/ )「 October 2010 Web Server Survey 」 ■  WEB サーバの台数 Web サーバ 2009 年 6 月 2010 年 6 月 推移 ⊿ 台数 シェア率 台数 シェア率 Apache 39,391,419  46.89% 47,215,212 54.37% 7.48% Microsoft 21,898,527 35.69% 15,821,508 18.22% -17.47% Google 9,526,725 9.00% 12,282,054 14.14% 5.14% nginx 2,941,539 3.35% 6,650,907 7.66% 4.31% Sun 159,685 0.19% -0.19% qq.com 48,453 0.06% -0.06% lighttpd 345,251 0.40% 0.40%
02 .一般的な  WEB サーバの紹介
02 .一般的な  WEB サーバの紹介 ■  代表的な  WEB サーバ   ●  Apache HTTP Server    ⇒ 世界中で現在最も利用されている Web サーバ      大規模な商用サイトから自宅サーバまで幅広く適用可能なオープンソース・ソフトウェア     ●  Internet Information Server ( IIS )    ⇒  Microsoft 社製の Web サーバ      技術的な難易度が高いためか、企業やネットワーク上級者に対してのシェアが高い     ●  Google Front End ( GFE )    ⇒  Google が自社で運用するサーバ(※ Apache ベース)      独自に手を加えて高速化しており、 Google 社内のみで全体の 10 %強のシェアを誇る   ●  nginx    ⇒ ここ数年でシェアを拡大している軽量で高性能な Web サーバ       BSD 系ライセンスでリリースされ、一般的なプラットフォーム OS をほぼサポートしている     ●  lighttpd    ⇒ 高速性が重視される環境に最適化された Web サーバ      他の Web サーバと比較して CPU 負荷やメモリ消費量が少ないなどの特徴を有する (参照) Apache  ハンドブック  P.2
03 . Apache WEB サーバ ◎  Apache  の成り立ち ●  1989 年  欧州原子核研究機構  (CERN)  に在籍していたティム・バーナーズ=リーが「 Information      Management: A Proposal (情報管理:提案)」を執筆。彼が以前から持っていた Web システム  の素案を目に見える形で提案。 ●  1990 年 11 月   World Wide Web  をより具体化した提案書を発表。 1990 年 11 月 13 日から開発が開始。 ●  1990 年 12 月~ 1991 年 1 月  現 Web サーバ群の基になる HTTP サーバ『 CERN HTTPd 』と各種ツールをクリスマス休暇中に作成。  最初の Web ページを展開( BSD 系 OS である NEXTSTEP / NeXT ワークステーションに実装)。 ●  1991 年 8 月   Web サーバとラインベースのウェブブラウザによるプロジェクト成果の要約を投稿。  これが WWW と Web サーバのデビューとなった。 ●  1992 年とそれ以降  イリノイ大学の米国立スーパーコンピュータ応用研究所 (NCSA) のロバート・マックールらが   CERN HTTPd に続く 2 番目の実装となる『 NCSA HTTPd 』を開発、また同じく NCSA の学生であった  マーク・アンドリーセンらが画像も表示できるウェブブラウザ NCSA Mosaic を開発し急速に普及。  ※この時点では、 Web サーバの主役は『 CERN HTTPd 』や『 NCSA HTTPd 』  ⇒ 改修が進まないという不満が募る。  ⇒  NCSA HTTPd に修正を加えるためのパッチ (patch) を集積するプロジェクトを開始。  ⇒ プロジェクトに  Apache Group  という名前を付け、派生版である Apache HTTP Server が誕生。
03 . Apache WEB サーバ 出典:  http://www.w3.org/History/1994/WWW/Journals/CACM/screensnap2_24c.gif 世界最初の WWW ブラウザ ティム・バーナーズ=リー氏 NCSA Mosaic  ブラウザ
03 . Apache WEB サーバ ■  Apache  が注目される理由    ①.ライセンスフリー  ②.無保証/無対応  ③.高い信頼性  ④.高い安定性と軽快な動作  ⑤.豊富な機能  ⑥.多彩な動作環境 (参照) Apache  ハンドブック  P.3
03 . Apache WEB サーバ ■  Apache HTTP Server  の系譜     ◎  Apache  バージョン  1.3x 系    ⇒ 最も”枯れた”バージョンでバグフィックスやパッチも豊富    ⇒ 非常に安定的な動作   ◎  Apache  バージョン  2.0x 系    ⇒ コア部分に  MPM, APR  などの大幅な変更    ⇒ マルチスレッド対応やモジュール追加など新機能を導入   ◎  Apache  バージョン  2.2x 系    ⇒ 認証やキャッシュなどの  2.0x 系の機能強化が主    ⇒  MPM  なども新たな機能が追加
03 . Apache WEB サーバ 出典:  http://d.hatena.ne.jp/end0tknr/20090107/1231275627 ■  MPM ( Multi-Processing-Module ) (参照) prefork  アーキテクチャ (参照) worker  アーキテクチャ 参考:  winnt  アーキテクチャ
03 . Apache WEB サーバ ■  APR ( Apache-Portable-Runtime ) 出典:  http://blog.csdn.net/yacsha/archive/2007/05/19/1616402.aspx プラットフォーム間の 違いを吸収する  API  群
03 . Apache WEB サーバ ■  APR  に含まれるプラットフォーム非依存の機能    ①.動的メモリアロケーションとメモリプール  ②.分割不能操作(アトミックオペレーション)  ③.ライブラリの動的読み込み  ④.ファイル入出力  ⑤.コマンド引数の構文解析  ⑥.ロック  ⑦.ハッシュテーブルと配列  ⑧. mmap  ⑨.ソケットとプロトコル  ⑩.スレッド/プロセス/ミューテックス  ⑪.共有メモリ  ⑫.時間関係  ⑬.ユーザ ID とグループ ID 関係
04 . Apache  とネットワーク ■  OSI 参照モデルと  TCP/IP 出典:  http://blog.csdn.net/yacsha/archive/2007/05/19/1616402.aspx (参照) Apache  ハンドブック  P.5 ~ P.8 ビット フレーム パケット セグメント/データグラム メッセージ
04 . Apache  とネットワーク ■  IP アドレスとネットマスク 出典:  http://www.atmarkit.co.jp/fwin2k/network/baswinlan007/baswinlan007_03.html
04 . Apache  とネットワーク ■  ウェルノウン( well-known )ポート ポート TCP/IP プロトコル 用途 20 TCP ftp-data ファイル転送(データ本体) 21 TCP ftp ファイル転送(コントロール) 22 TCP ssh リモートログイン(セキュア) 23 TCP telnet リモートログイン 25 TCP smtp メール送信 53 TCP/UDP domain DNS ( UDP :名前解決 , TCP :ゾーン転送) 67 UDP boot/dhcp (server) IP  アドレスの自動取得 68 UDP boot/dhcp (client) IP  アドレスの自動取得 69 UDP tftp ファイル転送 80 TCP http www 110 TCP pop3 メール受信 123 UDP ntp 時刻合せ 143 TCP imap メール受信 443 TCP https www (セキュア) 520 UDP rip ルーティングプロトコル
04 . Apache  とネットワーク 【簡易実習】    ①. ipconfig  ②. netstat  ③. route  ④. nslookup  ⑤. tracert  ⑥. ping
05 . Apache  のインストール 【実習】  ①. Apache 2.2.16  のインストール    ※その他いくつかのツールも併せてインストール  ②. Apache  の起動/停止  ③. http  サービスの確認     -  ブラウザ     -  コマンドプロンプト     -  タスクマネージャ     -  コントロールパネル     - telnet     - WFetch (ツール)     - WireShark (ツール) … ※他の受講生のサーバへのアクセス前提  ④. Xperia, IS01  から  LAN  経由接続確認
05 . Apache  のインストール(補足) ■  HTML  の基本 ※ その他のタグは「 HTML タグボード( http://www.dspt.net/ )」等を参考 <html> </html> <head> <title> WEB ページのタイトル  </title> </head> <body> </body> <h1>  見出し  </h1> <p> 段落  <br/> (※改行) </p>
06 . Apache  のモジュール 【実習】  ①. Apache  の  built-in  モジュール確認  ②. modules  ディレクトリの確認    ⇒  http://httpd.apache.org/docs/2.2/ja/mod/  も一読       ※大まかな  Apache  の機能を把握 (参照) Apache  ハンドブック  P.38 ~ P.39
07 . Apache  の設定 【実習】  ①. Apache  インストールディレクトリ再確認 【実習】  ①. httpd.conf  ファイルのバックアップ  ②.基本的なディレクティブ確認     - ServerName     - DocumentRoot     - ServerRoot     - ErrorLog     - PidFile  … ※明記されていないがデフォルト値確認     - TypesConfig     - ErrorDocument  ③.ディレクティブの変更&動作確認     - DocumentRoot     - ErrorDocument (参照) Apache  ハンドブック  P.41 ~ P.42 (参照) Apache  ハンドブック  P.63 ~ P.68
07 . Apache  の設定 【実習】  ①.主なブロックディレクティブ確認     - <VirtualHost>  … ※詳細は別途説明     - <Directory>     - <Files>     - <Location>     - <IfDefine>     - <IfModule> 【実習】  ①. KeepAlive  ディレクティブの設定     - KeepAlive     - KeepAliveTimeout     - MaxKeepAliveRequests    ②. ab ( Apache Bench )による動作の変化     注.外部の公開サーバへの  ab  の実行は  DoS  攻撃とみなされる可能性アリ! (参照) Apache  ハンドブック  P.77 ~ P.80 (参照) Apache  ハンドブック  P.85
08 . VirtualHost (仮想ホスト) ■  Virtual Host  ◎  Virtual Host  とは…  「 1 台の 物理的なホスト 上に 複数の論理的なホスト を構築する機能」  ◎  Virtual Host  機能が無い場合   ①.サーバを複数台(物理的)用意する     ⇒ マシンの設備投資及び物理的なロケーションが必要     ⇒ 必然的に  IP  アドレスも複数必要     ②. Ethernet  カードを複数(物理的)用意する     ⇒ 設備投資は小さいが  IP  アドレスが複数必要     ⇒ 複数の  Apache (※親プロセス)によるリソースの大量消費   ③. Virtual-InterFace ( VIF )を利用する     ⇒ 設備投資は不要だが  IP  アドレスは複数必要     ⇒ リソース消費は上記同様
08 . VirtualHost (仮想ホスト) ■  Virtual Host  ◎名前ベースバーチャルホスト  ○  IP  アドレスベースバーチャルホスト  ○ポートベースバーチャルホスト 【実習】  ①.バーチャルホストを構築    ⇒ ホスト名(例. www.vhosts.com )を 2 ~ 3 つ作成    ②.スタンドアロン環境での動作確認    ⇒  hosts  ファイル利用  ③. LAN  環境での動作確認    ⇒ 簡易  DNS  サービスを利用 (参照) Apache  ハンドブック  P.99 ~ P.105
08 . VirtualHost (仮想ホスト) 出典: http://rina.jpn.ph/~rance/linux/apache/virtualhost.html
09 .認証 出典: http://itpro.nikkeibp.co.jp/article/COLUMN/20080513/301605/?ST=oss Basic  認証の仕組み Digest  認証の仕組み (参照) Apache  ハンドブック  P.113 ~ P.126
09 .認証 【実習】  ①.” .htaccess” ファイル作成  ②. Basic  認証の環境構築  ③.ブラウザ等による動作確認  ④. WFetch  による確認  ⑤. WireShark  による確認 (参照) Apache  ハンドブック  P.139 ~ P.144
09 .認証(補足) ■  個体識別情報(取得方法) キャリア 種別 取得方法等 docomo 個体識別情報 UserAgent より取得 ※ html タグに” utn ” 文字列を指定 i モード ID ( guid ) HTTP リクエストにクエリ文字列 “ guid=ON ” を付与 au 個体識別情報( EZ 番号) ※ サブスクライバ ID HTTP 拡張ヘッダ” X-UP-SUBNO ” より取得 softbank 個体識別情報 UserAgent より取得 X_JPHONE_UID HTTP 拡張ヘッダ” X-JPHONE-UID ” より取得
09 .認証(補足) ■  個体識別情報(実際の値)  ◎  docomo   ・  FOMA  端末:      DoCoMo/2.0 YYYY(c10; serXXXXXXXXXXXXXXX ;  iccxxxxxxxxxxxxxxxxxxxx )       ※  FOMA  端末製造番号 ⇒  serXXXXXXXXXXXXXXX  ( 15 桁英数字)     ※  UIM  製造番号 ⇒  iccxxxxxxxxxxxxxxxxxxxx  ( 20 桁英数字)   ・ 非  FOMA  端末:      DoCoMo/1.0/X503i/c10/ ser***********       ※製造番号 ⇒  ser***********  ( 11 桁英数字)  ◎  au   ・ 全端末:      xxxxxxxxxx_xx.ezweb.ne.jp     ※  EZ  番号(サブスクライバ  ID ) ⇒  xxxxxxxxxx_xx  ( 10 桁 _2 桁英数字)  ◎  softbank   ・  3GC  型端末      SoftBank/1.0/910T/TJ001/ SN***************       ※製造番号 ⇒  SN***************  ( 15 桁英数字)
10 . MIME  タイプ 【実習】  ①. mime.types  を確認    ②.講師  http  サーバ( Apache )より各種コンテンツ  DL    ⇒  WireShark / WFetch  にて通信内容確認     ※  WFetch  使用時はヘッダのみ表示  ③. Content-Type  の確認及びブラウザ動作確認    ⇒  DL  されるもの/オープンされるもの (参照) Apache  ハンドブック  P.145 ~ P.147
11 .インデックス 【実習】  ①. DirectoryIndex  の値を変更&動作確認    ②.ディレクトリ一覧表示/非表示の設定&動作確認    ⇒  Options  の設定を変更 (参照) Apache  ハンドブック  P.178 ~ P.182
12 .セキュリティ 出典: http://www.twsvc.com/about_ssl (参照) Apache  ハンドブック  P.243 ~ P.301
12 .セキュリティ 【実習】  ①.サーバ証明書(※自署)の作成    ②. Apache + OpenSSL  の設定  ③. https ( 443 )の動作確認  ④. WireShark  による通信内容の暗号化確認
13 . PHP 【実習】  ①. PHP 5.2.14  のインストール    ②. Apache + PHP  の実行環境構築  ③. phpinfo()  を利用したサンプル作成&動作確認  ④. User-Agent  を表示するサンプル作成&動作確認    ※個体識別情報の表示&動作確認もチャレンジ!  ⑤. Firefox  &  FireMobileSimulator  を利用した動作確認 (参照) Apache  ハンドブック  P.363 ~ P.369
14 .ログの記録 【実習】  ①. httpd.conf  のデフォルト設定を確認    ②. tail  コマンドによる  access.log, error.log  の確認  ③.ログフォーマットの変更設定&動作確認  ④. server-status  の出力内容を再確認  ⑤. Analog  によるログ解析&結果確認   (参照) Apache  ハンドブック  P.225 ~ P.241
質疑   ~ ご意見/ご提案など ~ 忌憚ないご意見をお願い致します。
(付録)大規模サイトにおける  Apache 出典:大規模画像配信を支える  Perl
(付録)大規模サイトにおける  Apache 2 台 1 組 1.  画像変換(縮小) 2.  テンポラリ置き場 3.  ストレージに転送 4. Mapping DB に追加 出典:大規模画像配信を支える  Perl
(付録)大規模サイトにおける  Apache 出典:大規模画像配信を支える  Perl DNS RR or L4 ロードバランサー CARP(Cache Array Routing Protocol)
(付録)セッション管理 出典: http://itpro.nikkeibp.co.jp/article/COLUMN/20081010/316684/
(付録)セッション管理 出典: http://itpro.nikkeibp.co.jp/article/COLUMN/20081010/316687/?ST=selfup
(おまけ)コンピューティング・パラダイム 出典: http://techon.nikkeibp.co.jp/article/FEATURE/20090408/168504/?ST=print ■  パラダイムの変遷 講師がパソコンを 扱い始めた頃 ネットワークの高速大容量化(有線・無線) WEB-AP ASP SaaS WEB-API

Contenu connexe

Tendances

Vagrant環境のAnsibleを速くしたい
Vagrant環境のAnsibleを速くしたいVagrant環境のAnsibleを速くしたい
Vagrant環境のAnsibleを速くしたいKazuhiro Oinuma
 
明日から始める Chef 入門 #bpstudy
明日から始める Chef 入門 #bpstudy明日から始める Chef 入門 #bpstudy
明日から始める Chef 入門 #bpstudyTakeshi Komiya
 
Chef社内勉強会(第1回)
Chef社内勉強会(第1回)Chef社内勉強会(第1回)
Chef社内勉強会(第1回)Yoshinori Nakanishi
 
show コマンド結果をパースする方法あれこれ #npstudy
show コマンド結果をパースする方法あれこれ #npstudyshow コマンド結果をパースする方法あれこれ #npstudy
show コマンド結果をパースする方法あれこれ #npstudyakira6592
 
さくらインターネットにおけるServerspec導入事例(DevOps勉強会 #3 Serverspecの巻)
さくらインターネットにおけるServerspec導入事例(DevOps勉強会 #3 Serverspecの巻)さくらインターネットにおけるServerspec導入事例(DevOps勉強会 #3 Serverspecの巻)
さくらインターネットにおけるServerspec導入事例(DevOps勉強会 #3 Serverspecの巻)さくらインターネット株式会社
 
Webアプリケーションによる電源管理システムのご紹介
Webアプリケーションによる電源管理システムのご紹介Webアプリケーションによる電源管理システムのご紹介
Webアプリケーションによる電源管理システムのご紹介npsg
 
Server specのご紹介
Server specのご紹介Server specのご紹介
Server specのご紹介Akira Kaneda
 
OpenStack & Ansible で実現する自動化
OpenStack & Ansible で実現する自動化OpenStack & Ansible で実現する自動化
OpenStack & Ansible で実現する自動化Hideki Saito
 
Ansibleで味わうHelion OpenStack
Ansibleで味わうHelion OpenStackAnsibleで味わうHelion OpenStack
Ansibleで味わうHelion OpenStackMasataka Tsukamoto
 
Ansible の CI を drone/Dokcker で試してみた
Ansible の CI を drone/Dokcker で試してみたAnsible の CI を drone/Dokcker で試してみた
Ansible の CI を drone/Dokcker で試してみたKenta Nishimura
 
Ansibleを使ってみよう ~Windowsターゲット編~
Ansibleを使ってみよう~Windowsターゲット編~Ansibleを使ってみよう~Windowsターゲット編~
Ansibleを使ってみよう ~Windowsターゲット編~Takeshi Kuramochi
 
Ansible 2.0を使って組む kubernetesクラスタ vol.1
Ansible 2.0を使って組む kubernetesクラスタ vol.1Ansible 2.0を使って組む kubernetesクラスタ vol.1
Ansible 2.0を使って組む kubernetesクラスタ vol.1Hidetoshi Hirokawa
 
インフラ自動構築エンジン "Ansible"の勘所を1日でつかむ ~基礎入門編~
インフラ自動構築エンジン "Ansible"の勘所を1日でつかむ ~基礎入門編~インフラ自動構築エンジン "Ansible"の勘所を1日でつかむ ~基礎入門編~
インフラ自動構築エンジン "Ansible"の勘所を1日でつかむ ~基礎入門編~Takeshi Kuramochi
 
OpenStackSDK with Ansible
OpenStackSDK with AnsibleOpenStackSDK with Ansible
OpenStackSDK with AnsibleHideki Saito
 
ネットワーク機器のAPIあれこれ入門 (NetOpsCoding#2)
ネットワーク機器のAPIあれこれ入門(NetOpsCoding#2)ネットワーク機器のAPIあれこれ入門(NetOpsCoding#2)
ネットワーク機器のAPIあれこれ入門 (NetOpsCoding#2)Kentaro Ebisawa
 
Okinawa Open Days 2015 Handson - Ansible
Okinawa Open Days 2015 Handson - AnsibleOkinawa Open Days 2015 Handson - Ansible
Okinawa Open Days 2015 Handson - AnsibleHideki Saito
 
ConfD で Linux にNetconfを喋らせてみた
ConfD で Linux にNetconfを喋らせてみたConfD で Linux にNetconfを喋らせてみた
ConfD で Linux にNetconfを喋らせてみたAkira Iwamoto
 
st2-docker ことはじめ
st2-docker ことはじめst2-docker ことはじめ
st2-docker ことはじめShu Sugimoto
 

Tendances (20)

Ansible2.0と実用例
Ansible2.0と実用例Ansible2.0と実用例
Ansible2.0と実用例
 
Vagrant環境のAnsibleを速くしたい
Vagrant環境のAnsibleを速くしたいVagrant環境のAnsibleを速くしたい
Vagrant環境のAnsibleを速くしたい
 
明日から始める Chef 入門 #bpstudy
明日から始める Chef 入門 #bpstudy明日から始める Chef 入門 #bpstudy
明日から始める Chef 入門 #bpstudy
 
Chef社内勉強会(第1回)
Chef社内勉強会(第1回)Chef社内勉強会(第1回)
Chef社内勉強会(第1回)
 
show コマンド結果をパースする方法あれこれ #npstudy
show コマンド結果をパースする方法あれこれ #npstudyshow コマンド結果をパースする方法あれこれ #npstudy
show コマンド結果をパースする方法あれこれ #npstudy
 
さくらインターネットにおけるServerspec導入事例(DevOps勉強会 #3 Serverspecの巻)
さくらインターネットにおけるServerspec導入事例(DevOps勉強会 #3 Serverspecの巻)さくらインターネットにおけるServerspec導入事例(DevOps勉強会 #3 Serverspecの巻)
さくらインターネットにおけるServerspec導入事例(DevOps勉強会 #3 Serverspecの巻)
 
Webアプリケーションによる電源管理システムのご紹介
Webアプリケーションによる電源管理システムのご紹介Webアプリケーションによる電源管理システムのご紹介
Webアプリケーションによる電源管理システムのご紹介
 
Server specのご紹介
Server specのご紹介Server specのご紹介
Server specのご紹介
 
OpenStack & Ansible で実現する自動化
OpenStack & Ansible で実現する自動化OpenStack & Ansible で実現する自動化
OpenStack & Ansible で実現する自動化
 
Ansibleで味わうHelion OpenStack
Ansibleで味わうHelion OpenStackAnsibleで味わうHelion OpenStack
Ansibleで味わうHelion OpenStack
 
Ansible の CI を drone/Dokcker で試してみた
Ansible の CI を drone/Dokcker で試してみたAnsible の CI を drone/Dokcker で試してみた
Ansible の CI を drone/Dokcker で試してみた
 
Ansibleを使ってみよう ~Windowsターゲット編~
Ansibleを使ってみよう~Windowsターゲット編~Ansibleを使ってみよう~Windowsターゲット編~
Ansibleを使ってみよう ~Windowsターゲット編~
 
Ansible 2.0を使って組む kubernetesクラスタ vol.1
Ansible 2.0を使って組む kubernetesクラスタ vol.1Ansible 2.0を使って組む kubernetesクラスタ vol.1
Ansible 2.0を使って組む kubernetesクラスタ vol.1
 
インフラ自動構築エンジン "Ansible"の勘所を1日でつかむ ~基礎入門編~
インフラ自動構築エンジン "Ansible"の勘所を1日でつかむ ~基礎入門編~インフラ自動構築エンジン "Ansible"の勘所を1日でつかむ ~基礎入門編~
インフラ自動構築エンジン "Ansible"の勘所を1日でつかむ ~基礎入門編~
 
OpenStackSDK with Ansible
OpenStackSDK with AnsibleOpenStackSDK with Ansible
OpenStackSDK with Ansible
 
ネットワーク機器のAPIあれこれ入門 (NetOpsCoding#2)
ネットワーク機器のAPIあれこれ入門(NetOpsCoding#2)ネットワーク機器のAPIあれこれ入門(NetOpsCoding#2)
ネットワーク機器のAPIあれこれ入門 (NetOpsCoding#2)
 
Okinawa Open Days 2015 Handson - Ansible
Okinawa Open Days 2015 Handson - AnsibleOkinawa Open Days 2015 Handson - Ansible
Okinawa Open Days 2015 Handson - Ansible
 
Enjoy the Ansible
Enjoy the AnsibleEnjoy the Ansible
Enjoy the Ansible
 
ConfD で Linux にNetconfを喋らせてみた
ConfD で Linux にNetconfを喋らせてみたConfD で Linux にNetconfを喋らせてみた
ConfD で Linux にNetconfを喋らせてみた
 
st2-docker ことはじめ
st2-docker ことはじめst2-docker ことはじめ
st2-docker ことはじめ
 

Similaire à Webサーバの基礎知識【編集済み】

Lesson01
Lesson01Lesson01
Lesson01MRI
 
サーバーの初歩的な話セミナー@大阪20120901
サーバーの初歩的な話セミナー@大阪20120901サーバーの初歩的な話セミナー@大阪20120901
サーバーの初歩的な話セミナー@大阪20120901Masayuki Abe
 
OpenStack base public cloud service by GMO Internet Inc., at 2013/12/12 Okin...
OpenStack base public cloud service by GMO Internet Inc.,  at 2013/12/12 Okin...OpenStack base public cloud service by GMO Internet Inc.,  at 2013/12/12 Okin...
OpenStack base public cloud service by GMO Internet Inc., at 2013/12/12 Okin...Naoto Gohko
 
ゲームのインフラをAwsで実戦tips全て見せます
ゲームのインフラをAwsで実戦tips全て見せますゲームのインフラをAwsで実戦tips全て見せます
ゲームのインフラをAwsで実戦tips全て見せますinfinite_loop
 
泥臭い運用から、プログラマブルインフラ構築(に行きたい)
泥臭い運用から、プログラマブルインフラ構築(に行きたい) 泥臭い運用から、プログラマブルインフラ構築(に行きたい)
泥臭い運用から、プログラマブルインフラ構築(に行きたい) Akihiro Kuwano
 
OpenStack + KVM + IPv6 = oname.com; Next Folsom/Grizzly Service development s...
OpenStack + KVM + IPv6 = oname.com; Next Folsom/Grizzly Service development s...OpenStack + KVM + IPv6 = oname.com; Next Folsom/Grizzly Service development s...
OpenStack + KVM + IPv6 = oname.com; Next Folsom/Grizzly Service development s...Naoto Gohko
 
Cloudstack user group meeting in osaka
Cloudstack user group meeting in osakaCloudstack user group meeting in osaka
Cloudstack user group meeting in osakaNaotaka Jay HOTTA
 
App012 linux java_にも対応!_azure_service_fabric_を
App012 linux java_にも対応!_azure_service_fabric_をApp012 linux java_にも対応!_azure_service_fabric_を
App012 linux java_にも対応!_azure_service_fabric_をTech Summit 2016
 
App012 linux java_にも対応!_azure_service_fabric_を
App012 linux java_にも対応!_azure_service_fabric_をApp012 linux java_にも対応!_azure_service_fabric_を
App012 linux java_にも対応!_azure_service_fabric_をTech Summit 2016
 
Google Compute EngineとGAE Pipeline API
Google Compute EngineとGAE Pipeline APIGoogle Compute EngineとGAE Pipeline API
Google Compute EngineとGAE Pipeline APImaruyama097
 
Google Compute EngineとPipe API
Google Compute EngineとPipe APIGoogle Compute EngineとPipe API
Google Compute EngineとPipe APImaruyama097
 
WebSocket Protocol と Plack::Middleware::WebSocket
WebSocket Protocol と Plack::Middleware::WebSocketWebSocket Protocol と Plack::Middleware::WebSocket
WebSocket Protocol と Plack::Middleware::WebSocketYu Nobuoka
 
OpsWorks aws-cli#11
OpsWorks aws-cli#11OpsWorks aws-cli#11
OpsWorks aws-cli#11Yuta Shimada
 
50分で掴み取る ASP.NET Web API パターン&テクニック
50分で掴み取る ASP.NET Web API パターン&テクニック50分で掴み取る ASP.NET Web API パターン&テクニック
50分で掴み取る ASP.NET Web API パターン&テクニックmiso- soup3
 

Similaire à Webサーバの基礎知識【編集済み】 (20)

Lesson01
Lesson01Lesson01
Lesson01
 
サーバーの初歩的な話セミナー@大阪20120901
サーバーの初歩的な話セミナー@大阪20120901サーバーの初歩的な話セミナー@大阪20120901
サーバーの初歩的な話セミナー@大阪20120901
 
勉強会資料①
勉強会資料①勉強会資料①
勉強会資料①
 
OpenStack base public cloud service by GMO Internet Inc., at 2013/12/12 Okin...
OpenStack base public cloud service by GMO Internet Inc.,  at 2013/12/12 Okin...OpenStack base public cloud service by GMO Internet Inc.,  at 2013/12/12 Okin...
OpenStack base public cloud service by GMO Internet Inc., at 2013/12/12 Okin...
 
ゲームのインフラをAwsで実戦tips全て見せます
ゲームのインフラをAwsで実戦tips全て見せますゲームのインフラをAwsで実戦tips全て見せます
ゲームのインフラをAwsで実戦tips全て見せます
 
泥臭い運用から、プログラマブルインフラ構築(に行きたい)
泥臭い運用から、プログラマブルインフラ構築(に行きたい) 泥臭い運用から、プログラマブルインフラ構築(に行きたい)
泥臭い運用から、プログラマブルインフラ構築(に行きたい)
 
Nginx
NginxNginx
Nginx
 
[Japan Tech summit 2017] DEP 005
[Japan Tech summit 2017] DEP 005[Japan Tech summit 2017] DEP 005
[Japan Tech summit 2017] DEP 005
 
OpenStack + KVM + IPv6 = oname.com; Next Folsom/Grizzly Service development s...
OpenStack + KVM + IPv6 = oname.com; Next Folsom/Grizzly Service development s...OpenStack + KVM + IPv6 = oname.com; Next Folsom/Grizzly Service development s...
OpenStack + KVM + IPv6 = oname.com; Next Folsom/Grizzly Service development s...
 
Cloudstack user group meeting in osaka
Cloudstack user group meeting in osakaCloudstack user group meeting in osaka
Cloudstack user group meeting in osaka
 
App012 linux java_にも対応!_azure_service_fabric_を
App012 linux java_にも対応!_azure_service_fabric_をApp012 linux java_にも対応!_azure_service_fabric_を
App012 linux java_にも対応!_azure_service_fabric_を
 
App012 linux java_にも対応!_azure_service_fabric_を
App012 linux java_にも対応!_azure_service_fabric_をApp012 linux java_にも対応!_azure_service_fabric_を
App012 linux java_にも対応!_azure_service_fabric_を
 
OpenStack概要
OpenStack概要OpenStack概要
OpenStack概要
 
Clrh 110716 wcfwf
Clrh 110716 wcfwfClrh 110716 wcfwf
Clrh 110716 wcfwf
 
Google Compute EngineとGAE Pipeline API
Google Compute EngineとGAE Pipeline APIGoogle Compute EngineとGAE Pipeline API
Google Compute EngineとGAE Pipeline API
 
Google Compute EngineとPipe API
Google Compute EngineとPipe APIGoogle Compute EngineとPipe API
Google Compute EngineとPipe API
 
WebSocket Protocol と Plack::Middleware::WebSocket
WebSocket Protocol と Plack::Middleware::WebSocketWebSocket Protocol と Plack::Middleware::WebSocket
WebSocket Protocol と Plack::Middleware::WebSocket
 
OpsWorks aws-cli#11
OpsWorks aws-cli#11OpsWorks aws-cli#11
OpsWorks aws-cli#11
 
50分で掴み取る ASP.NET Web API パターン&テクニック
50分で掴み取る ASP.NET Web API パターン&テクニック50分で掴み取る ASP.NET Web API パターン&テクニック
50分で掴み取る ASP.NET Web API パターン&テクニック
 
hbstudy37 doc
hbstudy37 dochbstudy37 doc
hbstudy37 doc
 

Webサーバの基礎知識【編集済み】

  • 1. WEB サーバの基礎知識 2010 年 10 月 29 日 平成 22 年度 地域企業立地促進等事業費補助事業
  • 2. アジェンダ 00 .講習の導入 01 . WEB サーバとは? 02 .一般的な WEB サーバの紹介 03 . Apache WEB サーバ 04 . Apache とネットワーク 05 . Apache のインストール 06 . Apache のモジュール 07 . Apache の設定 08 . Virtual Host (仮想ホスト) 09 .認証 10 . MIME タイプ 11 .インデックス 12 .セキュリティ 13 . PHP 14 .ログの記録
  • 3. 01 . WEB サーバとは? 出典:総務省「平成 21 年度 通信利用動向調査」 (平成 7 年) Windows95 発売 (平成 11 年 2 月) i モード開始 (平成 13 年 9 月) Yahoo BB! サービス開始 (平成 15 年頃) FTTH 普及拡大
  • 4. 01 . WEB サーバとは? 出典:総務省「平成 21 年度 通信利用動向調査」
  • 5. 01 . WEB サーバとは? ■ World Wide Web ( WWW )の 3 技術要素     ①. URI ( Uniform Resource Identifier )     URL ( Uniform Resource Locator )    ⇒ 情報資源を一意に決定する方法   ②. HTML ( HyperText Markup Language )    ⇒ WEB ページを記述するためのマークアップ言語   ③. HTTP ( HyperText Transfer Protocol )    ⇒ HTML 文書をインターネットを通して異なる      コンピュータ間で送受信する規約
  • 6. 01 . WEB サーバとは? ■ URL (参照) Apache ハンドブック P.1 http :// www.kago.com : 8888 / download / index.html スキーム ホスト ポート パス ファイル
  • 7. 01 . WEB サーバとは? 出典: http://itpro.nikkeibp.co.jp/article/lecture/20061115/253796/ ■ WEB ページ閲覧の流れ (参照) Apache ハンドブック P.1
  • 8. 02 .一般的な WEB サーバの紹介 出典: Netcraft ( http://news.netcraft.com/ )「 October 2010 Web Server Survey 」 ■ WEB サーバの台数 ( 2007 年) Google 巨大 DC 稼働 Apache, IIS シェア接近 nginx 急増 Apache の 1.5 倍の増加率
  • 9. 02 .一般的な WEB サーバの紹介 出典: Netcraft ( http://news.netcraft.com/ )「 October 2010 Web Server Survey 」 ■ WEB サーバの台数 Web サーバ 2009 年 6 月 2010 年 6 月 推移 ⊿ 台数 シェア率 台数 シェア率 Apache 39,391,419 46.89% 47,215,212 54.37% 7.48% Microsoft 21,898,527 35.69% 15,821,508 18.22% -17.47% Google 9,526,725 9.00% 12,282,054 14.14% 5.14% nginx 2,941,539 3.35% 6,650,907 7.66% 4.31% Sun 159,685 0.19% -0.19% qq.com 48,453 0.06% -0.06% lighttpd 345,251 0.40% 0.40%
  • 10. 02 .一般的な WEB サーバの紹介
  • 11. 02 .一般的な WEB サーバの紹介 ■ 代表的な WEB サーバ   ● Apache HTTP Server    ⇒ 世界中で現在最も利用されている Web サーバ      大規模な商用サイトから自宅サーバまで幅広く適用可能なオープンソース・ソフトウェア   ● Internet Information Server ( IIS )    ⇒ Microsoft 社製の Web サーバ      技術的な難易度が高いためか、企業やネットワーク上級者に対してのシェアが高い   ● Google Front End ( GFE )    ⇒ Google が自社で運用するサーバ(※ Apache ベース)      独自に手を加えて高速化しており、 Google 社内のみで全体の 10 %強のシェアを誇る   ● nginx    ⇒ ここ数年でシェアを拡大している軽量で高性能な Web サーバ      BSD 系ライセンスでリリースされ、一般的なプラットフォーム OS をほぼサポートしている   ● lighttpd    ⇒ 高速性が重視される環境に最適化された Web サーバ      他の Web サーバと比較して CPU 負荷やメモリ消費量が少ないなどの特徴を有する (参照) Apache ハンドブック P.2
  • 12. 03 . Apache WEB サーバ ◎ Apache の成り立ち ● 1989 年  欧州原子核研究機構 (CERN) に在籍していたティム・バーナーズ=リーが「 Information     Management: A Proposal (情報管理:提案)」を執筆。彼が以前から持っていた Web システム  の素案を目に見える形で提案。 ● 1990 年 11 月   World Wide Web をより具体化した提案書を発表。 1990 年 11 月 13 日から開発が開始。 ● 1990 年 12 月~ 1991 年 1 月  現 Web サーバ群の基になる HTTP サーバ『 CERN HTTPd 』と各種ツールをクリスマス休暇中に作成。  最初の Web ページを展開( BSD 系 OS である NEXTSTEP / NeXT ワークステーションに実装)。 ● 1991 年 8 月   Web サーバとラインベースのウェブブラウザによるプロジェクト成果の要約を投稿。  これが WWW と Web サーバのデビューとなった。 ● 1992 年とそれ以降  イリノイ大学の米国立スーパーコンピュータ応用研究所 (NCSA) のロバート・マックールらが   CERN HTTPd に続く 2 番目の実装となる『 NCSA HTTPd 』を開発、また同じく NCSA の学生であった  マーク・アンドリーセンらが画像も表示できるウェブブラウザ NCSA Mosaic を開発し急速に普及。  ※この時点では、 Web サーバの主役は『 CERN HTTPd 』や『 NCSA HTTPd 』  ⇒ 改修が進まないという不満が募る。  ⇒ NCSA HTTPd に修正を加えるためのパッチ (patch) を集積するプロジェクトを開始。  ⇒ プロジェクトに Apache Group という名前を付け、派生版である Apache HTTP Server が誕生。
  • 13. 03 . Apache WEB サーバ 出典: http://www.w3.org/History/1994/WWW/Journals/CACM/screensnap2_24c.gif 世界最初の WWW ブラウザ ティム・バーナーズ=リー氏 NCSA Mosaic ブラウザ
  • 14. 03 . Apache WEB サーバ ■ Apache が注目される理由    ①.ライセンスフリー  ②.無保証/無対応  ③.高い信頼性  ④.高い安定性と軽快な動作  ⑤.豊富な機能  ⑥.多彩な動作環境 (参照) Apache ハンドブック P.3
  • 15. 03 . Apache WEB サーバ ■ Apache HTTP Server の系譜     ◎ Apache バージョン 1.3x 系    ⇒ 最も”枯れた”バージョンでバグフィックスやパッチも豊富    ⇒ 非常に安定的な動作   ◎ Apache バージョン 2.0x 系    ⇒ コア部分に MPM, APR などの大幅な変更    ⇒ マルチスレッド対応やモジュール追加など新機能を導入   ◎ Apache バージョン 2.2x 系    ⇒ 認証やキャッシュなどの 2.0x 系の機能強化が主    ⇒ MPM なども新たな機能が追加
  • 16. 03 . Apache WEB サーバ 出典: http://d.hatena.ne.jp/end0tknr/20090107/1231275627 ■ MPM ( Multi-Processing-Module ) (参照) prefork アーキテクチャ (参照) worker アーキテクチャ 参考: winnt アーキテクチャ
  • 17. 03 . Apache WEB サーバ ■ APR ( Apache-Portable-Runtime ) 出典: http://blog.csdn.net/yacsha/archive/2007/05/19/1616402.aspx プラットフォーム間の 違いを吸収する API 群
  • 18. 03 . Apache WEB サーバ ■ APR に含まれるプラットフォーム非依存の機能    ①.動的メモリアロケーションとメモリプール  ②.分割不能操作(アトミックオペレーション)  ③.ライブラリの動的読み込み  ④.ファイル入出力  ⑤.コマンド引数の構文解析  ⑥.ロック  ⑦.ハッシュテーブルと配列  ⑧. mmap  ⑨.ソケットとプロトコル  ⑩.スレッド/プロセス/ミューテックス  ⑪.共有メモリ  ⑫.時間関係  ⑬.ユーザ ID とグループ ID 関係
  • 19. 04 . Apache とネットワーク ■ OSI 参照モデルと TCP/IP 出典: http://blog.csdn.net/yacsha/archive/2007/05/19/1616402.aspx (参照) Apache ハンドブック P.5 ~ P.8 ビット フレーム パケット セグメント/データグラム メッセージ
  • 20. 04 . Apache とネットワーク ■ IP アドレスとネットマスク 出典: http://www.atmarkit.co.jp/fwin2k/network/baswinlan007/baswinlan007_03.html
  • 21. 04 . Apache とネットワーク ■ ウェルノウン( well-known )ポート ポート TCP/IP プロトコル 用途 20 TCP ftp-data ファイル転送(データ本体) 21 TCP ftp ファイル転送(コントロール) 22 TCP ssh リモートログイン(セキュア) 23 TCP telnet リモートログイン 25 TCP smtp メール送信 53 TCP/UDP domain DNS ( UDP :名前解決 , TCP :ゾーン転送) 67 UDP boot/dhcp (server) IP アドレスの自動取得 68 UDP boot/dhcp (client) IP アドレスの自動取得 69 UDP tftp ファイル転送 80 TCP http www 110 TCP pop3 メール受信 123 UDP ntp 時刻合せ 143 TCP imap メール受信 443 TCP https www (セキュア) 520 UDP rip ルーティングプロトコル
  • 22. 04 . Apache とネットワーク 【簡易実習】    ①. ipconfig  ②. netstat  ③. route  ④. nslookup  ⑤. tracert  ⑥. ping
  • 23. 05 . Apache のインストール 【実習】  ①. Apache 2.2.16 のインストール    ※その他いくつかのツールも併せてインストール  ②. Apache の起動/停止  ③. http サービスの確認     - ブラウザ     - コマンドプロンプト     - タスクマネージャ     - コントロールパネル     - telnet     - WFetch (ツール)     - WireShark (ツール) … ※他の受講生のサーバへのアクセス前提  ④. Xperia, IS01 から LAN 経由接続確認
  • 24. 05 . Apache のインストール(補足) ■ HTML の基本 ※ その他のタグは「 HTML タグボード( http://www.dspt.net/ )」等を参考 <html> </html> <head> <title> WEB ページのタイトル </title> </head> <body> </body> <h1> 見出し </h1> <p> 段落 <br/> (※改行) </p>
  • 25. 06 . Apache のモジュール 【実習】  ①. Apache の built-in モジュール確認  ②. modules ディレクトリの確認    ⇒ http://httpd.apache.org/docs/2.2/ja/mod/ も一読       ※大まかな Apache の機能を把握 (参照) Apache ハンドブック P.38 ~ P.39
  • 26. 07 . Apache の設定 【実習】  ①. Apache インストールディレクトリ再確認 【実習】  ①. httpd.conf ファイルのバックアップ  ②.基本的なディレクティブ確認     - ServerName     - DocumentRoot     - ServerRoot     - ErrorLog     - PidFile  … ※明記されていないがデフォルト値確認     - TypesConfig     - ErrorDocument  ③.ディレクティブの変更&動作確認     - DocumentRoot     - ErrorDocument (参照) Apache ハンドブック P.41 ~ P.42 (参照) Apache ハンドブック P.63 ~ P.68
  • 27. 07 . Apache の設定 【実習】  ①.主なブロックディレクティブ確認     - <VirtualHost>  … ※詳細は別途説明     - <Directory>     - <Files>     - <Location>     - <IfDefine>     - <IfModule> 【実習】  ①. KeepAlive ディレクティブの設定     - KeepAlive     - KeepAliveTimeout     - MaxKeepAliveRequests    ②. ab ( Apache Bench )による動作の変化     注.外部の公開サーバへの ab の実行は DoS 攻撃とみなされる可能性アリ! (参照) Apache ハンドブック P.77 ~ P.80 (参照) Apache ハンドブック P.85
  • 28. 08 . VirtualHost (仮想ホスト) ■ Virtual Host  ◎ Virtual Host とは…  「 1 台の 物理的なホスト 上に 複数の論理的なホスト を構築する機能」  ◎ Virtual Host 機能が無い場合   ①.サーバを複数台(物理的)用意する     ⇒ マシンの設備投資及び物理的なロケーションが必要     ⇒ 必然的に IP アドレスも複数必要     ②. Ethernet カードを複数(物理的)用意する     ⇒ 設備投資は小さいが IP アドレスが複数必要     ⇒ 複数の Apache (※親プロセス)によるリソースの大量消費   ③. Virtual-InterFace ( VIF )を利用する     ⇒ 設備投資は不要だが IP アドレスは複数必要     ⇒ リソース消費は上記同様
  • 29. 08 . VirtualHost (仮想ホスト) ■ Virtual Host  ◎名前ベースバーチャルホスト  ○ IP アドレスベースバーチャルホスト  ○ポートベースバーチャルホスト 【実習】  ①.バーチャルホストを構築    ⇒ ホスト名(例. www.vhosts.com )を 2 ~ 3 つ作成    ②.スタンドアロン環境での動作確認    ⇒ hosts ファイル利用  ③. LAN 環境での動作確認    ⇒ 簡易 DNS サービスを利用 (参照) Apache ハンドブック P.99 ~ P.105
  • 30. 08 . VirtualHost (仮想ホスト) 出典: http://rina.jpn.ph/~rance/linux/apache/virtualhost.html
  • 31. 09 .認証 出典: http://itpro.nikkeibp.co.jp/article/COLUMN/20080513/301605/?ST=oss Basic 認証の仕組み Digest 認証の仕組み (参照) Apache ハンドブック P.113 ~ P.126
  • 32. 09 .認証 【実習】  ①.” .htaccess” ファイル作成  ②. Basic 認証の環境構築  ③.ブラウザ等による動作確認  ④. WFetch による確認  ⑤. WireShark による確認 (参照) Apache ハンドブック P.139 ~ P.144
  • 33. 09 .認証(補足) ■ 個体識別情報(取得方法) キャリア 種別 取得方法等 docomo 個体識別情報 UserAgent より取得 ※ html タグに” utn ” 文字列を指定 i モード ID ( guid ) HTTP リクエストにクエリ文字列 “ guid=ON ” を付与 au 個体識別情報( EZ 番号) ※ サブスクライバ ID HTTP 拡張ヘッダ” X-UP-SUBNO ” より取得 softbank 個体識別情報 UserAgent より取得 X_JPHONE_UID HTTP 拡張ヘッダ” X-JPHONE-UID ” より取得
  • 34. 09 .認証(補足) ■ 個体識別情報(実際の値)  ◎ docomo   ・ FOMA 端末:      DoCoMo/2.0 YYYY(c10; serXXXXXXXXXXXXXXX ; iccxxxxxxxxxxxxxxxxxxxx )     ※ FOMA 端末製造番号 ⇒ serXXXXXXXXXXXXXXX ( 15 桁英数字)     ※ UIM 製造番号 ⇒ iccxxxxxxxxxxxxxxxxxxxx ( 20 桁英数字)   ・ 非 FOMA 端末:      DoCoMo/1.0/X503i/c10/ ser***********     ※製造番号 ⇒ ser*********** ( 11 桁英数字)  ◎ au   ・ 全端末:      xxxxxxxxxx_xx.ezweb.ne.jp     ※ EZ 番号(サブスクライバ ID ) ⇒ xxxxxxxxxx_xx ( 10 桁 _2 桁英数字)  ◎ softbank   ・ 3GC 型端末      SoftBank/1.0/910T/TJ001/ SN***************     ※製造番号 ⇒ SN*************** ( 15 桁英数字)
  • 35. 10 . MIME タイプ 【実習】  ①. mime.types を確認    ②.講師 http サーバ( Apache )より各種コンテンツ DL    ⇒ WireShark / WFetch にて通信内容確認     ※ WFetch 使用時はヘッダのみ表示  ③. Content-Type の確認及びブラウザ動作確認    ⇒ DL されるもの/オープンされるもの (参照) Apache ハンドブック P.145 ~ P.147
  • 36. 11 .インデックス 【実習】  ①. DirectoryIndex の値を変更&動作確認    ②.ディレクトリ一覧表示/非表示の設定&動作確認    ⇒ Options の設定を変更 (参照) Apache ハンドブック P.178 ~ P.182
  • 37. 12 .セキュリティ 出典: http://www.twsvc.com/about_ssl (参照) Apache ハンドブック P.243 ~ P.301
  • 38. 12 .セキュリティ 【実習】  ①.サーバ証明書(※自署)の作成    ②. Apache + OpenSSL の設定  ③. https ( 443 )の動作確認  ④. WireShark による通信内容の暗号化確認
  • 39. 13 . PHP 【実習】  ①. PHP 5.2.14 のインストール    ②. Apache + PHP の実行環境構築  ③. phpinfo() を利用したサンプル作成&動作確認  ④. User-Agent を表示するサンプル作成&動作確認    ※個体識別情報の表示&動作確認もチャレンジ!  ⑤. Firefox & FireMobileSimulator を利用した動作確認 (参照) Apache ハンドブック P.363 ~ P.369
  • 40. 14 .ログの記録 【実習】  ①. httpd.conf のデフォルト設定を確認    ②. tail コマンドによる access.log, error.log の確認  ③.ログフォーマットの変更設定&動作確認  ④. server-status の出力内容を再確認  ⑤. Analog によるログ解析&結果確認   (参照) Apache ハンドブック P.225 ~ P.241
  • 41. 質疑  ~ ご意見/ご提案など ~ 忌憚ないご意見をお願い致します。
  • 42. (付録)大規模サイトにおける Apache 出典:大規模画像配信を支える Perl
  • 43. (付録)大規模サイトにおける Apache 2 台 1 組 1. 画像変換(縮小) 2. テンポラリ置き場 3. ストレージに転送 4. Mapping DB に追加 出典:大規模画像配信を支える Perl
  • 44. (付録)大規模サイトにおける Apache 出典:大規模画像配信を支える Perl DNS RR or L4 ロードバランサー CARP(Cache Array Routing Protocol)
  • 47. (おまけ)コンピューティング・パラダイム 出典: http://techon.nikkeibp.co.jp/article/FEATURE/20090408/168504/?ST=print ■ パラダイムの変遷 講師がパソコンを 扱い始めた頃 ネットワークの高速大容量化(有線・無線) WEB-AP ASP SaaS WEB-API