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