Project Babel 2 是一个用 Python 语言写成的,运行在 Google App Engine 上的社区软件。希望能够通过这个项目,产生一个对于创意工作者,中小公司及各种兴趣组而言足够好用的社区软件。同时通过将基础架构搭建于 Google App Engine 的云计算环境中,最大程度减少网站的维护工作量及安全担忧。
Project Babel 2 是一个用 Python 语言写成的运行在 Google App Engine 云计算环境中的社区软件,本文详细描述最新版本的 Project Babel 2 的安装过程。
Project Babel 2 需要运行在 Google App Engine 的云计算环境中,因此你首先需要在 Google App Engine 网站注册自己的 Application ID。
第一次注册时会需要通过 Google 的手机验证,请填入你的手机号码并加入国家代码即可,比如:
+8613901012345
通过手机验证之后,即可开始注册自己的 Application ID。Application ID 即网址中 .appspot.com 前面的那串字母及数字,比如在下面的例子中,Application ID 即是 v2ex:
v2ex.appspot.com
请首先确保系统上安装有 git,Mac OS X 用户可以通过 MacPorts 获得 git:
sudo port install git-core
安装 git 之后,运行以下指令获得最新版本的 Project Babel 2 源代码:
git clone git://github.com/livid/v2ex.git v2ex
之后你需要将获得的那个目录更改为自己的 Application ID。然后将其中的 app.yaml.example 复制为 app.yaml,将其中的 application: 后面的字符串同样更改为自己的 Application ID。
之后,你需要将 config.py.example 复制为 config.py 并做一些必要的修改。比如如果你需要用到 Project Babel 2 内置的 Twitter 客户端,那么你就需要在 config.py 中填入你在 Twitter 网站上申请的 OAuth Consumer Key 和 Secret。
为了防止恶意注册,Project Babel 2 还使用了 reCAPTCHA,因此你同样需要在 config.py 填入你自己的 reCAPTCHA 信息。
Google App Engine Launcher 是 Google 官方的 App Engine 部署工具,可以非常方便的用于上传和更新自己的 Project Babel 2。该工具需要系统安装有 Python 运行环境,如果你的系统里还没有 Python,Windows 用户建议安装 ActivePython。
安装好 Google App Engine Launcher 后,选择 Add Existing Application,然后选择之前通过 git 获得的那个目录,然后点击蓝色的 Deploy 按钮,即可完成部署。
第一次部署结束后,将需要等待 Google 完成数据库索引,之后网站才可访问。
欢迎到 V2EX 的 Project Babel 讨论区交流使用心得,反馈问题。
Project Babel 2 is licensed under very liberal BSD license.
Copyright (c) 2010, Xin Liu
All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.