从零开始搭建PHP7环境 – 2.配置App服务器

上次:从零开始搭建PHP7环境 – 第一部分:数据库服务器配置
下次:从零开始搭建PHP7环境 – 第三部分:创建示例应用程序(Laravel5)

梗概

我们将对app服务器进行配置。
我们将使用之前准备好的环境进行配置。我们将安装httpd、php7和mariaDB,并尝试连接到在数据库服务器配置中创建的数据库。

目录

    • vagrant up

 

    • httpd インストール・設定

 

    • php7 インストール・設定

 

    • composer インストール

 

    • DB接続テスト

 

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

 

    box作成・追加

执行游牧者上

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

以vagrant / vagrant身份通过ssh连接到192.168.33.11。

安装httpd。

sudo yum -y install httpd
httpd -v

更改设定

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

第66行、第67行
用户apache
组apache

用户vagrant
组vagrant

启动和自动启动设置

sudo systemctl start httpd
sudo systemctl enable httpd

显示apach的欢迎页面

访问 http://192.168.33.11/

请确认屏幕显示”测试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行
允许覆盖无

允许覆盖全部

119行目
文档根目录为 “/var/www/html”

文档根目录改为 “/home/vagrant”

■ 第124行
目录 “/var/www”

目录 “/home/vagrant”

■第125行
允许覆盖 设为无

允许覆盖 全部允许

■第131行
目录 “/var/www/html”

目录 “/home/vagrant”

■第151行
AllowOverride none

允许覆盖全部

■164行目
目录索引 index.html

目录索引 index.php index.html

重新启动

sudo systemctl restart httpd.service

查看PHP配置信息。

cd
vim index.php

可以被翻译成:

请确认可以访问 http://192.168.33.11/ ,并确保能够显示 phpinfo 的页面。

安装composer

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

作曲家版本1.2.2 2016年11月3日17:43:15

数据库连接测试

我們將對之前建立的DB伺服器進行設定,以便App服務器可以連接上。

启动(DB服务器)

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

使用vagrant / vagrant 进行ssh连接至 192.168.33.21

确认每个用户的访问权限

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

以下是对上述内容的中文本地化改写:

+——+———————–+
| 根 | 127.0.0.1 |
| 根 | ::1 |
| | 本地主机 |
| 根 | 本地主机 |
| | 本地主机.localdomain |
| 根 | 本地主机.localdomain |
+——+———————–+

添加访问权限

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

查询完成,未影响任何行数(0.00 秒)

确认

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

+——+———————–+
| 根 | 127.0.0.1 |
| 根 | 192.168.33.11 | ← 添加的
| 根 | ::1 |
| | 本地主机 |
| 根 | 本地主机 |
| | 本地主机.localdomain |
| 根 | 本地主机.localdomain |
+——+———————–+

通过App服务器进行连接验证

移动到连接到192.168.33.11的终端上。

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

我没有安装MariaDB。
根据上一篇文章的参考,省略了安装MariaDB。
不需要启动和设置MariaDB的自动启动。

再次尝试(密码是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;

如果显示如下,则可以。

1: 山田太郎
2: 田中花子
3: 長田由紀

添加盒子

在电脑端

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

请确认已添加 CentOS 7.2、HTTPd、PHP 和 Maria。


上次:从零开始搭建PHP7环境 – 1. 配置数据库服务器
下次:从零开始搭建PHP7环境 – 3. 创建示例应用(laravel5)

广告
将在 10 秒后关闭
bannerAds