开始建站有一个月了,用了很多免费空间,比如0fees,zymic,simplefreeweb等等,0fees和zymic不支持discuz,最终选择了000webhost的免费空间,各方面还不错,可是仍有一些小问题,批量上传用不了,自动获取标签也用不了,速度还不尽人意,于是就想利用国内的空间安装论坛。无意中在 免费资源部落 上看到了新浪sae,ping了一下,50ms左右,比我那三蛋的空间好多了,于是开始在sae上安装discuz,之后测试,批量上传,自动获取标签什么的,均可正常使用。
免费资源部落上是有教程的,但是不知道怎么搞的,他那里云平台修复SQL语句运行时总是提示错误,qq互联用不了,无奈之下,又去搜教程,在 sae开发者社区 见到了另一个教程,云平台修复语句可以用,可郁闷的是那里下载的安装包安装完成之后页面总是显示不正常,之前用 http://code.google.com/p/discuzx4sae/downloads/list 下载的安装包倒是成功显示过,于是就结合几个教程试了一下,终于成功了。
下面是我安装的步骤:
1、下载安装包 ,建议去http://code.google.com/p/discuzx4sae/downloads/list ;
2、下载SAE SDK并通过SDK上传安装包,SDK下载地址:http://sae.sina.com.cn/?m=sdk;其实SVN更好用,但是我用SVN上传安装包总是失败,建议修改文件时改用SVN;上传时注意是否提示部署成功,如果失败,要在上传一次,勾选“仅上传更新文件”。
3、 初始化sae应用配置
登录sae,在管理面板中开启数据库,开启memcache(10M即可),创建名为discuzx的storage。
三者缺一不可。
4. 安装Discuz!X
进入install目录,http://yourdomain.sinaapp.com/install/
安装过程中,忽略环境保持的提示。填写您的用户名密码即可,无需修改数据库信息的配置。
5、登录discuz 后台,更新缓存。
操作流程:工具-》更新缓存-》确定。
6,、登录SAE,进入Mysql管理(PHPMYADMIN)
解决QQ互联提示网络问题或服务器繁忙。
点击应用的数据库-》选择SQL-》执行云平台修复SQL语句-》提示成功
update `sae_common_plugin` set `modules` ='a:4:{i:1;a:10:{s:4:"name";s:7:"connect";s:4:"menu";s:0:"";s:3:"url";
s:0:"";s:4:"type";s:2:"11";s:7:"adminid";s:1:"0";
s:12:"displayorder";s:1:"0";s:8:"navtitle";s:0:"";
s:7:"navicon";s:0:"";s:10:"navsubname";s:0:"";
s:9:"navsuburl";s:0:"";}i:2;a:10:{s:4:"name";s:7:"spacecp";s:4:"menu";
s:8:"QQ绑定";s:3:"url";s:0:"";s:4:"type";s:1:"7";s:7:"adminid";s:1:"0";
s:12:"displayorder";s:1:"0";s:8:"navtitle";s:0:"";
s:7:"navicon";s:0:"";s:10:"navsubname";s:0:"";
s:9:"navsuburl";s:0:"";}s:6:"system";i:2;
s:5:"extra";a:2:{s:11:"installtype";s:0:"";
s:10:"langexists";i:1;}}' where `identifier`='qqconnect';
注意,这里如果用免费资源部落的会提示错误,不知道是什么原因,上面的代码是sae开发者社区的,注意看前面那句“点击应用的数据库”,一定要先选数据库,进入时默认并没有选择数据库,数据库应类似于 app_yourdomain,即app_加上你的域名,比如我的是 app_hongloum,如果没有选,会提示“ no database select"。
执行该SQL以解决家园相册无法设置封面,
ALTER TABLE `sae_home_album` CHANGE `pic` `pic` VARCHAR( 360 ) NOT NULL DEFAULT '';
7、解决DiscuzX2.0 for SAE 的网址静态化和页面显示不正常的问题。请编辑你的config.yaml文件,添加以下rewrite规则:
handle:
-rewrite: if ( path ~ “^topic-(.+).html$”) goto “portal.php?mod=topic&topic=$1&%{QUERY_STRING}”
-rewrite: if ( path ~ “^article-([0-9]+)-([0-9]+).html$”) goto “portal.php?mod=view&aid=$1&page=$2&%{QUERY_STRING}”
-rewrite: if ( path ~ “^forum-(w+)-([0-9]+).html$”) goto “forum.php?mod=forumdisplay&fid=$1&page=$2&%{QUERY_STRING}”
-rewrite: if ( path ~ “^thread-([0-9]+)-([0-9]+)-([0-9]+).html$”) goto “forum.php?mod=viewthread&tid=$1&extra=page%3D$3&page=$2&%{QUERY_STRING}”
-rewrite: if ( path ~ “^group-([0-9]+)-([0-9]+).html$”) goto “forum.php?mod=group&fid=$1&page=$2&%{QUERY_STRING}”
-rewrite: if ( path ~ “^space-(username|uid)-(.+).html$”) goto “home.php?mod=space&$1=$2&%{QUERY_STRING}”
-rewrite: if ( path ~ “^([a-z]+)-(.+).html$”) goto “$1.php?rewrite=$2&%{QUERY_STRING}”
-rewrite: if ( path ~ “^data/cache/(.+).css”) goto “cssjs.php?file=$1&type=css”
-rewrite: if ( path ~ “^data/cache/(.+).js”) goto “cssjs.php?file=$1&type=js”
sae开发者社区上会这么提示:lohipoo注
:请直接复制以下文字,勿点击"PHP代码"后的复制按钮来复制
但是这样复制之后把行号也复制了,我觉的是不能复制行号的,所以这采用的是免费资源部落的代码。
8、将crossdomain.xml写入storage,支持flash的跨域操作,打开类似:http://tecblog.sinaapp.com/uploadimg.php 就行了。开头会有一个警告,然后有显示很多文件路径,执行到最后,会提示'over',这时就可以关 闭这个页面了。
9、最后记得删除 install/index.php,防止被恶意安装,关闭后台运行sql语句功能。
至此discuz x2在sae上已经基本完成了。
10、测试站点:http://hongloum.sinaapp.com
测试图片:
弄好后不显示图片咋办啊?
用SAE建discuz论坛非长久之计,上面建的红楼梦论坛已挂。