Linux CentOS 6.5 + Apache + Mariadb + PHP环境搭建
Web自动化测试-服务端测试环境部署
by:授客
目录
操作系统环境:CentOS 6.5-x86_64
下载地址:http://www.centoscn.com/CentosSoft/iso/2013/1205/2196.html
注:安装时选择以Basic Server的方式安装
Mariadb下载地址
http://mirrors.opencas.cn/mariadb/mariadb-5.5.45/yum/centos6-amd64/rpms/
Apache下载地址
http://httpd.apache.org/download.cgi#apache24
pcre下载地址
apr下载地址
http://mirrors.cnnic.cn/apache/apr/
apr-util下载地址
http://mirrors.cnnic.cn/apache/
libxml2下载地址
http://download.chinaunix.net/download/0007000/6095.shtml
php下载地址
http://php.net/downloads.php#v5.6.12
文件列表如下:

网盘统一下载地址:http://pan.baidu.com/s/1sj1Lzw5
一、安装数据库
安装Mysql、Mariadb(笔者选择安装的是Mariadb
5.5.45
需要下载的rpm包如下
[root@localhost mnt]# ls |
grep rpm
MariaDB-5.5.45-centos6-x86_64-client.rpm
MariaDB-5.5.45-centos6-x86_64-common.rpm
MariaDB-5.5.45-centos6-x86_64-compat.rpm
MariaDB-5.5.45-centos6-x86_64-devel.rpm
MariaDB-5.5.45-centos6-x86_64-server.rpm
MariaDB-5.5.45-centos6-x86_64-shared.rpm
MariaDB-5.5.45-centos6-x86_64-test.rpm
安装Mariadb
[root@localhost
mnt]#
rpm -iUvh MariaDB-*.rpm
二、数据库配置
参考文章“MariaDB Centos7 下安装MariaDB”
三、创建数据库及数据表
建库:
CREATE DATABASE
`1dcq`
建表:
CREATE TABLE
`pagesobject` (
`Id` int(11) NOT NULL
AUTO_INCREMENT,
`P_Id` int(11) DEFAULT
NULL,
`PageName`
varchar(255) NOT NULL DEFAULT '',
`Html_open`
varchar(10) DEFAULT 'true',
`PageDesc`
varchar(100) DEFAULT NULL,
`isParent` tinyint(2)
DEFAULT NULL COMMENT '如果是0表示文件夹,是1表示1个页面',
PRIMARY KEY
(`Id`)
)
ENGINE=InnoDB AUTO_INCREMENT=257 DEFAULT CHARSET=utf8
CREATE TABLE
`page_elements` (
`Id` int(11) NOT NULL
AUTO_INCREMENT,
`PageId` smallint(6)
DEFAULT NULL,
`FieldOrder` int(11)
DEFAULT NULL,
`ElementName`
varchar(100) DEFAULT NULL,
`ElementSelector`
varchar(300) DEFAULT NULL,
`ElementSelector02`
varchar(300) DEFAULT NULL,
PRIMARY KEY
(`Id`)
)
ENGINE=InnoDB AUTO_INCREMENT=67 DEFAULT CHARSET=utf8
CREATE TABLE
`runtptask` (
`runClientId` int(11)
NOT NULL AUTO_INCREMENT,
`tpid` varchar(11)
DEFAULT NULL,
`isRunning` int(11)
unsigned zerofill DEFAULT '00000000000',
`runClientPCName`
varchar(100) DEFAULT NULL,
`runClientPCIP`
varchar(50) DEFAULT NULL,
`lastRunTime` datetime
DEFAULT NULL,
PRIMARY KEY
(`runClientId`)
)
ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8
CREATE TABLE
`testcases` (
`id` int(11) NOT NULL
AUTO_INCREMENT,
`p_id` int(11) NOT
NULL,
`test_name`
varchar(255) NOT NULL DEFAULT '',
`Html_open`
varchar(10) DEFAULT 'true',
`checked` varchar(8)
DEFAULT NULL,
`testModule_name`
varchar(255) NOT NULL DEFAULT '',
`test_desc`
varchar(255) DEFAULT NULL,
`testdataParas`
varchar(255) DEFAULT NULL,
`testdata_isexist`
varchar(10) DEFAULT NULL,
`isTestCase`
tinyint(1) DEFAULT '0',
`compFolderid` int(11)
DEFAULT NULL,
PRIMARY KEY
(`id`)
)
ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8
CREATE TABLE
`testcases_steps` (
`Id` int(11) NOT NULL
AUTO_INCREMENT,
`TestcaseID`
varchar(100) DEFAULT NULL,
`ElementId`
varchar(50) DEFAULT NULL,
`Command` varchar(255)
DEFAULT NULL,
`InParas` varchar(255)
DEFAULT NULL,
`OutParas`
varchar(255) DEFAULT NULL,
`StepOrder` int(11)
DEFAULT NULL,
`compFolderid` int(11)
DEFAULT NULL COMMENT '测试步骤中插入的操作组件的父级id',
`compid` int(11)
DEFAULT NULL COMMENT '测试步骤中插入的操作组件的id',
PRIMARY KEY
(`Id`)
)
ENGINE=InnoDB AUTO_INCREMENT=679 DEFAULT CHARSET=utf8
CREATE TABLE
`tc_ele_command` (
`id` int(11) NOT NULL
AUTO_INCREMENT,
`commandName`
varchar(50) CHARACTER SET utf8 DEFAULT NULL,
`commandPara`
varchar(60) CHARACTER SET utf8 DEFAULT NULL,
PRIMARY KEY
(`id`)
)
ENGINE=InnoDB AUTO_INCREMENT=14 DEFAULT CHARSET=utf8
COLLATE=utf8_unicode_ci
CREATE TABLE
`testcase_runround` (
`id` int(255) NOT NULL
AUTO_INCREMENT,
`test_round_name`
varchar(255) DEFAULT NULL,
`testset_list`
varchar(255) DEFAULT NULL,
`tcfolder_tc_list`
varchar(2000) DEFAULT NULL,
`testcase_list`
varchar(1000) DEFAULT NULL,
`round_desc`
varchar(25) DEFAULT NULL,
`testplan_file`
varchar(255) DEFAULT NULL,
`runningTestPlanUrl`
varchar(100) DEFAULT NULL,
`browserRuningDrivers`
varchar(20) DEFAULT NULL,
`latelyRuningTime`
datetime DEFAULT NULL,
`onlyOneRuning_tc_list` varchar(255) DEFAULT NULL,
`project_name`
varchar(255) DEFAULT NULL,
`project_version`
varchar(255) DEFAULT NULL,
`project_id`
varchar(255) DEFAULT NULL,
PRIMARY KEY
(`id`)
)
ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8
CREATE TABLE
`testreporter` (
`Id` int(11) NOT NULL
AUTO_INCREMENT,
`testplanId`
varchar(255) NOT NULL DEFAULT '',
`testcaseList`
varchar(255) DEFAULT NULL,
`testcasedataGroup`
tinyint(3) DEFAULT NULL COMMENT '--无用列',
`tpRunedtcs`
varchar(100) DEFAULT NULL COMMENT '此轮执行的测试用例',
`tpRunnedHistoryId`
bigint(50) DEFAULT NULL COMMENT '运行历史id,后续自动清除大于2天的报告',
`onTime` datetime
DEFAULT NULL COMMENT '发生的时间',
PRIMARY KEY
(`Id`)
) ENGINE=InnoDB
AUTO_INCREMENT=5 DEFAULT CHARSET=utf8
CREATE TABLE
`tprunnedhistory` (
`id` int(11) NOT NULL
AUTO_INCREMENT,
`tpId` varchar(255)
DEFAULT NULL,
`tpRunnedHistoryId`
bigint(50) DEFAULT NULL,
`willRunningTestcaseList` varchar(1000) DEFAULT NULL,
`runPassedTc_count`
int(11) DEFAULT '0',
`runPassedTc`
varchar(1000) DEFAULT '',
`runFailedTc`
varchar(1000) DEFAULT '',
`tpRunnedHistoryNotes`
varchar(100) DEFAULT NULL,
`onTime` datetime
DEFAULT NULL,
PRIMARY KEY
(`id`)
) ENGINE=InnoDB
AUTO_INCREMENT=5 DEFAULT CHARSET=utf8
CREATE TABLE
`tcrunnedhistory` (
`id` int(11) NOT NULL
AUTO_INCREMENT,
`tpId` varchar(255)
DEFAULT NULL,
`tpRunnedHistoryId`
bigint(50) DEFAULT NULL,
`willRunningTestcaseList` varchar(1000) DEFAULT NULL,
`runPassedTc_count`
int(11) DEFAULT '0',
`runPassedTc`
varchar(1000) DEFAULT '',
`runFailedTc`
varchar(1000) DEFAULT '',
`tpRunnedHistoryNotes`
varchar(100) DEFAULT NULL,
`onTime` datetime
DEFAULT NULL,
PRIMARY KEY
(`id`)
) ENGINE=InnoDB
AUTO_INCREMENT=5 DEFAULT CHARSET=utf8
四、插入基础数据
INSERT INTO
`pagesobject`(P_id, test_name) VALUES(1, '根目录');
INSERT INTO `testcases`(p_id,
test_name) VALUES(0, '根目录');
五、安装Apache
安装gcc-c++
[root@localhost
mnt]#
yum install gcc-c++
安装apr
[root@localhost
mnt]#
tar -xvzf apr-1.5.2.tar.gz
[root@localhost
mnt]#
cd apr-1.5.2
[root@localhost
apr-1.5.2]#
./configure --prefix=/usr/local/apr
[root@localhost
apr-1.5.2]#
make && make install
安装apr-util
[root@localhost
mnt]#
tar -xvzf apr-util-1.5.4.tar.gz
[root@localhost
apr-util-1.5.4]#
./configure --prefix=/usr/local/apr-util
--with-apr=/usr/local/apr
[root@localhost
apr-util-1.5.4]#
make && make install
安装pcre
[root@localhost
mnt]#
tar -xvzf pcre-8.36.tar.gz
[root@localhost
mnt]#
cd pcre-8.36
[root@localhost pcre-8.36]#
./configure
--prefix=/usr/local/pcre
……
[root@localhost
pcre-8.36]#make
&& make install
安装Apache
[root@localhost
tmp]#
tar -xzvf httpd-2.4.16.tar.gz
[root@localhost
tmp]#
cd httpd-2.4.16
[root@localhost
httpd-2.4.16]#
./configure --prefix=/usr/local/apache
--with-apr=/usr/local/apr
--with-apr-util=/usr/local/apr-util
--with-pcre=/usr/local/pcre
[root@localhost
httpd-2.4.16]#
make && make install
可在httpd.conf中进行一些自定义配置
[root@localhost
httpd-2.4.16]# vim /usr/local/apache/conf/httpd.conf
六、配置与启动Apache
编辑httpd.conf,设置'ServerName':把ServerName
www.example.com:80改成自己需要的(可先注释,然后新增一行
[root@localhost
httpd-2.4.16]# vim /usr/local/apache/conf/httpd.conf

如果未配置,启动时会报如下错误:
AH00558: httpd:
Could not reliably determine the server's fully qualified domain
name, using localhost.localdomain. Set the 'ServerName' directive
globally to suppress this message
启动
[root@localhost
httpd-2.4.16]#
/usr/local/apache/bin/apachectl -k start
注:停止Apache
[root@localhost
httpd-2.4.16]#
/usr/local/apache/bin/apachectl -k stop
防火墙开放80端口
[root@localhost tmp]#
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
[root@localhost tmp]#
services iptables save
-bash: services: command not
found
[root@localhost tmp]# service
iptables save
iptables: Saving firewall
rules to /etc/sysconfig/iptables:[ OK ]
[root@localhost tmp]# service
iptables reload
iptables: Trying to reload
firewall rules:
[
OK
]
注意:不开放端口的话,访问http://192.168.30.80,可能会访问不了
浏览器访问http://192.168.30.80,可以访问了,OK
参考连接:
http://httpd.apache.org/docs/current/
七、安装php
安装函数依赖模块
[root@localhost tmp]# rpm
-iUvh php-common-5.3.3-40.el6_6.x86_64.rpm
warning:
php-common-5.3.3-40.el6_6.x86_64.rpm: Header V3 RSA/SHA1 Signature,
key ID c105b9de: NOKEY
Preparing...
########################################### [100%]
1:php-common
########################################### [100%]
[root@localhost tmp]# rpm
-iUvh php-mbstring-5.3.3-40.el6_6.x86_64.rpm
warning:
php-mbstring-5.3.3-40.el6_6.x86_64.rpm: Header V3 RSA/SHA1
Signature, key ID c105b9de: NOKEY
Preparing...
########################################### [100%]
1:php-mbstring
########################################### [100%]
[root@localhost
tmp]#
安装libxml2
[root@localhost
mnt]#
tar -xvzf libxml2-2.6.27.tar.gz
[root@localhost
mnt]#
cd libxml2-2.6.27
[root@localhost
libxml2-2.6.27]# ./configure
--prefix=/usr/local/libxml12
[root@localhost
libxml2-2.6.27]#
make && make install
注:
1.如果mysql是源码包安装的,加--with-mysql=mysql_installation_path
2.如果未安装libxml2,可能报如下错误:
configure: error:
xml2-config not found. Please check your libxml2
installation.
安装php
[root@localhost
mnt]#
tar -xvzf php-5.6.12.tar.gz
[root@localhost
tmp]#cd
php-5.6.12
[root@localhost
php-5.6.12]#./configure
--prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs
--with-libxml-dir=/usr/local/libxml12/ --with-mysql
--enable-mbstring=all
注:
1、如果mysql是以rpm宝的形式安装的,直接--with-mysql,如果是源码包安装的,--with-mysql=mysql_installation_path,,笔者实践发现,没加--with-mysql,安装后不能加载mysql.dll
2、带--enable-mbstring=all是因为提供PHP框架需要使用该模块
说明:编译php时,可能还会遇到如下错误
Sorry, I cannot run apxs.
***
Sorry, I cannot run apxs.
Possible reasons follow:
1. Perl is not
installed
2. apxs was not found. Try to
pass the path using --with-apxs2=/path/to/apxs
3. Apache was not built using
--enable-so (the apxs usage page is displayed)
解决方法:将apxs所在目录(例中为/usr/local/apache/bin/)添加到PATH环境变量,并使环境变量生效即可。
八、配置php
[root@localhost
php-5.6.12]#
cp php.ini.dist /usr/local/php/lib/php.ini
注:如果没有php.ini.dist
则把php.ini-development
php.ini-production中的任何一个重命名为php.ini.dist即可
配置 httpd.conf
让apache支持PHP
# vim /usr/local/apache/conf/httpd.conf
找到 AddType application/x-gzip .gz .tgz
,然后添加如下带背景颜色的内容(.前面有空格)
#################Added by
laiyu##################
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
#################################################
#AddType application/x-gzip .tgz
修改改配置文件php.ini
首先要确保php.ini中extension_dir
为php扩展所在目录,然后找到如下内容
;extension=php_mysql.dll
;extension=php_mysqli.dll
把前面的分号去掉,改成如下,保存,重启Apache:
extension=php_mysql.dll
extension=php_mysqli.dll
注意:如果这里不修改,可能会导致无法连接mysql,类似如下,查看apahce日志,
[root@localhost logs]# cat
error.log
[Sat Aug 22 01:11:50.502345
2015] [:error] [pid 28567:tid 140674563237632] [client
192.168.40.74:64189] PHP Fatal error: Call to undefined function mysql_connect() in
/usr/local/apache/htdocs/1dcq/connect.php on line 9,
referer:
http://192.168.40.80/1dcq/framework/pagesObject.php
找到如下代码,去掉前面的分号,即取消注释,加载该模块。
; extension=php_mbstring.dll
找到display_errors =
On,修改为display_errors
= Off
重启Apache
[root@localhost php-5.6.12]#
/usr/local/apache/bin/apachectl stop
[root@localhost php-5.6.12]#
/usr/local/apache/bin/apachectl start
测试php是否成功安装
写一个php测试页info.php,放到Apache的htdocs目录下。

在浏览器中输入:服务器地址/info.php,如:http://192.168.30.80/info.php
如果可看到php版本,系统等相关信息则表示成功了

参考连接:
http://php.net/manual/zh/install.unix.apache.php
九、部署php代码文件
安装好后,可以把PHP代码“framework.zip”解压源码“framework.zip”解压,放入到/usr/local/apache/htdocs/目录下,编辑connect.php,进行相关配置
[root@localhost tmp]# unzip
framework.zip
[root@localhost tmp]# mv
1dcq/ /usr/local/apache/htdocs/

访问查看

Linux CentOS 6.5 + Apache + Mariadb + PHP环境搭建的更多相关文章
- Lamp(linux+apache+mysql+php)环境搭建
Lamp(linux+apache+mysql+php)环境搭建 .安装apache2:sudo apt-get installapache2 安装完毕后.执行例如以下命令重新启动apache:sud ...
- Linux CentOS 6.5 下 vsftpd ftp服务器搭建
Linux CentOS 6.5 下 vsftpd ftp服务器搭建 by:授客 QQ:1033553122 操作系统环境:CentOS 6.5-x86_64 下载地址:http://www.ce ...
- Linux下Jenkins+git+gradle持续集成环境搭建
Linux下Jenkins+git+gradle持续集成环境搭建 来源:IT165收集 发布日期:2014-08-22 21:45:50 我来说两句(0)收藏本文 一.项目介绍 和 linux ...
- Ubuntu+Apache+PHP+Mysql环境搭建(完整版)
Ubuntu+Apache+PHP+Mysql环境搭建(完整版) 一.操作系统Ubuntu 14.04 64位,阿里云服务器 二.Apache 1.安装Apache,安装命令:sudo apt-get ...
- Apache Cordova开发环境搭建(二)VS Code
原文:Apache Cordova开发环境搭建(二)VS Code 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/u011127019/articl ...
- Apache Cordova开发环境搭建(一)-Visual Studio
原文:Apache Cordova开发环境搭建(一)-Visual Studio 一.使用Visual Studio开发Apache Cordova手机App 1.版本要求,Visual Studio ...
- Ubuntu+Apache+PHP+Mysql环境搭建(完整版)(转)
http://www.2cto.com/os/201505/401588.html Ubuntu+Apache+PHP+Mysql环境搭建(完整版) 一.操作系统Ubuntu 14.04 64位,阿里 ...
- 笔记:Linux下软件的安装、CentOS更新yum源、LAMP环境搭建、kali软件管理
一.Linux下软件的安装 方式:yum源 / rpm /源码安装 1.yum:(帮助管理员解决依赖关系) yum是通过分析rpm的包头数据后,根据各种软件的相关性质做出属性相对应的解决方案,然后可以 ...
- Linux CentOS 7 下 Apache Tomcat 7 安装与配置
前言 记录一下Linux CentOS 7安装Tomcat7的完整步骤. 下载 首先需要下载tomcat7的安装文件,地址如下: http://mirror.bit.edu.cn/apache/tom ...
随机推荐
- 菜鸟--shell脚本编写之解决问题篇
一.执行时发现adb shell进入设备后不再继续往下执行了 adb shell cd /system/plugin/....exit 在网上查到的都是bat文件调用adb shell,没有sh文件调 ...
- 阿里Java开发规范&谷歌Java开发规范&华为Java开发规范&Tab键和空格比较&Eclipse的Tab键设置 总结
现在收集到如下有用的信息: 阿里巴巴公开的Java开发规范:https://yq.aliyun.com/articles/69327?utm_content=m_10088 google公开的Java ...
- (转)X-Frame-Options响应头缺失漏洞
原文:https://blog.csdn.net/ljl890705/article/details/78071601 x-frame-options响应头缺失漏洞. 故名思意,就是返回的响应头信息中 ...
- 再学Java 之 HashMap的底层实现
今天参加欢聚时代的面试,我说我自己依靠自己的理解重新实现过HashMap.描述我自己的实现思想后,面试官问“hashmap”底层如果用数组不是效率比较低吗,不是更应该用红黑树吗?我一下子就蒙了.用数组 ...
- js便签笔记(9)——解读jquery源码时记录的一些知识点
近来一直利用业余时间在看jquery2.1.1源码,大约看了两千行了.平时看的时候,做了一些笔记,贴出来分享. 1. Array.prototype.slice.call 可以将伪数组转化为真正的数组 ...
- Spring框架引入
Struts与Hibernate可以做什么事? Struts, Mvc中控制层解决方案 可以进行请求数据自动封装.类型转换.文件上传.效验… Hibernate, 持久层的解决方案: 可以做到, 把对 ...
- xfsdump 备份文件系统
实战:xfs 文件系统的备份和恢复 一.xfs 简单介绍. XFS 提供了 xfsdump 和 xfsrestore 工具协助备份 XFS 文件系统中的数据.xfsdump 按 inode顺序备 ...
- SQL 语句语法简介(一)
语句分类 SQL 命令一般分为三类:DQL.DML.DDL. 一.DDL语句. 1.1建表语句 CREATE TABLE table_name( col01_name data_type, col02 ...
- [Python学习笔记-002] lambda, map, filter and reduce
1. lambda lambda, 即匿名函数,可以理解为跟C语言的宏类似.例如: >>> max = lambda x, y: x if x > y else y >& ...
- LVS专题-(3) 虚拟ip理解
1.虚拟IP是什么? 要是单讲解虚拟 IP,理解起来很困难,所以干脆把 动态 IP .固定 IP .实体 IP 与虚拟 IP都讲解一下,加深理解和知识扩展 实体 IP:在网络的世界里,为了要辨识每一部 ...