home *** CD-ROM | disk | FTP | other *** search
/ The Datafile PD-CD 5 / DATAFILE_PDCD5.iso / utilities / p / python / pyhtmldoc / i / installing < prev    next >
Text File  |  1996-11-14  |  2KB  |  45 lines

  1. <TITLE>Installing your CGI script on a Unix system -- Python library reference</TITLE>
  2. Next: <A HREF="../t/testing_your_cgi_script" TYPE="Next">Testing your CGI script</A>  
  3. Prev: <A HREF="../c/caring_about_security" TYPE="Prev">Caring about security</A>  
  4. Up: <A HREF="../c/cgi" TYPE="Up">cgi</A>  
  5. Top: <A HREF="../t/top" TYPE="Top">Top</A>  
  6. <H2>10.1.6. Installing your CGI script on a Unix system</H2>
  7. Read the documentation for your HTTP server and check with your local
  8. system administrator to find the directory where CGI scripts should be
  9. installed; usually this is in a directory <CODE>cgi-bin</CODE> in the server tree.
  10. <P>
  11. Make sure that your script is readable and executable by ``others''; the
  12. Unix file mode should be 755 (use <CODE>chmod 755 filename</CODE>).  Make sure
  13. that the first line of the script contains <CODE>#!</CODE> starting in column 1
  14. followed by the pathname of the Python interpreter, for instance:
  15. <P>
  16. <UL COMPACT><CODE>    #!/usr/local/bin/python<P>
  17. </CODE></UL>
  18. Make sure the Python interpreter exists and is executable by ``others''.
  19. <P>
  20. Make sure that any files your script needs to read or write are
  21. readable or writable, respectively, by ``others'' -- their mode should
  22. be 644 for readable and 666 for writable.  This is because, for
  23. security reasons, the HTTP server executes your script as user
  24. ``nobody'', without any special privileges.  It can only read (write,
  25. execute) files that everybody can read (write, execute).  The current
  26. directory at execution time is also different (it is usually the
  27. server's cgi-bin directory) and the set of environment variables is
  28. also different from what you get at login.  in particular, don't count
  29. on the shell's search path for executables (<CODE>$PATH</CODE>) or the Python
  30. module search path (<CODE>$PYTHONPATH</CODE>) to be set to anything interesting.
  31. <P>
  32. If you need to load modules from a directory which is not on Python's
  33. default module search path, you can change the path in your script,
  34. before importing other modules, e.g.:
  35. <P>
  36. <UL COMPACT><CODE>    import sys<P>
  37.     sys.path.insert(0, "/usr/home/joe/lib/python")<P>
  38.     sys.path.insert(0, "/usr/local/lib/python")<P>
  39. </CODE></UL>
  40. (This way, the directory inserted last will be searched first!)
  41. <P>
  42. Instructions for non-Unix systems will vary; check your HTTP server's
  43. documentation (it will usually have a section on CGI scripts).
  44. <P>
  45.