微博平台StatusNet研究(2):基本安装

由于StatusNet引用大量的开源项目,加上在中文环境中有点水土不服,导致StatusNet的安装过程会出现许多的不好处理问题,在此我记录下我的安装过程及碰到的问题和解决方式。

一、运行环境配置
PHP 5.2.3+
1、开启Curl模块,Curl最好支持HTTPS;
2、开启XMLWriter模块
3、开启MySQL模块
4、开启GD模块
5、开启mbstring模块
6、开启gettext模块
7、开启tidy模块

MySQL 5.x
关闭MySQL Strict Mode,即在my.ini或者my.cnf里将下面这行注释掉:
sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"

Apache 2.2.x
开启mod_rewrite模块

二、准备相关开源项目代码
1、启用PHP的PEAR,具体启用方式请自己搜索解决方案
2、在PEAR中使用如下命令,下载相关源码:
pear install db
pear install validate-0.8.3
pear install mdb2
pear install mdb2#mysql
pear install db_dataobject
pear install date
pear install mail
pear install Net_SMTP
pear install Mail_Mime
pear install Mail_mimeDecode
3、下载其它扩展项目代码
3.1、在StatusNet程序目录创建“ext”文件夹;
3.2、从  http://code.google.com/p/xmpphp/下载XMPHP,并解压到ext目录;
3.3、从  http://oauth.googlecode.com/svn/code/php/OAuth.php下载OAuth.php,保存到ext目录;
3.4、从  http://openidenabled.com/下载PHP OpenID Library,解压Auth目录到ext目录;
3.5、从 http://michelf.com/projects/php-markdown/下载PHP Mark down,解压markdown.php到Ext目录;
上面工作做好后,ext目录结构应该是下面这样,另外你可以下载我打包的ext目录: ext库

 

目录结构树

 

 

 

三、开始安装和配置
1、在服务器里配置StatusNet的目录,在浏览器中访问StatusNet目录下的install.php来安装;
2、打开StatusNet目录下生成的config.php,进行如下配置:
2.1、指定ext目录:
        $extra_path = array("H:/13.PHP/04.WorkSpaces/statusnet/statusnet-0.8.2/ext/");
        set_include_path(implode(PATH_SEPARATOR, $extra_path) . PATH_SEPARATOR . get_include_path());
2.2、配置Email发送账号:
        #Email info, used for SMS send. gmail example
        $config['mail']['notifyfrom'] = 'test@canbeing.com';
        $config['mail']['domain'] = canbeing.com';
        # See http://pear.php.net/manual/en/package.mail.mail.factory.php for options
        $config['mail']['backend'] = 'smtp';
        $config['mail']['params'] = array('host' => 'smtp.canbeing.com',
  'port' => 25,
  'auth' => true,
  'username' => 'test',
  'password' => 'test');
3.3、设置mysql mdb2 ini文件目录:
        $config['db']['ini_statusnet'] = 'H:/13.PHP/04.WorkSpaces/statusnet/statusnet-0.8.2/classes/statusnet.ini';

到此为止,StatusNet基本功能已经有了,可以先注册一个用户发发牢骚。

四、可能碰到的问题
1、中文站点名称显示乱码,PHP报错“string is not in UTF-8”:
将config.php别存为“UTF-8”编码即可解决问题。 

2、安装完成后,注册用户失败,mdb2报错“500 The database for a1 isn't responding correctly”:
一般原因是MySQL不正常,最常见的可能是没有关闭MySQL的Strict Mode,即在my.ini或者my.cnf里将下面这行注释掉:
sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"

3、用户注册完成后无法登录,或者只能通过“记住登录状态”的方式才能登录进去,而且进用户面板又会提示重新登录:
StatusNet登录信息都是以Session的方式传递的,但基SessionID存放到了Cookie里,而其程序中又使用不安全的$_REQUEST来获取客户端的SessionID,如果php.ini里的“request_order”配置没有“C”(php production配置是:request_order = "GP"),那么就读不到Cookie,那么就无法登录。
解决方案是在php.ini里设置:request_order = "GPC"

4、邮件标题乱码
发出的邮件标题乱码,这与文件编码没有关系,可能与邮件发送服务器的问题,我使用gmail发出的邮件正常,配置如下:
#Email info, used for SMS send. gmail example
$config['mail']['notifyfrom'] = 'canbeing.com@gmail.com';
$config['mail']['domain'] = 'gmail.com';
$config['mail']['backend'] = 'smtp';
$config['mail']['params'] = array('host' => 'ssl://smtp.gmail.com',
  'port' => 465,
  'auth' => true,
  'username' => 'canbeing.com@gmail.com',
  'password' => 'test');


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值