1 | ============================================ |
---|
2 | Installing Zope (for training purposes only) |
---|
3 | ============================================ |
---|
4 | ----------------------- |
---|
5 | A [not so] Quick Primer |
---|
6 | ----------------------- |
---|
7 | |
---|
8 | To deploy the WAeUP Student Registration Portal on your computer, you |
---|
9 | first have to set up a running Zope instance. These are installation |
---|
10 | instructions for Windows and Linux. Please note, that the recommended |
---|
11 | platform for production use is Linux due to advanced security and |
---|
12 | availability of service. However for testing you can freely use the |
---|
13 | operating system you like. |
---|
14 | |
---|
15 | General Remarks |
---|
16 | --------------- |
---|
17 | |
---|
18 | Any running Zope installation consists of at least an installed Zope |
---|
19 | binary and a Zope instance. It is important to distinguish Zope |
---|
20 | installations from Zope instances. Usually, you only have *one |
---|
21 | installation of a certain Zope version* installed (in case of WAeUP: |
---|
22 | version 2.9.8), while there might be *several Zope instances* installed |
---|
23 | based on the one Zope installation, but located at different locations |
---|
24 | in the filesystem. |
---|
25 | |
---|
26 | A special case, common on Windows but unusual on Unix-machines, is, to |
---|
27 | install an instance of Zope in the same directory, where the mean Zope |
---|
28 | installation is located. For the Zope-administrator it is then |
---|
29 | difficult to see a difference between the Zope installation and the |
---|
30 | Zope instance, but the difference indeed exists. |
---|
31 | |
---|
32 | Further complications arise from the fact, that the term |
---|
33 | 'install/start/stop/use Zope' often really means a Zope instance, but |
---|
34 | only speaks of 'Zope' in general. You might keep in mind, that after |
---|
35 | installing Zope instances and going into production use, you rarely |
---|
36 | handle with Zope installations, but mostly with Zope instances. The |
---|
37 | thing you start, when you start 'a Zope' is technically a Zope |
---|
38 | instance, which in turn deploys a Zope installation. Also the thing, |
---|
39 | which answers HTTP-Requests in a running 'Zope-System' is an Zope |
---|
40 | instance. Have a look at the following figure: |
---|
41 | |
---|
42 | .. image:: ./zinstancesetup.png |
---|
43 | |
---|
44 | *Fig. 1: Zope Overload* |
---|
45 | |
---|
46 | A (obviously overloaded) system with two Zope versions installed and |
---|
47 | five instances, which listen on five different ports. A browser is |
---|
48 | connected to port 8082, which is served by the 'waeup'-instance, which |
---|
49 | in turn deploys a Zope 2.9.8 installation (sharing it with two other |
---|
50 | instances). |
---|
51 | |
---|
52 | |
---|
53 | Installing Zope on Windows |
---|
54 | --------------------------- |
---|
55 | |
---|
56 | TODO |
---|
57 | |
---|
58 | Installing Zope on MacOS X |
---|
59 | -------------------------- |
---|
60 | |
---|
61 | Mostly the same as on Linux (see below). |
---|
62 | |
---|
63 | * Your home directory (~) is `/Users/user`. |
---|
64 | |
---|
65 | * You need to install Developer Tools (XCode). |
---|
66 | |
---|
67 | * You need to install wget on your own (perhaps use MacPorts or Fink) or use curl. |
---|
68 | |
---|
69 | * Depending on your OS version you need to install an older Python version, |
---|
70 | perhaps via MacPorts or Fink. |
---|
71 | (*Don't touch Apple's default Python installation!*) |
---|
72 | |
---|
73 | Installing Zope on Linux |
---|
74 | ------------------------ |
---|
75 | |
---|
76 | Zope can be installed and instances be run by any user, who has access |
---|
77 | to the system. The highly recommended kind of Zope-install on Linux is |
---|
78 | to grab the source code and build the installation on your system |
---|
79 | directly. |
---|
80 | |
---|
81 | The install is not as complicated, as the length of this document |
---|
82 | might suggest. The length is a result of the authors logorrhoea, not |
---|
83 | of overwhelming complexity of the topic. |
---|
84 | |
---|
85 | If you are in a hurry and only want the short version, here are the |
---|
86 | essential steps. Log into your system as a normal user, go to your |
---|
87 | home directory and do: |
---|
88 | |
---|
89 | :: |
---|
90 | |
---|
91 | ~$ wget http://www.zope.org/Products/Zope/2.9.8/Zope-2.9.8-final.tgz |
---|
92 | ~$ mkdir -p zope/base zope/build zope/pkgs zope/instances |
---|
93 | ~$ cp Zope-2.9.8-final.tgz zope/build |
---|
94 | ~$ mv Zope-2.9.8-final.tgz zope/pkgs |
---|
95 | ~$ cd zope/build |
---|
96 | ~/zope/build$ tar -xzf Zope-2.9.8-final.tgz |
---|
97 | ~/zope/build$ cd Zope-2.9.8-final |
---|
98 | ~/zope/build/Zope-2.9.8-final$ ./configure --prefix=/home/user/zope/base/2_9_8 |
---|
99 | ~/zope/build/Zope-2.9.8-final$ make |
---|
100 | ~/zope/build/Zope-2.9.8-final$ make install |
---|
101 | ~/zope/build/Zope-2.9.8-final$ /home/user/zope/base/2_9_8/bin/mkzopeinstance.py -d /home/user/zope/instances/myinstance1 -u user:secret |
---|
102 | ~/zope/build/Zope-2.9.8-final$ /home/user/zope/instances/myinstance1/bin/zopectl start |
---|
103 | |
---|
104 | *Fig. 2: Zope install on Linux / Short version* |
---|
105 | |
---|
106 | This should work on most systems. However, there are many error |
---|
107 | sources and if something goes wrong, you have to understand what is |
---|
108 | happening in each of steps. Explaining this is something, long |
---|
109 | versions are made for. |
---|
110 | |
---|
111 | |
---|
112 | 1. *Get the sources* |
---|
113 | |
---|
114 | Get the Zope sources from `http://www.zope.org/`. For the |
---|
115 | WAeUP-portal you currently need the 2.9.8 version of Zope, which can |
---|
116 | be found here: `http://www.zope.org/Products/Zope/2.9.8/Zope-2.9.8-final.tgz` |
---|
117 | |
---|
118 | Using the commandline you might change to your home directory (`cd`) and |
---|
119 | do (the dollar-sign here and elsewhere denotes the commandline |
---|
120 | prompt, the tilde in front of the dollar sign means: 'home directory'): |
---|
121 | |
---|
122 | :: |
---|
123 | |
---|
124 | ~$ cd |
---|
125 | ~$ wget http://www.zope.org/Products/Zope/2.9.8/Zope-2.9.8-final.tgz |
---|
126 | --16:03:00-- http://www.zope.org/Products/Zope/2.9.8/Zope-2.9.8-final.tgz |
---|
127 | => `Zope-2.9.8-final.tgz' |
---|
128 | Resolving www.zope.org... 63.240.213.171 |
---|
129 | Connecting to www.zope.org|63.240.213.171|:80... connected. |
---|
130 | HTTP request sent, awaiting response... 200 OK |
---|
131 | Length: 8,010,113 (7.6M) [application/x-gzip] |
---|
132 | |
---|
133 | 100%[====================================>] 8,010,113 203.30K/s ETA 00:00 |
---|
134 | |
---|
135 | 16:03:50 (156.42 KB/s) - `Zope-2.9.8-final.tgz' saved [8010113/8010113] |
---|
136 | |
---|
137 | |
---|
138 | 2. *Create a Zope directory tree* |
---|
139 | |
---|
140 | If you did not do already, it is adviceable to create a directory |
---|
141 | structure which enables you to find all your Zope installations |
---|
142 | and instances at a well defined place. Otherwise you might get |
---|
143 | lost in the many directories and subdirectories usually created |
---|
144 | by Zope. |
---|
145 | |
---|
146 | You can indeed use the tool of your choice for creating |
---|
147 | directories. For example the file-manager of your favourite window |
---|
148 | manager. Note however, that on many servers, you might going to |
---|
149 | administer on the internet later on, there is no such thing like |
---|
150 | a GUI installed (for good reason: GUIS on servers are |
---|
151 | unneccessary performance killers). I therefore, in the following |
---|
152 | example, show, how to create the directory structure on the |
---|
153 | commandline. |
---|
154 | |
---|
155 | We create the following directory structure: |
---|
156 | |
---|
157 | .. image:: ./zopedirtree1.png |
---|
158 | |
---|
159 | The directory tree contains a common subdirectory 'zope/' to keep |
---|
160 | all Zope related stuff apart from other user related data. It |
---|
161 | ends up in four leafs, which purposes are as follows: |
---|
162 | |
---|
163 | * *base/ -- The Zope installation directory* |
---|
164 | |
---|
165 | This directory holds the finished (compiled etc.) Zope |
---|
166 | installations (*not* the instances which have got their own |
---|
167 | directory). It will later on contain one subtree for each |
---|
168 | Zope version installed. |
---|
169 | |
---|
170 | * *build/ -- Helper directory for building Zope from source* |
---|
171 | |
---|
172 | This directory will be the place, where we start the |
---|
173 | installation. Its purpose is to have a place, where we can |
---|
174 | build (compile etc.) Zope, without having too much unused |
---|
175 | files laying around. Strictly speaking, after having built |
---|
176 | and installed Zope once, there is no need to keep the |
---|
177 | building directory and you might remove it afterwards. |
---|
178 | |
---|
179 | * *pkgs/ -- Repository for packages downloaded* |
---|
180 | |
---|
181 | Also this directory is not neccessary, to build |
---|
182 | Zope. It is a place to store packages, downloaded from the |
---|
183 | internet, especially Zope products or Zope |
---|
184 | source-tarballs. It comes in handy, if you want to keep |
---|
185 | packages for later use. We will use it to keep a backup of |
---|
186 | the Zope sources and CPS products, so we do not have to |
---|
187 | download them from internet everytime we create a new |
---|
188 | instance. |
---|
189 | |
---|
190 | * *instances/ -- The Zope instances directory* |
---|
191 | |
---|
192 | The most important directory in daily use. Here we create our |
---|
193 | Zope instances and here we will spend the most time, once, |
---|
194 | one or more insances are created and run. |
---|
195 | |
---|
196 | As you might already guessed, there is no need to create such a |
---|
197 | directory structure. Furthermore you can give the directories |
---|
198 | other names, whatever you like. In daily work it turned out, that |
---|
199 | such a directory tree is very handy and it tends to be a kind of |
---|
200 | best practice, to use it. |
---|
201 | |
---|
202 | On the commandline the directory tree is created like so: |
---|
203 | |
---|
204 | :: |
---|
205 | |
---|
206 | ~$ mkdir zope |
---|
207 | ~$ mkdir zope/base zope/build zope/pkgs zope/instances |
---|
208 | |
---|
209 | 3. *Unpack the sources* |
---|
210 | |
---|
211 | The sources are packed in a so-called 'tarball', which is denoted |
---|
212 | by the file extension 'tgz', a short form of 'tar.gz'. |
---|
213 | |
---|
214 | Now, as we freshly created a directory for building, we first copy |
---|
215 | the downloaded tarball containing the Zope sources to the build |
---|
216 | directory: |
---|
217 | |
---|
218 | :: |
---|
219 | |
---|
220 | ~$ cp Zope-2.9.8-final.tgz zope/build |
---|
221 | |
---|
222 | Afterwards we put the sources into the pkgs-directory to keep it |
---|
223 | for later use (and remove it from our home directory): |
---|
224 | |
---|
225 | :: |
---|
226 | |
---|
227 | ~$ mv Zope-2.9.8-final.tgz zope/pkgs |
---|
228 | |
---|
229 | The command 'mv' *moves* a file to a different location, thereby |
---|
230 | deleting the old file. |
---|
231 | |
---|
232 | Now we can change to the build-directory and unpack the sources: |
---|
233 | |
---|
234 | :: |
---|
235 | |
---|
236 | ~$ cd zope/build |
---|
237 | ~/zope/build$ tar -xzf Zope-2.9.8-final.tgz |
---|
238 | |
---|
239 | The commandline options 'xzf' mean: e(x)tract the file, un(z)ip the |
---|
240 | file and do the whole operation on the (f)ile Zope-2.9.8-final.tgz. |
---|
241 | |
---|
242 | This creates a new subdirectory 'Zope-2.9.8-final' with all required |
---|
243 | sources. |
---|
244 | |
---|
245 | 4. *Build Zope base* |
---|
246 | |
---|
247 | Change to the sources directory: |
---|
248 | |
---|
249 | :: |
---|
250 | |
---|
251 | ~/zope/build$ cd Zope-2.9.8-final |
---|
252 | |
---|
253 | Here you can find a file configure, which is most important, to |
---|
254 | get all compile time options, supported by your Zope version. You |
---|
255 | can view them by calling './configure --help': |
---|
256 | |
---|
257 | :: |
---|
258 | |
---|
259 | ~/zope/build/Zope-2.9.8-final$ ./configure --help |
---|
260 | |
---|
261 | configure [--help] [--quiet] [--with-python=path] [--prefix=path] |
---|
262 | |
---|
263 | Create a Makefile suitable for building Zope |
---|
264 | |
---|
265 | Options: |
---|
266 | --help shows usage and quits |
---|
267 | --quiet suppress nonessential output |
---|
268 | --with-python specify a path to a Python interpreter to use |
---|
269 | --prefix specify an installation path for binary data |
---|
270 | |
---|
271 | Given no options, configure will search your PATH for a suitable |
---|
272 | Python interpreter and use '/usr/local/Zope-2.9.8-final' as a prefix. |
---|
273 | |
---|
274 | Basically, it tells you, that you can give a special Python |
---|
275 | version to build Zope and an installation path. Usually, it is |
---|
276 | best to let the configure script look for an appropriate Python |
---|
277 | interpreter. |
---|
278 | |
---|
279 | Note, that for building Zope you not only have to provide a |
---|
280 | running Python interpreter (preferably version 2.4.3), but also |
---|
281 | the header files and related developer files of your Python |
---|
282 | installation. Usually on Linux those packages are called |
---|
283 | python-dev or similar. The exact package name depends on your |
---|
284 | distribution. |
---|
285 | |
---|
286 | On Debian/Ubuntu based systems you can install the package |
---|
287 | 'python2.4-dev', which has to be done as superuser (denoted by |
---|
288 | the '#'-sign in the follwing): |
---|
289 | |
---|
290 | :: |
---|
291 | |
---|
292 | ~# apt-get install python2.4-dev |
---|
293 | |
---|
294 | While the Python developer files are rarely installed on usual |
---|
295 | end-user systems (except Zope users), the most systems already |
---|
296 | have a C-compiler (most common on Linx: gcc) installed, which you |
---|
297 | need too to build Zope. If Zope complains while building about |
---|
298 | unknown files or similar, make sure you have intalled the 'gcc' |
---|
299 | and the Python developer files. Consult your distributions' |
---|
300 | documentation to learn, how to do this. |
---|
301 | |
---|
302 | To start the real built, we give the 'configure'-script a |
---|
303 | prefix-option, which tells, that we want to have installed Zope |
---|
304 | in the base/ directory: |
---|
305 | |
---|
306 | :: |
---|
307 | |
---|
308 | ~/zope/build/Zope-2.9.8-final$ ./configure --prefix=/home/user/zope/base/2_9_8 |
---|
309 | |
---|
310 | Here we want Zope to be installed in |
---|
311 | /home/user/zope/base/2_9_8. Note, that the path |
---|
312 | /home/user/zope/base/ must already exist before executing the |
---|
313 | above command, while the subdirectory '2_9_8' (yes, its a |
---|
314 | diretory name) should be created by the build process. |
---|
315 | |
---|
316 | You can however use any name you want for your Zope installation, |
---|
317 | for example 'zope293' or something similar. Just change the |
---|
318 | prefix-parameter in that case accordingly. |
---|
319 | |
---|
320 | If everthing went well, you got the following (or similar) output: |
---|
321 | |
---|
322 | :: |
---|
323 | |
---|
324 | Configuring Zope installation |
---|
325 | |
---|
326 | Testing for an acceptable Python interpreter... |
---|
327 | |
---|
328 | Python version 2.4.3 found at /usr/bin/python |
---|
329 | |
---|
330 | The optimum Python version (2.4.3) was found at /usr/bin/python. |
---|
331 | |
---|
332 | In case of errors, you might provide a --with-python option. |
---|
333 | |
---|
334 | The Zope package is now configured and ready to be built. We |
---|
335 | start the process by doing: |
---|
336 | |
---|
337 | :: |
---|
338 | |
---|
339 | ~/zope/build/Zope-2.9.8-final$ make |
---|
340 | |
---|
341 | and, if everything worked fine: |
---|
342 | |
---|
343 | :: |
---|
344 | |
---|
345 | ~/zope/build/Zope-2.9.8-final$ make install |
---|
346 | |
---|
347 | The first step, the call of 'make', takes the biggest amount of |
---|
348 | time and is the crucial part of the whole installation process. |
---|
349 | |
---|
350 | The make command may raise some compiler warnings (complaining |
---|
351 | about eventually uninitialized variables), especially, if using |
---|
352 | the up-to-date version of gcc. You can safely ignore them. |
---|
353 | |
---|
354 | But if you get real error messages (not only warnings) something is |
---|
355 | seriously wrong and you have to resolve this problems before |
---|
356 | proceeding. In most cases it is a matter of (not) installed Python/gcc |
---|
357 | packages and depends on your system. There is a very high |
---|
358 | probability, that you can find some hints regarding your issues |
---|
359 | using Google or other internet ressources. |
---|
360 | |
---|
361 | If no serious errors occured: congratulations! You finally |
---|
362 | installed your first Zope. |
---|
363 | |
---|
364 | If you are short of disk space, you can now safely remove the |
---|
365 | complete directory tree in the 'build/' directory. All needed |
---|
366 | software is now installed in the base/ directory. |
---|
367 | |
---|
368 | |
---|
369 | 5. *Install a Zope instance* |
---|
370 | |
---|
371 | We can now change to our freshly created Zope installation: |
---|
372 | |
---|
373 | :: |
---|
374 | |
---|
375 | ~$ cd /home/user/zope/base/2_9_8 |
---|
376 | |
---|
377 | Instead of '2_9_8' you must use the name given to the prefix |
---|
378 | option of the 'configure'-script above. |
---|
379 | |
---|
380 | Here you can find some subdirectories of which for now only the |
---|
381 | bin-directory is of interest: |
---|
382 | |
---|
383 | :: |
---|
384 | |
---|
385 | ~/zope/base/2_9_8$ ls |
---|
386 | bin include lib skel zopeskel |
---|
387 | ~/zope/base/2_9_8$ cd bin |
---|
388 | ~/zope/base/2_9_8/bin$ ls |
---|
389 | analyze.py fstail.py requestprofiler.py zeoctl.py |
---|
390 | checkbtrees.py fstest.py runzeo.py zeopack.py |
---|
391 | check_catalog.py load_site.py simul.py zeopasswd.py |
---|
392 | compilezpy.py migrate.py space.py zeoqueue.py |
---|
393 | copyzopeskel.py mkzeoinstance.py stats.py zeoreplay.py |
---|
394 | copyzopeskel.pyc mkzeoinst.py test.py zeoserverlog.py |
---|
395 | decompilezpy.py mkzopeinstance.py timeout.py zeoup.py |
---|
396 | fsdump.py netspace.py zconfig zodbload.py |
---|
397 | fsoids.py parsezeolog.py zconfig_schema2html zopetest |
---|
398 | fsrefs.py reindex_catalog.py zdctl.py zpasswd.py |
---|
399 | fsstats.py repozo.py zdrun.py |
---|
400 | |
---|
401 | Almost all of these files are executables, i.e. programs, you |
---|
402 | might need in your further work with Zope. Most Zope |
---|
403 | administrators, however, know only the script 'mkzopeinstance.py', |
---|
404 | which creates a new Zope instance. We will use it too. First we |
---|
405 | call it with the '--help' option, to see, what the script can do |
---|
406 | for us: |
---|
407 | |
---|
408 | :: |
---|
409 | |
---|
410 | ~/zope/base/2_9_8/bin$ ./mkzopeinstance.py --help |
---|
411 | mkzopeinstance.py: Create a Zope instance home. |
---|
412 | |
---|
413 | usage: mkzopeinstance.py [options] |
---|
414 | |
---|
415 | Options: |
---|
416 | -h/--help -- print this help text |
---|
417 | -d/--dir -- the dir in which the instance home should be created |
---|
418 | -u/--user NAME:PASSWORD -- set the user name and password of the initial user |
---|
419 | -s/--skelsrc -- the dir from which skeleton files should be copied |
---|
420 | |
---|
421 | When run without arguments, this script will ask for the information necessary |
---|
422 | to create a Zope instance home. |
---|
423 | |
---|
424 | Note: On UN*X systems the '--help' switch is very common. Most programs |
---|
425 | support it. |
---|
426 | |
---|
427 | The help message displayed tells us, that we can name a directory |
---|
428 | to specify, where the instance should be created and a |
---|
429 | username/password pair for the initial login. That is, what we are |
---|
430 | going to do. As path for the instance we choose a (yet not |
---|
431 | existing) directory in the 'instances'-directory, say |
---|
432 | 'myinstance1'. The user/password values for our first local tries |
---|
433 | can be kept simple: |
---|
434 | |
---|
435 | :: |
---|
436 | |
---|
437 | ~/zope/base/2_9_8/bin$ ./mkzopeinstance.py -d /home/user/zope/instances/myinstance1 -u user:secret |
---|
438 | |
---|
439 | This takes only about one second. If you do not give a username |
---|
440 | and password via parameters, you will be prompted for the data. |
---|
441 | |
---|
442 | 6. *Configure and start your new instance* |
---|
443 | |
---|
444 | Change to the instances directory, to see, whether your new Zope |
---|
445 | instance was created: |
---|
446 | |
---|
447 | :: |
---|
448 | |
---|
449 | ~$ cd /home/user/zope/instances |
---|
450 | ~/zope/instances$ ls |
---|
451 | myinstance1 |
---|
452 | |
---|
453 | Okay, the instance exists, so go in and have a look: |
---|
454 | |
---|
455 | :: |
---|
456 | |
---|
457 | ~/zope/instances$ cd myinstance1 |
---|
458 | ~/zope/instances/myinstance1$ ls |
---|
459 | bin etc Extensions import inituser lib log Products README.txt var |
---|
460 | |
---|
461 | Here we see the main directories for the further work with |
---|
462 | Zope. The most important directories: |
---|
463 | |
---|
464 | * *bin -- Executables to start/stop your instance* |
---|
465 | |
---|
466 | This directory contains the programs to start or stop your |
---|
467 | Zope instance. You can do much more with them, but we refer to |
---|
468 | the extended possibilities later on. |
---|
469 | |
---|
470 | * *etc -- Configuration of your instance* |
---|
471 | |
---|
472 | This directory holds the important configuration file of your |
---|
473 | Zope instance. Chances are, that you do not need to change the |
---|
474 | default configuration, but we will take a look into it anyway. |
---|
475 | |
---|
476 | * *log -- Logfiles of your instance* |
---|
477 | |
---|
478 | Here you can find the logs of your instance. Namely the access |
---|
479 | logfile 'Z2.log' and an error log called 'event.log'. The |
---|
480 | event log saves all Zope specific events, not only errors. |
---|
481 | |
---|
482 | * *Products -- 3rd-party products repository* |
---|
483 | |
---|
484 | Here can install all products, like CPS or the WAeUP SRP |
---|
485 | product. They are generally installed on a per-instance basis. |
---|
486 | |
---|
487 | * *var -- The data directory* |
---|
488 | |
---|
489 | In this directory will Zope save all runtime information, |
---|
490 | i.e. the Z Object DataBase (ZODB) and other temporary |
---|
491 | data. The ZODB will be held in a file called Data.fs, which |
---|
492 | contains all the data you entered into the running Zope |
---|
493 | system. If it gets corrupted, the whole instance is lost. In |
---|
494 | special cases (ZEO setup etc.) the Data.fs can be shared |
---|
495 | amongst several Zope instances and reside at another place. |
---|
496 | |
---|
497 | Before starting the instance, first have a look at the |
---|
498 | configuration file 'zope.conf' which can be found in the |
---|
499 | etc-directory of your instance. |
---|
500 | |
---|
501 | With growing version numbers of Zope also the Zope configuration |
---|
502 | file grows larger and larger. For version 2.9.8 there are too many |
---|
503 | options available in zope.conf, to discuss every single option |
---|
504 | herein. |
---|
505 | |
---|
506 | One option, however, is of special interest: the port number, |
---|
507 | where the Zope instance will listen to requests. |
---|
508 | |
---|
509 | 'zope.conf' is a simple plain text file, which you can edit with |
---|
510 | any text editor (please do not use something like OpenOffice or |
---|
511 | Word to edit a plain text file: it won't be plain text any |
---|
512 | more). To view its content you can use the command 'less' on |
---|
513 | UN*X. |
---|
514 | |
---|
515 | In the zope.conf you will find (near the end of file) a section |
---|
516 | called 'http-server', which looks like this: |
---|
517 | |
---|
518 | :: |
---|
519 | |
---|
520 | # |
---|
521 | # An HTTP server starts on port 8080. |
---|
522 | |
---|
523 | <http-server> |
---|
524 | # valid keys are "address" and "force-connection-close" |
---|
525 | address 8080 |
---|
526 | # force-connection-close on |
---|
527 | </http-server> |
---|
528 | |
---|
529 | This means, Zope will listen on port 8080. This is okay, if there |
---|
530 | is no other process still listening on port 8080 (note for geeks: |
---|
531 | you can use the 'netstat' tool to check, which ports are already |
---|
532 | in use). But if you want to run several Zope instances in |
---|
533 | parallel, you must set the listening port to another value. |
---|
534 | |
---|
535 | We assume, port 8080 is not in use and simply start the Zope |
---|
536 | instance in the foreground for the first time: |
---|
537 | |
---|
538 | :: |
---|
539 | |
---|
540 | ~/zope/instances/myinstance1$ ./bin/runzope |
---|
541 | |
---|
542 | You will get some DeprecationWarnings and a message about a |
---|
543 | installed sighandler. This means, Zope has started and you should |
---|
544 | be able to use your Browser and browse to |
---|
545 | |
---|
546 | http://localhost:8080/ |
---|
547 | |
---|
548 | Note the portnumber in the URL: |
---|
549 | |
---|
550 | .. image:: ./snapshot1.png |
---|
551 | |
---|
552 | If you can see the Zope Quick Start screen, everything is fine and |
---|
553 | you can stop the Zope instance on the console by typing CTRL-C. |
---|
554 | |
---|
555 | We used the 'runzope' script to start Zope in the foreground. This |
---|
556 | is a recommended way to start freshly created instances, because |
---|
557 | problems occurring during the startup process will be displayed |
---|
558 | directly on the screen (in the shell). |
---|
559 | |
---|
560 | For long-term use this is not an option, because you want to run |
---|
561 | Zope as a server, which runs in the background and continues to |
---|
562 | run, when you log out. To start Zope in background use the |
---|
563 | 'zopectl' command. It requires a parameter, which specifies the |
---|
564 | action to be taken: |
---|
565 | |
---|
566 | :: |
---|
567 | |
---|
568 | zopectl start|stop|restart |
---|
569 | |
---|
570 | There are other possible actions as well, but for the beginning we |
---|
571 | start with 'start': |
---|
572 | |
---|
573 | :: |
---|
574 | |
---|
575 | ~/zope/instances/myinstance1$ ./bin/zopectl start |
---|
576 | . . . daemon process started, pid=457 |
---|
577 | |
---|
578 | You now have Zope running in regular mode. Check it by visiting |
---|
579 | the Quick Start Page. |
---|
580 | |
---|
581 | If everything went fine, you can see the startup messages in the |
---|
582 | logfiles in the log directory of your instance. |
---|
583 | |
---|
584 | You can also enter the Zope Management Interface (ZMI), by adding |
---|
585 | '/manage' to the URL: |
---|
586 | |
---|
587 | http://localhost:8080/manage |
---|
588 | |
---|
589 | This requires to enter the credentials, you gave during |
---|
590 | installation of the instance. |
---|
591 | |
---|
592 | .. image:: ./snapshot2.png |
---|
593 | |
---|
594 | After successfull authorization you should be able to see the ZMI: |
---|
595 | |
---|
596 | .. image:: ./snapshot3.png |
---|
597 | |
---|
598 | That's it. You installed Zope successfully. Congratulations! To |
---|
599 | stop your running instance, you can go to the control panel in the |
---|
600 | ZMI and shutdown by mouse-click, or, on the commandline, do |
---|
601 | |
---|
602 | :: |
---|
603 | |
---|
604 | ~/zope/instances/myinstance1$ ./bin/zopectl stop |
---|
605 | |
---|
606 | You can play a bit with your instance and then try to do the other |
---|
607 | steps to run a fully working version of the WAeUP SRP. |
---|
608 | |
---|
609 | *Have fun!* |
---|
610 | |
---|
611 | *Uli Fouquet* |
---|
612 | |
---|
613 | (updated in 2009-01 to Zope 2.9.8, as used by current WAeUP portals, by Hraban) |
---|