LoginSignup
2
4

More than 5 years have passed since last update.

ゼロからphp7環境構築 - 2.Appサーバー設定

Last updated at Posted at 2016-11-30

前回: ゼロからphp7環境構築 - 1.DBサーバー設定
次回: ゼロからphp7環境構築 - 3.サンプルアプリ作成(laravel5)

概要

今回はappサーバーの設定を行います
0.事前準備 で作成した環境を使用します。httpd,php7,mariaDBをインストールし、1.DBサーバー設定 で作成したDBに接続してみます

もくじ

  • vagrant up
  • httpd インストール・設定
  • php7 インストール・設定
  • composer インストール
  • DB接続テスト
  • DB接続テスト2(phpからの接続)
  • box作成・追加

vagrant up

cd C:\HashiCorp\Vagrant\work\testProject\appserver
vagrant up

192.168.33.11 (vagrant / vagrant) へssh接続

httpd インストール

sudo yum -y install httpd
httpd -v

設定変更

sudo vim /etc/httpd/conf/httpd.conf

■66行目、67行目
User apache
Group apache

User vagrant
Group vagrant

起動と自動起動設定

sudo systemctl start httpd
sudo systemctl enable httpd

apachのwelcome画面表示

http://192.168.33.11/ へアクセス

Testing 123.. の画面が表示されることを確認

php7インストール

sudo yum -y install epel-release
sudo rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
sudo yum -y install --enablerepo=remi,remi-php70 php php-devel php-mbstring php-pdo php-mysqlnd php-xml
php -v

DocumentRoot変更

sudo vim /etc/httpd/conf/httpd.conf

■103行目
AllowOverride none

AllowOverride All

■119行目
DocumentRoot "/var/www/html"

DocumentRoot "/home/vagrant"

■124行目
Directory "/var/www"

Directory "/home/vagrant"

■125行目
AllowOverride none

AllowOverride All

■131行目
Directory "/var/www/html"

Directory "/home/vagrant"

■151行目
AllowOverride none

AllowOverride All

■164行目
DirectoryIndex index.html

DirectoryIndex index.php index.html

再起動

sudo systemctl restart httpd.service

phpinfo表示

cd
vim index.php

<?php phpinfo(); ?>

http://192.168.33.11/ へアクセス
phpinfo の画面が表示されることを確認

composerインストール

curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer
composer -V

Composer version 1.2.2 2016-11-03 17:43:15

DB接続テスト

前回作成したDBサーバーに、Appサーバーから接続するための設定を行います

vagrant up(DBサーバー)

cd C:\HashiCorp\Vagrant\work\testProject\dbserver
vagrant up

192.168.33.21 (vagrant / vagrant) へssh接続

ユーザーごとのアクセス権限の確認

mysql -u root
MariaDB [(none)]> select user,host from mysql.user;

+------+-----------------------+
| root | 127.0.0.1 |
| root | ::1 |
| | localhost |
| root | localhost |
| | localhost.localdomain |
| root | localhost.localdomain |
+------+-----------------------+

アクセス権限の追加

MariaDB [(none)]> grant all privileges on sample.* to root@"192.168.33.11" identified by 'vagrant' with grant option;

Query OK, 0 rows affected (0.00 sec)

確認

MariaDB [(none)]> select user,host from mysql.user;

+------+-----------------------+
| root | 127.0.0.1 |
| root | 192.168.33.11 | ← 追加された
| root | ::1 |
| | localhost |
| root | localhost |
| | localhost.localdomain |
| root | localhost.localdomain |
+------+-----------------------+

Appサーバーで接続確認

192.168.33.11 に接続しているターミナルに移動

mysql -h 192.168.33.21 -uroot -p
-bash: mysql: command not found

mariaDBを入れてなかった。。。
前回記事を参考にmariaDBをインストール(省略)
mariaDBの起動と自動起動設定は不要

再チャレンジ(passWordは vagrant )
接続、参照、レコード追加ができました。

[vagrant@localhost ~]$ mysql -h 192.168.33.21 -uroot -p
Enter password:

MariaDB [(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| test               |
+--------------------+

MariaDB [(none)]> use test;

MariaDB [test]> show tables;
+----------------+
| Tables_in_test |
+----------------+
| sample         |
+----------------+

MariaDB [test]> select * from sample;
+----+---------------+
| id | name          |
+----+---------------+
|  1 | Yamada Taro   |
|  2 | Tanaka Hanako |
+----+---------------+
2 rows in set (0.00 sec)

MariaDB [test]> insert into sample (name) values ('Nagata Yuki');
Query OK, 1 row affected (0.03 sec)

MariaDB [test]> select * from sample;
+----+---------------+
| id | name          |
+----+---------------+
|  1 | Yamada Taro   |
|  2 | Tanaka Hanako |
|  3 | Nagata Yuki   |
+----+---------------+
3 rows in set (0.00 sec)

参考: MySQLに外部ホストから接続できるように設定する

DB接続テスト2(phpからの接続)

vim index.php

編集内容

<?php
//phpinfo();

$dsn='mysql:dbname=test;host=192.168.33.21';
$user='root';
$pass='vagrant';
try{
  $db=new PDO($dsn,$user,$pass);
  $sql = "select * from sample";
  foreach($db->query($sql) as $row){
    echo($row['id'] . ":" . $row['name'] . "<br>");
  }
}catch(PDOException $e){
    die("die");
}
$db=null;

下記の表示がされていればOK

1:Yamada Taro
2:Tanaka Hanako
3:Nagata Yuki

box作成・追加

pc側で

cd C:\HashiCorp\Vagrant\work\testProject\appserver
rm package.box
vagrant halt
vagrant package
vagrant box add --name centos72-httpd-php-maria package.box
vagrant box list

centos72-httpd-php-maria が追加されていることを確認


前回: ゼロからphp7環境構築 - 1.DBサーバー設定
次回: ゼロからphp7環境構築 - 3.サンプルアプリ作成(laravel5)

2
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
4