当前位置:Linux教程 - Linux综合 - zope 学习笔记

zope 学习笔记

  看着论坛上的高手们发表的帖子,经常想自己什么时候也能写一些这样的帖子呢? 用Zope构件web服务是一个比较新的技术,最近想搞个电子商务的网站.反正又没有客户,自己玩玩的,就选了这个技术.国内资料并不多,所以基本上是模着石头过河,我也只是初学.这仅当是自己的学习笔记吧.第一次写,大家多提意见阿. 运行环境:althon 650+196M+freebsd 5.2+ zope2.6.2 一 安装zope 我用的是freebsd,用ports collection装的. 具体安装不再讨论之内. 二 必要的设置 更改Zope站点实例的位置,这是我使用zope面临的第一个问题,zope装好以后就可以使用(当然还要改一下var的权限,下面再讲),但是实例是在 zope的安装目录下的,我的是/usr/locla/www/Zope/.对于大型的网站这当然不行.所以要更改实例的位置.同时还应该为网站专门设立一个专门的用户. 看看我的做法: 首先建立一个用户,我的是webroot,最好让他属于wheel组,可以用su切换用户,这样调试起来比较方便. 用make_instance创建实例. zope有一些用于配制的实用程序,在安装目录的inst目录下有一个make_instance.py,可以在指定目录创建一个实例 代码: cd /usr/local/www/Zope/inst/ python make_instance.py 引用: The instance home is the Directory from which you will run Zope. Several instance homes, each with their own data and configuration, can share one copy of Zope. Instance home [/usr/local/www/Zope]: /home/www/site2 '/home/www/site2' does not exist. Shall I create it [y]? y Created. Created 'Extensions' directory. Created 'import' directory. Created 'ProdUCts' directory. Created 'var' directory. Created default database ------------------------------------------------------------------------------ Now to create a starting user. Leave the username blank if you want to skip this step. ------------------------------------------------------------------------------ Please choose a username and passWord. This will create the initial user with which you manage Zope. Username: webroot Password: Verify password: chmod 0644 /home/www/site2/inituser 冒号后面是要输入的东西.先是创建实例的路径"/home/www/site2",没有这个目录,提示是否建立,打"y",然后是zope管例员的名字、密码.这里的管理员不是freebsd里的用户,而是在Zope内部的管理员,以后登陆ZMI(Zope Management Interface)时要用到. 然后要将实例目录中的var目录改为root拥有, 代码: su cd /home/www/site2 chown -R root var 改var的mod 代码: chmod -R 1777 var 这样改的原因Zope Book上有说明. 启动zope前必须设置环境变量INSTANCE_HOME,指向实例的目录 代码: eXPort INSTANCE_HOME=/home/www/site2 然后启动zope,以root用-u指定运行时的用户.我以一般用户身份启动zope没成功过,显示
[1] [2] 下一页 

引用: -bash-2.05b$ /usr/local/www/Zope/start /usr/local/www/Zope/start: Can't open /usr/local/www/Zope/start: Permission denied 以root身份 引用: su-2.05b# /usr/local/www/Zope/start -u webroot ------ 2004-01-30T23:03:37 INFO(0) zdaemon Started subprocess: pid 821 ------ 2004-01-30T23:03:41 INFO(0) ZODB Opening database for mounting: '146941056_1075330297.506043' ------ 2004-01-30T23:03:41 INFO(0) ZODB Mounted database '146941056_1075330297.506043' at /temp_folder ------ 2004-01-30T23:03:41 INFO(0) ZServer HTTP server started at Fri Jan 30 23:03:41 2004 Hostname: hydrogen.lan Port: 8080 ------ 2004-01-30T23:03:41 INFO(0) ZServer FTP server started at Fri Jan 30 23:03:41 2004 Hostname: hydrogen.lan Port: 8021 ------ 2004-01-30T23:03:41 INFO(0) ZServer PCGI Server started at Fri Jan 30 23:03:41 2004 Unix socket: /usr/local/www/Zope/var/pcgi.soc 然后就就停在那里了.用浏览器试试,我在内网用windows看http://10.0.0.22:8080/就是zope的欢迎页.需要注意的是zope默认的web服务是在8080端口的. 停止服务ctrl+c就行了. 如果要真正对这个zope实例进行修改的话,应该使实例目录由-u指定的目录拥有, 确认一些是否如此,否则以后实用会出现文件不能修改等问题. 可以在修改var属性之前先 代码: chown -R webroot /home/www/site2 接着让开机时就运行zope,我装完zope的时候在/usr/local/etc/rc.d下已经有一个zope.sh.sample脚本了,以这个脚本为蓝本,下面是我的zope.sh,可以自己修改参数 代码: su-2.05b# cat /usr/local/etc/rc.d/zope.sh #!/bin/sh #you can change it begin export ZOPEROOT=webroot export INSTANCE_HOME=/home/www/site1 #you can change it end case "$1" in start) umask 077 nohup /usr/local/www/Zope/start \ -w 80 \ -f 21 \ -m '' \ -u $ZOPEROOT \ -p /usr/local/www/cgi-bin/Zope.cgi \ >> $INSTANCE_HOME/zope-output 2>&1 & echo -n " Zope" ;; stop) /usr/local/www/Zope/stop echo -n " Zope" ;; *) echo "Usage: `basename $0` {startstop}" >&2 ;; esac exit 0 这样zope服务器就基本配成了.

(出处:http://www.sheup.com)


上一页 [1] [2] 

umask 077 nohup /usr/local/www/Zope/start \ -w 80 \ -f 21 \ -m '' \ -u $ZOPEROOT \ -p /usr/local/www/cgi-bin/Zope.cgi \ >> $INSTANCE_HOME/zope-output 2>&1 & echo -n " Zope" ;; stop) /usr/local/www/Zope/stop echo -n " Zope" ;; *) echo "Usage: `basename $0` {startstop}" >&2 ;; esac exit 0 这样zope服务器就基本配成了.

(出处:http://www.sheup.com)


上一页 [1] [2] [3]