Hyper-VでUbuntuServer③(LAMP環境構築)

LAMPとは

Bing AI 先生に聞いてみますと、

Q.LANPとは

A.Webアプリケーションの開発環境の一種で、データベースを利用したWebアプリケーションを
  開発・運用するのに適した、定番のオープンソースソフトウェアの組み合わせの一つです。
  LAMPとは、
  OSの「Linux」、
  Webサーバの「Apache」、
  データベースの「MySQL」(後にMariaDBも選択肢に追加された)、
  プログラミング言語および実行環境の「PHP」「Perl」「Python」(のいずれか)
  の頭文字を繋いだものです。

出典元はこの辺
 https://e-words.jp/w/LAMP.html
 https://meister-kentei.jp/magazine/programming/909/
 https://wa3.i-3-i.info/word13.html

との事です。

ここでは、Linux(Ubuntu Server)に、CMSの定番「WordPress」などが動作する
  ・Webサーバの「Apache」
  ・データベースの「MySQL」
  ・プログラミング言語および実行環境の「PHP」
を入れた環境を 構築してみます。

準備

サーバーは、「Hyper-VでUbuntuServer②(インストール)」で構築した環境を使用します。

IPアドレス:192.168.100.1
管理者  :admin001
パスワード:pass0001

まず、準備として、パッケージ(ソフトウェア群)を最新のものに更新します。

※ この更新を行いませんと、バージョンの食違い等で、
  ソフトウェアのインストールがうまく出来ない場合がある様です。

Ubuntu では、使用するソフトウェア群をパッケージとして管理しています。

パッケージの管理には、「apt」(Advanced Package Tool) というコマンドを使用します。

apt コマンドは、スーパーユーザー権限の sudo コマンド と併せて使用します。

パッケージの更新は、以下のコマンドを使用します。

sudo apt update  ← パッケージ一覧の更新
sudo apt upgrade  ← パッケージ一覧を元にアップデート可能なパッケージを更新
shutdown -r now  ← 念の為、OSの再起動

ここからは、実画面での操作の流れです。

不要でしたら、次の『「Apache」(Webサーバ)をインストールする』へ

それでは、Ubuntu Server のコンソール(黒い画面)にログインします。

※すでにログインしている場合は不要です。

ログイン名を入力し、「Enter」キーを押す

パスワードを入力し、「Enter」キーを押す


ログイン後、プロンプト「~$」が表示されたら、

コマンド 「sudo apt update」を入力し、「Enter」キーを押す

初回は、パスワード入力を求められるので、入力し、 「Enter」キーを押す

※ sudo コマンドでは、パスワードを要求されます(初回 及び 15分間隔)


Update処理(オレンジ枠)が動き、プロンプト「~$」が表示されたら、

コマンド 「sudo apt upgrade」を入力し、「Enter」キーを押す


Upgradeの準備処理が動き、更新処理を続けて良いかの確認応答待ちとなるので、

「y」を入力し、「Enter」キーを押す


Upgrade処理が動き、

サービスの再起動の確認画面が出たら、

「Tab」キーで、「OK」を選択し、

「Enter」キーを押す


Upgrade処理が終了し、プロンプトを表示

念の為、サーバーを再起動する

コマンド「shutdown -r now」を入力し、「Enter」キーを押す


再起動後、

ユーザ名/パスワードを入力し、再度ログインする

以上で、LAMP環境構築前の、準備が終了

「Apache」(Webサーバ)をインストールする

上記で、「準備」が終わりましたので、

まず、Webサーバーの「Apache」をインストールします。

インストールは、以下のコマンドを使用します。

sudo apt install apache2  ← 現行バージョンが Apache2


ここからは、実画面での操作の流れです。

不要でしたら、次の『「MySQL」(データベース)をインストールする』へ

上の続きから、

コマンド「sudo apt install apache2」を入力し、「Enter」キーを押す

再起動後の初回は、パスワード入力を求められるので、入力し、 「Enter」キーを押す


インストールの準備処理が動き、処理を続けて良いかの確認応答待ちとなるので、

「y」を入力し、「Enter」キーを押す


インストール処理が進み

プロンプトを表示して終了

なお、インストール処理とは関係がありませんが、
処理中、オレンジ枠のエラーメッセージ(I/O error, dev sr0)が流れる事があります。
これは、CD/DVDデバイスに関わるもののようで、インストール処理とは関係が無いと思われる為、
ここでは無視します。

Hyper-Vの仮想環境が原因なのかは、今の所よく分かっておりませんが、
仮想マシンの設定から、CD/DVDドライブを取り外すとメッセージは止まります。

「MySQL」(データベース)をインストールする

インストールは、以下のコマンドを使用します。

sudo apt install mysql-server


ここからは、実画面での操作の流れです。

不要でしたら、次の『「PHP」(プログラミング言語および実行環境)をインストールする』へ

上の続きから、

コマンド「sudo apt install mysql-server」を入力し、「Enter」キーを押す


インストールの準備処理が動き、処理を続けて良いかの確認応答待ちとなるので、

「y」を入力し、「Enter」キーを押す

インストール処理が進み


プロンプトを表示して終了

「PHP」(プログラミング言語および実行環境)をインストールする

インストールは、以下のコマンドを使用します。

sudo apt install php  ← php本体
sudo apt install php-mysql  ← PHPでMySQLを扱うための拡張モジュール

sudo apt install php php-mysql と続けて入力しても良い


ここからは、実画面での操作の流れです。

不要でしたら、次の『動作の確認』へ

上の続きから、

コマンド「sudo apt install php」を入力し、「Enter」キーを押す


インストールの準備処理が動き、処理を続けて良いかの確認応答待ちとなるので、

「y」を入力し、「Enter」キーを押す


インストール処理が進み


プロンプトを表示して終了

続けて、コマンド「sudo apt install php-mysql」を入力し、「Enter」キーを押す


インストールの準備処理が動き、処理を続けて良いかの確認応答待ちとなるので、

「y」を入力し、「Enter」キーを押す


インストール処理が進み

プロンプトを表示して終了

動作の確認

Apache

他のPCのブラウザから、UbuntuサーバーのIPアドレスにてアクセス

ここでは、http://192.168.100.1

以下の画面が表示されればOK


MySQL

動作確認ついでに、データベースの管理ユーザを作成してみる(今後のお話しでは、このユーザを使用します)

MySQLの起動

sudo mysql

mysql> とプロンプトが変わる

ユーザーを作成
 ユーザー:db_admin / パスワード:pass0001 とします。(パスワードはテストの為、簡単にしています)

create user 'db_admin'@'localhost' identified by 'pass0001'; ←末尾の「;」セミコロンをお忘れなく

管理者権限を付与

grant all privileges on *.* to 'db_admin'@'localhost' with grant option; ←末尾の「;」セミコロンをお忘れなく

登録の確認

select user,host from mysql.user; ←末尾の「;」セミコロンをお忘れなく

MySQLの管理者は、本来「root」ですが、初期状態では、Ubuntuサーバーの管理ユーザ(ここでは、admin001)に結び付けられており、パスワードを持っておりません。

MySQLのrootユーザーにパスワードを与え分離する事も可能なようですが、rootユーザーを隠した運用がLinuxのセキュリティの基本なのかな?と考えますので、MySQLの管理者は、別途作成するのが良いと現時点では考えております。

Ubuntuサーバーの管理ユーザでログオンしっぱなしですと、簡単にMySQLにアクセスで来てしまう事は気になりますが...

コマンド 「sudo mysql」を入力し、「Enter」キーを押す

パスワード入力を求められた場合は入力し、 「Enter」キーを押す


MySQLが起動し、色々メッセージが流れ、

プロンプト「mysql>」を表示


「create user 'db_admin'@'localhost' identified by 'pass0001'; 」を入力し、「Enter」キーを押す。

「Query OK ・・・」が表示され、

mysql> プロンプトに戻る


続けて、

「grant all privileges on *.* to 'db_admin'@'localhost' with grant option; 」を入力し、「Enter」キーを押す。

「Query OK ・・・」が表示される

mysql> プロンプトに戻る


登録の確認

「select user,host from mysql.user; 」を入力し、「Enter」キーを押す。

ユーザー一覧が表示され、

mysql> プロンプトに戻る

ユーザー一覧に、今回登録を行った「db_admin」が表示されていればOK


MySQLの終了は、

「exit」を入力し、「Enter」キーを押す。

「Bye」と表示し、Ubuntuのプロンプト「~$」に戻る


PHP

ディレクトリ /var/www/html/ に、実行中のPHPの情報を表示する

phpinfo() 関数を使ったphpファイルを作成します。

 

 

※ファイル名は任意です。

ここからは、ファイルを viエディタ を使用して作成した例です。

コマンド「sudo vi /var/www/html/phpinfo.php」を入力し、「Enter」キーを押す


viエディタが、

ファイル「/var/www/html/phpinfo.php」新規 [New] で、起動する 


「i」キーを押し、インサートモードに切り替え

phpinfo の記述を行う


「Esc」キーを押し、インサートモードを解除

「:wq」を入力し、「Enter」キーを押し、ファイルを保存


ファイル保存のメッセージが表示され、

プロンプトに戻る


確認は、他のPCのブラウザから、作成した phpinfo.php ファイルにアクセス

ここでは、http://192.168.100.1/phpinfo.php

以下の画面が表示されればOK

以上で、LAMP環境の構築は、終了です。


作成 : 2023/05/21

環境 : OS Windows 11 Pro バージョン 22H2 「Hyper-V使用」
     Ubuntu Server バージョン 22.04.2 LTS

Top