PPFrame在线考试系统平台搭建

来源:互联网 发布:mysql delete语句恢复 编辑:程序博客网 时间:2024/04/29 07:31

1.1 前言

PPFrame 是使用PHP + MySQL开发的免费在线考试系统。

PPFrame 是一个通用的在线考试系统,现在基本能模拟所有考试。

学校可以使用PPFrame组织学生考试,培训机构可以组织学员考试,公司可以组织员工能力测试、人力资源测评,同时,你可以使用PPFrame搭建在线考试门户!

参考网址:http://www.ppframe.com/

1.2 搭建系统环境

根据模板网站上系统需求步骤如下:

注意:安装之前先setup关闭防火墙和selinux,以免影响实验环境

1.2.1 安装mysql

根据系统需求,我们选择mysql-5.0.96.tar.gz进行安装,下载地址:

http://dev.mysql.com/get/Downloads/MySQL-5.0/mysql-5.0.96.tar.gz/from/http://cdn.mysql.com/

下载完成之后核对md5码是否与所下载文件md5码一样,不一样的可能下载过程中出现错误.

查看软件包的MD5值:

md5sum 软件包

首先查看系统中是否已经安装了MySQL,如果有卸载所有以mysql开头的包

rpm –qa | grep mysql //查看系统中是否已经安装了MySQL

rm –rf /etc/my.cnf //查找/etc/my.cnf,如果有删除它,以免影响实验效果;

#cd /usr/local/src (一般所有下载软件在这个目录下进行安装,便于排查管理)

#tar zxvf mysql-5.0.96.tar.gz //解压mysql软件包
#mkdir -p /usr/local/mysql  //创建mysql所要安装的目录
# groupadd mysql //添加mysql用户及用户组
# useradd -g mysql mysql
# chown -R root /usr/local/mysql //修改mysql目录权限
# chgrp -R mysql /usr/local/mysql
#cd mysql.5.0.96

#./configure --prefix=/usr/local/mysql \

--with-charser=gbk \

--with-collation=latin1_general_ci \

--with-extra-charsets=all \

--with-comment=Source \

--with-server-suffix=-Community \

--with-unix-socket-path=/tmp/mysql.sock \

--with-pthread \

--enable-static \

--enable-thread-safe-client \

--with-client-ldflags=-all-static \

--with-mysqld-ldflags=-all-static \

--enable-assembler \

--without-innodb \

--without-isam \

--without-ndb-debug \

--sysconfdir=/etc \

--localstatedir=/usr/local/mysql/data

【注:参数前“--”复制时可能出现错误,删除掉重新添加上就可以了;

参数解释:

--prefix=/usr/local/mysql,mysql数据库的存放目录;

--with-charser=gbk,默认字符集为gbk格式;

--with-collation=latin1_general_ci,默认字符序是一般;

--with-extra-charsets=all,使用数据集除了默认的;

--with-comment=Source,评论编译环境是源环境;

--with-server-suffix=-Community,附加价值的版本字符串;

--with-unix-socket-path=/tmp/mysql.sock,unix域套接字的存放位置;

--with-pthread,强制使用pthread库;

--enable-static,建立静态库;

--enable-thread-safe-client,编译客户端线程;

--with-client-ldflags=-all-static,额外的连接参数为客户;

--with-mysqld-ldflags=-all-static ,额外的连接参数为mysql;

--enable-assembler,使用汇编版本的语言字符串;

--without-innodb,不包括该表处理程序;

--without-ndb-debug,禁用特殊的ndb调试;

--sysconfdir=/etc,配置文件目录;】

#make  && make install //编译安装

//以上步骤可能需要花费一定时间

#cp support-files/my-medium.cnf /etc/my.cnf //copy配置文件

#cp /usr/local/src/mysql-5.0.96/support-files/mysql.server.sh /etc/rc.d/init.d/mysql  //copy启动脚本文件并修改其属性

# chmod 755 /etc/rc.d/init.d/mysql
#chkconfig --add mysql

chkconfig  mysql on  //修改mysql的权限,使之成为系统服务,这样mysql服务就能在系统启动的时候自己启动了,平时维护起来用service mysql start/stop/restart/status这样的命令就可以了
进入到目录 /usr/local/mysql/bin/

# ./mysql_install_db --user=mysql //初始化mysql,并生成mysql系统数据库

出现以下提示初始化成功

 

#./mysqld_safe --user=mysql& //在该目录下启动mysql

如出现 Starting mysqld daemon with databases from /usr/local/mysql/data 代表正常启动mysql服务了,按ctrl+c跳出

修改mysql的root密码

#/usr/local/mysql/bin/mysqladmin -u root -p password 123

回车出现enter password:最开始密码默认为空,继续回车就可以了,123就是你的新密码

【或者/usr/local/mysql/bin/mysqladmin -u root -p旧密码 password 新密码(不会出现交互式,直接就可以修改了、、、、)】
查看mysql进程使用ps命令:ps aux | grep mysql
登录mysql服务器中
cd /usr/local/mysql/bin/

./mysql -u root -p

#mysql -u 用户名(此处是root) -p

Password:键入之前设置的密码123

Mysql>

这样mysql就已经安装完成了。

重新启动mysql

Cd /usr/local/mysql/bin/

./mysqld_safe --user=mysql & 

Ps aux | grep mysql查看是否启动成功

1.2.2 安装apache

下载地址:http://archive.apache.org/dist/httpd/httpd-2.2.23.tar.gz

mysql一样,安装在/usr/local/src/目录下

tar zxvf httpd-2.2.23.tar.gz

cd /usr/local/src/httpd-2.2.23

配置编译选项;

./configure --prefix=/usr/local/apache --enable-so --enable-module=so

make && make install

检查httpd.conf主配置文件是否存在语法错误

/usr/local/apache/bin/httpd -t

syntax ok 表示语法设置正常

下面我们启动apache

/usr/local/apache/bin/apachectl  start
netstat -anpt | grep :80查看80端口是否已经开启

Apache安装完成。

1.2.3 修改apache的配置文件

vi /usr/local/apache/conf/httpd.conf  //进入配置文件httpd.conf修改
找到”AddType application/x-gzip .tgz”,在它的下面添加
“AddType application/x-httpd-php .php”和”AddType application/x-httpd-php-source .phps”
找到DirectoryIndex index.html在index.html 后添加 index.php

重新启动apache服务

/usr/local/apache/bin/apachectl restart

注意:启动过程中如果出现以下报错信息,是因为selinux没有关闭引起的。

httpd: Syntax error on line 54 of /usr/local/apache/conf/httpd.conf: Cannot load /usr/local/apache/modules/libphp5.so into server: /usr/local/apache/modules/libphp5.so: cannot restore segment prot after reloc: Permission denied

针对这个问题有两种解决办法:

1)可以直接setup查看防火墙和selinux是否关闭了,没有关闭的话关闭掉;

2)执行一条命令

 chcon -t texrel_shlib_t /usr/local/apache/modules/libphp5.so

再次启动apache就可以了

1.2.4 安装php

下载地址:wget http://museum.php.net/php5/php-5.2.12.tar.gz

php-5.2.12.tar.gz和zend optimizer3.3是可以兼容使用的,有些比较新的版本不兼容,所以这里我们选择php-5.2.12进行安装

cd /usr/local/src

tar zxvf php-5.2.12.tar.gz

配置php是用来连接httpdmysql的,所以别的选项可以不写,但下面这两个选项应该写上,这一步会花费一定时间并有大量信息出现

Cd php-5.2.12

./configure --with-apxs2=/usr/local/apache/bin/apxs --with-mysql=/usr/local/mysql

编译并安装

make

make install

拷贝php的配置文件:

cp php.ini-dist /usr/local/lib/php.ini (可以参考php文件中的install步骤进行安装。因为每个版本的安装步骤可能有区别)

1.3 编写测试文件

编写phpinfo:

Vi /usr/local/apache/htdocs/index.php  

<?php
phpinfo();
?>

以http://ip/index.php的方式访问php页面,访问成功会出现如下页面

 

如果没有出现该页面,而是出现的要下载的代码时,可以执行下面一条命令:

 chcon -t texrel_shlib_t /usr/local/apache/modules/libphp5.so

或者是Php.ini中mysql没有关联;

【测试mysql是否安装成功可有可无】

(1)编写mysql的测试文件:

vim /usr/local/apache/htdocs/testdb.php 

<?php 

$link=mysql_connect('localhost','root','123456'); 

if(!$link) echo "fail"; 

else echo "success"; 

mysql_close(); 

?>

测试,在浏览器中输入http://ip/testdb.php,出现“success”表示mysql和php连接成功

 

 

1.3.1 安装zend optimizer(兼容php5.2的)

下载地址:

http://202.109.143.228:82/down/ZendOptimizer-3.3.0a-linux-glibc21-i386.tar.gz

Tar zxvf ZendOptimizer-3.3.0a-linux-glibc21-i386.tar.gz

cd ZendOptimizer-3.3.0a-linux-glibc21-i386

 ls

 ./install.sh 根据提示启动安装,安装中出现的图示如下:

 

 

 

 

指定php.ini所在目录,之后选择ok继续

 

 

指定apache启动时的路径,之后ok继续

 

 

出现下面几个图示提示时表示安装成功

 

 

1.3.2 安装PHP加速eAccelerator

下载地址:

 wget http://lcmp.googlecode.com/files/eaccelerator-0.9.6.1.tar.bz2

下面进行安装部署软件

tar jxvf eaccelerator-0.9.6.1.tar.bz2

cd eaccelerator-0.9.6.1

find / -name phpize

/usr/local/src/php-5.2.12/scripts/phpize

./configure --enable-eaccelerator=shared  --with-php-config=/usr/local/php/bin/php-config

 make && make install

修改php配置文件php.ini

vi /usr/local/lib/php.ini

添加下面这些内容:

;[eaccelerator]

zend_extension="/usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/eaccelerator.so"

eaccelerator.shm_size="64"

eaccelerator.cache_dir="/usr/local/eaccelerator_cache"

eaccelerator.enable="1"

eaccelerator.optimizer="1"

eaccelerator.check_mtime="1"

eaccelerator.debug="0"

eaccelerator.filter=""

eaccelerator.shm_max="0"

eaccelerator.shm_ttl="3600"

eaccelerator.shm_prune_period="3600"

eaccelerator.shm_only="0"

eaccelerator.compress="1"

eaccelerator.compress_level="9"

在ie上访问http://youip/index.php查看以上设置是否生效

 

安装配置软件成功

安装PPFrame

下载地址:wget http://ppframe.googlecode.com/files/PPF2.0.20120218.zip

unzip PPF2.0.20121211.zip -d /usr/local/src/ppf

Ppf目录出现upload和readme两个目录文件

将upload目录移动到apache安装目录下

查看apache的安装目录:

 find / -name httpd.conf

移动upload:

mv upload/ /usr/local/apache/htdocs/

通过http://youip/upload/install.php访问并根据提示进行安装

1.4 测试php环境并进行安装

http://yourip/index.php

http://yourip/upload/install.php

当/usr/local/apache/htdocs/upload目录中的Cache Config data uploadfile 四个目录的权限没有设置时,显示内容是:

 

需要将权限设置之后才可以继续安装

l /Cache 缓存数据目录 0777

l /Config 基础配置文件目录 0777

l /data 数据备份 0777

l /uploadfile 文件上传目录 0777

l 

之后输入数据库密码就可以继续安装了。

注:如果出现数据库文件有误的提示信息,是因为mysql没有启动成功,重新启动mysql服务就可以了。

默认使用admin用户进行登录

 

登录之后页面如下:

 

 

PPFrame在线考试系统平台搭建完成!

 

0 0
原创粉丝点击