Edited at

macOS PHP開発環境用 CentOS 7.6 セットアップ


VitualBoxのインストール、設定


インストール



  1. virtualbox.orgから「VirtualBox 6.x.x platform packages」をダウンロードし、インストールする


  2. virtualbox.orgから「VirtualBox 6.x.x Oracle VM VirtualBox Extension Pack」をダウンロードし、インストールする


  3. centos.orgからCentOSの"DVD ISO"イメージ(CentOS-7-x86_64-DVD-1810.iso)をダウンロードする


ホストネットワークマネージャーの確認と設定

「ファイル」メニューから「ホストネットワークマネージャー…」を開く

1. 「vboxnet0」のIPアドレスを確認して控える(例:192.168.xxx.yyy/24)

2. 「vboxnet0」のDHCPサーバーの「有効」のチェックを外す(※仮想マシンに固定IPアドレスを割り当てるため)

3. ホストネットワークマネジャーを閉じる


バーチャルマシンを作成する


  1. 「Oracle VM VirtualBoxマネージャー」の「新規」をクリック

  2. 「名前」に適当な名前を入力する

  3. 「タイプ」を「Linux」にする

  4. 「バージョン」を「Red Hat (64bit)」にする

  5. 「続き」をクリック

  6. 割り当てメモリは「2048MB(2GB)」程度を割り当てる

  7. 「続き」をクリック

  8. 「仮想ディスクを作成する」を選択

  9. 「作成」をクリック

  10. 通常は「VDI」を選択する


    • 「VMDK」はVMwareと互換性あり

    • 「VHD」はParalles、Virtual PCと互換性あり



  11. 「続き」をクリック

  12. 「可変サイズ」を選択

  13. 「続き」をクリック

  14. 仮想ハードディスクファイルは「20GB」程度を割り当てる

  15. 「作成」をクリック

  16. 右側の画面の「ストレージ」の項目にある「[光学ドライブ]空」をクリック


    • 「ディスクイメージの選択…」で先にダウンロードしたCentOS DVDイメージファイル(CentOS-7-x86_64-DVD-1810.iso)を選択する



  17. 「ネットワーク」の項目をクリックする


    1. 「アダプタ2」を選択する

    2. 「ネットワークアダプタを有効化」にチェック

    3. 「割り当て」で「ホストオンリーアダプタ」を選択

    4. 「名前」で「vboxnet0」を選択

    5. 「OK」



  18. 「ディスプレイ」の項目をクリックする


    1. 「表示倍率」を「最大」にする



  19. ウィンドウ上部の「設定」をクリック


    1. 「ユーザーインターフェース」を選択

    2. 「デバイス」の項目が選択されていることを確認(選択されていなければ選択する)




CentOS 7.6(CentOS-7-x86_64-DVD-1810)インストール


  1. 「Oracle VM VirtualBoxマネージャー」の「起動」をクリック

  2. カーソルキーで「Install CentOS 7」を選択、Enter

  3. インストーラーが起動する


    • 仮想マシンの画面内をクリックすると、入力が仮想マシンに移る

    • Control+Commandキーで入力がMac側に戻る



  4. 言語の設定画面


    1. 左がのボックスで「日本語」を選択

    2. 「続行」をクリック



  5. 「インストールの概要」画面


    1. 「ソフトウェアの選択」をクリック


      1. 左のボックスで「最小限のインストール」を選択

      2. 右のボックスで以下をチェック


        • 互換性ライブラリ

        • 開発ツール

        • システム管理ツール



      3. 「完了」をクリック



    2. 「インストール先」をクリック


      • 何もせず「完了」をクリック



    3. 「ネットワークとホスト名」をクリック


      1. 左のボックスで一つ目のEthernet(enp0s3)をクリックし「オン」にする


        1. 「設定」をクリック


          • ※マウス操作が効かない場合はTabキー、カーソルキー、Enterキー、スペースキーで操作可能



        2. 「全般」を選択


          1. 「この接続が利用可能になったときは自動的に接続する」をチェック

          2. 「保存」をクリック





      2. 二つ目のEthernet(enp0s8)をクリックし「オン」にする


        1. 「設定」をクリック


          • ※マウス操作が効かない場合はTabキー、カーソルキー、Enterキー、スペースキーで操作可能



        2. 「全般」を選択


          1. 「この接続が利用可能になったときは自動的に接続する」をチェック

          2. 「保存」をクリック



        3. 「IPv4のセッティング」を選択


          1. 「方式」で「手動」を選択

          2. 「アドレス」で「追加」をクリック


            1. 「アドレス」に、先に控えた「vboxnet0」のアドレスの「yyyy」の部分を適当な値(2〜254)に変更して設定(例:192.168.xxx.101など)

            2. 「ネットマスク」に「24」を設定

            3. 「ゲートウェイ」は空のまま



          3. 「DNSサーバーに、先に控えた「192.168.xxx.yyy」の値をそのまま設定

          4. 「保存」をクリック





      3. 「ホスト名」を入力して「適用」をクリック


        • ホスト名は自由(例:centos.localdomain など)



      4. 2つのEthernetが「オン」になってることを確認して「完了」



    4. 「SECURITY POLICY」をクリック


      1. 開発用環境なので「セキュリティーポリシーの適用」を「オフ」にする

      2. 「完了」





  6. 「インストール開始」をクリック

  7. 「ユーザーの設定」


    1. 「rootパスワード」を設定する

    2. 「ユーザーの作成」を行う


      • ユーザー名は自由

      • 「このユーザーを管理者にする」をチェック





  8. インストールが終わったら「再起動」をクリック

  9. 起動後、rootユーザーでログインする


    1. 「yum -y update」コマンドを実行する

    2. 「systemctl reboot」コマンドで再起動する



  10. 再起動後、rootユーザーでログインする


    1. 「デバイス」メニューから「Guest Addtions CD イメージの挿入…」を選択

    2. 以下のコマンドを実行



mount /dev/cdrom /media

cd /media
./VBoxLinuxAdditions.run


  1. 「systemctl reboot」コマンドで再起動する


/etc/hostsの設定

MacのターミナルからSSHで接続できるように、仮想マシンに名前を付ける


  1. 「ターミナル」を起動する

  2. 以下のコマンドを実行

sudo nano /etc/hosts

「nano」というエディタが起動するので、以下の行を追加する

IPアドレス[スペース]ホスト名


  • IPアドレスは、先のネットワーク設定で指定したアドレス(例:192.168.xxx.101)

  • ホスト名は自由(例:centos.localdomain)

入力を終えたら「Control+x」、続いて「y」を入力、「Enter」すると保存、終了する


仮想マシンにSSHでアクセス

以降はMacのターミナルで、SSHでアクセスして操作します

以下のコマンドでSSHアクセスができます。

ssh 設定したユーザー名@ホスト名

※ホスト名は/etc/hostsに設定したホスト名です

初回のみ以下のプロンプトが出るので「yes」を入力してEnter

Are you sure you want to continue connecting (yes/no)? 


アプリケーションのインストール


rootにスイッチ

sudo -sE


Vim

※root で実行

yum -y install vim


httpd

※root で実行

yum -y install httpd


remi

※root で実行

yum -y install http://rpms.famillecollet.com/enterprise/remi-release-7.rpm


PHP 7.3

※root で実行

yum -y install php73* -x php73-php-pecl* -x php73-php-sqlsrv -x php73-php-horde-horde-lz4 -x php73-php-oci8


MySQL 8

※rootで実行

rpm -ivh https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm

yum -y install mysql-community-server


npm (node.js 12.x)

※rootで実行

curl -sL https://rpm.nodesource.com/setup_12.x | bash -

yum -y install nodejs


composer

※rootで実行

curl -sS https://getcomposer.org/installer | php

mv composer.phar /usr/local/bin/composer


git2

※rootで実行

rpm -ivh https://centos7.iuscommunity.org/ius-release.rpm

yum -y remove git
yum -y install git2u


各種設定


フォルダ権限

chmod o+x ~ユーザー名


SELinux無効化

setenforce 0

vim /etc/selinux/config

「SELINUX=enforcing」を「SELINUX=disabled」に変更


Firewallの無効化

systemctl stop firewalld

systemctl disable firewalld


ソースフォルダの共有

Mac内のソースフォルダを、仮想マシンに共有マウントします。


  1. 「Oracle VM VirtualBoxマネージャー」の右側の「共有フォルダー」の項目をクリック

  2. 開いたウィンドウの右端の「+」アイコンをクリック

  3. 「フォルダのパス」で共有したいMac内のソースフォルダを選択する

  4. 「フォルダ名」を入力する(小文字+「_」が適切)

  5. 「自動マウント」にチェック

  6. 「マウントポイント」に、共有フォルダをマウントしたいディレクトリのパスを入力する(例:/home/username/www など)

  7. 「永続化」にチェック

  8. 「OK」で閉じる

  9. さらに「OK」で閉じる

  10. VirtualBoxマネージャーを終了する

  11. 仮想マシンを終了する(状態を保存でOK)

  12. Macのターミナルで以下のコマンドを実行

vboxmanage setextradata 仮想マシン名 VBoxInternal2/SharedFoldersEnableSymlinksCreate/共有フォルダ名 1

コマンド実行後、VirtualBoxマネージャーを起動し、仮想マシンを起動する。


ユーザーのグループ設定

※コンソールからrootでログインする

共有フォルダに読み書きできるよう、ユーザーのグループ設定を行う。

usermod -G wheel,vboxsf ユーザー名

usermod -G vboxsf apache

ログアウトし、SSHでアクセスする。


HTTPdの設定


起動設定

※root権限で操作

systemctl enable httpd

systemctl start httpd


Welcome画面の無効化

vim /etc/httpd/conf.d/welcome.conf

全行をコメントアウトする


バーチャルホストの設定

vim /etc/httpd/conf.d/vhost.conf

以下の設定を行う

<Directory [共有フォルダ設定のマウントポイントのディレクトリパス]>

Options FollowSymLinks
AllowOverride All
Require all granted
</Directory>

<VirtualHost *:80>
ServerName [ホスト名] ※macOS側の/etc/hostsで設定したホスト名
DocumentRoot [ドキュメントルートパス]
CustomLog logs/[ホスト名].access_log combined
ErrorLog logs/[ホスト名].error_log
</VirtualHost>


httpdの再起動

systemctl restart httpd


MySQLの設定


起動設定

※root権限で操作

systemctl enable mysqld

systemctl start mysqld


ログを開いて、デフォルトのrootパスワードを確認する

less /var/log/mysqld.log

以下の行の「」の箇所を控える(これがデフォルトのrootパスワード)

2019-09-06T02:48:46.000215Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: <password>

パスワードを控えたら「q」キーを入力して less コマンドを終了する


MySQLのrootパスワードを変更する

mysql -u root -p [ENTER]

Enter password:

先に控えたrootパスワードを入力する

以下のプロンプトが表示されたら、

mysql> 

以下のコマンドを実行してパスワードを変更する

※パスワードには大小英文字、数字、記号の全てが含まれていなければならない

ALTER USER root@localhost IDENTIFIED BY 'new-Password-1234';

「quit」コマンドでmysqlコマンドを終了する