LAMPをはじめてみた~1日目~
こんにちは~。
先輩社員からプログラミングは向いていないと馬鹿にされてきた私。
会社へのささやかな抵抗も虚しく、結局IT技術を学ぶことになってしまいました…
ほんと、う…(ry
とはいえ、やるからには記録を遺して逝きたいと思ったので連載していきます。
真面目に書いていきます。
LAMPの概要
今回は概要について記述していきます。
LAMPの由来
LAMPはOSであるLinux(L)、WebサーバであるApache HTTP Server(A)、データベースであるMySQL(M)、スクリプト言語であるPHP(P)のイニシャルに由来していて、webサイトの構築に使用する無料のソフトウェアの総称です。(造語です。)
ちなみにPHPの代わりにRubyを用いる場合は、LAMRになるそうです。
クライアントとサーバ間のやり取り
私たちはwebサイトを閲覧するときに、ブラウザ(Internet Explorer,Google Chrmoe,Firefox,Safariなど)を起動しますよね?このブラウザと、webサイトの中身を保存してある箱(サーバ)のやりとりにより、様々なwebサイトを利用できています。
どのようなやり取りをしているのか?
以下に図で示してみました。
つまり・・・
①~③
- 依頼者はブラウザからサーバに日本語でデータ検索を依頼
- Apache君が受け取り、英語に翻訳して言語エンジン君に作業依頼
- 言語エンジン君は、依頼された内容を下に、データ検索依頼書を作成し、データベース君に依頼書を渡す
- データベース君が依頼書通りに英語のデータを探す
④~⑥
- 探した英語のデータを言語エンジン君に渡す
- データを受け取った言語エンジン君は、Apache君に渡す
- Apache君は英語のデータを、日本語に翻訳し、依頼者に渡す
- 依頼者はブラウザ上でデータ検索の結果を受け取る
以上が簡単な流れです。
用語解説
- アーキテクチャ
- カーネル
- プラットフォーム
- ディストリビューション
ハードウェアやソフトウェア、OSやネットワーク等の基本設計や設計思想等を指します。
OSの中核のことをカーネルと呼びます。CPUやメモリといったハードウェアを直接コントロールするためのソフトウェアの総称を指します。
この場合のプラットフォームとは、コンピュータにおいてソフトウェアが動作するための基盤(土台)として機能する部分を指します。
例)ソフトにとってのプラットフォームはOSで、OSにとってのプラットフォームはCPUをはじめとしたハードウェアのアーキテクチャを指します。
パッケージ群をOSとしてインストールできるようにまとめられたものが、ディストリビューションと呼ばれます。
例)Linuxのディストリビューションは、CentOS、Ubuntu、RedHatなど多数存在します。
本日はここまでです。