Cherokee 完美配置 Joomla! 1.7.x

下面是从头开始配置 Joomla! 1.7.x 的步骤. 环境是 Ubuntu 11.10 64bit + Cherokee 1.2 + PHP 5.3 + MySQL 5.1:

  1. 登录到 cherokee-admin
  2. vServers > + > Manual. 以下假设建立的 vServer 是 mysite
  3. vServers > mysite > Basics :
    1. 在 Document Root 填写 Joomla! 的安装路径, 例如 /var/www …
    2. Dirctory Indexes: index.php, index.html
  4. vServers > mysite > Behavior:
    1. 添加 PHP 支持: + > Languages > PHP. 如果添加失败, 可能是没有安装 php5-cgi
    2. 将 Default > Handler 改为 Redirection, 并添加如下重定向规则:
      1. (External) ^/administrator/?$ /administrator/index.php
      2. (Internal) ^/(.*)$ /index.php?/$1
    3. 添加漏洞保护:
      1. + > Manual > Regular Expression, 并添加一下表达式, 它们之间是 OR 的关系即可
        1.  mosConfig_[a-zA-Z_]{1,21}(=|\=)
        2. (\<|<).*script.*(\>|>)
        3. base64_encode.*\(.*\)
        4. GLOBALS(=|\[|\%[0-9A-Z]{0,2})
        5. _REQUEST(=|\[|\%[0-9A-Z]{0,2})
      2. Handler : HTTP Error, HTTP Error: 403
    4. 不是必须的, 可以添加静态内容的压缩和过期时间
      1. + > Manual > Extensions : .html, .htm, .css, .js
      2. + > Manual > Extensions : .jpg, .png, .gif, .jpeg
  5. 在 Joomla! 管理后台里, 开启 URL 重写

参考链接: http://www.cherokee-project.com/doc/cookbook_joomla.html (Cherokee 娘家的文档, 竟然没有 URL 重写那部分, 奇怪. )

Cherokee!!! 切诺基!!!

这个 Cherokee 可不是威武的4×4大吉普.

也许是向前辈 Apache 致敬, 这款网站服务端软件使用了另一个北美印第安部落的名字命名. Apache2 曾经是 Web Server 里的老大, 但现在显然是老迈年高了. 作为一个不那么专注的 Webmaster, 我最初用一个 Apache2 就以为交差了呢. 随着公司网站 hits 不断增加, Apache2 成了瓶颈, 我就添加 Nginx 作为静态文件的服务端并将 PHP 请求转发给原来的 Apache2. 这个 N + A2 架构效果还不错, 而且没有什么兼容方面的问题.

麻烦的是我不得不同时掌握 Nginx 和 Apache2 两种风格语法完全不同的配置文件, 一种像C, 一种像XML. 若有了问题可能要看两处日志文件.

最近又要为朋友公司建站, 想起以前这些, 我就有些纠结了. 搜索一下, 发现”新大陆”: Cherokee 网站服务端软件, 同样是 Open source, 据称速度最快, 口碑稳定, 内存开销很小, 内建支持 PHP, 最主要的是有 cherokee-admin 这样的基于 web 的 web server control panel. 而且有 iOS-like 的 Apps Store!! 不用犹豫了吧.

下面是在 Ubuntu Server 上安装 Cherokee Web Server 的步骤.

0, 如果没有”add-apt-repository”命令, 可以:

$ sudo apt-get install python-software-properties

1, 添加 cherokee 的 PPA 源并更新软件包数据库:

$ sudo add-apt-repository ppa:cherokee-webserver/ppa
$ sudo apt-get update

2, 安装必要的软件(假设原来已经有 LAMP 架构):

$ sudo apt-get install cherokee cherokee-admin php5-cgi

3, 关闭并卸载 apache2:

$ sudo update-rc.d apache2 disable
$ sudo invoke-rc.d apache2 stop
$ sudo apt-get remove apache2

4, 启动 cherokee-admin 进程(需要sudo才能修改 cherokee 配置). 如果是远程服务器, 要加上 -b 开关才接受远程管理:

$ sudo cherokee-admin

Login:
User:              admin
One-time Password: EoM4aoGU2EIEsd6U

Web Interface:
URL:               http://127.0.0.1:9090/

5, 然后使用浏览器登录, 服务器就在你手中了. 见到GUI, 我懒得写了, 实在是太直观太EZ了… 😀