EC2インスタンス上にLAMP環境を構築する。

LAMP環境とはPHP言語を使ったWebアプリケーションの稼働環境です。それぞれの主要な構成要素の頭文字をから名づけられています。

  • Linux・・・OS
  • Apache・・・Webサーバ
  • MySQL・・・データベースサーバ
  • PHP・・・サーバサイドのプログラミング言語

LAMP環境では、Linux OSの上でApache Webサーバ立ち上げ、PHPのプログラムを実行してMySQLからデータを取得して、ブラウザに表示するデータをWebサーバを通してブラウザに渡す、といった一連の処理を行います。

目次

特徴

LAMP環境の大きな特徴は、すべてオープンソースなので無償で環境作成をすることができてコスト面で有利という点が挙げられます。また、長年使用されてきたためシステム構成として信頼できる実績があるという点です。そして、構成自体は比較的シンプルなので学習コストは低めです。コンポーネントが独立しているため、別のものに入れ替えることも可能です。例えばApacheの代わりにNginxにしたり、MySQLの代わりにMariaDBを使用したりできます。

Linux

本記事ではLinuxをAWSのEC2インスタンスとして話をしていきます。同じEC2インスタンス上にApache、PHP、MySQL(MariaDB)の3つをインストールすればシングルサーバでLAMP環境になります。データベースだけ別サーバに移してウェブサーバと分けて管理することもできます。個別のデータベースサーバを立てずに、RDSなどのデータベースサービスを使うこともできます。

Amazon LinuxのEC2インスタンスを作成するには以下の記事を参考にして下さい。

あわせて読みたい
EC2インスタンスの作成手順 今回の記事では、AWSで最も使うサービスのひとつ、EC2インスタンスについて学習していきます。EC2インスタンスとはつまりサーバのことで、このサーバにログインしてWeb...

ApacheとPHP

PHPは元々Apacheのモジュールとして組み込まれていて、ApacheとPHPは親和性の高いものでしたが、パフォーマンスの限界と共に、PHPはApacheのプロセスではなく、独立したプロセス(php-fpm)に分離されることになりました。現在はNginx Webサーバも普及しており、Nginxもphp-fpmを用いてPHPを実行できる状態にあります。

PHPのインストール方法については以下の記事を参考にしてください。

あわせて読みたい
PHPをインストールしてコマンドラインとブラウザでPHPを実行する 今回はEC2インスタンス上にPHPをインストールする手順について学習していきます。AWSのEC2インスタンス(Amazon Linux 2023)にSSH接続ができていて、基本的なLinuxコマ...

Apacheのインストール方法についてはこちらの記事を参考にして下さい。

あわせて読みたい
Apache(アパッチ)サーバのインストールと設定、そしてHTTPS化 ブログなどをインターネットで公開するには、Webサーバが必要になります。Webサーバの代表的なプログラムにはApacheとNginxの2つがありますが、今回の記事ではApacheの...

または、Nginxのインストール方法についてはこちらの記事を参考にしてください。

あわせて読みたい
Nginx(エンジンX)サーバのインストールと設定、そしてHTTPS化 Nginx(エンジンX)はApache(アパッチ)と並ぶWebサーバで、インターネットで情報を公開する際にはこのWebサーバを使って公開することになります。今回の記事ではNginxの...

MySQLとPHP

サーバサイド言語のPHPからMySQLデータベースにアクセスしてデータの取得や更新を行いますが、データベースには様々な選択肢があります。MySQLに代表されるリレーショナルデータベースにはMySQLの他にもPostgreSQLやOracleといったものがあります。勿論PHPからもこれらのデータベースにアクセスすることは可能です。更に、Neo4jなどのグラフデータベースや、サーチエンジンデータベースのElasticSearchやSolrといったデータベースにも接続できます。

MariaDBのインストールについてはこちらを参考にしてください。

あわせて読みたい
EC2インスタンスにMariaDBをインストールする MariaDBとはオープンソースでOracleのMySQLと高い互換性を持っているリレーショナルデータベース(RDMB)です。当記事では、AWSのEC2インスタンスにMariaDBをインストー...

Neo4jのインストールについてはこちらを参考にしてください。

あわせて読みたい
EC2インスタンスにNeo4jをインストールする Neo4jとはNeo4j社によって開発されているグラフデータベースのひとつで、データの関連性を主軸にしてデータの管理を行いまます。MySQL/MariaDBやOracle、PostgreSQLとい...

まとめ

LAMPはLinux、Apache、MySQL、PHPの頭文字をとったWebアプリの実行環境でしたね。長年の実績があり、オープンソースなので無料で作成できるのが特徴でした。それぞれのコンポーネントのインストール方法を再確認しておきましょう。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次