歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux綜合 >> Linux資訊 >> 更多Linux >> zope 學習筆記

zope 學習筆記

日期:2017/2/27 14:19:00   编辑:更多Linux
  看著論壇上的高手們發表的帖子,經常想自己什麼時候也能寫一些這樣的帖子呢? 用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沒成功過,顯示


引用: -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服務器就基本配成了.



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服務器就基本配成了.



Copyright © Linux教程網 All Rights Reserved