Installing and Starting Zope
By the end of this chapter you should be able to install and start Zope. It's fairly easy to install Zope on most platforms, and it should typically take you no longer than ten minutes.
Anonymous User - Aug. 26, 2004 11:45 am: If I am reading the document from the front, then I am not yet ready for you to start telling me the mechanics of "what buttons to push and what commands to type and what installers to run" to install the thing. I'm still in the process of trying to decide -if- I want to install the thing. I want to know what changes it makes to my system; what processes it runs, what privileges are needed. What software (DBMSes etc) it is compatible with and so on. In other words, "Waitaminute, buster, you're not done with the foreplay yet!" ;-) ;-) :-D
Anonymous User - Aug. 26, 2004 11:51 am: At our company we use a public hosting-service for our web site and have no intention of taking this "in house." Therefore, either: 1.. the hosting service will have to consent to run Zope; or 2.. we must switch to a hosting service that already does; or 3.. we must run the Zope server on one of our machines and link it to the web host's system. All of these scenarios are not only non-trivial; but not discussed.
Anonymous User - Sep. 2, 2004 6:52 pm: I have almost one month trying to learn Zope. First of all, I would like to see a "Zope for dummies" or "Teach yourself in 24 hrs." book. I'm very disappointed with this tool. I have to install it twice before it could run, it doesn't install the service well, so I have to learn how to do it manually. The documentation is a fake, is not deep enough to my taste, no exhaustive examples, etc. I know the guys who work on it, maybe doesn't have a lot of time to write. It's just I would like to explain my boss, that is impossible to learn quickly this tool and start to develop applications with Zope. It take me a month to understand and start to use Java (including Apps, Servlets, EJB, etc.) on my last job, but this one... I don't know... I have a lot of questions but no answers. :(
Anonymous User - Sep. 8, 2004 6:33 am: This make the difference between you and a professional user. Learning zope is not an hobby for 24 hours, it is an investment. Make sure you belong to the professional League: zope is not a toy. Best reguards Nicolas Windt
Anonymous User - Feb. 2, 2005 3:17 am: where can i get my questions answered straight to the point? some people just go around the bush and not answering my questions in plain english.
Anonymous User - Feb. 14, 2005 6:31 pm: Please this is not a your better than they are thing. You can be a professional and that does not mean a damn thing. Productivity does when its the bottom line. What they are refering to since you have not a clue. Is the epidemic in the open source movement of lack of documentation or over complicated explainations by the egg heads that come up with this stuff. It only further diminstrates they my be smart to come up with this stuff but are inept at being able to explain it to anyone else but an egg head. If your product is to succed for the masses you better be able to explain it to them. Or you going to get passed up by someone who can. You are productive the faster and easier it is to get up and running. Companies do not have the time or money to waste on training or gettting the training for there employees. The easier a product is to train, use, understand, ect.. the better. My company has bybassed open sourced tools before for the simple reason of documentation on how to and support. It cost them far less in the long run than to wait for an employee to learn the tool than to rely on commercial tools. get real!
Anonymous User - Feb. 18, 2005 3:34 pm: I would like to say to the comment above. Open source tools are not for everyone(well actually they are, but they do not fit everyone's idea of what a tool should be). Some people prefer the instant gratification that comes with getting things running faster and easier, but that does not in any way imply that they are more productive just because they got visible results quicker. If you truly believe that this statement is accurate: "You are productive the faster and easier it is to get up and running." then I would agree that open source tools are not for you. However once you begin to see the immense cost that maintanence brings to the table, suddenly your narrow definition productivity starts to fail. Sure you can have a windows administrator get a webserver and other proprietary software up and running in a matter of a few days and seem very productive. However that person must then spend many hours maintaning it, as any windows administrator will tell you(and I can tell you from my own experiences). In addition to keeping it running, they will have to try to adapt the very rigid and immutable software to get it to provide whatever functionality you need(which sometimes may be impossible and will force many more hours of workarounds or re-planning). On the other hand you could have an linux/gnu administrator spend 15 days or even a month being trained to administer an open source web server that has repeatedly shown to have higher reliability, a faster patch cycle, and is often designed and written by users who have a good idea of what functionality might be needed. If some needed functionality is missing then someone(or yourself) can add that functionality by writing your own add-on. While I have never had the time to do this, I have definitely enjoyed the many open source mods and add-ins that have come after an initial software package was released. Once the initial idea/software gets out there, everyone is free to change and add to it, making it(in my opinion atleast, don't think this has been proven) much more likely to fit whatever needs one might have. IT infrastructure is an investment, and anyone who can't pay the $40 for a good book and won't allow their IT staff to take some time to learn these tools is not looking at it with the right scope. I can understand why managers don't understand the nature of open source software and are hesitant to use it, because it can be a consideral time investment, however I would argue that that is a management problem due to lack of vision and not a problem with OSS's inability to get up and running quickly and easily. If you don't realize what a bargain their software is being free and flexible, and instead demand it to be packaged in a nice little one-size-fits-all-box, I don't think they are trying to win you as a consumer and will be happy to continue to provide their work to those who understand sometimes investing time and effort pays off.
Anonymous User - Mar. 8, 2005 3:00 pm: To all the people who complainted above, stop crying about how this manual is insufficient for your need or it does not spell out a b x y and z. The manual CANNOT do your job for you. If you want a manual to do spell out what your specific needs are, get a government job or ask Bill Gates. The manual is only a guide. It's a guide. It's a guide. Repeat after me... That is why you are paid the big bucks - to figure out how to implement it. Someone already created this application and even wrote a manual for you and you are still crying that someone didn't do your job for you.
Anonymous User - Apr. 19, 2005 4:44 pm: Yea, well, I just wasted a slot in my O'Reilly bookshelf on this piece of garbage. Right out of the door the docs are wrong. Bad style. For all you who say "stop crying" grow up and get a real job. I am a professional, and I don't waste my (expensive) time on products that can't even get the install doc correct. Life is way to short to waste on this nonsense...
Anonymous User - Apr. 22, 2005 7:22 pm: I have to agree. I'm just getting into Zope (as my friend says, "Zope is dope!"), but coming from the PHP world (I have a feeling that's the "P-word" around here), I guess I have been spoiled by that OPEN SOURCE tool's EXCELLENT documentation. Maybe it's just a more mature language and good documentation takes time? In any case, if the developers of Zope are serious about spreading the "gospel," it might make sense to make sure it's not written in ancient Hebrew....
Anonymous User - May 28, 2005 11:39 am: The comments are annoying! After 'COM OFF', then '->', I have them again, now with 'COM ON'. Just to let you know. And: it's enough. bye, Zope
Anonymous User - May 31, 2005 2:05 pm: Im going to go ahead and add my 2 cents to this discussion... I have been trying to decide if zope is worth my time or not for a WHILE. I am currently developing in PHP it works, its fast, it supports OOP and sometimes it even makes me happy. I don't like how you have to repeat things for different cases and how much work it is to bring in common repeating features. Zope seems to handle many things better but for the life of me I cant get it to do anything worth writing home about. So I'd love to know any one with a better document to explain how to use it. Point blank, I wan't to use zope or at lease know if its for me. But I can not. IMO Open source is great, and once you get the hang of it, its very effective. It is not for every one, I for example think java is wasting corperate dollars and people could be using a far more efficient language but its what people feel comfortable in, so let them be. Zope is where others are happy, I guess although I'd love to know how they learned how to use it. PHP makes sense for me, I also know python, which makes zope a great jump for me. Heres the deal, ZOPE needs a documenting group/wiki or its worthless. Lets start one if we have to.
Anonymous User - June 11, 2005 12:06 am: My 2 cents... It took my 8 hours to learn Zope to a level that I would feel comfortable developing enterprise level applications. Of course I was comfortable with OOP and Python before starting. Also I've written an OO CMS using PHP/MySQL so I'm fairly familiar with web development. If you are struggling to learn Zope, you might brush up on object-oriented concepts before you start blaming Zope. Zope is not like traditional web development and that is what makes it good.
shodgen - June 28, 2005 2:11 pm: Alright, not certain if adding to this thread is a good idea, but I'll put in my two cents anway. First, Zope is one of the coolest web-dev tools around. period. Open Source software, like everything humans do, has it's strenths and weaknesses. due to a radically different development approach, spotty documenation is one of the weaknesses The fact that this incredible application has documentation at all, above an beyond a man page, is a testiment to how well this application is supported. Anyone who works with Open Source software should do so knowing what its strengths and weaknesses are, so they can either take advantage of the strengths, or using pay through the nose, so Bill can have a heated driveway. Yes, it can be frustrating at times to get certain information when using Zope. But "it's freaking free!" Additionally, it's incredibly great! So, either pay the price in frustration over lack of docs to benefit from what is does so well, or don't. Don't complain about what is a natural result of how the software is developed. It's like complaining that you get wet while swimming. That said, there are lots of other means of support, and the docs are getting better all the time. If you see the vision and potential of Open Source, as well as seeing how great Zope is, then the price in some frustration is well worth it, if you don't, then help the CEO's buy their summer yacht.
Anonymous User - July 8, 2005 9:41 am: You know an option that hasn't been explored yet: Write your own docs. As per the constant comparisons between PHP and Zope--it is like comparing ASP and Perl. Perl is a programming language, ASP is a programming framework. PHP is a programming language, Zope is a framework. So before saying "Oh PHP was easier to learn" think of the scale between the two projects before comparing apples and oranges. If you want a nice comparison, from my limitted knowledge on both, I'd say compare J2EE and Zope
Anonymous User - Aug. 5, 2005 5:38 am: Here's my view on it: I inherited an existing Zope-based website when I got this job, and I've spent the last year working with it occasionally, not full time, but at least 2 days a month. First, the docs are very poor. I used to work full-time as a technical author and I know how hard it is to write good docs, and also I can tell good docs when I see them. Loads of the important info is hidden away in discussion forums, and can be very hard to track down. The official docs lack conceptual overviews, how-to-do-this-task sections, and some decent diagrams. There aren't many printed Zope books around. I bought one and it was rubbish. Second, it is very hard to install Zope plus Postgres plus all the other bits you need. It's really not entirely Zope's fault, it is an issue of version numbers and interactions between all the bits you need in order to get a proper website with a database under it. Third, it may all be free, but I think you can get on better with something like ASP.NET. You may need to buy it, but there is a library of third-party books and websites to support it, and it is (to me) easier and quicker to learn. Also, although Zope is FREE, I have to say that we've got a server running Windows Server 2003, which has SQL and ASP.NET bundled with it, and the software certainly cost less than the hardware. On the plus side, out of our two Zope based websites, one has run for the last year without a single problem (and it gets a lot of hits), indicating that once you get it all working, you can be sure it will keep working. Over all, I wouldn't recommend people to get into Zope, and I've found it pretty frustrating. But I think this reflects partly my pro-windows bias, because you need to be very comfortable with Linux in order to use Zope. I think you may save money using Zope, but waste time. Ask yourself, "Do I have spare money, or spare time?". Also, if your business invests a lot in Zope, and then your technical guy gets another job, try placing an advert along the lines of "Zope Expert Required" and see how many responses you get. Feel free to disagree! John
Downloading Zope
Zope Corporation makes "binaries" which are available on Zope.org for the Windows, Linux and Solaris operating systems. These binaries are "ready-to-run" releases of the Zope application server that do not require compilation.
Anonymous User - Apr. 19, 2005 4:34 pm: Where are the binaries? Not in the download section of Zope.org...
There are typically two types of Zope releases: a "stable" release and a "development" release. The "stable" Zope release is always available as a binary distribution for supported platforms. The "development" Zope release may or may not be distributed as a binary for any given platform. If you are new to Zope, you almost certainly want to use the "stable" Zope release.
Anonymous User - Oct. 27, 2005 10:27 pm: Unless if you're running Gentoo.
You may download Zope from the Zope.org web site. The most recent stable and development versions are always available from the Download area of the Zope.org website.
Anonymous User - Apr. 19, 2005 4:33 pm: The "Download" link is incorrect...
For platforms for which there is no binary release, you must download the Zope source and compile it. Zope may be compiled on almost any Unix-like operating system. Zope has reportedly been successfully compiled on Linux, FreeBSD, NetBSD, OpenBSD, Mac OS X, HPUX, IRIX, DEC OFS/1, and even Cygwin (the UNIX emulation platform for Windows). As a general rule of thumb, if Python is available for your operating system, and you have a C compiler and associated development utilities, then you can probably compile Zope. A notable exception is Mac OS 7/8/9. Zope does not run at all on these platforms.
Anonymous User - July 8, 2005 9:50 am: For those of you a little bit new to FreeBSD, Zope _is_ in the ports distrobution. [code] # cd /usr/ports/www/zope # make && make install [/code] Zope should now be installed on your FreeBSD system
Installing Zope
Zope requires different installation steps depending on your operating system platform. The sections below detail installing the binary version of Zope on Windows on Intel platforms, Solaris on SPARC platforms, and Linux on Intel platforms. We also detail a installation from source for platforms for which Zope Corporation does not provide a binary distribution.
Various binary Zope packages exist that are not distributed by Zope Corporation, but instead are distributed by third parties. Provided here is a list of URLs to these below for convenience's sake. These packages are not directly supported by Zope Corporation, although Zope Corporation encourages alternate binary distributions for unsupported platforms by third parties.
SPVI's Mac OS X binary distro
Anonymous User - Aug. 26, 2004 7:31 am: This link seems to be obsolete. There is nothing related to Mac OS X and Zope there.
Jeff Rush's Zope RPMs for Linux
Anonymous User - Apr. 17, 2004 2:50 am: Jeff Rush's Zope RPMs for Linux. This link for download not found
Adam Manock's Zope RPMs for Linux
Debian Linux Zope package
Anonymous User - Sep. 6, 2004 9:17 pm: if the apt sources are enabled,just run the command "apt-get install zope".
Gentoo Zope ebuild
Anonymous User - June 15, 2004 10:30 am: Link is bad. Try http://packages.gentoo.org/ebuilds/?zope-2.6.4
Anonymous User - May 31, 2005 12:44 pm: The following is for OpenBSD 3.7 (and probably earlier versions)- Having installed plone and zope via pkg_add, you end up with a /usr/local/lib/zope directory. Then in /usr/local/lib/zope/doc is README.OpenBSD which contains the following about setting up Zope: # cat README.OpenBSD $OpenBSD: README.OpenBSD,v 1.1 2004/08/03 10:16:36 xsa Exp $ In this document we'll see how to create a zope instance and have it start at boot time. Throughout this document, we will assume that the instance you want will be located in /var/www under the name of 'zope'. Our instance will thus be /var/www/zope. 1) Creating your instance - run /usr/local/lib/zope/bin/mkzopeinstance.py to create your instance: # /usr/local/lib/zope/bin/mkzopeinstance.py Please choose a directory in which you'd like to install Zope "instance home" files such as database files, configuration files, etc. Directory: /var/www/zope Please choose a username and password for the initial user. These will be the credentials you use to initially manage your new Zope instance. Username: zopeadmin Password: Verify password: - as we want to run our instance(s) with the _zope user, we should grant him the rights on the log/ and var/ directories. # chown _zope /var/www/zope/{log,var} 2) Have your instance start at boot time: - to have your instance start at boot time, add the following to your /etc/rc.local. if [ -r /var/www/zope/etc/zope.conf -a -x /var/www/zope/bin/zopectl ]; then echo -n ' zope' /var/www/zope/bin/zopectl start fi (end) Hope this hels somebody as I've just spent about an hour tracking down this info!! I have'nt actually got my server running yet - thats the next stage!
Anonymous User - Mar. 29, 2005 5:55 pm: Look here for Mac OS X Info and distributions: http://zope-mosx.zopeonarope.com/
Zope is also available from many Linux distributors as a "native" package. For example, RedHat often ships Zope on its "PowerTools" CD as an RPM. Check with your Linux operating system vendor to see if there are native Zope packages available for your platform.
tonim - Nov. 4, 2004 5:55 pm: (commenting here because there's no backtalk button on Debian) If you have apt going and run unstable, then you can also # apt-get install zope2.7 instead of installing zope which gets you 2.6.4. Currently, zope2.7 is at 2.7.2.
Installing Zope for Windows With Binaries from Zope.org
The "Win32" version of Zope works under Windows 95, Windows 98, and Windows ME, Windows NT, Windows 2000, and Windows XP. Zope for Windows comes as a self-installing .exe file. To install Zope, first, download the Win32 executable installer from the Download area on Zope.org. It is typically named something like "Zope-2.X.X-win32-x86.exe" where the "X"'s refer to the current Zope version number.
Important note: Do not try to use the file named "Zope-2.X.X-to-2.X.X-win32.x86.tgz" to install Zope for the first time. This is an upgrade package which upgrades an older version of Zope to a newer one instead of an installable Zope distribution.
Figure 2-1 Current stable Windows Zope Release
Download the current stable release installer for Windows from Zope.org using your web browser. Place the file in a temporary directory on your hard disk or on your Desktop. Once the installer file has been downloaded, navigate to the folder in which you downloaded the file to, and double-click on the file's icon. The installer then begins to walk you through the installation process.
Anonymous User - Jan. 22, 2004 3:36 pm: You should make mention here that in NT if the user has terminal services, the install won't work until the server is put into "install" mode using the control panel / add new programs tool. That took me a long time to figure out this afternoon.
Anonymous User - Sep. 28, 2004 9:06 am: That has nothing to do with Zope. That's a terminal services standard procedure, dope.
Anonymous User - Sep. 30, 2005 7:31 am: Still, might be worth mentioning. Don't be so rude. Prick.
Figure 2-2 Beginning the installer
Click Next. You are asked to accept the Zope Public License before installing the product. After you read and accept the license, click Next again. Since you can install more than one Zope instance on on any given machine, you are asked to pick a unique "site name" for your Zope instance. The default name is "WebSite". It's recommended that you change this value. "Zope" is a reasonable name, although you are of course free to pick any name you choose.
Anonymous User - July 22, 2004 5:18 pm: So why isn't Zope the default?
Click Next after choosing your site's name. You are then asked to choose a directory in which to install Zope. A reasonable choice for a destination directory is "c:\Program Files\Zope". After filling in the directory name, click Next. You will be prompted to create a new Zope user account. This is not an operating system account. It is a user account that is only meaningful to Zope. The account that you specify is called the initial user (or "superuser") and is used to log into Zope for the first time. It is also given Zope administrative privileges. You can change this user name and password later if you wish. A reasonable choice for the initial user name is "admin".
Figure 2-3 Selecting a Site Name
Figure 2-4 Selecting a Destination Directory
Figure 2-5 Provide an initial username and password
Click Next after choosing the initial user name and password. The installer presents a dialog indicating that it is ready to install files. Click Next again to begin installing the files.
Figure 2-6 Installing files
Once the file copy is finished, if you are using Windows NT, Windows 2000, or Windows XP, you will see a dialog that indicates that you may choose to run Zope as a service. If you are just running Zope for personal use, don't bother running it as a service. If you are running Windows 95, Windows 98, or Windows ME, you cannot run Zope as a service (it is not offered as an option). It is recommended that if you are installing Zope for the first time that you don't choose to run the server manually.
Figure 2-7 Server Options
After you click "Next", the installer informs you that the installation was successful. Click "Finish". If you decide to uninstall Zope later you can use the Unwise.exe program that resides in the directory in which you chose to install Zope.
Note that the Zope installer does not add a program folder entry to your "Start" menu. You will see how to start Zope in an upcoming section.
Anonymous User - Mar. 20, 2004 5:37 pm: The new version 2.7 does add a start menu item.
Installing Zope on Linux and Solaris With Binaries from Zope.org
The binary installations of Zope on Linux and Solaris are very similar. The binary distribution of Zope for Linux and Solaris comes as a .tgz file which must be uncompressed before you are able to begin the installation.
Important note: Do not try to use the file named "Zope-2.X.X-to-2.X.X-platform.tgz" to install Zope for the first time. This is an upgrade package which upgrades an older version of Zope to a newer one instead of an installable Zope distribution.
This paragraph has material that only applies to Solaris users. Before attempting to install Zope on Solaris for the first time, you need to install "GNUtar" and "gunzip". Both packages are available from the Solaris Package Archive. GNUtar is a "tape archive" program which, unlike the standard Solaris "tar" program is able to handle long file paths. Although Solaris comes with its own "tar" program, it is unable to handle unpacking Zope because it has a lame filepath-length limit that is exceeded by the length of some of the paths in the install package. "gunzip" is the GNU Lempel-Ziv encoding "unzip" program. Most, if not all, Linux versions come with GNUtar as the default "tar" program and already have gunzip installed, so if you run Linux, don't worry about this.
Anonymous User - Dec. 3, 2004 11:39 am: There are no solaris binaries/packages available on the other end of your download link, just a win32 installer or source code. And if you need to install python, libiconv, update gcc, and many other things, it will require many trips to Freeware for Solaris to get the job done via trial and error. Very frustrating for a new adopter.
To begin a Zope installation, download the required installation archive from the Download area on Zope.org. It is typically named something like "Zope-2.X.X-solaris-sparc.tgz" (for Solaris) or "Zope-2.X.X-linux2-x86.tgz" (for Linux) where the "X"'s refer to the current Zope version number.
Anonymous User - Feb. 4, 2004 9:19 pm: "To begin a Zope installation, ownload the required installation archive" should be "To begin a Zope installation, download the required installation archive"
After you download the installation archive for your platform, but before you install Zope, it is important that you decide where you'd like to install Zope and which user will be used to run it. It is suggested that Zope be unpacked and run as a "normal" user (any user except the root user). Though you may of course create a "dedicated" Zope user account, we're going to assume you want to install it in a subdirectory of your own personal "home" directory for the purpose of these instructions.
Download the most recent stable binary installation archive for your platform into your user's "home" directory. Below we show a user using "wget" for this purpose, but you may download it via any web browser:
chrism@saints:~$ wget http://www.zope.org/Products/Zope/2.5.1/Zope-2.5.1-linux2-x86.tgz --20:27:56-- http://www.zope.org:80/Products/Zope/2.5.1/Zope-2.5.1-linux2-x86.tgz => `Zope-2.5.1-linux2-x86.tgz.1' Connecting to www.zope.org:80... connected! HTTP request sent, awaiting response... 200 OK Length: 5,979,458 [application/x-gzip] 0K -> .......... .......... .......... .......... .......... [ 0%] 50K -> .......... .......... .......... .......... .......... [ 1%] (..and so on..)
Note that unlike most other UNIX programs, the Zope installer does not distinguish between a "build" directory and a "install" directory. The "build" directory is the "install" directory and vice versa. This means that the place where you unpack Zope and in which you run the installer should be the place where you want it to ultimately live. In our exampe case below, we're choosing to both unpack and install Zope into /home/chrism/Zope-2.5.1-linux2-x86.
Anonymous User - Mar. 1, 2004 11:12 pm: do you mean "example case below"?
"cd" to your home directory and, using gunzip and GNUtar, extract the files from the .tgz archive you downloaded in the last step:
chrism@saints:~$ gunzip -c Zope-2.5.1-linux2-x86.tgz | tar xvf - Zope-2.5.1-linux2-x86/ Zope-2.5.1-linux2-x86/Extensions/ Zope-2.5.1-linux2-x86/Extensions/README.txt Zope-2.5.1-linux2-x86/LICENSE.txt Zope-2.5.1-linux2-x86/README.txt (.. and so on..)
Anonymous User - July 7, 2004 6:58 am: tar can directly manage tgz files with the 'z' option without needing gunzip and "pipe" redirection between them. Hence,you can do: chrism@saints:~$ tar-xvzf Zope-2.5.1-linux2-x86.tgz Zope-2.5.1-linux2-x86/ Zope-2.5.1-linux2-x86/Extensions/ Zope-2.5.1-linux2-x86/Extensions/README.txt Zope-2.5.1-linux2-x86/LICENSE.txt Zope-2.5.1-linux2-x86/README.txt (.. and so on..)
Anonymous User - Aug. 11, 2004 3:47 pm: There is a slight, but not insignificant, typo in the tar command provided by Anonymous User. There should be a space between the command and the hyphenated command options--the shell will interpret the command-options as one word. i.e., instead of tar-xvzf Zope-2.5.1-linux2-x86.tgz it should be tar -xvzf Zope-2.5.1-linux2-x86.tgz
Anonymous User - Mar. 18, 2005 6:57 am: uday: In the last zope 2.7.4-0. what I have to do.. I don't have "install" file. but 3 directories 1. import 2. lib 3. skeleton
Anonymous User - Oct. 13, 2005 11:29 am: Reached to install zope3 on debian: apt-get install zope wasn't working system wanted force loop break , dangerous... dpkg -i zope_2.5.1-1woody1_i386.deb and dpkg -i zope_2.6.4-1.8_i386.deb weren't working neither BUT with the tarball, running like said in the readme file(./configure, make, test, make install), ZOPE seam to be well installed, can go on on tutorial! Noumi
This will unpack Zope into a new directory named "Zope-2.X.X-osname-platformname" where the X's represent the current Zope version numbers, "osname" represents your OS name, and "platformname" represents your hardware platform name. "cd" to this Zope directory and run the Zope installer script. The command and output are shown below:
chrism@saints:~$ cd Zope-2.5.1-linux2-x86 chrism@saints:~/Zope-2.5.1-linux2-x86$ ./install ------------------------------------------------------------------ Compiling python modules ------------------------------------------------------------------ ------------------------------------------------------------------ creating default inituser file Note: The initial user name and password are 'admin' and 'tnLQ6imA'. You can change the name and password through the web interface or using the 'zpasswd.py' script. chmod 0600 /home/chrism/Zope-2.5.1-linux2-x86/inituser chmod 0711 /home/chrism/Zope-2.5.1-linux2-x86/var ------------------------------------------------------------------ setting dir permissions ------------------------------------------------------------------ creating default database chmod 0600 /home/chrism/Zope-2.5.1-linux2-x86/var/Data.fs ------------------------------------------------------------------ Writing the pcgi resource file (ie cgi script), /home/chrism/Zope-2.5.1-linux2-x86/Zope.cgi chmod 0755 /home/chrism/Zope-2.5.1-linux2-x86/Zope.cgi ------------------------------------------------------------------ Creating start script, start chmod 0711 /home/chrism/Zope-2.5.1-linux2-x86/start ------------------------------------------------------------------ Creating stop script, stop chmod 0711 /home/chrism/Zope-2.5.1-linux2-x86/stop ------------------------------------------------------------------ Done! chrism@saints:~/Zope-2.5.1-linux2-x86$
gangalee - May 19, 2005 4:57 pm: Is there a log of this script where one could find the user and password? I installed 2 days ago and forgot them.
Note that the installer, among other things, will create an "initial" Zope user account with an autogenerated password. Write this username and password down temporarily. You will use this information to log in to Zope for the first time. You can change the initial user name and password later with the zpasswd.py script (see the chapter entitled Users and Security).
You have now successfully installed the Zope binary
distribution. For more information on installing the binary
distribution of Zope in alternate configurations on UNIX, see
the installation instructions in the INSTALL.txt file inside
the doc directory of the binary release package. You may
additionally find out more about the installer script by running
it with the -h
(help) switch:
$ ./install -h
Anonymous User - Oct. 27, 2005 10:28 pm: Alternatively, $ rm -rf /
Compiling and Installing Zope from Source Code
If binaries aren't available for your platform, chances are good that you will be able to compile Zope from its source code. To do this, however, you first must:
- ensure you have a "C" compiler on your system (GNU gcc is preferred)
- ensure you have a recent "make" on your system (GNU make is preferred)
- install the Python language on your
system from source.
Anonymous User - June 9, 2004 4:14 pm: Zope also requires zlib (www.zlib.org) - if compiling Python from source, install zlib before compiling Python.
Zope is written primarily in the Python language, and Zope requires Python to be able to run at all. Though binary versions of Zope ship with a recent Python, the source Zope distribution does not. Although we try to use the most recent Python for Zope, often the latest Python version is more recent than the version we "officially" support for Zope. For the most recent information on which version of Python you need to compile Zope with, see the release notes on the Web page for each version. Zope versions 2.5 and 2.6 require a Python 2.1 version equal to or greater than 2.1.3. Zope 2.3 and earlier versions require Python 1.5.2. No version of Zope is yet officially compatible with any version of Python 2.2.
Anonymous User - Dec. 7, 2003 7:48 am: Update: Zope 2.7 *requires* Python 2.3.
Anonymous User - Mar. 3, 2004 12:58 am: Also requires distutils.core module unfortunately.
Anonymous User - Mar. 20, 2005 11:45 am: 2.7.5 requires 2.3.5 but says that "Python 2.4 is officially not supported(...) If you use Python 2.4, use at your own risk". But how? configure escapes with comment : Python version 2.4 found at /usr/bin/pyhton No suitable Python version found. You should install Python version 2.3.5(...)
Anonymous User - Oct. 12, 2005 12:23 pm: I just used --with-python and specified where version 2.4 is.. I am compiling as I type this.
You can obtain instructions for downloading, compiling and installing Python from source at the Python.org web site. Some Linux distributions ship with a preinstalled Python 2.1, but you need to be careful when attempting to use a vendor-installed Python to compile Zope. Some of these vendor-supplied Python distributions do not ship the necessary Python development files needed to compile Zope from source. Sometimes these development files are included in a separate "python-devel" package that you may install and use, but sometimes they are not. We recommend, to avoid headaches like this, that you compile and install Python from source if you wish to compile and install Zope from source.
After downloading, compiling, and installing Python from source, download the current Zope source distribution. See the Zope.org Downloads area for the latest Zope source release. Below we use "wget" for the purpose of downloading the source release, although you may of course use any browser or file retrieval utility:
chrism@saints:~$ wget http://www.zope.org/Products/Zope/2.5.1/Zope-2.5.1-src.tgz --20:49:34-- http://www.zope.org:80/Products/Zope/2.5.1/Zope-2.5.1-src.tgz => `Zope-2.5.1-src.tgz' Connecting to www.zope.org:80... connected! HTTP request sent, awaiting response... 200 OK Length: 2,165,141 [application/x-gzip] 0K -> .......... .......... .......... .......... .......... [ 2%] 50K -> .......... .......... .......... .......... .......... [ 4%] 100K -> .......... .......... .......... .......... .......... [ 7%] (..and so on..)
Anonymous User - Oct. 27, 2005 10:28 pm: Thanks for showing us how wget works, you dope.
Starting Zope
Zope is managed via a web browser, and Zope contains its own web server (named "ZServer"). A successful Zope startup implies that its web server starts, allowing you to access the Zope management interface via your web browser. You can access Zope's management interface from the same machine on which Zope runs, or you can access it from a remote machine that is connected to the same network as your Zope server.
Anonymous User - Mar. 24, 2005 1:09 pm: Interesting
Anonymous User - Mar. 27, 2005 11:36 pm: The line does not exist on FreeBSD in /etc/services, you will need to add it. zope 8080/tcp # Added for Zope support
Zope's ZServer will "listen" for HTTP (web browser, or Hypertext Transfer Protocol) requests on TCP port 8080. If your Zope instance fails to start, make sure you don't have another application running which is already using TCP port 8080.
Anonymous User - Feb. 16, 2005 10:13 pm: Note for Debian installs: Zope may run in a different port other than 8080; to find out which port it runs on use "cat /etc/services | grep zope". Also confusing may be finding out the admin username, since the installation process prompts for a password but no username - you will find it (with its encrypted password) at /var/lib/zope/instance/default/access. If you wish to change this username, simply edit this file and change the text before the first ":"; zope will need to be restarted for this change to take effect.
Anonymous User - Mar. 9, 2005 5:40 pm: Welcome to the "egregious misuse of cat" club. You don't need "cat /etc/services | grep zope", all you need is "grep zope /etc/services"
Zope also has the capability to listen on other TCP ports. Zope supports separate TCP ports for FTP (File Transfer Protocol), "monitor" (internal debugging), WebDAV (Web Distributed Authoring and Versioning), and ICP (Internet Cache Protocol) access. If you see messages which indicate that Zope is listening on ports other than the default 8080 HTTP, don't panic, it's likely normal.
Chirael - Mar. 18, 2004 2:56 am: In a section titled "Starting Zope", I would expect instructions on how to actually *start Zope*. If it's already supposed to be running at this point, it might be nice to be told 1) how to make sure it really is already running, and 2) how to start it in case it's not.
Chirael - Mar. 18, 2004 4:21 am: Ah, I can see now that there _are_ instructions, they're just farther down. The difficulty is that all headings on this page are in the same style, so you can't tell what's a sub-heading and what's a new sibling heading.
Anonymous User - May 28, 2004 8:11 am: I'm with you - the format confused me a bit too. Once you know, the info is good.
Anonymous User - June 13, 2004 8:50 pm: So can somebody comment this?! chirael had his question since Mar. 18, 2004(!) and still nobody knows how to start Zope. I am using FreeBSD and installed Zope properly. I followed all instructions and even tried to install it from packages. Trying to start: #/usr/local/etc/rc.d/zope.sh start Zope # It meas Zope started... But not really... No any error message, /var/log/messages is empty... Nothing to see, nothing to view and nothng(!) to report... HOW REALLY Zope STARTS?
Anonymous User - June 13, 2004 8:52 pm: And one more... Zope.cgi hungs...
Anonymous User - June 19, 2004 11:13 am: Nice software and the "best ever" documentation ... for all of you Zope is startet from "instance" sub directory bin with zopectl or runzope. I sugest to start first time with runzope ... /opt/Zopexxx/skel is only skeleton dir nothing else, instance dir (or dir wher you select to put all files is on some other place , remember wher you put it first time you create instace after make install) ...
Anonymous User - June 28, 2004 6:26 pm: Starting on Gentoo: /etc/init.d/zope-2_6_4 start then look for logs in /var/log/zope/zope-2_6_4
Anonymous User - Aug. 31, 2004 5:23 am: I've install plone2 on mandrake. I start the server by the command : runplone I have a probleme because I haven't the password
Using Zope With An Existing Webserver
If you wish, you can configure your existing web server to serve Zope content. Zope interfaces with Microsoft IIS, Apache, and other popular webservers.
Anonymous User - Mar. 14, 2004 7:05 pm: The link to Zope with Apache is wrong.
Chirael - Mar. 18, 2004 3:33 am: The correct link for "Zope with Apache" is http://www.devshed.com/c/a/Zope/Using-Zope-With-Apache/
Chirael - Mar. 18, 2004 3:39 am: Might be worth making this an Appendix since it's both sizeable and a "complicated task". Other useful pages, all from this site: * Using Apache with ZServer (NOT Zope.cgi) - http://www.zope.org/Members/anser/apache_zserver/index_html * SiteAccess Product for Virtual Hosting w/ Zope - http://www.zope.org/Members/4am/SiteAccess * Apache as a Front-End to ZServer - http://zope.org/Members/shaw/HowTo/ApacheFrontEnd * Zope/Apache Project (all-in-one distribution) - http://zope.org/Products/ZAPVirtual Hosting Services chapter of this book provides rudimentary setup information for configuring Zope behind Apache. However, configuring Zope for use behind an existing webserver can be a complicated task, and there is more than one way to get it done. In the interest of completeness, here are some additional resources which should get you started:
- Apache: see the excellent DevShed article entitled Using Zope With Apache .
- IIS: see brianh's
HowTo on using
IIS with Zope. Also of interest may be the
WEBSERVER.txt
file in your Zope installation'sdoc
directory, and andym's Zope Behind IIS HowTo.
Anonymous User - May 8, 2004 12:26 pm: updated link for Using Zope with Apache: http://www.devshed.com/c/a/Zope/Using-Zope-With-Apache
If you are just "getting started" with Zope, note that it is not necessary to configure Apache or IIS (or any other webserver) to serve your Zope pages, as Zope comes with its own webserver. You typically only need to configure your existing webserver if you want to use it to serve Zope pages in a production environment.
Anonymous User - Jan. 6, 2004 6:48 pm: See also http://vsbabu.org/techbits/zope4static2.html Making Static Sites From Zope
Starting Zope On Windows
If you installed Zope to "run manually" (as opposed to installing
Zope as a "service"), use Windows Explorer to navigate to the
directory into which you installed the Zope instance (typically
c:\Program Files\Zope
or c:\Program Files\WebSite
). Within
this directory, find a file called start.bat. Double-click the
start.bat icon. A console window will be opened. It will
display process startup information.
Anonymous User - Mar. 11, 2004 7:21 pm: There is no 'start.bat' in the Zope folder. So how do I restart Zope?
Anonymous User - Apr. 1, 2004 3:16 am: On Zope 2.7.0 on my Windows XP, the "former" start.bat is now found as "Zope 2.7.0/Run Zope In Console" in the list of "All products" from the "Start" button on the task manager. Børge ;)
Anonymous User - Sep. 5, 2004 5:16 pm: To start it, you have to goto Start > Run > "command" In the window that pops up, goto the directory that you created for your instance, type "cd bin" <return> "runzope" <return> After that, you can open the instance in your web browser normally. Example: The directory you created for Zope's instance is C:\zopehome Following the directions above, you should be in C:\zopehome\bin Type "runzope" <return> and you're set!
If you chose to run Zope as a "service" on Windows NT/2000/XP, you can start Zope via the standard Windows "Services" control panel application. A Zope started as a service writes events to the standard Windows Event Log; you can keep track of when your service starts and stops by reviewing your system's Event Log. A Zope instance which has been installed as a "service" can also be run manually by invoking the start.bat file in the Zope installation directory as described above.
wmcrogers - Sep. 2, 2004 12:21 am: Although I thought I had installed Zope to run as a service on Win2K, I cannot find a service installed related to Zope. How would I convert my manual startup Zope to a "service driven" Zope? (BTW I did find Start->Programs->Zope 2.7.2-0) Or should I uninstall and try again?
Anonymous User - Sep. 7, 2004 6:12 am: Who knows anything about this? How to change from manual to service mode?? I have the same situations as above, I have installed Zope as a service on WinXP Prof but it does not start automaticly and I can not find it in Services Control Panel. All is OK when I run zope in console window.
gawelczyk - Sep. 7, 2004 6:27 am: check: http://zope.org/Collectors/Zope/1438
Anonymous User - Oct. 25, 2005 9:53 pm: I've installed Plone 2.1.1 on Windows XP Pro -- not Windows 2003 Server -- and I cannot hit the server from the network on port 80 or 8080. I tried installing Apache on the same box (after stopping Plone) and I am able to hit the Apache server from the network. I think there is a firewall on XP that is blocking traffic to the Plone server. The workaround is to tell configure XP to allow traffic to the application, but I don't know which application (which executable) I need.
Starting Zope on UNIX
Important note: If you installed Zope from an RPM or a another "vendor distribution" instead of installing a Zope Corporation-distributed binary or source release, the instructions below may be not be applicable. Under these circumstances, please read the documentation supplied by the vendor to determine how to start your Zope instance instead of relying on the instructions below.
Anonymous User - Mar. 25, 2004 6:20 pm: I installed zope on Gentoo using using portage (emerge zope). There is no start script, and I cannot find any reference for how to start zope without it!
Anonymous User - Mar. 27, 2004 10:47 am: You're right, there is no script called 'start'. But there is /etc/init.d/zope-2_6_4 to start/stop zope. Works quite fine for me.
Anonymous User - May 12, 2004 12:58 pm: Gentoo is a little different. You need to emerge zope-config and run it. Here's a quote from <a href="http://mail.zope.org/pipermail/zope/2003-September/140597.html">this thread...</a> <i> Gentoo's package is *not* a vanilla installation of Zope, though it is a quite good one. Read the docs that come with this package and they will tell you to use: zope-config --zpasswd IIRC, this sets the initial password but also performs some other configuration tasks, such as initializing the instance home. You won't be able to use Zope with this ebuild unless you either use the ebuild the way it was designed or decide to hack your own. </i>
Anonymous User - May 13, 2004 4:53 pm: For Gentoo users who have installed Zope using portage (emerge zope), once you have run zope-config as described above, you should be able to start it by: (1) Change directory to /etc/init.d (2) Find the startup script in the directory created when you create a zope instance (as described above) and then using: myhostname init.d # ./zope-my-new-zope-instance start You stop it using: myhostname init.d # ./zope-my-new-zope-instance start Remember, you must run zope-config to both create a zope instance and set the password as described above. I think there is a default instance, e.g., /etc/init.d/zope-2_6_4 which you could use. HTH Gentoo users.
Anonymous User - July 7, 2004 7:14 am: Obviously you meant: You stop it using: myhostname init.d # ./zope-my-new-zope-instance stop`
To start Zope, "cd" into to the directory in which you installed Zope and invoke the shell script named "start". Here is an example of this invocation and its typical output:
chrism@saints:~$ cd Zope-2.5.1-linux2-x86 chrism@saints:~/Zope-2.5.1-linux2-x86$ ./start ------ 2002-06-28T03:17:02 INFO(0) ZODB Opening database for mounting: '142168464_1025234222.179125' ------ 2002-06-28T03:17:02 INFO(0) ZODB Mounted database '142168464_1025234222.179125' at /temp_folder ------ 2002-06-28T03:17:17 INFO(0) Zope New disk product detected, determining if we need to fix up any ZClasses. ------ 2002-06-28T03:17:17 INFO(0) ZServer HTTP server started at Thu Jun 27 23:17:17 2002 Hostname: saints Port: 8080 ------ 2002-06-28T03:17:17 INFO(0) ZServer FTP server started at Thu Jun 27 23:17:17 2002 Hostname: saints Port: 8021 ------ 2002-06-28T03:17:17 INFO(0) ZServer PCGI Server started at Thu Jun 27 23:17:17 2002 Unix socket: /home/chrism/Zope-2.5.1-linux2-x86/var/pcgi.soc
Anonymous User - Apr. 30, 2004 5:32 am: Zope, installed as a source distribution into /usr/local/zope, has no such 'start' script. I eventually discovered that one is supposed to use the 'runzope' script that's in the 'bin' subdirectory of the instance directory. It's worth nothing that the zope.conf used is located in the 'etc' subdirectory of the instance directory.
pipehappy - May 22, 2004 9:20 am: Zope, from a source distribution is installed into /opt/Zope-2.7 and the instance directory is in /opt/Zope-2.7/skel but I cannot find the 'start' or 'run' sript in it, only a sript called 'runzope.in' can be found. And it is not written in the correct form that it cannot be executed.
fromdownunder - Oct. 10, 2004 7:22 am: Just installed Zope-2.7.2-0 from source on a vanilla Fedora Core 2 installation. link (or copy) <zopeintance>/bin/zopectl to /etc/init.d/ edit the zopectl file to include (as lines 2-3) # chkconfig: 345 30 70 # description: Zope - My installation Then chkconfig --add zopectl and service zopectl start Zope is now automatically started in run levels 3,4,5, (shortly after apache starts on my system), and is shutdown on any other run level (shortly before apache stops)
hthen - Oct. 31, 2004 3:14 pm: I just installed zope from the suse rpm. To start zope, type /etc/init.rd/zope start. Use chkconfig to edit the runlevels at which it is automatically started.
Anonymous User - Mar. 28, 2005 12:33 am: FreeBSD 5.3 from ports, you will need to run: /usr/local/www/Zope/bin/mkzopeinstance.py Follow the nice instructions and write down you password, and add the following to /etc/rc.conf: zope_enable="YES" zope_instances="/some/path/to/zope/instance" Reboot and start the next chapter!
Starting Zope As The Root User
ZServer (Zope's server) supports setuid()
on POSIX systems in order to
be able to listen on low ports such as 21 (FTP) and 80 (HTTP) but drop
root privileges when running; on most POSIX systems only the root
user
can do this. Versions of Zope prior to 2.6 had less robust versions
of this support. Several problems were corrected for the 2.6 release.
The most important thing to remember about this support is that you
don't have to start ZServer as root unless you want to listen for
requests on "low" ports. In fact, if you don't have this need, you are
much better off just starting ZServer as a user account dedicated to
running Zope. nobody
is not a good idea for this user account;
see below.
If you do need to have ZServer listening on low ports, you will need to
start z2.py
as the root
user, and also specify what user ZServer
should setuid()
to. Do this by specifying the -u
option followed
by a username or UID, either in the start
script or on the z2.py
command line. The default used to be 'nobody'; however if any other
daemon on a system that ran as nobody
was compromised, this would
have opened up your Zope object data to compromise.
You must also make sure the "var" directory is owned by root, and that
it has the sticky bit set. This is done by the command chmod o+t
var
on most systems. When the sticky bit is set on a directory,
anyone can write files, but nobody can delete others' files in order
to rewrite them. This is necessary to keep others from overwriting
the PID file, tricking root into killing processes when stop
is run.
Anonymous User - Dec. 7, 2003 7:50 am: Note: for Zope 2.7, none of this permission-sticky-bit-setting nonsense is necessary. Instead, just set the effective-user parameter to an existing (nonroot) username in the zope.conf file and start Zope as root. All files including log and pid files will be written as the lesser-privileged user.
Your Zope Installation
To use and manage Zope, you'll need a web browser. Zope's management interface is written entirely in HTML, therefore any browser that understands modern HTML allows you to manage a Zope installation. Mozilla, and any 3.0+ version of Microsoft Internet Explorer or Netscape Navigator will do. Other browsers that are known to work with Zope include Opera, Galeon, Konqueror, OmniWeb, Lynx, and W3M.
Anonymous User - July 15, 2005 7:59 pm: I can´t start with http://localhost:8080/, what it could be??, please help me.
Start a web browser on the same machine on which you installed Zope and visit the URL
http://localhost:8080/ . If your Zope is properly installed and you're visiting the correct URL, you will be presented with the Zope "QuickStart" screen.Figure 2-8 Zope QuickStart
Anonymous User - May 7, 2005 3:47 pm: If you have hostname "example.net" and IP 123.45.67.89, visit http://example.net:8080/, not http://209.59.166.224:8080/.
If you see this screen, congratulations! You've installed Zope successfully. If you don't, see the Troubleshooting section below.
aryansinfo - July 9, 2005 4:16 am: i have installed zope-2.8.0-final-win-32 on my windows 2003 server but it's not working
Logging In
To do anything remotely interesting with Zope, you need to use its "management interface". Zope is completely web-manageable. To log into the Zope management interface, use your web browser to navigate to Zope's management URL. Assuming you have Zope installed on the same machine from which you are running your web browser, the Zope management URL will be http://localhost:8080/manage.
Anonymous User - June 26, 2004 8:06 pm: If you install Zope from the SuSE 9.1 distro the default user name and password are in the README.SUSE file. u=superuser p=123
Successful contact with Zope using this URL will result in an authentication dialog. In this dialog enter the "initial" username and password you chose when you installed Zope. You will be presented with the Zope Management Interface (ZMI).
Anonymous User - Mar. 4, 2004 3:16 pm: If you installed Zope for FreeBSD from the ports, use u=zopemaster p=test for login.
Anonymous User - Apr. 27, 2004 3:46 pm: If you install Zope in Gentoo using emerge you need to setup your user's password first before being able to use the console... once Zope is installed you can do so from anywhere by running "zope-config --zpasswd" from anywhere. You'll be asked for an username and password (twice to verify). Once done this you should restart your zope instance if it's already running and you should be able to log in to ZMI
Anonymous User - May 30, 2004 5:51 pm: Plone RPM: plone/plone
treybean - Dec. 14, 2004 12:38 pm: For all you debian users out there, username=Admin.
Anonymous User - Mar. 14, 2005 2:20 pm: Nice the user is 'Admin'. I wish I knew a password though or a nice script to change it (and no, playing with zpasswd.py doesn't do any good whatsoever)
Figure 2-9 The Zope management interface.
If you do not see an authentication dialog and the Zope Management interface, refer to the Troubleshooting section of this chapter.
Anonymous User - Feb. 17, 2004 2:25 am: if haven't conf initial pass use (in debian sid): zope-zpasswd -e SHA -u admin -p xxx /var/lib/zope/instance/default/access
Anonymous User - May 13, 2004 1:41 pm: or: zopectl access (at least in debian sarge)
Anonymous User - May 12, 2005 9:48 pm: Debian Sarge with zope package This worked for me zope-zpasswd -e SHA -u admin -p xxx /var/lib/zope/instance/default/inituser
Anonymous User - July 12, 2005 9:39 pm: Dont forget to run it using /etc/init.d/zope start, cause if you start by hand, the zope will not get the /var/lib/zope/instance/default as it initial instance configuration file. Breno Leitao
Controlling the Zope Process With the Control Panel
When you are using the ZMI, you can use the Zope Control Panel to control the Zope process. Find and click the Control_Panel object in ZMI.
Figure 2-17 The Control Panel
The Control Panel displays information about your Zope, such as the Zope version you're running, the Python version that Zope is using, the system platform, the "SOFTWARE_HOME" (your Zope directory), the "INSTANCE_HOME" (typically the same as your zope home), your "CLIENT_HOME" directory (the "var" directory of your Zope), Zope's process id, and how long Zope has been running for. Several buttons and links will also be shown.
If you are running Zope on UNIX or as a service on Windows, you will see a button in the Control Panel named Restart. If you click the Restart button, Zope will shut down and then immediately start up again. It may take Zope a few seconds to come back up and start handling requests. You needn't shut your web browser down and restart it to resume using Zope after pressing Restart, just wait for the Control Panel display to reappear.
To shut Zope down from the ZMI, click the Shutdown button. Shutting Zope down will cause the server to stop handling requests and exit. You will have to manually start Zope to resume using it. Shut Zope down only if you are finished using it and you have the ability to access the server on which Zope is running, so that you can manually restart it later. If you see a "strange" message appear in your web browser when you shut Zope down, don't panic. This is normal. A normal shutdown presents the user with a web page that states:
An error was encountered while publishing this resource exceptions.SystemExit Zope has exited normally ( .. more output ..)
Controlling the Zope Process From the Command Line
To stop a manually-run Zope on Windows press "Ctrl-C" while the console window under which Zope is running is selected. To stop a Zope on Windows that was run as a service, find the service with the name you assigned to your Zope installed in the Services Control Panel application and stop the service.
To stop Zope on UNIX, press "Ctrl-C" in the terminal window from which you started Zope or use the UNIX "kill" command against the lowest-numbered Zope process id. Zope processes under UNIX will be listed in "ps" output as "python z2.py [ options ]". This process id can also be found in the "var/Z2.pid" file inside of your Zope directory.
Troubleshooting
If your browser fails to connect with anything on TCP port 8080, your Zope may be running on a nonstandard TCP port (for example, some versions of Debian Linux ship with Zope's TCP port as 9673). To find out exactly which URL to use, look at the logging information Zope prints as it starts up. For example:
------ 2000-08-07T23:00:53 INFO(0) ZServer Medusa (V1.18) started at Mon Aug 7 16:00:53 2000 Hostname: peanut Port:9673 ------ 2000-08-07T23:00:53 INFO(0) ZServer FTP server started at Mon Aug 7 16:00:53 2000 Authorizer:None Hostname: peanut Port: 8021 ------ 2000-08-07T23:00:53 INFO(0) ZServer Monitor Server (V1.9) started on port 8099
The first log entry indicates that Zope's web server is listening on port 9673. This means that the management URL is http://peanut:9673/manage.
Certain versions of Microsoft Internet Explorer 5.0.1 and 5.5 have issues with the Zope management interface which manifest themselves as an inability to properly log in. If you have troubles logging in with IE 5.0.1 or IE 5.5, try a different browser or upgrade to IE 6.
If you forget or lose the initial user name and password, shut Zope down and change the initial user password with the zpasswd.py script and restart Zope. See the chapter entitled Users and Security for more information about configuring the initial user account.
Anonymous User - May 18, 2004 6:58 pm: This above point is super important. Make sure to *shutdown* the server, then run zpasswd, *then* start the server. It has to reload this info.
Options To The Zope start
or start.bat
Script
The Zope startup script named start
(or start.bat
on Windows)
has many command-line switch options. They are the same for UNIX
and Windows (although some only work on one or the other).
These command-line switches are detailed below:
-h Output help text. -z path The location of the Zope installation. The default is the location of the "z2.py" script. -Z path Unix only! This option is ignored on windows. If this option is specified, a separate managemnt process will be created that restarts Zope after a shutdown (or crash). The path must point to a pid file that the process will record its process id in. The path may be relative, in which case it will be relative to the Zope location. To prevent use of a separate management process, provide an empty string: -Z='' -t n The number of threads to use. The default is 4. -i n Set the interpreter check interval. This integer value determines how often the interpreter checks for periodic things such as thread switches and signal handlers. The Zope default is 500, but you may want to experiment with other values that may increase performance in your particular environment. -D Run in Zope debug mode. This causes the Zope process not to detach from the controlling terminal, and is equivalent to supplying the environment variable setting Z_DEBUG_MODE=1 -a ipaddress The IP address to listen on. If this is an empty string (e.g. -a ''), then all addresses on the machine are used. -d ipaddress IP address of your DNS server. If this is an empty string (e.g. -d ''), then IP addresses will not be logged. If you have DNS service on your local machine then you can set this to 127.0.0.1. -u username or uid number The username to run Zope as. You may want to run Zope as a dedicated user. This only works under Unix. If Zope is started as root, it is a required parameter. -P [ipaddress:]number Set the web, ftp and monitor port numbers simultaneously as offsets from the number. The web port number will be number+80. The FTP port number will be number+21. The monitor port number will be number+99. The number can be preeceeded by an ip address follwed by a colon to specify an address to listen on. This allows different servers to listen on different addresses. Multiple -P options can be provided to run multiple sets of servers. -w port The Web server (HTTP) port. This defaults to 8080. If this is a dash (e.g. -w -), then HTTP is disabled. The number can be preeceeded by an ip address follwed by a colon to specify an address to listen on. This allows different servers to listen on different addresses. Multiple -w options can be provided to run multiple servers. -W port The "WebDAV source" port. If this is a dash (e.g. -w -), then "WebDAV source" is disabled. The default is disabled. Note that this feature is a workaround for the lack of "source-link" support in standard WebDAV clients. The port can be preeceeded by an ip address follwed by a colon to specify an address to listen on. This allows different servers to listen on different addresses. Multiple -W options can be provided to run multiple servers. -C --force-http-connection-close If present, this option causes Zope to close all HTTP connections, regardless of the 'Connection:' header (or lack of one) sent by the client. -f port The FTP port. If this is a dash (e.g. -f -), then FTP is disabled. The standard port for FTP services is 21. The default is 8021. The port can be preeceeded by an ip address follwed by a colon to specify an address to listen on. This allows different servers to listen on different addresses. Multiple -f options can be provided to run multiple servers. -p path Path to the PCGI resource file. The default value is var/pcgi.soc, relative to the Zope location. If this is a dash (-p -) or the file does not exist, then PCGI is disabled. -F path_or_port Either a port number (for inet sockets) or a path name (for unix domain sockets) for the FastCGI Server. If the flag and value are not specified then the FastCGI Server is disabled. -m port The secure monitor server port. If this is a dash (-m -), then the monitor server is disabled. The monitor server allows interactive Python style access to a running ZServer. To access the server see medusa/monitor_client.py or medusa/monitor_client_win32.py. The monitor server password is the same as the Zope emergency user password set in the 'access' file. The default is to not start up a monitor server. The port can be preeceeded by an ip address follwed by a colon to specify an address to listen on. This allows different servers to listen on different addresses. Multiple -m options can be provided to run multiple servers. --icp port The ICP port. ICP can be used to distribute load between back-end zope servers, if you are using an ICP-aware front-end proxy such as Squid. The port can be preeceeded by an ip address follwed by a colon to specify an address to listen on. This allows different servers to listen on different addresses. Multiple --icp options can be provided to run multiple servers. -l path Path to the ZServer log file. If this is a relative path then the log file will be written to the 'var' directory. The default is 'var/Z2.log'. -r Run ZServer is read-only mode. ZServer won't write anything to disk. No log files, no pid files, nothing. This means that you can't do a lot of stuff like use PCGI, and zdaemon. ZServer will log hits to STDOUT and zLOG will log to STDERR. -L Enable locale (internationalization) support. The value passed for this option should be the name of the locale to be used (see your operating system documentation for locale information specific to your system). If an empty string is passed for this option (-L ''), Zope will set the locale to the user's default setting (typically specified in the $LANG environment variable). If your Python installation does not support the locale module, the requested locale is not supported by your system or an empty string was passed but no default locale can be found, an error will be raised and Zope will not start. -X Disable servers. This might be used to effectively disable all default server settings or previous server settings in the option list before providing new settings. For example to provide just a web server: ./start -X -w80 -M file Save detailed logging information to the given file. This log includes separate entries for: - The start of a request, - The start of processing the request in an application thread, - The start of response output, and - The end of the request.
finrod - Dec. 29, 2004 8:41 am: Similarly - when I use the "-h" option to get help...it responds and tells me that the option docs have not yet been implemented. It would be good to add those when you get a chance...
finrod - Dec. 29, 2004 8:32 am: When I attempt to use the -M option with the runZope.bat I get the following error: C:\Zope-Instance\bin>runzope -M c:\temp\zope.txt C:\Zope-Instance\bin>"C:\Zope\bin\python.exe" "C:\Zope\lib\python\Zope\Startup\r un.py" -C "C:\Zope-Instance\etc\zope.conf" -M c:\temp\zope.txt C:\Zope\bin\lib\fcntl.py:7: DeprecationWarning: the FCNTL module is deprecated; please use fcntl DeprecationWarning) Error: option -M not recognized For help, use C:\Zope\lib\python\Zope\Startup\run.py -h
Anonymous User - May 12, 2004 2:20 pm: How can one use these type of options if you have Zope setup as a Windows service? I tried to use the "Start parameters" field within Windows Services interface for my Zope Instance service but didn't seem to change the port numbers for example.
Environment Variables that Affect Zope at Runtime
Zope behavior is also effected by the presence and value of operating system environment variables that are available in the shell from which Zope is started.
To set an OS environment variable under UNIX in the bash
shell,
use the "export" command e.g. export
EVENT_LOG_FILE=/home/chrism/Zope/var/event.log
. To set an OS
environment variable under Windows NT/2000, use the Control Panel
-> System applet or use the DOS-mode "set" command e.g. set
EVENT_LOG_FILE=c:\chrism\Zope\var\event.log
. The "set" command
can also be used in Windows 98/ME. Below are the environment
variables that effect Zope runtime behavior, inlcluding
descriptions of each:
Zope library paths PYTHONPATH Effects the library load path used by Python. See "The Python Tutorial Modules Chapter":http://www.python.org/doc/current/tut/node8.html for more information about PYTHONPATH. INSTANCE_HOME If an INSTANCE_HOME is defined and has a 'lib/python' sub directory, it will be added to the front of the PYTHONPATH. INSTANCE_HOME is usually used to separate the Zope core installation from application code and third-party modules/products. See also: SOFTWARE_HOME SOFTWARE_HOME The SOFTWARE_HOME usually keeps the directory name of the Zope core installation. See also: INSTANCE_HOME ZOPE_HOME ZOPE_HOME is the root of the Zope software, where the ZServer package, z2.py, and the default import directory may be found. Profiling PROFILE_PUBLISHER If set, Zope is forced profile every request of the ZPublisher. The profiling information is written to the value of the PROFILE_PUBLISHER. Access Rules and Site Roots SUPPRESS_ACCESSRULE If set, all SiteRoot behaviors are suppressed. SUPPRESS_SITEROOT If set, all access rules behaviors are suppressed. ZEO-related CLIENT_HOME CLIENT_HOME allows ZEO clients to easily keep distinct pid and log files. This is currently an *experimental* feature. ZEO_CLIENT If you want a persistent client cache which retains cache contents across ClientStorage restarts, you need to define the environment variable, ZEO_CLIENT, to a unique name for the client. This is needed so that unique cache name files can be computed. Otherwise, the client cache is stored in temporary files which are removed when the ClientStorage shuts down. Debugging and Logging EVENT_LOG_FORMAT or STUPID_LOG_FORMAT Set this variable if you like to customize the output format of Zope event logger. EVENT_LOG_FORMAT is the preferred envvar but STUPID_LOG_FORMAT also works. EVENT_LOG_FILE="path" or STUPID_LOG_FILE="path" The event file logger writes Zope logging information to a file. It is not very smart about it - it just dumps it to a file and the format is not very configurable - hence the name STUPID_LOG_FILE. EVENT_LOG_FILE is the preferred envvar but STUPID_LOG_FILE also works. See also: LOGGING.txt in top-level Zope "doc" directory. EVENT_LOG_SEVERITY <number> or STUPID_LOG_SEVERITY <number> If set, Zope logs only messages whose severity is level is higher than the specified one. EVENT_LOG_SEVERITY is the preferred envvar but STUPID_LOG_SEVERITY also works. ZSYSLOG="/dev/log" Setting this environment variable will cause Zope to try and write the event log to the named UNIX domain socket (usually '/dev/log'). This will only work on UNIX. See also: LOGGING.txt ZSYSLOG_FACILITY="facilityname" Setting this environment variable will cause Zope to use the syslog logger with the given facility. This environment variable is optional and overrides the default facility "user". This will only work on UNIX. See also: LOGGING.txt in top-level Zope "doc" directory. ZSYSLOG_SERVER="machine.name:port" Setting this environment variable tells Zope to connect a UDP socket to machine.name (which can be a name or IP address) and 'port' which must be an integer. The default syslogd port is '514' but Zope does not pick a sane default, you must specify a port. This may change, so check back here in future Zope releases. See also: LOGGING.txt in top-level Zope "doc" directory. ZSYSLOG_ACCESS="/dev/log" ZSYSLOG_ACCESS_FACILITY="facilityname" ZSYSLOG_ACCESS_SERVER="machine.name:port" Like ZSYSLOG, ZSYSLOG_FACILITY, and ZSYSLOG_SERVER, but controlling the sending of access information to syslog (rather than controlling the sending of the event log) Z_DEBUG_MODE "yes" or "no" BOBO_DEBUG_MODE "yes" or "no" (obsolete) Run Zope in "debug mode" if set. Same as -D option to 'z2.py' or 'start'. Misc. Z_REALM "your realm" BOBO_REALM "your realm" (obsolete) Realm to be used when send HTTP authentication requests to a web client. The real string is displayed when the web browser pops up the username/password requester Security related ZOPE_SECURITY_POLICY If this variable is set to "PYTHON", Zope will use the traditional Python based AccessControl implementation. By default and for performance reasons Zope will use the cAccessControl module. ZSP_OWNEROUS_SKIP If set, will cause the Zope Security Policy to skip checks relating to ownership, for servers on which ownership is not important. ZSP_AUTHENTICATED_SKIP If set, will cause the Zope Security Policy to skip checks relating to authentication, for servers which serve only anonymous content. ZOPE_DTML_REQUEST_AUTOQUOTE Set this variable to one of 'no', '0' or 'disabled' to disable autoquoting of implicitly retrieved REQUEST data that contain a '<' when used in a dtml-var construction. When *not* set to one of these values, all data implicitly taken from the REQUEST (as oposed to addressing REQUEST.varname directly), that contain a '<', will be HTML quoted when interpolated with a <dtml-var> or &dtml-; construct. ZODB related ZOPE_DATABASE_QUOTA If this variable is set, it should be set to an integer number of bytes. Additions to the database are not allowed if the database size exceeds the quota. ZOPE_READ_ONLY If this variable is set, then the database is opened in read only mode. If this variable is set to a string parsable by DateTime.DateTime, then the database is opened read-only as of the time given. Note that changes made by another process after the database has been opened are not visible. Session related ZSESSION_ADD_NOTIFY An optional full Zope path name of a callable object to be set as the "script to call on object addition" of the session_data transient object container created in temp_folder at startup. ZSESSION_DEL_NOTIFY An optional full Zope path name of a callable object to be set as the "script to call on object deletion" of the session_data transient object container created in temp_folder at startup. ZSESSION_TIMEOUT_MINS The number of minutes to be used as the "data object timeout" of the "/temp_folder/session_data" transient object container. ZSESSION_OBJECT_LIMIT The number of items to use as a "maximum number of subobjects" value of the "/temp_folder" session data transient object container. WebDAV WEBDAV_SOURCE_PORT_CLIENTS Setting this variable enables the retrieval of the document source through the standard HTTP port instead of the WebDAV port. The value of this variable is a regular expression that is matched against the user-agent string of the client. Example:: WEBDAV_SOURCE_PORT_CLIENTS="cadaver.*" enables retrieval of the document source for the Cadaver WebDAV client Structured Text STX_DEFAULT_LEVEL Set this variable to change the default level for <Hx> elements. The default level is 3. Esoteric Z_MAX_STACK_SIZE This variable allows you to customize the size of the Zope stack used by the SecurityManager (default 100).
Anonymous User - Dec. 7, 2003 7:51 am: Under Zope 2.7, none of these environment variables are used. Instead, use the equivalent settings in the zope.conf file.
Anonymous User - June 9, 2005 9:14 pm: Apologies, I've also posted this somewhere else then realised this is the way to add comments : The following tow statements seem to be reversed in the document: Access Rules and Site Roots SUPPRESS_ACCESSRULE If set, all SiteRoot behaviors are suppressed. SUPPRESS_SITEROOT If set, all access rules behaviors are suppressed.
When All Else Fails
If there's a problem with your installation that you just can't
seem to solve, don't despair. You have many places to turn for
help, including the Zope maillists and the #zope
IRC channel.
Anonymous User - Dec. 16, 2004 11:00 am: Thats on irc.freenode.org
If you are new to open source software, please realize that, for the most part, participants in the various "free" Zope support forums are volunteers. Though they are typically friendly and helpful, they are not obligated to answer your questions. Therefore, it's in your own self-interest to exercise your best manners in these forums in order to get your problem resolved quickly.
Anonymous User - Dec. 16, 2004 11:02 am: Make sure you read this before asking: http://www.catb.org/~esr/faqs/smart-questions.html
The most reliable way to get installation help is to send a message to the general Zope maillist detailing your installation problem. For more information on the available Zope mailing lists, see the Resources section of Zope.org. Typically someone on the "[email protected]" list will be willing to help you solve the problem.
Chirael - Mar. 22, 2004 5:04 pm: You might recommend that people check the mailing list archives to see if their questions have already been asked and answered, before posting a new question.
For even more immediate help, you may choose to visit the #zope channel on the OpenProjects IRC (Internet Relay Chat) network. See the OpenProjects website for more information on how to connect to the OpenProjects IRC network.
Anonymous User - Oct. 29, 2004 10:34 am: I believe OpenProjects changed their name to freenode.net , so you should go to the #zope room on irc.freenode.net HTH, Michael Van Wesenbeeck
If you are truly desperate and under a time constraint that prohibits you from utilizing "free" support channels, Zope Corporation provides for-fee service contracts which you can use for Zope installation help. See Zope.com for more information about Zope Corporation service contracts.