安装ZOPE3
难度
新手
技能
你应该知道如何使用你的操作系统的命令行(对于windows发布版,已经提供了安装程序。)
你需要知道如何在你的系统上成功的安装最新的Python。
问题/任务
在我们能在Zope3上面开发任何东西之前,我们当然需要先安装它。
解决方案
需求
Zope3通常需要最新的稳定版的Python。对于Zope X3 3.3.0发布版来说,使用Python 2.3.4或者更高的。需要注意的是,你应该总是使用最新的修正错误的发布版。Zope3并不需要你安装或激活任何特殊的包;使用最普通的Python即可。这最大的好处就是你可以在你喜欢的操作系统上使用预先打包的Python发行版。(例如:PRM,deb,windows安装程序)
唯一需要注意的是编译Zope3的C模块的时候必须使用与编译Python时使用的编译器一样。例如,你在Windows上安装了由Visual C++ 7编译的Python标准版,就不能使用Cygwin来编译你的Zope 3的模块。然而,问题并不会像看上去那么严重。Zope3的二进制分发版总是使用与Python标准版一样的编译器编译的。另一方面,如果你想自己编译所有的内容,那么一定要使用一个编译器。
在Unix/Linux上最好的选择是gcc。所有的Zope3开发者都使用gcc,所以它总是被支持的。在windows上,像上面提到的那样,标准Python分发版使用Visual C++ 7编译的。因此,Zope3的windows二进制发布版也是使用那个编译器编译的。不管怎么说,人们已经成功得利用Cygwin(和Python一起发布的)来使用gcc了。最后,你还能在MacOS X上运行Zope3。
从SVN安装
为了从SVN中检出Zope3,你需要有一个SVN客户端安装在你的系统上。如果你没有SVN帐户,用户你可以使用佚名的用户来得到一个沙箱检出:
svn co svn://svn.zope.org/repos/main/Zope3/trunk Zope3
检出完成后,进入Zope3的目录:
cd Zope3
从那里运行make(你需要有安装过make,它应该所有提到的环境中有效)。如果你的Python可执行文件不是叫Python2.3和/或者你的Python二进制文件不在PATH中,编辑Makefile的第一行,改正Python二进制文件的路径。现在运行make,它将建立/编译Zope3:
make
将sample_principals.zcml的内容复制到principals.zcml中,并增加一个有管理员权限的用户,如下:
1 <principal
2 id="zope.userid" title="User Name Title"
3 login="username" password="passwd" />
4
5 <grant role="zope.Manager" principal="zope.userid" />
行2:注意你没有必要将"zope."作为你的principal id的一部分,但是principal id必须包含至少一个点("."),因为这是有效id的标志。
行3:登录(login)和口令(password)字符串可以是任何的任意值,但是必须可以正确编码为XML。
行5:如果你没有使用默认的安全策略,你可能不能使用zope:grant指令,因为它可能不支持角色。然而你使用普通的Zope3检出,那么作为默认角色是生效的。
此外,在开发的过程中你经常不需要担心安全问题。
这样的话你可以将管理员角色分配给任何人:
1 <grant role="zope.Manager" principal="zope.anybody" />
原始的应用服务器配置在zope.conf中。如果zope .conf不存在,那么将使用zope.conf.in来替代。在这个文件中你可以定义你想激活的服务器的类型和端口,设置ZODB存储器类型和指定日志选项。配置文件有很好的文档并且它应该很易于修改。
现在我们准备第一次启动Zope3:
./bin/runzope
以下的输出本文将呈现:
------
2003-06-02T20:09:13 INFO PublisherHTTPServer zope.server.http (HTTP) started.
Hostname: localhost
Port: 8080
------
2003-06-02T20:09:13 INFO PublisherFTPServer zope.server.ftp started.
Hostname: localhost
Port: 8021
------
2003-06-02T20:09:13 INFO root Startup time: 5.447 sec real, 5.190 sec CPU
当Zope启动后,你现在可以通过在你的浏览器中键入以下的URL来测试:http://localhost:8080/。测试FTP使用FTP://username@localhost:8021/。并且甚至可以在Konqueror里使用webdav://localhost:8080/来测试WebDAV。
一个XML-RPC服务器也默认内建在里面了,但是大多数的对象并不支持任何的XML-RPC方法,因此你还不能立刻测试它。参见"经由XML-RPC的可用性"章节来获得详细的指引,关于如何使用XML-RPC服务器。
安装源代码分发版
解压缩包
Zope3最新的发行版可以在http://www.Zope.org/Products/ZopeX3找到。首先,通过点击对应所有地平台的文件来下载最新的Zope3发行版,例如ZopeX3-VERSION.tgz。使用tar或者WinZip来解压档案;例如:
tar xzf ZopeX3-3.0.0.tgz
建立Zope
对于这个发行版我们提供了著名的"configure"/"make"程序。所以你可以通过实用下面的语句启动配置过程:
./configure
如果你希望将二进制文件放到除了/usr/local/ZopeX3-VERSION以外的地方,你可以象往常一样指定--prefix选项。同样,如果你的Python安装在非标准的位置,你可以用下面的语句指定Python可执行文件:
--with-python
一个完整的配置语句可以是:
./configure --prefix=/opt/Zope3 --with-python=/opt/puython2.3/bin/python2.3
立即返回的输出是:
Using Python interpreter at /opt/puython2.3/bin/python2.3
Configuring Zope X3 installation
既然源已经配置好了,我们可以用make来建立它了。打入make命令。只有一行:
python2.3 install.py -q build
返回并且硬盘驱动器将忙碌几分钟来编译源代码。当命令行返回后,你可以使用下面的命令运行测试:
make check
在这里,单元测试和功能测试将被执行。对于每个执行的测试你将看到屏幕上出现一个"点"。检测将持续5-10分钟,这依赖你的电脑的速度和硬盘的剩余空间(free cycles:空闲的柱面)。 最终的输出将如下所示:
Python2.3 install.py -q build
Python2.3 test.py -v
Running UNIT tests at level 1
Running UNIT tests from /path/to/ZopeX3-VERSION/build/lib.linux-i686-2.3
[some 4000+ dots]
----------------------------------------------------------------------
Ran 3896 tests in 696.647s
OK
测试的确切数量将依赖于Zope的版本,操作系统和主机平台。如果最后一行显示"OK ",你就知道所有的测试都通过了。当校验过检测后,你可以使用make install来安装这个分发版了。
创建一个Zope实例
当安装完成后,Zope将存在在你在--prefix指定的目录中或者在/usr/local/ZopeX3-VERSION下面。 然而,Zope还不能运行,因为你还没有创建创建一个实例。实例是用于下面这种情况的:当想利用相同的基本软件配置来做多个基于Zope的站点时。创建一个新实例是容易的。 进入Zope3目录并输入以下命令:
/bin/mkzopeinstance -u username:password -d path/to/instance
这将在path/to/instance 路径下面创建一个Zope实例。一个有登录"用户名"和登录"口令"的用户将被创建,同时将"zope.manager"角色分配给它。刚创建的实例的所有配置在path/to/instance/etc目录下。请检查在那里面的所有信息以保证它适合你的需要。
运行Zope
在实例目录中通过调用下面的命令来执行Zope。
./bin/runzope
启动输出的内容将和从SVN安装的Zope一模一样。
所有的事情都完成了。当服务器启动并运行后,你可以使用你喜爱的浏览器来测试它,就像之前提到的那样。
在Windows上采用非MAKE方式安装源代码分发版
在Windows上也可以不使用make来安装源代码分发版。 然而,你需要一个支持C的编译器以来建立包。 如果你没有安装C编译器或者Cygwin,那么请使用Windows安装程序来安装Zope3。 更多详情请看下一节。
在安装Zope3之前,你需要安装Python 2.3.4或者更高的版本。 在Windows NT/2000/XP上.py扩展名的文件自动的关联到Python可执行文件,因此运行一个脚本时你不需要指定Python可执行文件。
解压分发版之后,进入该目录。 用下面的语句建立:
install.py -q build
当建立过程完成后,你可以用下面的命令运行测试:
test.py -v
它将给出与在Un*x/Linux下相同的输出。 当测试校验成功后,用以下的安装分发版:
install.py -q install
你现在完成Zope3的安装了。 接着进行前面章节的最后一步--创建一个实例并启动Zope。
注意:这样的安装zope3使得它很难被卸载,因为你必须手工地从许多个位置上,包括Python的Lib\site-packages\和Scripts\目录,删除文件/目录,以及完全的删除zopeskel\目录。 如果你使用Windows安装程序来代替,那么一个反安装程序将被提供并被注册到控制面板的"添加/删除程序"中。
安装二进制分发版
当前我们对于Windows仅仅提供二进制的发行版。这些发行版假定你已经安装了标准Windows Python发行版。Windows二进制的发行版是一个可执行文件,它将自动的执行安装程序。只要简单遵循屏幕上的安装向导,Zope3即可安装成功。你可以随后使用控制面板的"添加/删除程序"来卸载Zope3。