root/trunk/docs/INSTALL.txt

Revision 2886, 7.0 kB (checked in by jukka, 1 year ago)

Added instructions for upgrading kupu to INSTALL.txt

Line 
1 Installation instructions for LeMill
2 ====================================
3
4 You need:
5
6  * Plone 2.5.x
7  * Zope 2.8-2.9 (as required by your version of Plone)
8  * Python 2.4.x (as required by your version of Zope)
9  * Kupu 1.4 -> (http://plone.org/products/kupu/releases)
10
11 Installing LeMill for the first time
12 ------------------------------------
13
14 1. Install Python, Zope and Plone, by following their respective
15    installation instructions. Plone can be obtained as a product
16    package for Zope, or as a stand-alone package that contains
17    everything. NOTE: If you install Zope so it uses your system's
18    default Python environment, installing additional packages (steps 3
19    and 4) is easier. If you get a Zope or Plone package that has its
20    own Python environment, you'll later need to make sure that you
21    install the additional packages into the same Python environment
22    that Zope uses.
23
24 2. Install newer version of Kupu over Plone's default kupu version. (required for LeMill 3.0 onwards) Download the latest package from http://plone.org/products/kupu/releases and extract it. Remove old Products/kupu -folder and replace it with the new one.
25
26 3. Download the LeMill archive and extract it into the Products/LeMill
27    folder of your Zope instance.
28
29 4. Make sure the Python Imaging Library (PIL) is installed. You can get it
30    from here: http://www.pythonware.com/products/pil/.
31
32 5. Enable Captcha-based spam protection in LeMill.
33    Different Captcha solutions can be used in LeMill (some of them might
34    require changing product code LeMill product code).
35
36    4a. Current solution used is an external reCAPTCHA service.
37        Go to your Zope instance zope.conf file (situated in /etc of your
38        instance root) and add several lines in order to enable reCAPTCHA
39        functionality:
40      
41        <product-config lemill>
42          recaptcha_public_key PUBLICKEY
43          recaptcha_private_key PRIVATEKEY
44        </product-config>
45      
46        Note that PUBLICKEY and PRIVATEKEY should be unique keys that can be
47        acquired from http://recaptcha.org.
48
49        NB! As long as you connect to your instance as "localhost", recaptcha
50        won't check that your domain matches that of the keys.
51
52    5b. Install the pycaptcha Python package to enable Captcha-based spam
53        protection.  Download the egg from
54        http://pypi.python.org/pypi/PyCAPTCHA/0.4 (for Python 2.4) and
55        install it as you would any Python egg file (instructions on
56        installing eggs can be found by searching the net for "python egg
57        installation", but usually the easiest way is to first install the
58        Python setuptools, which provides you with the easy_install utility
59        that can install eggs.
60
61        NB! Note that the pyCaptcha package has an unfortunate conflict
62            with Zope. pyCaptcha tries to import the Image class from
63            Python Imaging by saying "import Image". The problem is that
64            under Zope this class will result in Zope's own Image class. So
65            all cases of "import Image" need to be changed to "from PIL
66            import Image". pyCaptcha will then work with and without Zope.
67
68 6. Sign up for Google Maps API key from http://code.google.com/apis/maps/signup.html
69    and add it to your Zope instance zope.conf file into <product-config lemill> tag:
70    
71    google_maps_api_key APIKEY
72
73 7. Start Zope.
74
75 8. Using your browser go to the ZMI (Zope Management Interface), which
76    usually is something like http://localhost:8080/manage. On the main
77    window, open the drop-down menu on the right and select "Plone
78    Site" to create a new Plone environment. In the following form you
79    will choose the id for the environment (which becomes part of the
80    path). You must also select from the "Extension Profiles" box the
81    profile "LeMill" so that instead of a normal Plone site you get a
82    LeMill site.
83
84 9. After this you should be able to access your LeMill by going to
85    http://localhost:8080/id (where "id" is the id you chose when
86    creating the environment).
87
88 10. If you plan on running a production system, we suggest the
89    following additional operations:
90
91    * Run a separate ZEO server and connect your Zope to that, so you
92      can easily add servers and make a cluster if necessary.
93
94    * Run Apache2, Squid, Varnish or some other proxying web server in
95      front of Zope, so you can employ efficient caching techniques.
96
97    * Take a look at Plone product "CacheFU" to help in tuning the
98      caching parameters and improve performance.
99
100 11. (Optional) If you want to generate mathematical formulas without
101    depending on an external web service, you'll need to install a
102    working LaTeX environment into the same server, and you also need
103    to install the LocalFS Zope product into your Zope environment.
104
105 12. (Optional) If you want to generate PDF files from collections,
106    you will need to install additional component to the python
107    being used by your instance. You can download the latest version
108    of PISA from http://pypi.python.org/pypi/pisa/. You should install
109    all the dependencies that PISA requires to be fully functional.
110    You can download suitable ReportLab Toolkit version from
111    http://www.reportlab.org/downloads.html
112
113 Upgrading from older versions
114 -----------------------------
115
116 There are several steps, of which not all are always necessary, but
117 unless you're sure about what's needed or not, run all of them.
118
119 Also see the utility script "upgrade_lemill.py" in this folder, which
120 can automate the upgrade process for you (just edit the configuration
121 items at the beginning and run it).
122
123 But here's basically what's needed:
124
125  * Install the new version, replacing the old one, in Products/LeMill
126
127  * Restart Zope
128
129  * Go to ZMI (Zope Management Interface), navigate to your LeMill instance, and
130
131    * In portal_quickinstaller reinstall LeMill
132    * In portal_migration go to Setup and update the "LeMill site" customization policy
133    * In portal_workflow run "Update security settings"
134    * In archetypes tool run "Update schema"
135    * In portal_catalog run "Update catalog"
136
137    These steps aren't always necessary except during major upgrades,
138    and they are often run automatically when you do the first of these
139    steps, but it doesn't hurt to make sure.
140
141    If one of the steps fails, then try the other ones first, and retry
142    the failed steps later. Sometimes there are complex
143    interdependencies which are solved when running the steps in a
144    certain order. All of the steps are completely safe, you can call
145    them as many times as you want. They will only make changes if
146    there are changes to be made, and will not break the system.
147
148    And of course you can do all of this with the accompanied
149    upgrade_lemill.py script (although you might need to run it a few
150    times to get all steps executed without errors).
151
152
153 Help and support
154 ----------------
155
156 You might get help from the IRC channel #lemill in the Freenode
157 network. If you don't have an IRC client, you can go to
158 http://lemill.net/community/ and click on the "Join LeMill chat..."
159 button to enter the IRC channel through your web browser.
Note: See TracBrowser for help on using the browser.