Commit 5778b4a7 authored by Amos Latteier's avatar Amos Latteier

Updated ZServer documentation. It probably needs a more complete overhaul, but his is a start.

parent 050782db
......@@ -6,13 +6,45 @@ ZServer Changes
Releases
Zope 2.0 ?
New Features
ZServer is now part of the standard Zope distribution.
ZServer is now a Python package. The change in the ZServer
package structure may break old ZServer start.py scripts. The
solution is to migrate to the new start script z2.py
The start script has significantly changed. start.py is now
deprecated. Use z2.py in the top level Zope directory instead.
z2.py provides lots more features than start.py and its easier
to use. Try z2.py -h for more information.
zinit.py is deprecated, and is replaced by zdeamon.py In
addition, z2.py will start zdeamon.py for you, so there is no
need to run zdeamon.py directly.
You no longer need to specify a DNS server to use ZServer.
ZServer now includes a secure monitor server. This server
provides you with a secure, remote python prompt!
ZServer now can be set to run as any uid, not just 'nobody'.
Bugs Fixed
ZServer should work better on win95 boxes without a network
connection now.
ZServer 1.0b1
New Features
Major code reorganization. Major architecture changes. Future
producers are gone. Use of special request and response objects
to do most of the heavy lifting.
producers are gone. Use of special request and response
objects to do most of the heavy lifting.
ZServer can now handle multiple HTTP requests per connection.
......@@ -32,7 +64,8 @@ ZServer Changes
Fixed FTP passive mode response message IP address.
Fixed multiple file upload problem where response gets out of synch.
Fixed multiple file upload problem where response gets out of
synch.
The log file is now not overwritten each time Zope starts.
......@@ -40,9 +73,10 @@ ZServer Changes
Known Bugs
PCGI under IIS 4.0 is broken with respect to file uploads, and binary
data in general. IIS seems to convert \n to \r\n in binary data :-(
This seems to be an IIS/PCGI issue, not a ZServer issue.
PCGI under IIS 4.0 is broken with respect to file uploads, and
binary data in general. IIS seems to convert \n to \r\n in
binary data :-( This seems to be an IIS/PCGI issue, not a
ZServer issue.
TODO
......
ZServer Installation
--------------------
Requirement
Requirements
You must have a very recent copy of Zope or at least ZPublisher
installed.
ZServer *does not* work with Zope 1.10.2. It requires some newer
features of Zope. You can either use the lastest Zope from CVS or
else get the latest ZPublisher package from CVS and use it with
your current Zope installation. Zope CVS information is available
at::
http://www.zope.org/Community/CVS_public_access
If this doesn't make sense to you, then wait until the next Zope
release to use ZServer. This release is still for hackers, sorry.
Installation
Untar and ungzip the ZServer tarball in your Zope directory. This
will create a 'ZServer' directory in your Zope directory.
ZServer comes with Zope 2. Though ZServer can be used with earlier
versions of Zope, this is not supported and not covered by this
document.
Configuration
To run ZServer you need to edit the start script to set your
configuration. In the future will will probably provide a customized
start script as part of the Zope installtion process.
To run ZServer you simply execute the z2.py start script which is
located in your Zope directory. You can pass commandline arguments
to the start script in order to run Zope with different options. In
order to see a list of options use the '-h' help option.
To edit the start up script, open 'ZServer/start.py' in your
favorite editor and change the configuration variables. If you
understand Medusa, you can also change the rest of the script.
Here's an example of use::
Finally make sure the shebang line is right on the 'start.py'
script. You can use your own copy of Python, or the copy that came
with Zope (if you are using a binary distribution).
$ python1.5.2 z2.py -w 8888 -f "" -p "" -m "" &
This example starts Zope using a web server on port 8888. It does
not start and FTP server, or a PCGI server, or a Monitor server. It
also starts the server running in the backaground.
Shell scripts and batch files
......@@ -48,7 +34,7 @@ Shell scripts and batch files
export ZOPE_DEBUG_MODE
PYTHONHOME=/home/Zope
export PYTHONHOME
/home/Zope/bin/python /home/Zope/Zserver/start.py &
/home/Zope/bin/python /home/Zope/z2.py -w 9673 &
Note: If ZServer fails because it can't find some standard Python
libaries there's a good bet that you need to set the PYTHONHOME as
......@@ -57,7 +43,8 @@ Shell scripts and batch files
Here's an example batch file::
set ZOPE_DEBUG_MODE=1
"\Program Files\Zope\bin\python" "\Program Files\Zope\ZServer\start.py"
"\Program Files\Zope\bin\python" "\Program Files\Zope\z2.py -w
8888 -f 8021"
Now you're ready to go.
......@@ -65,14 +52,15 @@ Starting ZServer
To start ZServer run the start script::
./start.py
$ python1.5.2 z2.py
To stop the server type 'control-c'.
Note: If you've created a shell script or batch file to run ZServer
use that instead.
You should see some Medusa information come up on the screen.
You should see some Medusa information come up on the screen as Zope
starts.
A log file will be written to the 'var' directory, named
'ZServer.log' by default.
......@@ -88,15 +76,15 @@ Using ZServer
This assumes that you have chosen to put HTTP on port 9673 and that
you are publishing a module named whose URL prefix is set to ''.
Note: to publish Zope normally you publish the 'lib/python/Main.py'
Note: to publish Zope normally you publish the 'lib/python/Zope.py'
module.
To access Zope via FTP you need to FTP to it at the port you set FTP
to run on. For example::
ftp www.example.com 8021
ftp www.example.com 9221
This opens a FTP session to your machine on port 8021, ZServer's
This opens a FTP session to your machine on port 9221, ZServer's
default FTP port. When you are prompted to log in you should supply
a Zope username and password. (Probably you should use an account
with the 'Manager' role, unless you have configured Zope to allow
......@@ -111,15 +99,18 @@ Using ZServer
to a directory where you have permissions before you can do
anything. See above for more information about logging into FTP.
Advanced Usage: zinit.py
Advanced Usage: zdeamon.py and the Zope NT service.
One problem you may notice with ZServer is that once the server is
shutdown, either through the web management interface, or by some
other means, it will not automatically be restarted. If you are used
to PCGI's process activation, this may seem annoying to you. One
solution to the problem of keeping ZServer running is zinit.py This
script allows for automatic restarting of ZServer under Unix. See
the source for more details.
other means, it will not automatically be restarted.
On windows you can use zdeamon.py to keep Zope running. Specifying
the '-Z' switch when starting Zope runs zdeamon.py on Unix. Zdeamon
will restart Zope when it Zope is restarted through the web, and in
case of an unexpected error.
On NT, use the Zope service for the same functionality.
Where to go from here
......
ZServer Release 1.0b1
---------------------
Welcome to the first Zope ZServer beta release. This release
provides a first look at Zope/Medusa integration, and introduces FTP
support in Zope.
ZServer README
--------------
What is ZServer?
......@@ -13,9 +9,9 @@ What is ZServer?
http://www.zope.org/Documentation/Reference/ZServer
ZServer gives you HTTP, FTP, WebDAV, and PCGI access. In later
releases it will probably offer more protocols such as FastCGI,
etc.
ZServer gives you HTTP, FTP, WebDAV, PCGI, and remote interactive
Python access. In later releases it will probably offer more
protocols such as FastCGI, etc.
What is Medusa?
......@@ -51,10 +47,10 @@ ZServer FTP support
Using FTP
To FTP into Zope, ZServer must be configured to serve FTP. By
default ZServer serves FTP on port 8021. So to connect to Zope you
default ZServer serves FTP on port 9221. So to connect to Zope you
would issue a command like so::
ftp localhost 8021
ftp localhost 9221
When logging in to FTP, you have some choices. You can connect
anonymously by using a username of 'anonymous' and any password.
......@@ -131,12 +127,17 @@ ZServer PCGI support
ZServer by setting the PCGI_PORT, PCGI_SOCKET_FILE, and PCGI_NAME.
The other PCGI settings are currently ignored by ZServer.
ZServer's PCGI support will work with mod_pcgi.
ZServer WebDAV support
WebDAV is a new protocol for managing web resources. WebDAV operates
over HTTP. Since WebDAV uses HTTP, ZServer doesn't really have to do
anything special, except stay out of Zope's way when handling WebDAV
requests.
The only major WebDAV client at this time is Internet Explorer 5. It
works with Zope.
Differences between ZopeHTTPServer and ZServer
......@@ -151,20 +152,8 @@ Differences between ZopeHTTPServer and ZServer
ZServer on the other hand is more complex and supports publishing
multiple modules, thread pools, and it uses a new threaded
architecture for accessing ZPublisher. Right now the thread pool is
limited to one thread, since the object database cannot yet support
concurrent access. This should change within the next few months.
Who should use ZServer?
This release is *beta* quality. It should be used by Zope hackers.
If you are not inquisitive and self-reliant, this release may
frustrate you.
architecture for accessing ZPublisher.
In later Zope releases, ZServer installation and stability will
improve and eventually ZServer will probably supplant
ZopeHTTPServer.
Running ZServer as nobody
Normally ZServer will run with the userid of the user who starts
......
......@@ -6,13 +6,45 @@ ZServer Changes
Releases
Zope 2.0 ?
New Features
ZServer is now part of the standard Zope distribution.
ZServer is now a Python package. The change in the ZServer
package structure may break old ZServer start.py scripts. The
solution is to migrate to the new start script z2.py
The start script has significantly changed. start.py is now
deprecated. Use z2.py in the top level Zope directory instead.
z2.py provides lots more features than start.py and its easier
to use. Try z2.py -h for more information.
zinit.py is deprecated, and is replaced by zdeamon.py In
addition, z2.py will start zdeamon.py for you, so there is no
need to run zdeamon.py directly.
You no longer need to specify a DNS server to use ZServer.
ZServer now includes a secure monitor server. This server
provides you with a secure, remote python prompt!
ZServer now can be set to run as any uid, not just 'nobody'.
Bugs Fixed
ZServer should work better on win95 boxes without a network
connection now.
ZServer 1.0b1
New Features
Major code reorganization. Major architecture changes. Future
producers are gone. Use of special request and response objects
to do most of the heavy lifting.
producers are gone. Use of special request and response
objects to do most of the heavy lifting.
ZServer can now handle multiple HTTP requests per connection.
......@@ -32,7 +64,8 @@ ZServer Changes
Fixed FTP passive mode response message IP address.
Fixed multiple file upload problem where response gets out of synch.
Fixed multiple file upload problem where response gets out of
synch.
The log file is now not overwritten each time Zope starts.
......@@ -40,9 +73,10 @@ ZServer Changes
Known Bugs
PCGI under IIS 4.0 is broken with respect to file uploads, and binary
data in general. IIS seems to convert \n to \r\n in binary data :-(
This seems to be an IIS/PCGI issue, not a ZServer issue.
PCGI under IIS 4.0 is broken with respect to file uploads, and
binary data in general. IIS seems to convert \n to \r\n in
binary data :-( This seems to be an IIS/PCGI issue, not a
ZServer issue.
TODO
......
ZServer Installation
--------------------
Requirement
Requirements
You must have a very recent copy of Zope or at least ZPublisher
installed.
ZServer *does not* work with Zope 1.10.2. It requires some newer
features of Zope. You can either use the lastest Zope from CVS or
else get the latest ZPublisher package from CVS and use it with
your current Zope installation. Zope CVS information is available
at::
http://www.zope.org/Community/CVS_public_access
If this doesn't make sense to you, then wait until the next Zope
release to use ZServer. This release is still for hackers, sorry.
Installation
Untar and ungzip the ZServer tarball in your Zope directory. This
will create a 'ZServer' directory in your Zope directory.
ZServer comes with Zope 2. Though ZServer can be used with earlier
versions of Zope, this is not supported and not covered by this
document.
Configuration
To run ZServer you need to edit the start script to set your
configuration. In the future will will probably provide a customized
start script as part of the Zope installtion process.
To run ZServer you simply execute the z2.py start script which is
located in your Zope directory. You can pass commandline arguments
to the start script in order to run Zope with different options. In
order to see a list of options use the '-h' help option.
To edit the start up script, open 'ZServer/start.py' in your
favorite editor and change the configuration variables. If you
understand Medusa, you can also change the rest of the script.
Here's an example of use::
Finally make sure the shebang line is right on the 'start.py'
script. You can use your own copy of Python, or the copy that came
with Zope (if you are using a binary distribution).
$ python1.5.2 z2.py -w 8888 -f "" -p "" -m "" &
This example starts Zope using a web server on port 8888. It does
not start and FTP server, or a PCGI server, or a Monitor server. It
also starts the server running in the backaground.
Shell scripts and batch files
......@@ -48,7 +34,7 @@ Shell scripts and batch files
export ZOPE_DEBUG_MODE
PYTHONHOME=/home/Zope
export PYTHONHOME
/home/Zope/bin/python /home/Zope/Zserver/start.py &
/home/Zope/bin/python /home/Zope/z2.py -w 9673 &
Note: If ZServer fails because it can't find some standard Python
libaries there's a good bet that you need to set the PYTHONHOME as
......@@ -57,7 +43,8 @@ Shell scripts and batch files
Here's an example batch file::
set ZOPE_DEBUG_MODE=1
"\Program Files\Zope\bin\python" "\Program Files\Zope\ZServer\start.py"
"\Program Files\Zope\bin\python" "\Program Files\Zope\z2.py -w
8888 -f 8021"
Now you're ready to go.
......@@ -65,14 +52,15 @@ Starting ZServer
To start ZServer run the start script::
./start.py
$ python1.5.2 z2.py
To stop the server type 'control-c'.
Note: If you've created a shell script or batch file to run ZServer
use that instead.
You should see some Medusa information come up on the screen.
You should see some Medusa information come up on the screen as Zope
starts.
A log file will be written to the 'var' directory, named
'ZServer.log' by default.
......@@ -88,15 +76,15 @@ Using ZServer
This assumes that you have chosen to put HTTP on port 9673 and that
you are publishing a module named whose URL prefix is set to ''.
Note: to publish Zope normally you publish the 'lib/python/Main.py'
Note: to publish Zope normally you publish the 'lib/python/Zope.py'
module.
To access Zope via FTP you need to FTP to it at the port you set FTP
to run on. For example::
ftp www.example.com 8021
ftp www.example.com 9221
This opens a FTP session to your machine on port 8021, ZServer's
This opens a FTP session to your machine on port 9221, ZServer's
default FTP port. When you are prompted to log in you should supply
a Zope username and password. (Probably you should use an account
with the 'Manager' role, unless you have configured Zope to allow
......@@ -111,15 +99,18 @@ Using ZServer
to a directory where you have permissions before you can do
anything. See above for more information about logging into FTP.
Advanced Usage: zinit.py
Advanced Usage: zdeamon.py and the Zope NT service.
One problem you may notice with ZServer is that once the server is
shutdown, either through the web management interface, or by some
other means, it will not automatically be restarted. If you are used
to PCGI's process activation, this may seem annoying to you. One
solution to the problem of keeping ZServer running is zinit.py This
script allows for automatic restarting of ZServer under Unix. See
the source for more details.
other means, it will not automatically be restarted.
On windows you can use zdeamon.py to keep Zope running. Specifying
the '-Z' switch when starting Zope runs zdeamon.py on Unix. Zdeamon
will restart Zope when it Zope is restarted through the web, and in
case of an unexpected error.
On NT, use the Zope service for the same functionality.
Where to go from here
......
ZServer Release 1.0b1
---------------------
Welcome to the first Zope ZServer beta release. This release
provides a first look at Zope/Medusa integration, and introduces FTP
support in Zope.
ZServer README
--------------
What is ZServer?
......@@ -13,9 +9,9 @@ What is ZServer?
http://www.zope.org/Documentation/Reference/ZServer
ZServer gives you HTTP, FTP, WebDAV, and PCGI access. In later
releases it will probably offer more protocols such as FastCGI,
etc.
ZServer gives you HTTP, FTP, WebDAV, PCGI, and remote interactive
Python access. In later releases it will probably offer more
protocols such as FastCGI, etc.
What is Medusa?
......@@ -51,10 +47,10 @@ ZServer FTP support
Using FTP
To FTP into Zope, ZServer must be configured to serve FTP. By
default ZServer serves FTP on port 8021. So to connect to Zope you
default ZServer serves FTP on port 9221. So to connect to Zope you
would issue a command like so::
ftp localhost 8021
ftp localhost 9221
When logging in to FTP, you have some choices. You can connect
anonymously by using a username of 'anonymous' and any password.
......@@ -131,12 +127,17 @@ ZServer PCGI support
ZServer by setting the PCGI_PORT, PCGI_SOCKET_FILE, and PCGI_NAME.
The other PCGI settings are currently ignored by ZServer.
ZServer's PCGI support will work with mod_pcgi.
ZServer WebDAV support
WebDAV is a new protocol for managing web resources. WebDAV operates
over HTTP. Since WebDAV uses HTTP, ZServer doesn't really have to do
anything special, except stay out of Zope's way when handling WebDAV
requests.
The only major WebDAV client at this time is Internet Explorer 5. It
works with Zope.
Differences between ZopeHTTPServer and ZServer
......@@ -151,20 +152,8 @@ Differences between ZopeHTTPServer and ZServer
ZServer on the other hand is more complex and supports publishing
multiple modules, thread pools, and it uses a new threaded
architecture for accessing ZPublisher. Right now the thread pool is
limited to one thread, since the object database cannot yet support
concurrent access. This should change within the next few months.
Who should use ZServer?
This release is *beta* quality. It should be used by Zope hackers.
If you are not inquisitive and self-reliant, this release may
frustrate you.
architecture for accessing ZPublisher.
In later Zope releases, ZServer installation and stability will
improve and eventually ZServer will probably supplant
ZopeHTTPServer.
Running ZServer as nobody
Normally ZServer will run with the userid of the user who starts
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment