1.1. Linux 系统

1.1.1. 系统配置

我们推荐使用 Ubuntu 12.04 LTS 系统而不是最新版本的 Ubuntu。12.04 LTS 是长期支持系统,整个系统的稳定性远远超过最新版,没有必要去追求最新版本结果得到一堆最新 bug 都不知道怎么处理。Ubuntu 系统自身带的 Unity 桌面非常不好用(消耗资源,速度慢,bug 多,用户界面不友好),我们采用 XFce 桌面系统替换 Unity,XFce 桌面够小、够轻、很够用。下面是安装 XFce 桌面的方法:

## 执行 apt-get 安装 xfce 桌面

sudo apt-get install xfce4
[注意]

如果你希望使用最新的 XFce 桌面的话,可以添加 XUbuntu 的源,然后用 apt-get 安装,具体方法请自己 Google

图 1.1. XFce 桌面截图

XFce 截图

表 1.1. Ubuntu 环境下其它推荐软件

软件类型 推荐 备注

输入法

Fcitx

建议安装 fcitx-sogoupinying

中文字体

文泉驿字体, ConsolasYaHei Hybrid

文泉驿字体微米黑用于浏览阅读非常棒,或者用网友制作的 ConsolasYaHei Hybrid(Consolas 和 微软雅黑的结合字体,非常漂亮,用于编程字体最适合)

编辑器

UltraEdit, Sublime, Geany, Bluefish, Gvim

编辑器有一个就够用了,多了没意义

浏览器

Chrome, Firefox

Web开发,CSS用Chrome调试,JS用Firefox + Firebug最好

命令行终端

Guake Terminal

轻量,F12 可以随时调出,方便一边编辑一边看命令

FTP访问

FileZilla

PDF阅读

Adobe Reader

屏幕截图

Shutter

代码管理

git, svn

命令行就很好用了,实在没必要什么图形界面

画流程图

Dia

类似于 viso

画思维导图

FreeMind

类似于 MindStorm

图片处理

GIMP

类似于 PhotoShop


[注意]

以上软件的安装方法请自行 Google (注意:我说的是 Google 不是 Baidu)

1.1.2. PHP环境

bzfshop 设计目标是在 Nginx 之类的高性能 Web Server 下运行的高性能B2C网站,所以我们的生产环境一般使用 Nginx Web Server。由于 Nginx 本身配置复杂,开发过程中需要不断调整配置非常麻烦,所以我们的开发环境采用 Apache + .htaccess 的配置方式,调整配置非常简单快捷(开发环境无所谓性能,所以用 Apache 就可以了)。bzfshop 要求最低 PHP 5.3.4,并且配备一些必要的模块,使用 MySql 作为数据库服务器,下面是安装方法:

## 安装 Apache + PHP
sudo apt-get install apache2 php5 libapache2-mod-php5

## 安装完成之后,在 /var/www 下面放一个 phpinfo.php ,里面内容是 <?php phpinfo();
## 然后浏览器访问  http://localhost/phpinfo.php 看看是否有 PHP 信息输出,如果有信息输出说明安装成功,否则失败请自己查找错误
## 请注意 PHP 的版本是否符合安装最低要求 ,否则无法运行 bzfshop 程序

## 安装命令行,bzfshop 带了一个 console 工程用于命令行程序的开发,所以需要 php 命令行的支持
sudo apt-get install php5-cli

## 安装额外的模块,bzfshop 需要一些 PHP 模块来良好的运行
sudo apt-get install php5-curl php5-gd php5-imagick php5-mcrypt php5-memcache php5-mysql php5-uuid php5-xdebug

## 安装 mysql 数据库,安装过程会提示你配置 mysql 密码,请牢记这个密码,否则后面没法操作了
sudo apt-get install mysql-server mysql-client

## 安装 mysql 管理程序,我们用 phpmyadmin 来管理数据库
## 安装完成之后访问 http://localhost/phpmyadmin 用刚才 mysql 数据库你自己设置的密码登陆,看看是否能管理数据库了
sudo apt-get install phpmyadmin

图 1.2. phpmyadmin 截图

phpmyadmin 截图

至此 Linux 开发环境就配置完成了,比 Windows 配置方便了几百倍。接下来就让 bzfshop 先跑起来,确认整个环境是正确的。下载 bzfshop 压缩包 并且保存为 bzfshop.tar.bz2。

## 建一个自己的开发目录
sudo mkdir -p /var/www/bzfshop_dev

## 让自己有目录的读写权限
sudo chown qiangyu:qiangyu /var/www/bzfshop_dev

## 把 bzfshop.tar.bz2 压缩包放到 /var/www 目录下,并且解压缩
mv /path_to_your_file/bzfshop.tar.bz2 /var/www/bzfshop_dev
cd /var/www/bzfshop_dev
tar -jxf bzfshop.tar.bz2

## 增加目录的读写权限,不然后面没法安装、测试
cd /var/www/bzfshop_dev/bzfshop/src

chmod -R a+w asset
chmod -R a+w mobile/asset
chmod -R a+w manage/asset
chmod -R a+w supplier/asset
chmod -R a+w data
chmod -R a+w protected/Config
chmod -R a+w protected/Runtime

浏览器访问 http://localhost/bzfshop_dev/bzfshop/src/install 应该就能看到安装界面了,根据安装界面的提示一路走下去,应该就能完成安装。看到这个界面,说明你已经可以开始安装 bzfshop 了。

图 1.3. bzfshop 安装界面截图

bzfshop 安装界面截图

[提示]GitHub直接取得代码的方法
## 商城代码依赖 bootstrap-custom 子工程,所以你需要用 git submodule 来取得对应的子模块代码

git clone https://github.com/bzfshop-net/bzfshop.git

cd bzfshop

git submodule init

git submodule update

## 经过 submodule update 之后你就取得了 bootstrap-custom 工程的代码,这样整个工程代码就完整了

1.1.3. IDE推荐

IDE 在 Linux 下是一个非常有争议性的问题,对于那些能用菜刀在光盘上自己刻出一个Windows系统的顶级高手,它们一般会给你推荐诸如 vim、emacs、sed、awk、ed、cat …(这里之所以用 它们 而不是 他们 因为这些不是人而是神)。对于普通人而言,一个设计良好带有各种代码提示的 IDE 才是我们自己的菜,所以我们和那些神仙注定是分道扬镳的(好吧,我承认这个文档本身就是用 VIM 写的 ╮(╯_╰)╭ )。

工欲善其事,必先利其器,一个好的 IDE 胜过 10 个神仙用 VIM。我们推荐的 PHP IDE 只有 PHPStorm 和 Netbeans,Eclipse + PDT 已经多年不更新了,早就不适合时代的需求了,其它的IDE没怎么用过不熟悉所以不做推荐。

PHP IDE 神器当然首推 PHPStorm,无论是语法解析、智能提示、文档关联 都远胜于其它 IDE,更难得的是 PHPStorm 运行非常快,虽然是 Java 开发出来的 IDE 跑起来却像 C++ 程序一样流畅,比起任何的 Netbeans, Eclipse … 都要流畅多了。唯一可惜的是 PHPStorm 是收费软件,需要买 License。至于怎么安装 PHPStorm 请自行 Google,下面上一个我们的工作界面截图:

图 1.4. PHPStorm Darcula 主题 + ConsolasYaHei Hybrid 字体

PHPStorm 工作界面截图

PHPStorm 价格很贵阻止了很多公司使用这个优秀的工具(注:开源项目可以申请免费的 License)。所以如果无法承受价格的话,我们推荐使用 NetBeans 作为 PHP 的开发环境。如果说 PHPStorm 是 100 分的话,那么 NetBeans 差不多也有 90 分很够用了。具体如何安装 NetBeans 请自行 Google,这里就不废话了。

其它编辑器诸如 Eclipse,Zend Studio,… 资源消耗大、本身运行很慢,对 PHP 语法解析智能提示支持也很一般,或者本身就很老旧了,强烈不推荐。如果按照电影审核等级分类,用户推荐型、用户指导型、用户指南型 来分等级的话,这些编辑器大概应该被归类为 用户指责型 (谁叫你丫用的 ╮(╯_╰)╭ )。