VitualBoxのインストール、設定
インストール
- virtualbox.orgから「VirtualBox 6.x.x platform packages」をダウンロードし、インストールする
- virtualbox.orgから「VirtualBox 6.x.x Oracle VM VirtualBox Extension Pack」をダウンロードし、インストールする
- centos.orgからCentOSの"DVD ISO"イメージ(CentOS-7-x86_64-DVD-1810.iso)をダウンロードする
ホストネットワークマネージャーの確認と設定
「ファイル」メニューから「ホストネットワークマネージャー…」を開く
- 「vboxnet0」のIPアドレスを確認して控える(例:192.168.xxx.yyy/24)
- 「vboxnet0」のDHCPサーバーの「有効」のチェックを外す(※仮想マシンに固定IPアドレスを割り当てるため)
- ホストネットワークマネジャーを閉じる
バーチャルマシンを作成する
- 「Oracle VM VirtualBoxマネージャー」の「新規」をクリック
- 「名前」に適当な名前を入力する
- 「タイプ」を「Linux」にする
- 「バージョン」を「Red Hat (64bit)」にする
- 「続き」をクリック
- 割り当てメモリは「2048MB(2GB)」程度を割り当てる
- 「続き」をクリック
- 「仮想ディスクを作成する」を選択
- 「作成」をクリック
- 通常は「VDI」を選択する
- 「VMDK」はVMwareと互換性あり
- 「VHD」はParalles、Virtual PCと互換性あり
- 「続き」をクリック
- 「可変サイズ」を選択
- 「続き」をクリック
- 仮想ハードディスクファイルは「20GB」程度を割り当てる
- 「作成」をクリック
- 右側の画面の「ストレージ」の項目にある「[光学ドライブ]空」をクリック
- 「ディスクイメージの選択…」で先にダウンロードしたCentOS DVDイメージファイル(CentOS-7-x86_64-DVD-1810.iso)を選択する
- 「ネットワーク」の項目をクリックする
- 「アダプタ2」を選択する
- 「ネットワークアダプタを有効化」にチェック
- 「割り当て」で「ホストオンリーアダプタ」を選択
- 「名前」で「vboxnet0」を選択
- 「OK」
- 「ディスプレイ」の項目をクリックする
- 「表示倍率」を「最大」にする
- ウィンドウ上部の「設定」をクリック
- 「ユーザーインターフェース」を選択
- 「デバイス」の項目が選択されていることを確認(選択されていなければ選択する)
CentOS 7.6(CentOS-7-x86_64-DVD-1810)インストール
- 「Oracle VM VirtualBoxマネージャー」の「起動」をクリック
- カーソルキーで「Install CentOS 7」を選択、Enter
- インストーラーが起動する
- 仮想マシンの画面内をクリックすると、入力が仮想マシンに移る
- Control+Commandキーで入力がMac側に戻る
- 言語の設定画面
- 左がのボックスで「日本語」を選択
- 「続行」をクリック
- 「インストールの概要」画面
- 「ソフトウェアの選択」をクリック
- 左のボックスで「最小限のインストール」を選択
- 右のボックスで以下をチェック
- 互換性ライブラリ
- 開発ツール
- システム管理ツール
- 「完了」をクリック
- 「インストール先」をクリック
- 何もせず「完了」をクリック
- 「ネットワークとホスト名」をクリック
- 左のボックスで一つ目のEthernet(enp0s3)をクリックし「オン」にする
- 「設定」をクリック
- ※マウス操作が効かない場合はTabキー、カーソルキー、Enterキー、スペースキーで操作可能
- 「全般」を選択
- 「この接続が利用可能になったときは自動的に接続する」をチェック
- 「保存」をクリック
- 「設定」をクリック
- 二つ目のEthernet(enp0s8)をクリックし「オン」にする
- 「設定」をクリック
- ※マウス操作が効かない場合はTabキー、カーソルキー、Enterキー、スペースキーで操作可能
- 「全般」を選択
- 「この接続が利用可能になったときは自動的に接続する」をチェック
- 「保存」をクリック
- 「IPv4のセッティング」を選択
- 「方式」で「手動」を選択
- 「アドレス」で「追加」をクリック
- 「アドレス」に、先に控えた「vboxnet0」のアドレスの「yyyy」の部分を適当な値(2〜254)に変更して設定(例:192.168.xxx.101など)
- 「ネットマスク」に「24」を設定
- 「ゲートウェイ」は空のまま
- 「DNSサーバーに、先に控えた「192.168.xxx.yyy」の値をそのまま設定
- 「保存」をクリック
- 「設定」をクリック
- 「ホスト名」を入力して「適用」をクリック
- ホスト名は自由(例:centos.localdomain など)
- 2つのEthernetが「オン」になってることを確認して「完了」
- 左のボックスで一つ目のEthernet(enp0s3)をクリックし「オン」にする
- 「SECURITY POLICY」をクリック
- 開発用環境なので「セキュリティーポリシーの適用」を「オフ」にする
- 「完了」
- 「ソフトウェアの選択」をクリック
- 「インストール開始」をクリック
- 「ユーザーの設定」
- 「rootパスワード」を設定する
- 「ユーザーの作成」を行う
- ユーザー名は自由
- 「このユーザーを管理者にする」をチェック
- インストールが終わったら「再起動」をクリック
- 起動後、rootユーザーでログインする
- 「yum -y update」コマンドを実行する
- 「systemctl reboot」コマンドで再起動する
- 再起動後、rootユーザーでログインする
- 「デバイス」メニューから「Guest Addtions CD イメージの挿入…」を選択
- 以下のコマンドを実行
mount /dev/cdrom /media
cd /media
./VBoxLinuxAdditions.run
- 「systemctl reboot」コマンドで再起動する
/etc/hostsの設定
MacのターミナルからSSHで接続できるように、仮想マシンに名前を付ける
- 「ターミナル」を起動する
- 以下のコマンドを実行
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内のソースフォルダを、仮想マシンに共有マウントします。
- 「Oracle VM VirtualBoxマネージャー」の右側の「共有フォルダー」の項目をクリック
- 開いたウィンドウの右端の「+」アイコンをクリック
- 「フォルダのパス」で共有したいMac内のソースフォルダを選択する
- 「フォルダ名」を入力する(小文字+「_」が適切)
- 「自動マウント」にチェック
- 「マウントポイント」に、共有フォルダをマウントしたいディレクトリのパスを入力する(例:/home/username/www など)
- 「永続化」にチェック
- 「OK」で閉じる
- さらに「OK」で閉じる
- VirtualBoxマネージャーを終了する
- 仮想マシンを終了する(状態を保存でOK)
- 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コマンドを終了する