5
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

VirtualBoxにCentOS7を入れてApache、MySQL、PHPのインストール作業を行う(LAMP)

Last updated at Posted at 2022-03-26

業務でPHPアップグレード作業を行う際に仮想環境で検証を行いました。
結構詰まったところもあったので備忘録として残しておこうと思います。

VirtualBoxのインストール

上記URLにアクセスしてダウンロードを行います。
筆者のPCはMacなのでOS X hostsをクリックしてダウンロード実行します。

image.png

案内に沿って作業します。

image.png

アイコンをクリックするとインストーラーが起動するので「続ける」ボタンをクリックします。続いて「インストール」ボタンをクリックします。

image.png

アプリケーションのVirtualBoxのアイコンをクリックすると次の画面が起動するので「新規」を押します

image.png

名前には任意の文字を、タイプをLinuxにしてRedHat(64-bit)を選択し続きボタンを押します。

image.png

メモリーサイズ、ハードディスクの設定を行い作成ボタンを押します。(デフォルトでチェックされているもので進めて問題ないです)

作成完了すると以下の画面が表示されます。

image.png

いったんVirtualBoxの画面から離れて下準備を行います
下記のURLからCentOSのイメージファイルをダウンロードします。
https://www.centos.org/download/

image.png

x86_64をクリック

image.png

どこでも良いですが今回は一番上のをクリック
http://ftp.tsukuba.wide.ad.jp/Linux/centos/7.9.2009/isos/x86_64/

色々ありますが、 CentOS-7-x86_64-Minimal-2009.iso をクリック(違いはこちらのサイトに説明があります。https://linuxfan.info/centos-7-iso-image-comparison)

image.png

VirtualBoxの画面に戻り「起動」→「通常起動」をクリック

image.png

右側のフォルダアイコンをクリックして先ほどダウンロードしたファイルをセットします。

image.png

startをクリックして次の画面になります。

image.png

しばらくすると画面にたくさん文字が走り最終的に以下の画面になっていれば成功です。
言語を日本語にして続けるボタンを押します。(画像は英語)

image.png

インストールの開始ボタンを押します。警告が出て押せない場合は警告マークの付いている箇所をクリックして開き、そのまま閉じると開始ボタンが押せる様になります。

image.png

rootパスワードを設定します。

image.png

image.png

自動で始まるインストールとセットアップが終わったら再起動ボタンをクリックします。

image.png

rootと入力して先ほど設定したパスワードを入力してログインします。

image.png

ここまででCentOSのインストール作業は完了です。

Apache、PHP、MySQLのインストール

インストールするためにはネットワークが繋がっていないといけないのですが、VirtualBoxにLinuxをインストールしたデフォルト状態ではネットワークが繋がっていません。

enp0s3に関する設定を行います。

nmcli c modify enp0s3 ipv4.dns 8.8.8.8

エラーが表示されなければ成功です。

次にファイルを編集します。

vi /etc/sysconfig/network-scripts/ifcfg-enp0s3

ONBOOT=no となっている部分をyesに書き換えます。
image.png

サーバーを再起動

systemctl restart network

再起動後に

yum list httpd

とコマンドを入力してエラーが表示されなければOK

Linuxではyumというパッケージマネージャーを使ってyumコマンドで簡単にリポジトリからPHPやApacheなどがインストールできますが、デフォルトのリポジトリでは不足していたり、最新でないものがある様なのでepalとremiというパッケージも利用する様にします。

yum -y install epel-release.noarch
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
vi /etc/yum.repos.d/remi.repo

でenabled=0をenabled=1に書き換えて保存
image.png

Apacheのインストール

yum -y install httpd

Apacheを起動

systemctl start httpd

サーバー起動時にApacheを自動起動する設定

systemctl enable httpd

サーバーにアクセスするためにはまずサーバーの側のfirewallでwebサイトに利用するポートを開放する必要があります。

firewall-cmd --add-service=http --permanent

いったんサーバーの電源を切ります

shutdown -h now

VirtualBox管理画面でサーバーの部分にカーソルを置き右クリック→設定をクリックしネットワークのところから「ポートフォワーディング」をクリックします。

image.png

右上の+マークのアイコンを押して画像の設定にします。
image.png

設定が完了したら再度VirtualBoxの管理画面で起動を行います。

http://localhost:50080/ にアクセスして以下の画面が表示されれば成功です。

image.png

MySQLインストール

yum -y install http://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm
rpm –import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
yum -y install mysql-community-server

MySQL起動

systemctl start mysqld

MySQL自動起動設定

systemctl enable mysqld

初期設定されているパスワードを確認

cat /var/log/mysqld.log | grep root
2022-03-26T09:05:27.314019Z 1 [Note] A temporary password is generated for root@localhost: [ここにパスワードの文字が記載]
mysql -u root -p
Enter password: //上記のパスワードでログイン

パスワードの変更を行わないとデータベースが操作できないので設定します。
※8文字以上かつ英大文字・小文字・数字・記号を含めないとエラーで返されます。

mysql> SET PASSWORD = PASSWORD('任意のパスワード')

データベースを確認してみましょう。

mysql> SHOW DATABASES;

image.png

上記の様に表示されるはずです。

PHPのインストール

yum -y install --enablerepo=epel,remi,remi-php74 php php-mbstring

※今回は最低限のファイルしかインストールしていません。実際は使用する環境に合わせて他のライブラリもインストールする必要があります。

Apacheの再起動をします。

systemctl restart httpd

PHPの動作確認様ファイルを作成します。

vi /var/www/html/test.php

以下のコードを記述します

<?php
    echo 'PHP-OK';
?>

http://localhost:50080/test.php に接続して以下の表示になっていれば成功です。

image.png

以上で完了です!お疲れ様でした。

参考記事

5
9
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?