Permalink
Browse files

edit

  • Loading branch information...
1 parent bc0f2c3 commit d09d38323e3caea2b273c875e8e6e04b85be845d @ohsc ohsc committed with anandology Jan 20, 2010
Showing with 45 additions and 0 deletions.
  1. +45 −0 cookbook/cgi-apache.zh-cn.md
@@ -0,0 +1,45 @@
+---
+layout: default
+title: CGI deployment on Apache
+---
+
+# CGI deployment on Apache
+
+Here are the simple steps needed to create and run an web.py application.
+
+* Install web.py and flups
+
+* Create the application as documented
+
+ if __name__ == "__main__":
+ web.run(urls, globals())
+
+For our example, let it be named `app.py`, located in `/www/app` and we need it accessible as `http://server/app/app.py`.
+
+* Configure Apache (version 2.2 in this example)
+
+ ScriptAlias /app "/www/app/"
+ <Directory "/www/app/">
+ Options +ExecCGI +FollowSymLinks
+ Order allow,deny
+ Allow from all
+ </Directory>
+
+That's it. Your application is accessible via `http://server/app/app.py/`. Additional URLs handled by the application are added to the end of the URL, for examples `http://server/app/app.py/myurl`.
+
+* .htaccess configuration
+
+ Options +ExecCGI
+ AddHandler cgi-script .py
+ DirectoryIndex index.py
+ <IfModule mod_rewrite.c>
+ RewriteEngine on
+ RewriteBase /
+ RewriteCond %{REQUEST_FILENAME} !-f
+ RewriteCond %{REQUEST_FILENAME} !-d
+ RewriteCond %{REQUEST_URI} !^/favicon.ico$
+ RewriteCond %{REQUEST_URI} !^(/.*)+index.py/
+ RewriteRule ^(.*)$ index.py/$1 [PT]
+ </IfModule>
+
+Here it is assumed that your application is called index.py. The above htaccess checks if some static file/directory exists failing which it routes the data to your index.py. Change the Rewrite Base to a sub-directory if needed.

0 comments on commit d09d383

Please sign in to comment.