web学習日記

プログラミングやweb関係を学んだことを呟くブログ

vagrantとvirtualboxをWindows10上にCentOS7.4+php7.2+MySQL5.7の環境を構築する

f:id:nana205:20190614014403p:plain

はじめに

 初心者だとXAMPPやMAMPでローカル開発環境をすると思いますが、 vagrantvirtualboxCentOSサーバの環境を構築してみます。以下の確認環境は Windows10 Home 64bit。

vagrantvirtualboxのインストール

virtualboxをインストール

VirturlBOXのダウンロードページ https://www.virtualbox.org/wiki/Downloads から、WIndows 版をダウンロードしインストールを実行。現時点では Vitualbox-5.2.12。

vagrant本体のインストール

Vagranthttps://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 に yumMySQL をインストールするためには、MySQL 公式の yum リポジトリを利用します。 まずは CentOS 7 に MySQLyum リポジトリを追加します。

# 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 というのが、httpdphp を繋ぐ役割を果たします。

#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にアクセスすると拒否されるf:id:nana205:20180525022939p:plain
    この解決方法は/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