从零开始搭建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)