[TOC=2]
## 環境最低要求
> PHP >= 5.4.0(注意:PHP5.4dev版本和PHP6均不支持)
PDO PHP Extension
MBstring PHP Extension
CURL PHP Extension
開啟URL重寫
支持pathinfo
若使用微信模塊,則要求PHP版本 >=5.5.9
## Linux + Apache平臺相關環境配置
我這里使用的是[LNMP](https://lnmp.org)集成環境(不過安裝時使用的是Apache而不是Nginx),這個集成環境的[安裝方法看這里](https://lnmp.org/install.html)
### 添加一個虛擬主機
按照[此貼](https://lnmp.org/faq/lnmp-vhost-add-howto.html)添加一個虛擬主機,設置的訪問域名用 `www.yfcmf.com`,本手冊以后的演示都使用這個測試地址。
然后修改`hosts`,在里面添加一條記錄(其中`IP`地址改成自己`yfcmf`系統所運行的服務器地址)
`127.0.0.1 www.yfcmf.com`
### 開啟偽靜態
打開Apache配置文件`>vi /usr/local/apache/conf/httpd.conf`
找到`#LoadModule rewrite_module modules/mod_rewrite.so`這一行,去掉前面的`#`井號并保存,然后重啟Apache。

查看網站根目錄下是否有一個`.htaccess`的文件(windows和linux系統一般都有,但`macOS`系統上有可能會弄丟),如果沒有,就自己建一個,內容為:
~~~
<IfModule mod_rewrite.c>
Options +FollowSymlinks -Multiviews
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?/$1 [QSA,PT,L]
</IfModule>
~~~
### pathinfo
`yfcmf`系統還需要`pathinfo`支持,但`Apache`好像默認就支持的,那咱們就不管了,直接用。
## Linux + Nginx平臺相關環境配置
我這里使用的是[LNMP](https://lnmp.org)集成環境,這個集成環境的[安裝方法看這里](https://lnmp.org/install.html)
### 添加一個虛擬主機
按照[此貼](https://lnmp.org/faq/lnmp-vhost-add-howto.html)添加一個虛擬主機,設置的訪問域名用 `www.yfcmf.com`,本手冊以后的演示都使用這個測試地址。
然后修改`hosts`,在里面添加一條記錄(其中`IP`地址改成自己`yfcmf`系統所運行的服務器地址)
`127.0.0.1 www.yfcmf.com`
### 開啟偽靜態
也許你在上面添加虛擬機時已經添加了偽靜態規則,但`LNMP`集成環境自帶的一些偽靜態規則都不適合我們,我們得自己改一下配置文件,輸入命令
`>vi /usr/local/nginx/conf/vhost/www.yfcmf.com.conf`
編輯配置,在里面找到`include other.conf;`這句話(如果有的話,沒有就算了),把它替換成下面這段配置:
~~~
location / {
if (!-e $request_filename) {
rewrite ^(.*)$ /index.php?s=/$1 last;
break;
}
}
~~~
### pathinfo
`yfcmf`系統還需要`pathinfo`支持,同樣是修改上面那個配置文件,找到`include enable-php.conf;`這句話,把它改成`include enable-php-pathinfo.conf;`,最終兩個主要的地方修改如下圖:

### 重啟Nginx
`>/etc/init.d/nginx restart`
## YFCMF系統安裝
從 osc@git 上下載源碼到剛才創建的虛擬主機里:[http://git.oschina.net/rainfer/YFCMF](http://git.oschina.net/rainfer/YFCMF)

1. 訪問`www.yfcmf.com`即可看到一個安裝引導界面,點`接受`

2. 下面是檢測環境界面,如果環境都沒問題,就點`下一步`

3. 下面是數據及網站基礎配置信息的填寫,填寫好后點`創建數據`

4. 看到下面界面所說明安裝成功了

5. 點擊`進入后臺`,輸入賬號密碼驗證碼開始`yfcmf`之旅。
## 添加 ThinkPHP5 命令行工具入口文件
由于`yfcmf`作者平時是在win上開發的(猜的),所以他干掉了 ThinkPHP5 的命令行工具入口文件,但這東西有大用處,我們去把它補上。
在網站根目錄新建一個名為`think`的文件,不要后綴了,和 ThinkPHP5 原版保持一致的命名,然后內容填入下面代碼:
~~~
#!/usr/bin/env php
<?php
// 定義項目路徑
define('APP_PATH', __DIR__ . '/app/');
// 定義運行時目錄
define('RUNTIME_PATH', __DIR__ .'/data/runtime/');
// 加載框架引導文件
require './thinkphp/console.php';
~~~
> 如果你之前從[TP5官方git庫](https://github.com/top-think/think)里復制過這個文件到`yfcmf`系統里,一定記得修改定義項目路徑的`application`為`app`,并且添加這句代碼`define('RUNTIME_PATH', __DIR__ .'/data/runtime/');`,否則很多功能是無法正常使用的。
在網站根目錄執行`>php think`命令顯示下圖所示內容說明成功了

## 其他問題
### PHP exif 模塊
`LNMP`集成環境沒有默認安裝PHP的`exif`模塊,如果你的使用了`ThinkPHP5`框架的文件上傳功能,請[參照此貼](https://www.vpser.net/manage/lnmp-php-install-ext.html)安裝`exif`模塊。