業務でPHPアップグレード作業を行う際に仮想環境で検証を行いました。
結構詰まったところもあったので備忘録として残しておこうと思います。
VirtualBoxのインストール
上記URLにアクセスしてダウンロードを行います。
筆者のPCはMacなのでOS X hosts
をクリックしてダウンロード実行します。
案内に沿って作業します。
アイコンをクリックするとインストーラーが起動するので「続ける」ボタンをクリックします。続いて「インストール」ボタンをクリックします。
アプリケーションのVirtualBoxのアイコンをクリックすると次の画面が起動するので「新規」を押します
名前には任意の文字を、タイプをLinuxにしてRedHat(64-bit)を選択し続きボタンを押します。
メモリーサイズ、ハードディスクの設定を行い作成ボタンを押します。(デフォルトでチェックされているもので進めて問題ないです)
作成完了すると以下の画面が表示されます。
いったんVirtualBoxの画面から離れて下準備を行います
下記のURLからCentOSのイメージファイルをダウンロードします。
https://www.centos.org/download/
x86_64をクリック
どこでも良いですが今回は一番上のをクリック
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)
VirtualBoxの画面に戻り「起動」→「通常起動」をクリック
右側のフォルダアイコンをクリックして先ほどダウンロードしたファイルをセットします。
startをクリックして次の画面になります。
しばらくすると画面にたくさん文字が走り最終的に以下の画面になっていれば成功です。
言語を日本語にして続けるボタンを押します。(画像は英語)
インストールの開始ボタンを押します。警告が出て押せない場合は警告マークの付いている箇所をクリックして開き、そのまま閉じると開始ボタンが押せる様になります。
rootパスワードを設定します。
自動で始まるインストールとセットアップが終わったら再起動ボタンをクリックします。
rootと入力して先ほど設定したパスワードを入力してログインします。
ここまでで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に書き換えます。
サーバーを再起動
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
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管理画面でサーバーの部分にカーソルを置き右クリック→設定をクリックしネットワークのところから「ポートフォワーディング」をクリックします。
設定が完了したら再度VirtualBoxの管理画面で起動を行います。
http://localhost:50080/ にアクセスして以下の画面が表示されれば成功です。
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;
上記の様に表示されるはずです。
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
に接続して以下の表示になっていれば成功です。
以上で完了です!お疲れ様でした。
参考記事