vagrantとvirtualboxをWindows10上にCentOS7.4+php7.2+MySQL5.7の環境を構築する
はじめに
初心者だとXAMPPやMAMPでローカル開発環境をすると思いますが、 vagrantとvirtualboxでCentOSサーバの環境を構築してみます。以下の確認環境は Windows10 Home 64bit。
vagrantとvirtualboxのインストール
virtualboxをインストール
VirturlBOXのダウンロードページ https://www.virtualbox.org/wiki/Downloads から、WIndows 版をダウンロードしインストールを実行。現時点では Vitualbox-5.2.12。
vagrant本体のインストール
Vagrant は https://www.vagrantup.com/downloads.html から vagrant-2.1.1 の Windows版をダウンロードしてイントール実行。実行後、再起動後、コマンドプロンプトで vagrant -v でバージョンを確認。
仮想マシンの準備をします。
CentOS7.4にするためこちのサイトから落とします。
https://app.vagrantup.com/bento/boxes/centos-7.4
こちらをコードを実行します。
vagrant init bento/centos-7.4
少し時間がかかります。
vagrantの設定
任意のフォルダを作り以下を実行します。
> mkdir CentOS7 > cd CentOS7 > vagrant init bento/centos-7.4
実行したディレクトリに設定ファイルvagrant fileができます。
vagrant fileの変更
作成された環境設定ファイル Vagrantfile ファイルを編集します。 以下の29行目あたり部分のコメントを外します。
config.vm.network "private_network", ip: "192.168.33.10"
仮想マシンの起動
vagrant up
それができたらSSHクライアント上で設定したIPアドレスにログインできることを確かめます。
仮想マシンの停止
vagrant halt
apacheのインストール
SSHクライアントに入ったらyumコマンドでこちらを入力します。
#yum install -y httpd
インストール出来たらHTTPサービスを起動します。
# systemctl status httpd httpd.service - The Apache HTTP Server Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled) Active: inactive (rannning)
IPアクセスで確認して無事Testing123という画面が出たら成功です。
MySQL
CentOS 7 に yum で MySQL をインストールするためには、MySQL 公式の yum リポジトリを利用します。 まずは CentOS 7 に MySQL の yum リポジトリを追加します。
# yum localinstall http://dev.mysql.com/get/mysql57-community-release-el7-7.noarch.rpm
次にこちらのコマンドを入力します。
# yum info mysql-community-server
MySQLのインストール
# yum -y install mysql-community-server
これでインストールは完了です。 mysqld –version コマンドでインストールした MySQL Server のバージョンを確認します。 このようなソースがでたら成功です。
# mysqld --version mysqld Ver 5.7.18 for Linux on x86_64 (MySQL Community Server (GPL))
起動と停止
インストールが完了したら、まずはサーバーを起動したら自動的に MySQL Server が起動するように設定ます。 systemctl コマンドを利用します。
# systemctl enable mysqld.service
systemctl start mysqld.service コマンドで起動できます。 MySQL 5.7 では、管理者ユーザである root のパスワードはランダムな文字のものが初期状態で設定されます。
パスワードはインストールの終了とともに /var/log/mysqld.log に出力されます。 初期パスワードは変更するのを忘れようにしたほうがいいです。
開始コマンド
# systemctl start mysqld.service
停止コマンド
# systemctl stop mysqld.service
PHP7.2のインストール
まず、EPEL リポジトリをインストールします。
#yum install epel-release
#yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm
以下コマンドで php7.2 と httpd 2.4 をインストールします。php72-php というのが、httpd と php を繋ぐ役割を果たします。
#yum install httpd mod_ssl php72 php72-php
インストール完了後、httpd の自動起動設定を行い、httpd を起動します。
systemctl enable httpd.service systemctl start httpd.service
PHPが動いているか確認するため、phpinfo スクリプトを作成します。
php echo phpinfo;
その後、http://インストールしたマシンのIPアドレス/info.php にアクセスして php info 画面が表示されれば完了です!
まとめ
httpのサーバーエラー500に苦しめられた
var/www/htmlにファイルがおけなく調べたら所有権がrootユーザーだった。chown -R user1.user1 /var/wwwを使ったらできた。
phpMyAdminがインストールできなくて何日も調べた。インストール出来てもphpMyAdminにアクセスすると拒否される
この解決方法は/etc/httpd/conf.d/phpMyAdmin.confを編集をして
$ sudo vi /etc/httpd/conf.d/phpMyAdmin.conf
Apache 2.4 Require ip 127.0.0.1 ←# 2.4系以降のApache Require all granted Require ip ::1
Require all grantedにして2.4系ですべての接続元を許可したら繋がった。
以下参考にしました。
https://app.vagrantup.com/bento/boxes/centos-7.4
https://ex1.m-yabe.com/archives/2977
https://weblabo.oscasierra.net/installing-mysql57-centos7-yum/
https://www.psi-net.co.jp/blog/?p=1137
良かったら初心者向けにプログラミングスキルアップ相談します!
お問い合わせはこちらまで
tyutyumasato@gmail.com