サーバにはどのようなソフトウェア(機能)が必要か学習しましょう。
Webサーバの構成
学習の目的
-
1. Webサーバの構成
-
2. Webシステム
Webサーバの構成
Webサーバは特定のコンピュータのことではなく、ソフトウェアのことだと学習しました。
Webサーバを実現するソフトウェアには多くの種類がありますが、今回はWebサーバ環境によく利用されるLAMP(ランプ)環境を中心に学習します。
LAMP環境とは、Webシステムを動かすためによく使われる仕組みの1つです。
「Linux」、「Apache」、「MySQL」、「PHP」の4つのソフトウェアを組み合わせた環境のことをLAMPといいます。
| 名称 | 説明 | 役割 |
|---|---|---|
| Linux(リナックス) | コンピュータを動作させる基本ソフトウェア。WindowsやMac、Android OSやiOS等がある。Raspberry PiはLinux系のOS。 | OS(オペレーティングシステム) |
| Apache(アパッチ) | 一番実績のあるWebサーバの1つ。規模の大きいWebサーバから小さいWebサーバまで幅広く利用される。 | Webサーバ用プログラム |
| MySQL(マイエスキュウエル) | データを効率よく管理するソフトウェア。大量のデータを高速に検索したり保存したりする。 | データベース |
| PHP(ピーエイチピー) | Webページから送られてきたデータを処理したり、データベースと連携するソフトウェア。 |
サーバサイドのプログラム (Webサーバで実行するプログラムのこと) |
名前の「LAMP」は、それぞれの頭文字からできています。
LAMP環境は以下の理由でよく利用されています。
LAMP環境が使われる理由
- 無料で使えるオープンソースのソフトが中心
- 古くからあり実績がある
- 小規模な開発や学習用にも最適
- Raspberry Piでも構築できる
オープンソースとは、ソフトウェアのソースコードが公開されていて、誰でも自由に利用、改変、再配布できる開発モデルのことです。
LAMPを使ったWebシステムについて学習しましょう。
Webシステム
インターネットで見るWebページには、2つのタイプがあります。
1つは、いつ見ても同じ内容が表示される「静的ページ」、もう1つは、見るたびに内容が変わったり、ユーザーの入力によって内容が変化する「動的ページ」です。
この「動的ページ」は、Webシステムと呼ばれる仕組みによって作られています。
Webシステムでは、次のような流れでページが作られ、表示されます。
① ユーザーが使うWebブラウザ(クライアント)から、Webページを表示してほしいというリクエストが送られます。
② Webサーバはそのリクエストを受け取り、PHPなどのプログラム(サーバサイドプログラム)を呼び出し処理を任せます。
③ PHPなどのプログラムは、必要に応じてMySQLなどのデータベースから情報を取り出します。
④ その情報をもとに、表示する内容が毎回変わる動的なWebページを作ります。
⑤ 作られたWebページの内容(レスポンス)が、クライアントに送られます。
⑥ クライアントのブラウザで、そのページが表示されます。
たとえば、ショッピングサイトでの「ログイン」、「商品検索」、「購入」などは、すべてこのようなWebシステムによって実現されています。
この図から、Apacheの他に、サーバサイドのプログラムやデータベースが必要だということがわかります。
今回は、Webシステムの中の「Webサーバ(Apache)」、「サーバサイドのプログラム(PHP)」についてアクティビティを行います。これからRaspberry PiにWebサーバ環境を作っていきましょう!