LAMP_(software_bundle)
LAMP(L inux、A pache、M ySQL、P HP / P erl / P ython)は、Webで最も人気のあるアプリケーションの多くで最も一般的なソフトウェアスタックの1つを表す頭字語です。ただし、LAMPは現在、汎用ソフトウェアスタックモデルを参照しており、そのコンポーネントはほとんど互換性が
LAMPのビルディングブロックと全体的なシステム環境の概要
頭字語の各文字は、4つのオープンソースビルディングブロックの1つを表しています。
オペレーティングシステムのLinux
pacheHTTPサーバー
リレーショナルデータベース管理システム用のMySQL
P HP、 Perl、またはPython プログラミング言語
LAMPスタックのコンポーネントは、ほとんどのLinuxディストリビューションのソフトウェアリポジトリに
コンテンツ
1 歴史
2 バリアント
3 ソフトウェアコンポーネント
3.1 Linux 3.2 Apache 3.3 MySQLとデータベースの代替 3.43.4 PHPと代替手段
4 高可用性と負荷分散
5 も参照してください
6 参考文献
7 外部リンク
歴史
頭字語のLAMPは、ドイツのコンピューティング雑誌であるComputertechnikの1998年12月号でMichael Kunzeによって造られました。彼は、無料のオープンソースソフトウェアのバンドルが「高価な商用パッケージの実行可能な代替手段になる可能性がある」ことを示しました。それ以来、O’Reilly MediaとMySQLは協力して頭字語を普及させ、その使用を広めました。 Joomla、 WordPress 、 DrupalなどのさまざまなWebフレームワークをホストするのに十分な機能を備えた、Web用の最初のオープンソースソフトウェアスタックの1つであるため、この用語と概念が一般的になりました。
バリアント
「WAMP」はその他の使用法については、
WAMPを参照して
AMPパッケージのリスト
LAMPモデルは他のコンポーネントに適合していますが、通常は無料のオープンソースソフトウェアで構成されています。たとえば、Microsoft Windowsファミリのオペレーティングシステムへの同等のインストールはWAMPと呼ばれ、macOSへの同等のインストールはMAMPと呼ばれます。
典型的なLAMPの使用が増えるにつれ、オペレーティングシステム、Webサーバー、データベース、およびソフトウェア言語の他の組み合わせのバリエーションとレトロニムが登場しました。たとえば、Microsoft Windowsオペレーティングシステムファミリへの同等のインストールは、 WAMPと呼ばれます。Apacheの代わりにIISを実行する代替手段は、 WIMPと呼ばれます。他のオペレーティングシステムに関連するバリアントには、MAMP(macOS)、SAMP(Solaris)、FAMP(FreeBSD)、iAMP(IBM i)、およびXAMPP(クロスプラットフォーム)が含まれます。
Webサーバーまたはデータベース管理システムも異なります。LEMPは、Apacheがより軽量なWebサーバーNginxに置き換えられたバージョンです。 MySQLがPostgreSQLに置き換えられたバージョンは、LAPPと呼ばれるか、元の頭字語であるLAMP(Linux / Apache / Middleware(Perl、PHP、Python、Ruby)/ PostgreSQL)を維持することによって呼ばれます。
LAMPバンドルは、次のような他の多くの無料のオープンソースソフトウェアパッケージと組み合わせることができます。
セキュリティテストと強化のためのnetsniff-ng
Snort、侵入検知(IDS)および侵入防止(IPS)システム
ダイアグラム用のRRDtool
モニタリング用のNagios、CollectedまたはCacti。
別の例として、や他の財団プロジェクトが基盤となるインフラストラクチャに使用するソフトウェアは、負荷分散用のLinux Virtual Server(LVS)や分散オブジェクトストレージ用のCephとSwiftなどの追加機能を備えたカスタマイズされたLAMPスタックです。
ソフトウェアコンポーネント
LAMPの決定コンポーネントの概要( Firefoxはブラウザーの例として
機能します)。
Linux Linux Linuxは、フリーでオープンソースのソフトウェア開発と配布のモデルの下で組み立てられたUnixライクなコンピュータオペレーティングシステムです。ほとんどのLinuxディストリビューションは、 Linuxカーネルに基づいており、多くの場合パッケージ管理システムに基づいているソフトウェアのコレクションとして、パッケージを通じて完全なLAMPセットアップを提供します。2013年10月のW3Techsによると、Webサーバーの市場シェアの58.5%がDebianとUbuntuの間で共有されており、RHEL、Fedora、CentOSが一緒になって37.3%を共有しています。
Apache
ApacheHTTPサーバー
LAMPのWebサーバーの役割は、従来からApacheによって提供されており、Nginxなどの他のWebサーバーが含まれています。
Apache HTTPサーバーは、パブリックインターネットで最も人気のあるWebサーバーです。2013年6月、Netcraftは、ApacheがすべてのアクティブなWebサイトの54.2%、およびすべてのドメインの上位サーバーの53.3%にサービスを提供したと推定しました。 2014年6月、ApacheはすべてのアクティブなWebサイトの52.27%にサービスを提供すると推定され、Nginxが14.36%に続きました。
Apacheは、 Apache Software Foundationの支援の下、開発者のオープンコミュニティによって開発および保守されています。Apacheライセンスの下でリリースされたApacheは、オープンソースソフトウェアです。さまざまな機能がサポートされており、それらの多くは、Apacheのコア機能を拡張するコンパイル済み モジュールとして実装されています。これらは、サーバー側のプログラミング言語のサポートから認証まで多岐にわたります。
MySQLとデータベースの代替ySQL、 ariaDB、 ongoDB
LAMPのリレーショナルデータベース管理システムとしてのMySQLの元々の役割は、 PostgreSQL、MariaDB(元の開発者によって開発されたMySQLのコミュニティ開発フォーク)、さらにはMongoDBなどのNoSQLデータベースなどによって交互にプロビジョニングされています。
MySQLは、マルチスレッド、マルチユーザー、SQL データベース管理システムであり、2008年にSun Microsystemsに買収され、2010年にOracleCorporationに買収されました。 MySQLチームは、その初期の頃からソースコードを作成してきました。 GNU General Public Licenseの条件、およびさまざまな所有権契約の下で利用できます。
PostgreSQLは、 PostgreSQL GlobalDevelopmentGroupによって開発されたACID準拠のオブジェクトリレーショナルデータベース管理システムでも
MongoDBは、動的スキーマ(形式BSONと呼ばれる)を備えたJSONのようなドキュメントを優先して、従来のリレーショナルデータベース構造を避け、特定のタイプのアプリケーションでのデータの統合をより簡単かつ迅速にするNoSQLデータベースです。
PHPと代替手段HP、 erl、
Python(プログラミング言語)
LAMPのアプリケーションプログラミング言語としてのPHPの役割は、 PerlやPythonなどの他の言語でも実行されています。
PHPは、Web開発用に設計されたサーバー側スクリプト言語ですが、汎用プログラミング言語としても使用されます。PHPコードは、結果のWebページを生成するPHPプロセッサモジュールを介してWebサーバーによって解釈されます。PHPコマンドは、データを処理するために外部ファイルを呼び出すのではなく、オプションでHTMLソースドキュメントに直接埋め込むことができます。また、コマンドラインインターフェイス機能を含むように進化し、スタンドアロンのグラフィカルアプリケーションで使用できます。 PHPは、 PHPライセンスの条件の下でリリースされたフリーソフトウェアです。これは、PHPライセンスがPHPという用語の使用に制限を課しているため、 GNU General Public License (GPL)と互換性がありません。
Perlは、高レベルの汎用の解釈された動的プログラミング言語のファミリーです。このファミリの言語には、Perl5とRakuが含まれます。これらは、多くの最新のUnixコマンドラインツールの任意のデータ長制限なしに高度なテキスト処理機能を提供し 、テキストファイルの操作を容易にします。Perl 5は、その解析機能もあって、1990年代後半にWeb用のCGIスクリプト言語として広く普及しました。
Pythonは、広く使用されている汎用、高レベル、インタープリター型のプログラミング言語です。 Pythonは、オブジェクト指向、必須、関数型、手続き型のパラダイムを含む、複数のプログラミングパラダイムをサポートしています。動的型システム、自動メモリ管理、標準ライブラリ、および空白の厳密な使用を特徴としています。他の動的言語と同様に、Pythonはスクリプト言語としてよく使用されますが、さまざまな非スクリプトコンテキストでも使用されます。
高可用性と負荷分散
高可用性、
負荷分散、
レプリケーション
多数のリクエストを処理するWebサイト、または高い稼働時間を必要とするサービスを提供するWebサイトには、特定のアプローチが必要です。LAMPスタックの高可用性アプローチには、複数のWebサーバーとデータベースサーバーが含まれ、各サーバーによって提供されるリソースの論理的な集約を実行する追加のコンポーネントと、複数のサーバー間でのワークロードの分散が含まれる場合がWebサーバーの集約は、たとえばLinux Virtual Server(LVS)を使用して、サーバーの前にロードバランサーを配置することで提供できます。データベースサーバーの集約のために、MySQLは、元のデータベース(マスター)とそのコピー(スレーブ)の間にマスター/スレーブ関係を実装する内部レプリケーションメカニズムを提供します。
このような高可用性セットアップは、さまざまな形式の冗長性を提供することでLAMPインスタンスの可用性を向上させ、提供されるサービスのユーザー全体を中断することなく、特定の数のコンポーネント(個別のサーバー)でダウンタイムを経験できるようにします。このような冗長セットアップは、ハードウェア障害を処理して、集合的に保存されたデータが実際に失われるのを防ぐ方法で、個々のサーバーでデータが失われる可能性も可用性が高いことに加えて、このようなLAMPセットアップは、書き込み/更新操作の数よりもはるかに多い内部データベース読み取り操作の数を持つサービスのパフォーマンスをほぼ直線的に向上させることができます。
も参照してください
無料のオープンソースソフトウェアポータル
Linuxポータル
インターネットポータル
Apache–MySQL–PHPパッケージのリスト
Nginx–MySQL–PHPパッケージのリスト
LYME(ソフトウェアバンドル)–Erlang に基づくソフトウェアスタック
MEAN(ソフトウェアスタック) –動的なWebサイトとWebアプリケーションを構築するためのJavaScriptソフトウェアスタック
ソフトウェアスタック
Webコンテンツ管理システム
Webプラットフォームインストーラー
参考文献
^ 「LAMP(Linux、Apache、MySQL、PHP)」。SearchEnterpriseLinux。2021年11月28日にオリジナルからアーカイブされました。
^ サーバー-メタ。meta.wikimedia.org。2013年4月22日。2021年12月10日のオリジナルからアーカイブ。
^ ケイ、ラッセル(2006年9月25日)。「ハウツー:ランプ」。Computerworld。2021年9月11日にオリジナルからアーカイブされました。
^ 「LAMPスタック」。IBMクラウド学習ハブ。IBM。2021年12月15日にオリジナルからアーカイブされました。
^ 「LEMPスタック(Linux、Nginx、MySQL、PHP)」。lemp.io。2021年11月19日にオリジナルからアーカイブされました。
^ 「注目のユーザー」。PostgreSQL。2014年1月22日にオリジナルからアーカイブされました。
^ 「Debian/UbuntuはLinuxWebサーバー市場での優位性を拡大します」。W³Techs 。
^ 「2013年6月のWebサーバー調査」。ネットクラフト。2021年3月6日にオリジナルからアーカイブされました。
^ 「2014年6月のWebサーバー調査」。ネットクラフト。2021年8月21日にオリジナルからアーカイブされました。
^ 「プロダクトマネージャーが埋め込む主な理由」。MySQL。2014年7月2日にオリジナルからアーカイブされました。
^ 「SunはMySQLをロックし、将来のWeb開発に目を向ける」。InformationWeek。2008年2月28日にオリジナルからアーカイブされました。
^ 「はじめに:PHPで何ができるか?」。PHPマニュアル。2021年12月15日にオリジナルからアーカイブされました。
^ 「GPLと互換性のない無料のソフトウェアライセンス」。さまざまなライセンスとそれらに関するコメント。フリーソフトウェアファウンデーション。2021年12月16日にオリジナルからアーカイブされました。
^ 「Perlについて」。perl.org。2021年11月22日にオリジナルからアーカイブされました。「Perl」は言語のファミリーであり、「Perl 6」はファミリーの一部ですが、独自の開発チームを持つ別の言語です。その存在は、「Perl5」の継続的な開発に大きな影響を与えません。
^ 壁、ラリー; トムクリスチャンセン; ジョン・オルワント。プログラミングPerl、第3版。オライリーメディア。ISBN 0-596-00027-8。
^ Smith、Roderick W.(2002年6月21日)。高度なLinuxネットワーキング。アディソン-ウェスリープロフェッショナル。p。594. ISBN 978-0-201-77423-8。
^ 「プログラミング言語の傾向–O’Reillyレーダー」。Radar.oreilly.com。2006年8月2日。2021年9月24日のオリジナルからアーカイブ。
^ 「Pythonについて」。Pythonソフトウェアファウンデーション。2021年12月16日にオリジナルからアーカイブされました。
^ シミック、ドラガン; リスティック、スレッコ; オブラドビッチ、スロボダン。「分散リレーショナルデータベースを使用したWebアプリケーションの達成されたパフォーマンスレベルの測定」(PDF)。エレクトロニクスとエネルギー学。ファクタユニバーシタティス。p。31–43。2021年10月7日のオリジナルからアーカイブ(PDF)。
外部リンク
UbuntuLinuxにLAMPサーバーをインストールする
DebianLinuxにLAMPサーバーをインストールする
SUSELinuxにLAMPサーバーをインストールする
AmazonAWSにLAMPサーバーをインストールします
CentOS5.xにLAMPサーバーをインストールします。”