エンジニアに理解必須の概念、LAMPについての詳細な概要まとめ

Apache HTTP Server

エンジニアとしてサーバーの構築、AWSの設計など様々な実務稼働歴もあり、LinuCやCCNA、AWS認定資格などを保有している筆者が、エンジニアに必須の理解を求められる、LAMPについての詳細な概要をまとめて紹介します。

LAMPについて解説されている記事の紹介

LAMPは、特に理解を求められる概念なので、様々なテック企業がわかりやすくLAMPについてまとめて紹介しています。

例えば、大規模サーバーで使われることの多いRed Hat Enterprise Linuxを提供しているRed Hat 社では以下の記事でLAMPについて詳細を解説しています。

今日使用されている最も重要なアプリケーションとクラウドプラットフォームには、このオープンソース開発モデルによって生まれたものもあります。その中で最も一般的なのが、Web の大部分を支えるサービススタックモデルの LAMP です。LAMP の頭文字が表す意味は次のとおりです。

Linux:オープンソースのオペレーティングシステム (OS) であり、世界最大のオープンソース・プロジェクト
Apache:初期の Web で重要な役割を果たしたオープンソースのクロスプラットフォーム Web サーバー
MySQL:多くのデータベース駆動型 Web アプリケーションで使用されるオープンソースのリレーショナル・データベース管理システム
PHP:ソフトウェア開発で使用される汎用スクリプト言語 (Perl または Python 言語に置き換えられることもあります)

オープンソースソフトウェアとは
オープンソースソフトウェアは、エンドユーザーが合法的にソースコードを取得できる特定の種類のライセンスを通じてリリースされます。

クラウド環境で知られている、AWSでも以下のようにLAMPについて解説されています。

LAMP のアーキテクチャはどのようになっていますか?
ソフトウェアスタックは、アプリケーションの構築、管理、実行に使用される、階層化されたツール、ライブラリ、プログラミング言語、およびテクノロジーのセットです。スタックは、視覚的なプレゼンテーション、データベース、ネットワーク、セキュリティなど、さまざまな方法でアプリケーションをサポートするソフトウェアコンポーネントで構成されています。

同様に、LAMP アーキテクチャは 4 つのソフトウェアテクノロジーで構成されており、これらがバックグラウンドで連携して動作するウェブアプリケーションを作成します。これらの各ウェブ開発テクノロジーがコンピュータサーバー内でどのようにインタラクションするかを説明します。LAMP アーキテクチャは、次のレイヤーで構成されています。

Linux
Linux は、さまざまなアプリケーション要件に合わせてインストールおよび設定できるオープンソースのオペレーティングシステムです。Linux は LAMP スタックの最初のレベルにあり、上位レイヤーの他のコンポーネントをサポートします。

Apache
Apache は、LAMP スタックの 2 つ目のレイヤーを形成するオープンソースのウェブサーバーです。Apache モジュールは、ウェブサイトのファイルを保存し、ウェブサイトの情報をプレーンテキストで送信するためのインターネットプロトコルである HTTP を使用して、ブラウザとの間で情報を交換します。例えば、ブラウザがウェブページをリクエストすると、Apache HTTPサーバーは次を実行します。

リクエストを受け取る
リクエストを処理し、必要なページのファイルを見つける
関連情報をブラウザに送り返す
MySQL
MySQL は、オープンソースのリレーショナルデータベース管理システムであり、LAMP スタックの 3 つ目のレイヤーです。LAMP モデルは MySQL を使用して、リレーショナルデータベースで情報を格納、管理、およびクエリします。例えば、デベロッパーは、顧客レコード、売上、在庫などのアプリケーションデータを保存します。ユーザーが情報を検索すると、ウェブサーバーは MySQL に保存されているデータをクエリします。クエリとは、SQL 言語を使用してリレーショナルデータベース内のデータを操作するための特別な指示をいいます。

PHP
PHP: Hypertext Preprocessor の略である PHP は、LAMP スタックの 4 つ目の、そして最後のレイヤーです。これは、ウェブサイトが動的プロセスを実行できるようにするスクリプト言語です。動的プロセスでは、絶えず変化するソフトウェア内の情報を取り扱います。ウェブデベロッパーは、PHP プログラミング言語を HTML に埋め込み、ウェブサイトにリアルタイムまたは更新された情報を表示します。デベロッパーは、PHP を使用して、ウェブサーバー、データベース、およびオペレーティングシステムがブラウザからのリクエストをまとめて処理できるようにします。

LAMP スタックとは? - LAMP スタックの説明 - AWS
LAMP スタックとは何か、企業が LAMP スタックを使用する方法と理由、および AWS で LAMP スタックを使用する方法。

ほかにもGoogleが運営しているクラウドサービス、Google CloudやRed Hat社を運営しているIBM社のサイトでもLAMPについて解説されています。

LAMP スタック |Google Cloud
LAMP スタックとは、ソフトウェア開発者を支援する環境を提供するために連携する、無料のオープンソース コンポーネントのセットです
LAMPスタックとは | IBM
LAMPとは、Webアプリケーションを構築するための人気のあるオープンソース・ソフトウェア・スタックのコンポーネントであるLinux、Apache、MySQL、およびPHP、PerlまたはPythonの頭字語です。

LAMPはエンジニアがプログラム(アプリケーション)を実行するために必須の環境

LAMPを一言でいうと「プログラムを実行させるのに必須の環境」です。

英語ではLAMPはLAMPスタックといいます。

LAMPの詳細を解説していきます。

LAMPはLinux、Apache(NGINX)、MySQL(MariaDB)、PHP(Perl、Python)の頭文字です。WordPressなどのホームページ管理ソフトなどを動かすために使用される環境がLAMPになります。

LinuxはサーバーのOS

Apacheはブラウザからサーバーにアクセスしたときにホームページの情報を参照できるWEBサーバーソフト

MySQLはWordPressなどで作成した記事の情報を保存するデータベース

PHPはプログラム言語の実行環境

タイトルとURLをコピーしました