root / pykota / trunk / docs / installation.sgml @ 861

Revision 861, 10.4 kB (checked in by jalet, 21 years ago)

Download instructions added.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
Line 
1<!-- $Id$ -->
2
3<chapter>
4  <title>Installation</title>
5 
6  <para>Last modified on $Date$</para>
7 
8  <para>
9    Before being able to use <application>PyKota</application>, you have of course to
10    install it first. But before installing, you must carefully plan your installation.
11  </para>
12 
13  <para>
14    First you have to determine which machine will be the <application>PyKota</application>
15    <firstterm>Storage Server</firstterm>. The Storage Server is the host responsible
16    for keeping a centralized database of print usage for all your printers, users and groups.
17  </para>
18 
19  <para>
20    Then you have to list all the <firstterm>Print Servers</firstterm> for which
21    you plan to use <firstterm>print quota</firstterm> facilities.
22  </para>
23 
24  <para>
25    Finally you have to download <application>PyKota</application>'s latest version
26    or buy an official package, from
27    <ulink url="http://www.librelogiciel.com/software/">http://www.librelogiciel.com/software/</ulink>.
28    If you've just bought an official package, then as soon as you've receive it you
29    have to decompress and visit its archive, to do so just type the following commands :
30    <screen>
31jerome@nordine:~$ tar -zxf pykota-1.02-official.tar.gz   
32jerome@nordine:~$ cd pykota-1.02-official
33jerome@nordine:~/pykota-1.02-official$
34    </screen>
35  </para>
36 
37  <para>
38    You can see many files in this directory, the first ones to read are <filename>README</filename>,
39    then <filename>COPYING</filename> and <filename>LICENSE</filename>. They will give you
40    basic installation instructions and explain the licensing terms under which
41    <application>PyKota</application> is distributed. Of course they are also mostly
42    boring to read ! Detailed installation and operating instructions are defined
43    in the <filename>./docs</filename> directory, in the form of <acronym>SGML</acronym>
44    documentation in the <ulink url="http://www.docbook.org">DocBook</ulink> format.
45    You have to compile these files into readable documentation like the <acronym>HTML</acronym>
46    or <acronym>PDF</acronym> formats, or buy an official <application>PyKota</application> package
47    which already contains these compiled forms of the documentation.
48  </para>
49 
50  <para>
51    Now we will see what has to be done on each of the servers we are planning to use.
52    <note>
53      <title>Note</title>
54      <para>
55        Of course, depending on the size of your network, you may very well
56        use the same machine as both a Print Server and a Storage Server.
57        This is especially the case if you've got only one server.
58      </para>
59    </note> 
60  </para>
61 
62  <sect1>
63    <title>Storage Server Installation</title>
64   
65    <para>
66      Depending on <application>PyKota</application>'s version number, different
67      types of storage backends may be supported, so we will see for each one of
68      them how to configure it.
69    </para>
70   
71    <sect2>
72      <title>PostgreSQL</title>
73     
74      <para>
75        <application>PostgreSQL</application> is an <firstterm>Object Relationnal DataBase
76        Management System</firstterm> distributed under a <firstterm>Free Software</firstterm>
77        license from the
78        <ulink url="http://www.postgresql.org">http://www.postgresql.org</ulink>
79        web site. It certainely is the free <acronym>RDBMS</acronym> which has the most advanced
80        features, and is widely used all over the world.
81      </para>
82     
83      <para>
84        To configure your Storage Server, you must have PostgreSQL already working.
85        The complete installation of <application>PostgreSQL</application> is not covered by
86        the present manual, please refer to your system's documentation or to
87        <ulink url="http://www.postgresql.org">http://www.postgresql.org</ulink> for
88        details.
89      </para>
90     
91      <para>
92        One thing you have to check, though, is that every Print Server on which you
93        want to install the print quota mechanism, i.e. the print servers, must be able to connect to the
94        <application>PostgreSQL</application> server. In the default installation of
95        <application>PostgreSQL</application> this may not be the case for security reasons, except if both
96        servers are in fact the same machine. In any case, it is recommended that you
97        check the <filename>/etc/postgresql/pg_hba.conf</filename> and modify it if
98        needed. This file is self documented and its modification is straightforward.
99        You also have to make sure that <application>PostgreSQL</application> accepts <acronym>TCP/IP</acronym> connections.
100        To do so you either have to launch it with the <option>-i</option> option or
101        modify the <filename>/etc/postgresql/postgresql.conf</filename>, which is
102        self documented and easy to modify too.
103        <tip>
104          <title>Tip</title>
105          <para>
106            Don't forget to restart <application>PostgreSQL</application> if you modify
107            any of its configuration files, in order for the changes to take effect.
108          </para>
109        </tip> 
110      </para>
111     
112      <para>
113        Be careful, you may be unable to connect from a Print Server to the <application>PostgreSQL</application>
114        server even if the configuration is correct. Sometimes your connections may be blocked by
115        one or more network firewalls along the route from one machine to the other. If this
116        is the case, then the best thing you can do is to ask your <firstterm>Network Administrator</firstterm>
117        to not filter the IP port used by <application>PostgreSQL</application>, which is
118        usually port 5432/tcp.
119        <note>
120          <title>Note</title>
121          <para>
122            The TCP/IP network port used by PostgreSQL may be different. When in doubt, ask your
123            <firstterm>System Administrator</firstterm> for the correct value.
124          </para>
125        </note> 
126      </para>
127     
128      <para>
129        Now that your <application>PostgreSQL</application> server is up and running, and
130        is waiting for your connections, you have to create the Quota Storage DataBase.
131        To do so, you'll have to feed <application>PostgreSQL</application> with the
132        <filename>pykota-x.xx/initscripts/pykota-postgresql.sql</filename> file.
133        This file will create a Quota DataBase administrator and a Quota DataBase user
134        in the <application>PostgreSQL</application> system, then create an empty
135        Quota DataBase and set some permissions on it.
136      </para>
137     
138      <para>
139        To run this script, you can use the <application>psql</application> frontend to
140        <application>PostgreSQL</application>, but your priviledges must be sufficient
141        to be allowed to create users and databases. You can launch <application>psql</application>
142        as the <literal>postgres</literal> user which is <application>PostgreSQL</application>'s
143        default administrator, and connect to the default database named <literal>template1</literal>.
144        From a command line interpreter (i.e. shell), type the following commands :
145        <screen>
146jerome@nordine:~$ cd pykota-1.02-official/initscripts/
147jerome@nordine:~/pykota-1.02-official/initscripts$ psql -h localhost -U postgres template1
148Welcome to psql, the PostgreSQL interactive terminal.
149
150Type:  \copyright for distribution terms
151       \h for help with SQL commands
152       \? for help on internal slash commands
153       \g or terminate with semicolon to execute query
154       \q to quit
155
156template1=# \i pykota-postgresql.sql
157            ... a lot of output lines
158template1=# \q     
159        </screen>
160      </para>
161     
162      <para>
163        If no error occured, then your Quota DataBase is ready to be used.
164        Now you can let the Quota Storage Server alone, the remaining work
165        will have to be done on each one of the print servers which will
166        use this particular Quota Storage Server.
167        <tip>
168          <title>Tip</title>
169          <para>
170            If an error occured, maybe your PostgreSQL version is too old, or
171            an unexpected problem (like a bug) happened. Please send me an email so that I
172            can try to solve the problem. Thanks in advance.
173          </para>
174        </tip> 
175      </para>
176    </sect2> 
177   
178    <sect2>
179      <title>MySQL</title>
180     
181      <para>
182        A <application>MySQL</application> Storage Backend is planned, but it actually
183        doesn't exist.
184      </para>
185    </sect2> 
186   
187    <sect2>
188      <title>LDAP</title>
189     
190      <para>
191        An <application>LDAP</application> Storage Backend is planned, but it actually
192        doesn't exist. Some people may already be working on this, though.
193      </para>
194    </sect2> 
195   
196    <sect2>
197      <title>Berkeley DB</title>
198     
199      <para>
200        A <application>Berkeley DB</application> Storage Backend is planned, but it actually
201        doesn't exist. It seems that remote storage won't be possible with such a backend,
202        so in other terms this means that you will have a different quota database on
203        each print server. This may still prove to be useful for small configurations.
204      </para>
205    </sect2> 
206  </sect1> 
207 
208  <sect1>
209    <title>Print Server Installation</title>
210   
211    <para>
212      For each Print Server on which you plan to implement the print quota
213      mechanism, you have, of course, to have an already working printing environment.
214      Currently <application>PyKota</application> only works with the
215      <ulink url="http://www.cups.org"><application>CUPS</application></ulink> environment,
216      but more may be added in the future.
217    </para>
218   
219    <para>
220      TODO
221    </para>
222  </sect1> 
223</chapter>
224
225<!--
226
227$Log$
228Revision 1.7  2003/03/22 14:26:45  jalet
229Download instructions added.
230
231Revision 1.6  2003/03/22 14:06:02  jalet
232Quota Storage Server installation is OK for PostgreSQL.
233
234Revision 1.5  2003/03/22 13:11:33  jalet
235The port on which the Quota Storage Sever is listening can now
236be set in the configuration file (see sample).
237Better error handling if PygreSQL is not installed.
238Improved documentation.
239Version number changed to 1.02alpha
240
241Revision 1.4  2003/03/22 07:20:38  jalet
242More information wrt PostgreSQL tcp/ip configuration.
243
244Revision 1.3  2003/03/18 22:18:25  jalet
245The documentation will only be a sequence of chapters in a single part, not
246multiple parts each including chapters.
247
248Revision 1.2  2003/03/18 22:10:54  jalet
249Documentation improvements.
250
251Revision 1.1  2003/02/08 00:03:35  jalet
252Documentation skeleton added
253
254
255-->
Note: See TracBrowser for help on using the browser.