こんにちは。もんしょー(@sima199407)です。
という疑問があるかと思います。
これについてもう少し詳しく解説していきます!
動画でも解説してます
キーワードから申しますと、「OS」です。
LAMP環境ってよく聞くけど、あれってなんなのっていうとこだったりとか、同じような言葉があるけど何が違うのっていうところの疑問について解説していきます。
これらの紹介
簡単に説明するとWeb開発に必要な環境の頭文字を持っているものです。
例えばLAMP環境のLは、Linuxですね。
AがApache、MがMySQL、PがPHPって感じです。
こうやって聞くと、たまにPのところ、PythonとかPerlだっていうところあったりとか、MはMariaDBだとかいろんな意見があると思いますが、基本的には先ほどの4つかなと思います。
そういった使い分けというのもあるんですけども、初心者向けだとここら辺になります。
環境開発を使って行く時に、こういった環境が多いよっていうところでLAMPのような環境のパッケージってものができているわけなんですね。
LAMPとは
ポイント2つ目、LAMPとはについてです。
もうちょっと深堀りしていこうと思います。
もう一度確認しましょう。
LAMPとは、LがLinux、AがApache、MがMySQL、PがPHP
これらを上から順にちょっと解説していきます。
Linux(リナックス)
[blog-card url="https://www.kernel.org/"][/blog-card]
まずLinuxですね。これはOSの名前なんですよ。
[box05 title="OSとは?とは?"]MacだったらMacOSっていうのあったりとか、Windowsだったら、Windows7とWindows10とか、こういったものがOSと呼ばれています。[/box05]
僕のパソコンWindowsなんでそんなにLinuxとか使わないですと思われるかもしれませんが、これ意外と使う場面があります。
会社のサーバっていうのがほとんどLinux系だったりするんですよ。
種類
CentOSって言われるものがあったりとかUbuntuって言われているものがあるんですけども、Linux系のものを使ってWebサービスを運営している会社っていうのがですね多くありますので、Linuxっていうのを是非覚えてほしいなと思います。
Apache(アパッチ)
[blog-card url="https://httpd.apache.org/"][/blog-card]
次にAのApacheですね。
これはWebサーバと言われているものなのですね。
Webサーバを簡単に言うと、Webサイトを公開するために必要なシステムです。
ブラウザとは?
いきなりですが、皆さんどんなブラウザ使っていますか?
例えばGoogle ChromeとかFirefoxとかInternet Explorerとかだったり、iPhoneとかsafafiとかね。
インターネットにつないでブログ見たりとかtwitterやったりとかamazonでお買い物したりとか、そういったことができるためのブラウザってあるじゃないですか。
URLとは?
あそこにURLっていうのものがあるんですけども、http://とか。
これがWebサーバへつなぐための道順みたいなものなんですよ。
そこにアクセスするとWebサーバが「あっアクセス来た」データ送らないと、と反応するわけなんですよ。
そういった自分の欲しいページのデータをお願いするっていうことがリクエストと呼ばれています。
リクエストとwebサーバーの関係
リクエストすることによってWebサーバをブラウザにこんなデータですよっていうのを送るわけなんです。
そのWebサーバの役割をするのがApacheって言われているものがあるんですね。
種類
これが一番スタンダードなものかと思いますが、最近だとnginxっていうのが人気でして。
Apacheとほぼ同じような役割をするWebサーバもあるので、どっち使うかっていうのは会社の判断だったり自分の好みだったりすると思うんでそこら辺も覚えておきましょう。
MySQL(マイエスキューエル)
[blog-card url="https://www.mysql.com/jp/"][/blog-card]
次にMのMySQLですね。
これよく聞くと思います。
個人開発でもですね、会社に入ってもそうだと思います。
何かって言うとデータベースのことなんですね。
種類
MySQLって色んな種類があるんですよ。
例えばさっき言ったMariaDBっていうのもあるし、Oracleというデータベースもあるし、いろんなデータベースがあるんですが、基本的な使い方っていうのは同じなので、とりあえずMySQLの使い方を覚えておけば大丈夫です。
PHP(ピーエイチピー)
[blog-card url="https://www.php.net/manual/ja/intro-whatis.php"][/blog-card]
最後にPのPHPっていうところなんですけども、これはプログラミング言語です。
Web中でもトップクラスに使用されている機会が多いです。
特徴としてはHTMLと一緒に書けるということだったりとか、ブログでお馴染みのWordPressもPHPで動いているっていうところがあります。
他に使われる言語は?
環境によってはPython使っていたりとか、Perlが使われていたりだと使われます。
いろんなWeb系の言語が使われていると思いますので環境に合ったものを使って行くのがLAMP環境で重要なことだと思います。
MAMPとは?
ポイント3つ目、MAMPとはっていうところですね。
実はもうほとんど解説しきっています。
どういうことかというと最初のMはMacOSのMでして、それ以外のAMPっていうのは全部同じなんですよLAMP環境と。
AはApacheだったりとかMはMySQLとかPはPHPです。
MAMPっていうのは本当に使う人が限られてきて本当にMacユーザしかMAMPの環境っていうのを使わないわけなんですね。
ローカル環境で使います
基本的に自分のパソコンのローカル環境で使う事が多いらしく、しかもこのMAMP環境っていうのは1つのサービスとしてもう提供されているんですよ。
例えばネットからダウンロードしてインストールすればすぐに環境構築ができてしまう訳なんです、本当に便利です。
僕も駆け出しの頃は、MAMP環境の構築分らんと使ってました、象のマークのやつなんですけども。
もし、すぐにでもWebサービスを立ち上げたい、ローカル環境でちょっとテストしたいなって思いMacユーザであればMAMPっていうのを調べていたただくとすぐに立ち上がると思うので使ってみてはいかがでしょうか。
[blog-card url="https://www.mamp.info/en/mamp/mac/"][/blog-card]
XAMPP とは?
ここまで読んでくださった方は何となく分かる方もいらっしゃると思いますが、XはWindowsかと思いきや実はちょっと違うんです。
確かにWindowsも入ってくるんですが、XAMPPの最初のXの部分は、フリーソフトの名前なんですよね、クロスっていう意味なんで、だからWindowsはもちろん、MacでもいいしLinuxでも何でもいいんです。
つまり、どのOSでも対応できるからXになってるわけなんですけども、あともう1つですね、疑問に思うかもしれませんがXAMPPのPの部分って2つになっていますよね。
「PP」はなに?
何でPは2つあるの?って思ったんですが、僕も調べるまではちょっと分からなかったんですが、2つ目のPはですねPerlなんですよね。
Webのプログラミング言語なんですけども、最初のPがPHPで次がPerlなんですね。
何でPerlなんだろうなーというところはありますけど、実はMの部分もちょっと違っていて、Mの部分MySQLかなと思ったらMariaDBっていうですね、ほぼほぼMySQLと同じ特徴なんですけどもMariaDBのMです。
整理すると以下の通り。
Xの部分っていうのが、Linxu、Mac、WindowsなどのOS。
AがApache、MがMariaDB、最初のPがPHP、最後のPがPerl。
このXAMPPっていうもの基本的にフリーソフトで使えるのでこれもですね、ネット調べてダウンロードしてインストールすればすぐに使えるかなと思います。
テスト環境作る時とかに凄く役に立つと思うんでぜひ使ってみてはいかがでしょうか。
[blog-card url="https://www.apachefriends.org/jp/index.html"][/blog-card]
まとめ
1つ目、なんとかAMPっていうのはWebサービスを構築するための1つのパッケージ!
XAMPPとかっていうのもあるしLAMPとかMAMPとか、色んなOSにあった形のものがあります。
2つ目、実際ローカル環境で使うことが多い!
1つのパッケージになっているので、これをそのままWebサーバに公開するよりも、どちらかというとローカル環境で使って自分のテストだったりとかをすることが多いです。
3つ目、簡単に作業を始められる手軽さがある!
開発環境パッケージされているのでMAMPとかXAMPP使うとですね、すぐに始められるかなと思います。
今回のまとめです。
・なんとかAMPっていうのはWebサービスを構築するための1つのパッケージ
・実際ローカル環境で使うことが多い
・簡単に作業を始められる手軽さがある
https://simablog.net/what-infrastructure-engineer/
https://simablog.net/what-is-docker/