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