4,315 views
この記事は最終更新から 1119日 が経過しています。
連載2回目、前回の 「(57)【連載1】CentOS7にVirtualBoxを入れる」 の続きです。
この連載で最終的にやりたいこと
CentOS7を入れた物理サーバーに VirtualBoxをインストールし、
VirtualBoxの仮想マシン上で Ubuntuの仮想サーバーを動かし、
Ubuntuの仮想サーバー上で WEBサーバーを動かし、
eclipse + xdebug, PhpStorm + xdebugでリモートデバッグしたい。
今回やりたいこと
CentOS7を入れた物理サーバーに VirtualBoxをインストールし、Ubuntuの仮想サーバーを動かした。
今回はこの Ubuntuを WEBサーバーとして使い、PHPスクリプトを動かしてMySQLを制御したい。
(1) 必要なプログラムをインストール
1) 定番のHTTPサーバーである Apache2を入れる。
sudo apt install apache2 sudo systemctl enable apache2 sudo systemctl restart apache2 sudo systemctl status apache2
前回の投稿で FireWallを導入したので、Port#80(for http)を開けておく。
sudo ufw allow http sudo ufw status
2) PHP7.0を入れる。 ※aptに7.1がなかった。
sudo apt install php7.0 sudo apt install php7.0-mysql php7.0-gd php7.0-mbstring php7.0-pear php7.0-common sudo apt install libapache2-mod-php7.0 php7.0-curl php7.0-mcrypt php7.0-cgi sudo a2enconf php7.0-cgi sudo systemctl reload apache2
3) MySQLを入れる。
sudo apt install mysql-server
MySQLは 5.7.19 が入った。
user@:~$ mysql --version mysql Ver 14.14 Distrib 5.7.19, for Linux (x86_64) using EditLine wrapper
(2) とりあえず動くか見てみる
1. WEBブラウザでアクセスしてみる。
Windowsパソコンで http://192.168.1.4 にアクセスしてみる。
※192.168.1.4は前回投稿で当該VMに割り当てた固定IPアドレス
ここまではよろしいようで。
2. phpinfoを見てみる。
phpinfoを表示するだけの PHPスクリプトファイルを作り、WEBブラウザでこれを表示してみる。
vi /var/www/html/info.php
<?php phpinfo(); ?>
Windowsパソコンで http://192.168.1.4/info.php にアクセスしてみる。
こちらも大丈夫なようで。
3. PHPスクリプト内でMySQL DBを操作してみる。
1) まずはインストール後何もしていないMySQL DBにデータベースを作成する。
ログインする。
user@:~$ mysql -uroot -pxxxxx
Testという名前のデータベースを作成する。
create database Test; use Test;
Testデータベースに Tttという名前のテーブルを作成する。カラムはINT AAAと TEXT BBBの 2個とする。
create table Ttt (`AAA` INT, `BBB` TEXT);
テーブルにレコードを1個挿入する。値は AAA=123, BBB=’ABC’
insert into Ttt values('123','ABC');
こんなテーブルができた。
mysql> show tables; +----------------+ | Tables_in_Test | +----------------+ | Ttt | +----------------+ 1 row in set (0.00 sec) mysql> desc Ttt; +-------+---------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+---------+------+-----+---------+-------+ | AAA | int(11) | YES | | NULL | | | BBB | text | YES | | NULL | | +-------+---------+------+-----+---------+-------+ 2 rows in set (0.00 sec) mysql> select * from Ttt; +------+------+ | AAA | BBB | +------+------+ | 123 | ABC | +------+------+ 1 row in set (0.00 sec)
このテーブルのレコードを読み出すPHPスクリプト view.php を書く。
vi /var/www/html/view.php
<?php // DBに接続 $cdb = new mysqli('127.0.0.1', 'root', 'xxxxx', 'Test'); // Testテーブルのレコードを取得 $res = $cdb->query('SELECT * FROM `Ttt`;'); // 取得したレコードを表示 $row = $res->fetch_assoc(); var_dump($row); ?>
Windowsパソコンで http://192.168.1.4/view.php にアクセスしてみる。
確かに値が取得できた。こちらも大丈夫なようだ。
★最終的にできたこと
・CentOS7物理サーバー上のUbuntu17仮想サーバーにWEBサーバーを設置できた。
・このWEBサーバー上では PHP + SQL でWEBアプリを作成できる。
目的を達成できたのでここまででOKとする。