Differences between revisions 3 and 4
Revision 3 as of 2007-03-06 14:17:05
Size: 1813
Editor: ZoomQuiet
Comment:
Revision 4 as of 2007-03-06 14:24:34
Size: 4053
Editor: ZoomQuiet
Comment:
Deletions are marked like this. Additions are marked like this.
Line 20: Line 20:
<VirtualHost 210.192.102.145:80> <VirtualHost *:80>
Line 53: Line 53:
 * 完成 `obp.fcgi`
{{{#!/bin/bash

# Replace these three settings.
PROJDIR="/usr/local/www/data/obp/trunk/openbookplatform"
PIDFILE="$PROJDIR/obp.pid"
SOCKET="$PROJDIR/obp.sock"

cd $PROJDIR
if [ -f $PIDFILE ]; then
kill `cat -- $PIDFILE`
rm -f -- $PIDFILE
fi

exec /usr/bin/env - \
PYTHONPATH="../python:.." \
./manage.py runfcgi socket=$SOCKET pidfile=$PIDFILE
}}}
 * 配置apache
{{{
FastCGIExternalServer /usr/local/www/data/obp/trunk/openbookplatform/obp.fcgi -host 127.0.0.1:3033
<VirtualHost *:80>
    ServerName obp.zoomquiet.org
...
    RewriteEngine On
    #RewriteBase /
    RewriteLogLevel 1
    RewriteLog "/var/log/httpd/rewrite.log"
    RewriteRule ^/(media.*)$ /usr/local/www/data/obp/trunk/openbookplatform/media/$1 [QSA,L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^/(.*)$ /obp.fcgi/$1 [QSA,L]
...
}}}
=== 结果 ===
重启 apache 成功
 * 但是 http://obp.zoomquiet.org/ 访问
{{{
Forbidden

You don't have permission to access /openbookplatform on this server.
}}}
Line 56: Line 97:
 * 完成 `django.fsgi`{{{#!/usr/local/bin/python
import sys, os
sys.path = ['',
 '/usr/local/www/data/obp/trunk',
 '/usr/local/www/data/obp/trunk/openbookplatform'] + sys.path

# Set the DJANGO_SETTINGS_MODULE environment variable.
os.environ['DJANGO_SETTINGS_MODULE'] = "settings"

from django.core.servers.fastcgi import runfastcgi
runfastcgi(["method=threaded", "daemonize=false", "pidfile=pidfile"])
}}}
 * 配置apache
{{{
<VirtualHost *:80>
    ServerName obp.zoomquiet.org
...
    RewriteEngine On
    #RewriteBase /
    RewriteLogLevel 1
    RewriteLog "/var/log/httpd/rewrite.log"
    
    Alias /openbookplatform "/usr/local/www/data/obp/trunk/openbookplatform"
    <Directory "/usr/local/www/data/obp/trunk/openbookplatform">
        AddHandler fcgid-script .fcgi
        Options +FollowSymLinks +ExecCGI
        RewriteEngine On
        RewriteBase /
        RewriteCond %{REQUEST_FILENAME} !-f
        RewriteRule ^(.*)$ django.fcgi/$1 [QSA,L]
    </Directory>
}}}

=== 结果 ===
重启 apache 成功
 * 但是 http://obp.zoomquiet.org/openbookplatform 访问
{{{
Forbidden

You don't have permission to access /openbookplatform on this server.
}}}

继续研究尝试 ::-- ZoomQuiet [DateTime(2007-03-06T14:14:46Z)] TableOfContents

1. apache+fastcgi

1.1. 准备

  • 因为需要将 SVN 通过 HTTP 进行发布,所以 Lighttpd 无法进行转移到 apache22

{{{#确保以下模块安装成功 LoadModule dav_module libexec/apache22/mod_dav.so LoadModule dav_svn_module libexec/apache22/mod_dav_svn.so LoadModule authz_svn_module libexec/apache22/mod_authz_svn.so }}}

  • 配置apache

    <VirtualHost *:80>
        ServerName obp.zoomquiet.org
        DocumentRoot /path/to/web/site/root/htdocs
        <Directory "/path/to/web/site/root/htdocs">
           Options Indexes FollowSymLinks
           AllowOverride None
           Order allow,deny
           Allow from all
        </Directory>   
    
        #Zoomq::070306 for SVN repos
        <Location /svn>  
            DAV svn
            SVNParentPath /usr/local/repos
            # our access control policy
            AuthzSVNAccessFile /usr/local/repos/matter/conf/authz.cfg
            # try anonymous access first, resort to real 
            # authentication if necessary.
            Satisfy Any
            Require valid-user
            # how to authenticate a user
            AuthType Basic
            AuthName "zoomquiet.org repository"
            AuthUserFile /usr/local/repos/svn.htpasswd
            SVNIndexXSLT "/svnindex.xsl"
        </Location>
    </VirtualHost>

1.2. Django 方式

{{{#!/bin/bash

# Replace these three settings. PROJDIR="/usr/local/www/data/obp/trunk/openbookplatform" PIDFILE="$PROJDIR/obp.pid" SOCKET="$PROJDIR/obp.sock"

cd $PROJDIR if [ -f $PIDFILE ]; then kill cat -- $PIDFILE rm -f -- $PIDFILE fi

exec /usr/bin/env - \ PYTHONPATH="../python:.." \ ./manage.py runfcgi socket=$SOCKET pidfile=$PIDFILE }}}

  • 配置apache

FastCGIExternalServer /usr/local/www/data/obp/trunk/openbookplatform/obp.fcgi -host 127.0.0.1:3033
<VirtualHost *:80>
    ServerName obp.zoomquiet.org
...
    RewriteEngine On
    #RewriteBase /
    RewriteLogLevel 1
    RewriteLog "/var/log/httpd/rewrite.log"
    RewriteRule ^/(media.*)$ /usr/local/www/data/obp/trunk/openbookplatform/media/$1 [QSA,L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^/(.*)$ /obp.fcgi/$1 [QSA,L]
...

1.2.1. 结果

重启 apache 成功

Forbidden

You don't have permission to access /openbookplatform on this server.

1.3. 51boo方式

  • 参考 [:ObpLatform/2007-02-24:limodou的配置]
  • 完成 django.fsgi{{{#!/usr/local/bin/python

import sys, os sys.path = [,

  • '/usr/local/www/data/obp/trunk', '/usr/local/www/data/obp/trunk/openbookplatform'] + sys.path

# Set the DJANGO_SETTINGS_MODULE environment variable. os.environ['DJANGO_SETTINGS_MODULE'] = "settings"

from django.core.servers.fastcgi import runfastcgi runfastcgi(["method=threaded", "daemonize=false", "pidfile=pidfile"]) }}}

  • 配置apache

<VirtualHost *:80>
    ServerName obp.zoomquiet.org
...
    RewriteEngine On
    #RewriteBase /
    RewriteLogLevel 1
    RewriteLog "/var/log/httpd/rewrite.log"
    
    Alias /openbookplatform "/usr/local/www/data/obp/trunk/openbookplatform"
    <Directory "/usr/local/www/data/obp/trunk/openbookplatform">
        AddHandler fcgid-script .fcgi
        Options +FollowSymLinks +ExecCGI
        RewriteEngine On
        RewriteBase /
        RewriteCond %{REQUEST_FILENAME} !-f
        RewriteRule ^(.*)$ django.fcgi/$1 [QSA,L]
    </Directory>   

1.3.1. 结果

重启 apache 成功

Forbidden

You don't have permission to access /openbookplatform on this server.

2. 反馈

PageComment2

ObpLatform/2007-03-06 (last edited 2009-12-25 07:15:49 by localhost)