因为discuz已经是一个相当成熟的论坛产品,所以openjweb取消了论坛产品的开发计划,而是直接与discuz集成。集成涉及到如何部署在同一台主机下,并共用80端口,同时还要考虑openjweb的用户与discuz论坛的用户数据统一、openjweb与discuz之间的单点登录,另外openjweb还实现针对discuz数据库表进行基于lucene技术的全文检索。本文只介绍如何配置openjweb+discuz集成环境。
1、 安装discuz的运行环境apm,并部署好discuz,此过程略。(安装目录为c:/apmxe)
2、 编辑C:/apmxe/etc/httpd.conf文件,找到下面的.so文件的位置:
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
原来默认的前面是带#,去掉这些行前面的#
3、 在httpd.conf末尾有:
<VirtualHost *>
DocumentRoot "C:/apmxe/htdocs"
ServerName test1.com
<Directory "C:/apmxe/htdocs">
Options Indexes FollowSymLinks
IndexOptions FancyIndexing FoldersFirst NameWidth=* VersionSort XHTML
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
在<VirtualHost *>上面一行增加下面的配置:
ProxyPass /images/ !
ProxyPass /portal/ ajp://127.0.0.1:8109/portal/
ProxyPassReverse /portal/ ajp://127.0.0.1:8109/portal/
端口配置:
找到Listen 9000,默认为9000的端口,改为80.
保存后,注意要将httpd.conf文件改为只读,否则系统运行时会自动把httpd.conf又初始化为原始配置。
下面对上面的配置进行说明:
(1) ProxyPass /images/ ! 表示/imgaes/目录下的所有文件直接由apache处理。
(2) 因openjweb的ajp端口默认为8109(见D:/project/apache-tomcat-5.5.27/conf/server.xml),所以这里也要将ajp端口设置为8109,因为openjweb默认的web应用是portal的名字,当访问http://localhost/portal/时可自动跳转到tomcat的portal应用。因为现在apache同时作为discuz和tomcat的http服务器,所以不允许配置为ProxyPass / ajp://127.0.0.1:8109/ ,如果这样配置的话,当访问http://localhost时就会跳到tomcat的应用中,这样就无法访问discuz的php应用了。
默认主页配置:
将openjweb程序包中的D:/project/apache-tomcat-5.5.27/webapps/ROOT/ index_redirect.html文件复制到C:/apmxe/htdocs/目录下,并将此html文件改名为index.html,这样当访问http://localhost的时候,系统会自动访问index.html,如果没有这个index.html.,系统访问的是本目录的index.php,index.php是一个apm的管理界面,因为本目录中有index.html,所以http://localhost会定位到index.html,如果访问index.php,可在浏览器中输入http://localhost/index.php
Index.html的作用是当有不同的域名访问到本站(openjweb需要根据域名定位到对应的页面),自动跳转到tomcat中应用中对应的页面中。
访问discuz:
http://localhost/upload/forum.php
openjweb的安装包配置的默认tomcat的http端口是8088,通过上述配置后,使用80端口也能访问到openjweb的应用。不需要在地址栏中带8088端口访问openjweb。
openjweb开发组 QQ:29803446 email:[email protected]