• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • zope 學習筆記1

    發表于:2007-05-25來源:作者:點擊數: 標簽:
    看著論壇上的高手們發表的帖子,經常想自己什么時候也能寫一些這樣的帖子呢? 用Zope構件web服務是一個比較新的技術,最近想搞個電子商務的網站.反正又沒有客戶,自己玩玩的,就選了這個技術.國內資料并不多,所以基本上是模著石頭過河,我也只是初學.這僅當是自己

    看著論壇上的高手們發表的帖子,經常想自己什么時候也能寫一些這樣的帖子呢?

    用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,可以在指定目錄創建一個實例
    [code:1:23cf35b83e]
    cd /usr/local/www/Zope/inst/
    python make_instance.py
    [/code:1:23cf35b83e]

    [quote:23cf35b83e]
    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
    [/quote:23cf35b83e]
    冒號后面是要輸入的東西.先是創建實例的路徑"/home/www/site2",沒有這個目錄,提示是否建立,打"y",然后是zope管理員的名字、密碼.這里的管理員不是freebsd里的用戶,而是在Zope內部的管理員,以后登陸ZMI(Zope Management Interface)時要用到.

    然后要將實例目錄中的var目錄改為root擁有,
    [code:1:23cf35b83e]
    su
    cd /home/www/site2
    chown -R root var
    [/code:1:23cf35b83e]
    改var的mod
    [code:1:23cf35b83e]
    chmod -R 1777 var
    [/code:1:23cf35b83e]
    這樣改的原因Zope Book上有說明.

    啟動zope前必須設置環境變量INSTANCE_HOME,指向實例的目錄
    [code:1:23cf35b83e]
    export INSTANCE_HOME=/home/www/site2
    [/code:1:23cf35b83e]
    然后啟動zope,以root用-u指定運行時的用戶.我以一般用戶身份啟動zope沒成功過,顯示
    [quote:23cf35b83e]
    -bash-2.05b$ /usr/local/www/Zope/start 
    /usr/local/www/Zope/start: Can't open /usr/local/www/Zope/start: Permission denied
    [/quote:23cf35b83e]

    以root身份
    [quote:23cf35b83e]
    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
    [/quote:23cf35b83e]
    然后就就停在那里了.用瀏覽器試試,我在內網用windows看http://10.0.0.22:8080/就是zope的歡迎頁.需要注意的是zope默認的web服務是在8080端口的.
    停止服務ctrl+c就行了.

    如果要真正對這個zope實例進行修改的話,應該使實例目錄由-u指定的目錄擁有,
    確認一些是否如此,否則以后實用會出現文件不能修改等問題.
    可以在修改var屬性之前先
    [code:1:23cf35b83e]
    chown -R webroot /home/www/site2
    [/code:1:23cf35b83e]


    接著讓開機時就運行zope,我裝完zope的時候在/usr/local/etc/rc.d下已經有一個zope.sh.sample腳本了,以這個腳本為藍本,下面是我的zope.sh,可以自己修改參數
    [code:1:23cf35b83e]
    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&nb;'''' \
                   -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` {start|stop}" >&2
            ;;
    esac
     
    exit 0
     
    [/code:1:23cf35b83e]

    這樣zope服務器就基本配成了.


    [未完代續]

    <
     jhsea3do 回復于:2004-01-31 12:08:17
    ZOPE是個好東西啊~ :em06:

     hoxide 回復于:2004-01-31 22:16:36
    有點錯誤改正了一下

     techwolf 回復于:2004-02-04 11:21:37
    待續中。
    加油。

    原文轉自:http://www.kjueaiud.com

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>