2010-11-19

Ubuntu10.10安装Zope小记

Zope简介

zope是一款开源的Web应用服务器,它主要使用Python编写,底层一些核心部件使用C开发。相比一些轻量级的开发框架,如Django,Pylons等,Zope更加专业,具有很好的扩展性,重用性,可以用于大型的复杂的应用,适合企业部署开发。

下载安装Zope

Ubuntu10.10软件源里面没有Zope软件包,所以我们从官网下载源代码安装。这里可以查看下载最新的zope稳定版。目前最新稳定版为Zope 2.11.7 下载到本地以后,执行解压
$ tar zxvf Zope-2.11.7-final.tgz
进入Zope目录,执行环境配置检测:
$ cd Zope-2.11.7-final/
$ ./configure
这时如果出现类似下面的结果:
Configuring Zope installation

Testing for an acceptable Python interpreter...

Python version 2.6.6 found at /usr/bin/python

No suitable Python version found. You should install

Python version 2.4.6 before continuing.

Versions 2.4.5 2.4.4 also work, but not as optimally.
说明Python版本不兼容,Zope2.11.7依赖Python2.4.6。目前10.10的源里已没有Python2.4的安装包,所以我们也需要下载源代码安装。 在Python官网下载Python2.4.6(如果不能访问,猛击这里下载)。解压,然后执行编译安装三部曲:
$ ./configure
$ make
$ sudo make install
安装完毕查看Python版本:
$ python -V

Python 2.4.6
显示当前python为我们安装的2.4.6版本。
现在再切换到Zope源代码目录下,执行 ./configure,如果是这个结果:
Configuring Zope installation

Testing for an acceptable Python interpreter...

Python version 2.4.6 found at /usr/local/bin/python

The optimum Python version (2.4.6) was found at /usr/local/bin/python.

  - Zope top-level binary directory will be /opt/Zope-2.11.
  - Makefile written.

  Next, run make.
那么恭喜你,可以继续啦!
$ make;sudo make install
Zope2.11.7的默认安装路径为 /opt/zope-2.11,可在configure时通过设定 - -prefix 参数来更改安装路径。 创建Zope实例 切换到安装目录 /opt/zope-2.11。新建一个zope实例:
$ cd /opt/Zope-2.11/
$ bin/mkzopeinstance.py
接着会出现一个交互界面,提示输入新实例的目录:
Please choose a directory in which you'd like to install
Zope "instance home" files such as database files, configuration
files, etc.

Directory:
接着是初始化管理员帐号:
Please choose a username and password for the initial user.
These will be the credentials you use to initially manage
your new Zope instance.

Username: admin
Password:
Verify password: 
这里我使用了admin作为用户名。
如果在结束时出现类似下述的错误:
[Errno 13] Permission denied: '/var/./Extensions'
则可能是将目录建在权限不够的地方了。在新建实例时使用sudo就可以避免这个问题,从而将实例创建在任何目录下。

配置Zope实例

进入我们创建的实例目录/var/zope/,看看都有什么好东西:
$ cd /var/zope/
$ ls
bin  etc  Extensions  import  inituser  lib  log  Products  README.txt  var
下面依次讲解每个文件夹的作用
  • bin 这个是zope服务的可执行程序
  • etc zope的配置文件,主要有zope.conf和site.zcml
  • Extensions 存放外部方法对象的目录
  • import 存放待导入Zope对象的目录
  • lib 存放额外的python包
  • log 存放系统日志
  • Products 产品扩展目录
  • var 数据存储目录,其中Data.fs用来存放用户Zope对象,对象导出文件也存在在此目录。
接下来编辑etc目录下zope.conf文件,做两点修改:
  1. 找到effective-user这一行,将chrism替换为自己的用户名,比如user1
  2. 反注释掉 ip-address 127.0.0.1
保存并退出。然后修改var和log的目录权限为上面修改的用户名(上面是user1的话这里也是user1):
$ sudo chown -R user1 var log
启动实例:
$ bin/zopectl start
现在,访问 http://127.0.0.1:8080/ ,开始美妙的Zope之旅吧~
blog comments powered by Disqus