### 下載源碼
[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)登錄七牛后首先創建一個對象存儲,注意要選公開空間,存儲區域最好選華東的吧。

#### (2)點進創建的存儲空間可以看到bucket和對應的域名,當然也可以綁定自己的域名。

#### (3)樣式分隔符設置,選一個感嘆號吧。

#### (4)新建一個圖片樣式,命名為avatar,用來控制顯示頭像尺寸。

#### (5)獲取秘鑰,在右上角個人面板里的秘鑰管理中可得到秘鑰。


#### (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)

### 1.上傳系統頭像,一定要設置路徑前綴為avatar/s/

### 2.上傳皮膚,上傳original目錄中的圖片時一定要設置路徑前綴為skins/original/ 上傳little目錄中的圖片時一定要設置skins/little/
### 3.上傳完皮膚后,打開文件/private/sql/初始化數據.sql,請使用您在七牛中的bucket域名替換,然后運行sql,這將初始化皮膚表。
# 最后,綁定域名后請認真的設置一下七牛的防盜鏈,另外每邀請一位好友注冊并認證會獲取每個月多5G的流量,最多40G,這個增加是永久的,邀請一次,每個月都加。七牛登錄后右上角“個人面板”里有“邀請好友”按鈕。
#### Step1
#### Step2