Web自动化测试-服务端测试环境部署
by:授客
目录
一、 安装数据库... 2
二、 数据库配置... 2
三、 创建数据库及数据表... 2
四、 插入基础数据... 5
五、 安装Apache. 5
六、 配置与启动Apache. 6
七、 安装php. 7
八、 配置php. 9
九、 部署php代码文件... 10
十、 安装及配置vsftpd服务器... 12
操作系统环境: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下载地址
http://pcre.org/
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:
- Perl is not installed
- apxs was not found. Try to pass the path using --with-apxs2=/path/to/apxs
- 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 pid 28567:tid 140674563237632 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/
访问查看