我们在搭建Discuz论坛的时候,需要配置Web服务器Apache,php运行环境和MySQL数据库。下面详细的讲述了这一过程。
一、环境及软件:
1.操作系统:win7旗舰版;
2.Discuz源文件:Discuz_7.2_FULL_SC_GBK.zip(含UCenter)
http://www.comsenz.com/downloads/install/discuz#down_open.
3.PHP:php-5.2.4-Win32.zip.
4.Web服务器:ApacheHttpserver2.2(httpd-2.2.19-win32-x86-openssl-0.9.8r.zip)
(本来打算用IIS,还专门把操作系统从win7家庭版升级到了旗舰版,但后来觉得IIS不够方便,而且以后服务器使用linux的话,Apache还是***。)
5.数据库:Mysql5(mysql-essential-5.1.55-win32.zip)
6.辅助工具:NavicatforMySQL,phpMyAdmin-3.4.3.1-all-languages.zip,两个都是mysql的管理工具,个人可根据实际选择,我两个都用。
7.ZendOptimizer-3.3.3.zip,手册中提到了,不过暂时未用到。
二、安装:
1.安装apache:
这个比较简单,可视化界面,安装在F:/Apache2.2目录下,安装成功后,在桌面任务栏右下角有一个图标,可查看是否运行,若己运行,在IE中输入http://localhost/可以看到"ItWorks!",说明安装成功!若未运行成功,看是否因为80端口被占用(如果开始安装了IIS,很可能是被占用了)。
接下来就需要配置httpd.conf文件(Apache2.2\conf目录下,老规矩,先备份原文件):
(1)可以修改默认网站根目录,不过我没有修改这个,仍使用原来的默认目录(Apache2.2/htdocs):
在X:/下建立文件夹wwwroot,以此作为网站的根目录
DocumentRoot"F:/Apache2.2/htdocs"
改为DocumentRoot"X:/wwwroot"
注意:Apache修改DocumentRoot后访问页面出现403错误,解决办法如下:
修改Apache配置文件httpd.conf中的:
- <Directory/>
- OptionsFollowSymLinks
- AllowOverrideNone
- Orderdeny,allow
- Denyfromall
- Satisfyall
- </Directory>
为
- <Directory/>
- OptionsFollowSymLinks
- AllowOverrideNone
- Orderdeny,allow
- #
- Denyfromall
- Satisfyall
- </Directory>
即删除Denyfromall行。
(2)修改默认主页
当访问目录时,apache会自动导入的主页,优先级以先后顺序为准。
把DirectoryIndexindex.html改为 :DirectoryIndexindex.htmlindex.jspindex.phpdefault.jspdefault.phpindex.html.var
(3)让Apache解析php页面
打开httpd.conf文件,让我们加几行进去,这样我们Apache就可以解析.php和.phps文件了。我们需要注意conf文件的两个部分,***部分是DynamicSharedObject(DSO)Supportlist,第二部分是cgi-bindirectory。
首先让我们找到如下所示的DSO列表。
- #DynamicSharedObject(DSO)Support
- #
- #tobeabletousethefunctionalityofamodulewhichwasbuiltasaDSOyou
- #havetoplacecorresponding`LoadModule'linesatthislocationsothe
- #directivescontainedinitareactuallyavailable_before_theyareused.
- #Staticallycompiledmodules(thoselistedby`httpd-l')donotneed
- #tobeloadedhere.
- #
- #Example:
- #LoadModulefoo_modulemodules/mod_foo.so
这还有许多,一直找到***一行:
- #LoadModulessl_modulemodules/mod_ssl.so
上面一行是该列表的***一行,按回车产生一个空的行,在这个空行内加入下面这行:
LoadModulephp5_moduleX:/Server_Core/PHP/php5apache2_2.dll
注意:这里是根据你自己apache和php的版本来确认的,如果你是PHP4设置就不一样了,有可能是:
LoadModulephp4_moduleX:/Server_Core/php/sapi/php4apache2.dll
在关闭conf文件之前,我们需要再加入两行。找到CGI-BIN目录,为了节省时间,可以这样找:按CTRL+F,(译者注:如果你是在记事本而不是写字板里编辑这个文本,那么,应该用快捷键F3)查找<Directory"C:/Apache2/cgi-bin">,在第二个</Directory>后面两次回车,以便加入下面两行:
- AddTypeapplication/x-httpd-php.php.phtml.php3.php4
- AddTypeapplication/x-httpd-php-source.phps
添加好后,保存你的conf文件,并重新启动你的apache服务器,如果不能启动apache,这个时候要查看哪里设置错误了。
#p#
2.安装php:
(1)解压php-5.2.4-Win32.zip,至F:/php-5.2.4-Win32,重命名php-5.2.4-Win32文件夹为PHP,即php的所有文件都放在F:/PHP文件夹下。
(2)加载环境变量。我的电脑,属性高级环境变量path,F:/PHP;F:/PHP/ext
(3)进入F:/PHP文件夹,将php.ini-dist先备份一个,然后重命名为php.ini;
(4)打开php.ini文件,找到:extension_dir="./"将其改为:extension_dir="F:/PHP/ext"
(5)找到:WindowsExtensions,在WindowsExtensions下方的动态模块配置中,需要打开以下模块支持:(去掉模块配置每行前面的;号即可)
extension=php_mbstring.dll extension=php_gd2.dll extension=php_mysql.dll。
(6)找到:disable_functions= ……改为:disable_functions=phpinfo,passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_open,proc_get_status,ini_alter,ini_alter,ini_restore,dl,pfsockopen,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server
(7)保存php.ini文件,并将其复制到C:/Windows/
以上是用户手册的配置方法,可以按照如上的方法配置PHP,没有问题,但是中间我们会有一些东西需要更改进行校验,避免后期部署产生问题。
在第(5)步
disable_functions=phpinfo,passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_open,proc_get_status,ini_alter,ini_alter,ini_restore,dl,pfsockopen,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server
去掉"phpinfo",这个是PHP的一个函数,官方的把这个函数给禁用了,造成函数不能运行,先把"phpinfo"先去掉,可以让我们测试PHP的环境有没有部署好。
现在就开始测试我们的PHP环境部署好了没有?
打开apache,在F:/Apache2.2/htdocs建立phpinfo.php,编辑输入如下内容:
- <?php
- phpinfo();
- ?>
保存。
重新启动apache。
在IE中输入http://localhost/phpinfo.php,如果出现php的环境变量,说明php,安装成功一半,为什么说一半呢,因为有可能你的机器以前装过php,可能配置文件的读取是不正确的。
现在就让我们校对下相关的配置正确不?
现在特别要注意:红色框框出现的php.ini是C:/Windows/,如果不是就需要你注意了,这个时候需要删除其他路径下面的配置文件,然后重新启动apache.
如果这个成功了以后,这样PHP就完全的成功了,这个时候可以把这个phpinfo的函数重新加入disable_functions中去了。
现在php也配置好了,现在就开始部署工程吧。
3.安装MYSQL
Mysql的安装完全按照用户手册上的内容进行安装就ok了,安装完成后,可用cmd连接测试是否成功。不过有些机器因为环境的问题可能相关mysql的动态链接库dll需要进行更改。
在安装手册是拷贝了mysql的安装目录的libmySQL.dll到system32下面,在后期安装BBS验证数据库的时候就会不通过,需复制php目录下的libmysql.dll
文件到C;/windows/system32下。
非常重要:需要复制php目录下的libmysql.dll文件到system32下。
4.安装Discuz论坛
(1)F:\Apache2.2\htdocs下面建立bbs文件夹,解压Discuz_7.2_FULL_SC_GBK.zip,然后把upload下面所有文件拷贝到你的X:/wwwroot/bbs/下面
重新启动apache,启动完成后,在浏览器中运行安装程序(http://localhost/bbs/install)进入准备安装页面:
(2)安装NavicatforMySQL,使用root/root登录(在安装mysql的时候设置的密码)创建数据库dz72,或直接用cmd命令行登陆创建。
(3)点击下一步,至"3.安装数据库"环境,输入相关信息(根据Apache2.2\htdocs\bbs\config.inc.php文件核对配置信息是否正确):数据库服务器:localhost 数据库名:dz72 数据库用户名密码:root 数据表前缀:cdb_。填写管理员信息:可根据你的需要填写管理员账号和密码。选中"安装测试数据",点击一下步,安装成功的话会提示你填写联系方式,或跳过。(也可以直接在论坛源码目录下找到相应的sql执行:UC-Apache2.2\htdocs\bbs\uc_server\install\uc.sql,discuz-Apache2.2\htdocs\bbs\install\discuz.sql。可使用Navicat工具,在连接数据库后,右键导航上的"表",选择"运行SQL文件",然后选择上述两个sql文件,执行即可。)
(4)安装完成,跳到论坛首页。
(5)测试一些连接是否成功:
Discuz论坛:http://127.0.0.1/bbs
UCenter用户管理中心:http://127.0.0.1/bbs/uc_server/admin.php
phpMyAdmin:http://127.0.0.1/phpMyAdmin/index.php(需解压phpMyAdmin-3.4.3.1-all-languages.zip至Apache2.2\htdocs\phpMyAdmin)。
做完上面的工作,我们的Discuz_WIN7_Apache_MySQL_PHP平台就搭建成功了。
【编辑推荐】