### 下载源码
[https://git.oschina.net/lostincoding/easyQA](http://https://git.oschina.net/lostincoding/easyQA)
### 运行环境
最低PHP5.4,推荐PHP7,并启用PDO或者Mysqli模块,推荐使用PDO
MySQL推荐5.6.5及以上版本
除此之外,您还需要一个七牛账号用于存储图片,注册地址 [https://portal.qiniu.com/signup?code=3ln7n97luobiq](http://https://portal.qiniu.com/signup?code=3ln7n97luobiq)
### 1.配置您的网站首页地址
打开文件/application/config/config.php
~~~
$config['base_url'] = 'http://your-domain.com/';
~~~
### 2.配置公司信息
打开文件/application/config/site_setting.php 其它的主要的网站配置都在这个文件里
~~~
//公司信息
$config['company_info'] = array(
'short_name' => '香果科技',
'full_name' => '深圳市香果科技有限公司',
'domain' => '52xiangguo.com',
'home_url' => 'http://52xiangguo.com/',
);
~~~
### 3.配置网站信息
打开文件/application/config/site_setting.php
~~~
//网站信息
$config['site_info'] = array(
'version' => '0.1.2.20170108_base',
'domain' => 'easyqa.com',
'home_url' => 'http://easyqa.com/',
'id' => 'easyqa',
'name' => 'easyQA',
'brief' => 'IT交流学习社区',
'meta' => array(
'description' => '这是一个供IT人交流学习的社区,可以问答,可以讨论,也有最新的IT行业资讯。',
'keywords' => 'IT问答网站 IT技术 IT资讯',
),
'icp' => array(
'num' => '备案号',
'link' => 'http://www.miitbeian.gov.cn/',
),
'tongji' => '<span style="display: none;">统计代码</span>',
);
~~~
### 4.邮箱配置
用来发送注册邮件或者找回密码什么的,请确保您提供的邮箱已开通了SMTP服务。
~~~
//邮箱设置
$config['email'] = array(
'CharSet' => 'utf-8',
'SMTPDebug' => 0,
//如果是qq邮箱,只支持加密发送邮件,所以请填写'tls',其它不需加密发送邮件的请留空即可
'SMTPSecure' => '',
'Host' => 'SMTP地址,如smtp.qq.com',
//端口,端口一般为25,SMTPSecure为tls时端口一般为587,具体是多少请咨询SMTP供应商
'Port' => 25,
//注意!Username和From中的发件人来源地址要保持一致
'Username' => '邮箱账号,如123456@qq.com',
'Password' => '邮箱密码,如果是QQ邮箱,现在已使用了授权码,请到QQ邮箱账号设置里生成授权码',
'From' => array('发件人来源地址,如123456@qq.com', '发件人来源名称,如no-reply'),
);
~~~
#### 示例1,未加密的、普通SMTP邮箱配置:
~~~
//邮箱设置
$config['email'] = array(
'CharSet' => 'utf-8',
'SMTPDebug' => 0,
//如果是qq邮箱,只支持加密发送邮件,所以请填写'tls',其它不需加密发送邮件的请留空即可
'SMTPSecure' => '',
'Host' => 'smtp.xxx.com',
//端口,端口一般为25,SMTPSecure为tls时端口一般为587,具体是多少请咨询SMTP供应商
'Port' => 25,
//注意!Username和From中的发件人来源地址要保持一致
'Username' => 'no-reply@xxx.com',
'Password' => 'xxxxxx',
'From' => array('no-reply@xxx.com', 'no-reply'),
);
~~~
#### 示例2,加密的SMTP邮箱配置,目前QQ邮箱强制使用加密发送,适用于此配置:
~~~
//邮箱设置
$config['email'] = array(
'CharSet' => 'utf-8',
'SMTPDebug' => 0,
//如果是qq邮箱,只支持加密发送邮件,所以请填写'tls',其它不需加密发送邮件的请留空即可
'SMTPSecure' => 'tls',
'Host' => 'smtp.qq.com',
//端口,端口一般为25,SMTPSecure为tls时端口一般为587,具体是多少请咨询SMTP供应商
'Port' => 587,
//注意!Username和From中的发件人来源地址要保持一致
'Username' => '123456@qq.com',
'Password' => '邮箱密码,如果是QQ邮箱,现在已使用了授权码,请到QQ邮箱账号设置里生成授权码',
'From' => array('123456@qq.com', 'no-reply'),
);
~~~
### 5.加密key配置
~~~
//加密使用的key,一定要32位,不能多也不能少,主要用来生成邮件验证或者找回密码时的url加密参数
$config['encrypt_key'] = 'qweqweqweqweqweqweqweqweqweqweqw';
//md5加密使用的salt,最好是32位,主要用来存储加密的密码
$config['salt'] = 'asdasdasdasdasdasdasdasdasdasdas';
~~~
### 6.第三方账号登录key配置,如果没有,可以忽略
~~~
//Github登录配置
$config['github'] = array(
'client_id' => '',
'client_secret' => '',
'redirect_uri' => 'http://' . $config['site_info']['domain'] . '/account/github_callback',
);
//微信登录配置
$config['weixin'] = array(
'appid' => '',
'secret' => '',
'redirect_uri' => 'http://' . $config['site_info']['domain'] . '/account/weixin_callback',
);
//QQ登录配置
$config['qc'] = array(
'appid' => '',
'appkey' => '',
'callback' => 'http://' . $config['site_info']['domain'] . '/account/qc_callback',
);
//微博登录配置
$config['weibo'] = array(
'WB_AKEY' => '',
'WB_SKEY' => '',
'WB_CALLBACK_URL' => 'http://' . $config['site_info']['domain'] . '/account/weibo_callback',
);
//oschina登录配置
$config['oschina'] = array(
'client_id' => '',
'client_secret' => '',
'redirect_uri' => 'http://' . $config['site_info']['domain'] . '/account/oschina_callback',
);
~~~
### 7.极验验证码配置
暂未启用验证码功能,不久将会完善。
~~~
//Geetest配置,账号申请地址 http://www.geetest.com/
$config['geetest'] = array(
'open' => false,
'CAPTCHA_ID' => '',
'PRIVATE_KEY' => '',
'MOBILE_CAPTCHA_ID' => '',
'MOBILE_PRIVATE_KEY' => '',
);
~~~
### 8.七牛配置
关于七牛的将在下方详解。
~~~
//七牛配置,账号申请地址 https://portal.qiniu.com/signup?code=3ln7n97luobiq
$config['qiniu'] = array(
'accessKey' => '',
'secretKey' => '',
//公有空间,bucket名称
'static_bucket_name' => '',
//bucket对应的域名
'static_bucket_domain' => '',
//文件分隔符,用来模拟文件目录(不需要改动)
'delimiter' => '/',
);
~~~
### 9.话题导航配置
~~~
//话题导航
$config['topic_navs'] = array(
'技术',
'创意',
'好玩',
'招聘',
'交易',
'创业',
'js',
'php',
'python',
'java',
'mysql',
'ios',
'android',
'node.js',
'html5',
'linux',
'c++',
'css3',
'git',
'golang',
'ruby',
'vim',
'docker',
);
~~~
### 10.友情链接配置
~~~
//友情链接
$config['friendslink_lists'] = array(
array('LostInCoding', 'http://lostincoding.com/'),
);
~~~
### 11.数据库配置
打开文件/application/config/database.php
~~~
$db['default'] = array(
'dsn' => 'mysql:host=127.0.0.1;port=3306;dbname=easyqa',
'hostname' => '127.0.0.1',
'username' => 'root',
'password' => 'xxxxxx',
'database' => 'easyqa',
'dbdriver' => 'pdo',
'dbprefix' => '',
'pconnect' => false,
'db_debug' => (ENVIRONMENT !== 'production'),
'cache_on' => false,
'cachedir' => '',
'char_set' => 'utf8',
'dbcollat' => 'utf8_general_ci',
'swap_pre' => '',
'encrypt' => false,
'compress' => false,
'stricton' => true,
'failover' => array(),
'save_queries' => true,
);
~~~
# 数据库表的文件都在/private/sql目录中。
### 12.七牛详细配置
#### 账号注册地址
[https://portal.qiniu.com/signup?code=3ln7n97luobiq](http://https://portal.qiniu.com/signup?code=3ln7n97luobiq)
#### (1)登录七牛后首先创建一个对象存储,注意要选公开空间,存储区域最好选华东的吧。
![](https://box.kancloud.cn/7d465c2de2ea26386031fb3b0ea0f9f2_521x586.jpg)
#### (2)点进创建的存储空间可以看到bucket和对应的域名,当然也可以绑定自己的域名。
![](https://box.kancloud.cn/ca569ba54fe9f5d06917ec73e714bcee_943x577.jpg)
#### (3)样式分隔符设置,选一个感叹号吧。
![](https://box.kancloud.cn/542441394f7c82745f797d4e225201b4_863x550.jpg)
#### (4)新建一个图片样式,命名为avatar,用来控制显示头像尺寸。
![](https://box.kancloud.cn/cd273ccf6f20ea4c080566aa1130566d_664x649.jpg)
#### (5)获取秘钥,在右上角个人面板里的秘钥管理中可得到秘钥。
![](https://box.kancloud.cn/13cbb9cfc1d0183f03f42dd81f1bf30a_317x458.jpg)
![](https://box.kancloud.cn/ddbd0ae4485a14caa6426db87d268806_1009x436.jpg)
#### (6)配置文件/application/config/site_setting.php中关于七牛配置的相关信息(从第5步得到了秘钥信息,从第2步得到了bucket名称和对应的域名)
~~~
//七牛配置,账号申请地址 https://portal.qiniu.com/signup?code=3ln7n97luobiq
$config['qiniu'] = array(
'accessKey' => '',
'secretKey' => '',
//公有空间,bucket名称
'static_bucket_name' => '',
//bucket对应的域名
'static_bucket_domain' => '',
//文件分隔符,用来模拟文件目录(不需要改动)
'delimiter' => '/',
);
~~~
#### (7)上传系统头像与皮肤图片到七牛
系统头像与皮肤图片下载地址:[https://git.oschina.net/lostincoding/easyQA/attach_files](https://git.oschina.net/lostincoding/easyQA/attach_files)
![](https://box.kancloud.cn/e1c5cb4288a7d55be4395415834d4bee_606x297.jpg)
### 1.上传系统头像,一定要设置路径前缀为avatar/s/
![](https://box.kancloud.cn/c95f713dca38c703d0bd3adaf8db5cbf_989x648.jpg)
### 2.上传皮肤,上传original目录中的图片时一定要设置路径前缀为skins/original/ 上传little目录中的图片时一定要设置skins/little/
### 3.上传完皮肤后,打开文件/private/sql/初始化数据.sql,请使用您在七牛中的bucket域名替换,然后运行sql,这将初始化皮肤表。
# 最后,绑定域名后请认真的设置一下七牛的防盗链,另外每邀请一位好友注册并认证会获取每个月多5G的流量,最多40G,这个增加是永久的,邀请一次,每个月都加。七牛登录后右上角“个人面板”里有“邀请好友”按钮。
#### Step1![](https://box.kancloud.cn/bb03bb23e21aa6aadba62bda67c2827e_894x580.jpg)
#### Step2![](https://box.kancloud.cn/915703f90102b20e40aff83bc34bf34e_770x580.jpg)