source: enpraxis.educommons/branches/educommons-imsintegration/enpraxis/educommons/docs/src/INSTALL.txt @ 146

Revision 146, 15.8 KB checked in by jon, 4 years ago (diff)

Adding branch for ims integration

Line 
1===================================
2eduCommons $$version$$ Installation
3===================================
4
5-------------------------
6Installation Instructions
7-------------------------
8
9Installation
10============
11
12This section describes how to install a server based instance of eduCommons on
13a UNIX based platform (linux, OSX).
14
15Installation involves the following packages:
16
17   * Python-2.4.4.tar.gz (http://python.org/2.4.4/)
18   * Zope-2.10.5-final.tar.gz (http://www.zope.org/Products/Zope/2.10.5)
19
20Python library packages:
21
22   * Imaging-1.1.6.tar.gz (http://www.pythonware.com/products/pil/)
23   * PyXML-0.8.4.tar.gz (http://sourceforge.net/project/showfiles.php?group_id=6473)
24   * elementtree-1.2.6.tar.gz (http://effbot.org/downloads/#elementtree)
25   * libxml2-python-2.6.15.tar.gz (ftp://xmlsoft.org/libxml2/python/)
26   * Beautiful Soup 3.0.4 (http://www.crummy.com/software/BeautifulSoup/download/)
27
28Plone package:
29
30   * Plone-3.0.6.tar.gz (http://plone.org/products/plone/releases/3.0.6)
31
32eduCommons-related Packages:
33
34(Correct versions of these products are shipped in the eduCommons archive unless ohterwise noted)
35
36   * eduCommons (3.1.0-final)
37   * leftskin (1.0.2-final)
38   * ContentLicensing (2.0.0)
39   * ZipFileTransport (2.0.1)
40   * IMSTransport (2.0.1)
41   * PloneBookmarklets (2.0.0)
42   * ProxyIndex (1.2.1)
43   * FileSystemStorage (2.6.2)
44   * LinguaPlone (2.0)
45   * easy_install (download here: http://peak.telecommunity.com/dist/ez_setup.py)
46   * collective.captcha (installed via easy_install)
47
48I. Installation Steps
49---------------------
50
511. Installing Python:
52
53   It is likely that the Python programming language is already installed on
54   your server. Try typing:
55   ::
56
57      $ python
58
59   on the command line to see what version you have installed (Ctrl-D will exit).
60   You should see something like the following:
61   ::
62
63      Python 2.4.4 (#1, Oct  7 2006, 21:17:24)
64      [GCC 3.4.6 20060404 (Red Hat 3.4.6-3)] on linux2
65      Type "help", "copyright", "credits" or "license" for more information.
66      >>>
67
68   eduCommons and its supporting software requires version 2.4.4. If your server
69   does not have Python, or if the version of Python installed is not 2.4.4, you
70   will have to install a new version.
71
72   Some platforms may have an updated version of Python available through their
73   package managers (yum, apt, fink). If you can not find a suitable version, or
74   if you prefer to build Python from source, simply download the source package
75   and use a command line interface to type in the following instructions:
76   ::
77
78      tar -zxvf Python-2.4.4.tar.gz
79      cd Python-2.4.4
80      ./configure
81      make
82      sudo make install
83
84   By default this will install a new version of Python in the /usr/local directory
85   on your server.
86
872. Installing Python library packages
88
89   Once you have Python installed it will be necessary to include a number of
90   libraries that extend the functionality of your Python installation. If you
91   have installed Python using a package manager, it may be likely that some
92   (or all) of these packages may also be available for installation. As long
93   as suitable library versions can be found, it should be fine to use them. In
94   cases where it is not possible to load prebuilt packages, use the following
95   instructions below:
96
97   a. Installing Python Imaging Libary (PIL)
98
99      PIL is now a required package for the latest version of Plone.
100
101      Unpack and install Imaging-1.1.6:
102      ::
103
104         tar -zxvf Imaging-1.1.6.tar.gz
105         cd Imaging
106         /usr/local/bin/python setup.py build
107         sudo /usr/local/bin/python setup.py install
108
109      You may require additional packages to build the imaging library. See
110      the PIL website for additional installation instructions.
111
112   b. Installing PyXML
113
114      Unpack and install PyXML:
115      ::
116
117         tar -zxvf PyXML-0.8.4.tar.gz
118         cd PyXML-0.8.4
119         /usr/local/bin/python setup.py build
120         sudo /usr/local/bin/python setup.py install
121
122   c. Installing elementtree
123
124      elementtree is now a required dependency for the latest version of Plone.
125
126      Unpack and install elementtree:
127      ::
128
129         tar -zxvf elementtree-1.2.6.tar.gz
130         cd elementtree-1.2.6
131         /usr/local/bin/python setup.py build
132         sudo /usr/local/bin/python setup.py install
133
134   d. Installing libxml2-python
135
136      If your target platform includes binary only distributions of libxml2 and
137      libxslt, you may need to also include the development packages in order for
138      the following to work.
139
140      Unpack and install libxml2-python:
141      ::
142
143         tar -zxvf libxml2-python-2.6.15.tar.gz
144         cd libxml2-python-2.6.15
145         /usr/local/bin/python setup.py build
146         sudo /usr/local/bin/python setup.py install
147
148   e. Install Beautiful Soup
149
150      Unpack and install Beautiful Soup 3.0.4 into your python library.
151      ::
152
153         tar -zxvf BeautifulSoup-3.0.4.tar.gz
154         cd BeautifulSoup-3.0.4
155         /usr/local/bin/python setup.py build
156         sudo /usr/local/bin/python setup.py install
157
158  f. Install Easy Install
159
160      Easy Install (easy_install) is a python module bundled with setuptools
161      that lets you automatically download, build, install, and manage Python packages.
162
163      Download http://peak.telecommunity.com/dist/ez_setup.py and install it using the
164      correct version of python:
165      ::
166
167         /usr/local/bin/python ez_setup.py
168
169   g. Install collective.captcha
170
171      collective.captcha is a Python package that is installable via Easy Install
172      ::
173
174         /usr/local/bin/easy_install collective.captcha
175
1763. Installing Zope
177
178   Unpack, build and install Zope:
179   ::
180
181      tar -zxvf Zope-2.10.5-final.tar.gz
182      cd Zope-2.10.5-final
183      ./configure --with-python=/usr/local/bin/python --prefix /opt/Zope-2.10.5
184      make
185      sudo make install
186
1874. Create a Zope instance
188
189   Create an instance in your Zope install:
190   ::
191
192      sudo /opt/Zope-2.10.5/bin/mkzopeinstance.py
193
194   When prompted for a directory enter in the following:
195   ::
196 
197      /opt/Zope-2.10.5/web
198
199   You can substitute the *web* directory for a name that better describes your site.
200   The documentation will assume that you have chosen web as your instance directory.
201
202   When prompted for a username and password, enter in the username/password you will
203   use for managing your Zope instance.
204
2055. Install Zope Products
206
207   eduCommons relies on several Zope products in order to run. You will need to install
208   the following packages in the following order. The commands listed below assume that
209   you have the source tarballs in the root of your home account:
210
211   a. Plone-3.0.6
212
213      Install Plone into your Zope instance Products folder.lib/python directory
214      ::
215
216         cd /opt/Zope-2.10.5/web/Products
217         sudo tar -zxvf ~/Plone-3.0.6.tar.gz
218
219      Once you have unpacked Plone you need to move the products back up to the Products
220      directory as follows:
221      ::
222
223         cd /opt/Zope-2.10.5/web/Products
224         sudo su
225         cd Plone-3.0.6
226         mv * ..
227         cd ..
228         sudo rm -rf Plone-3.0.6
229     
230      The Plone tarball came with a lib/python directory. The contents of it need to go
231      up one level, into the lib/python of your Zope install.
232      ::
233
234         cd /opt/Zope-2.10.5/web/Products
235         cp -r lib/* ../lib/
236         sudo rm -rf /opt/Zope-2.10.5/web/Products/lib
237
238      The Plone tarball also contains a Products directory. The contents of it need to go
239      up one level, into the web/Products directory of your Zope install.
240      ::
241
242         cd /opt/Zope-2.10.5/web/Products
243         cp -r Products/* ../Products/
244         sudo rm -rf /opt/Zope-2.10.5/web/Products/Products
245
246   b. eduCommons
247
248      This is the eduCommons product source package. To install use the following:
249      ::
250
251         cd /opt/Zope-2.10.5/web/Products
252         sudo tar -zxvf ~/eduCommons-$$version$$.tar.gz
253
254      eduCommons includes a number of products which need to be put in the root
255      of the Products folder. To do this use the following:
256      ::
257         
258         cd /opt/Zope-2.10.5/web/Products
259         sudo mv eduCommons-$$version$$/* .
260         sudo rm -rf eduCommons-$$version$$
261
262      The products that now ship with eduCommons are as follows:
263         
264      1. eduCommons
265
266         A Plone product which implements the core functionality of eduCommons.
267
268      2. leftskin
269
270         A Plone product which customizes the Plone layout.
271
272      3. ContentLicensing
273
274         A Plone product that adds the ability to set copyright licenses on content
275         objects. Auto installed with the eduCommons product.
276
277      4. ZipFileTransport
278
279         A Plone product that adds the ability to import and export content via
280         ZIP archives. Auto installed with the eduCommons product.
281
282      5. IMSTransport
283
284         A Plone product that imports and exports contents in IMS content packages.
285         Auto installed with the eduCommons product.
286
287      6. PloneBookmarklets
288
289         A Plone product that adds the ability to integrate documents with popular social
290         bookmarking sites.
291
292      7. ProxyIndex
293
294         ProxyIndex is a plugin to zope catalog index.
295
296      8. FileSystemStorage
297
298         FileSystemStorage is a product that provides the framework for content types to store data
299         directly on the filesystem, rather than in the ZODB. 
300
301      9. LinguaPlone
302
303         A tool to manage and maintain multilingual Plone content.
304
3056. Configure your Zope site
306
307   Now that all the necessary Zope products are installed it is time to clean up and
308   configure the site. The first task is to create a zope user and group in which
309   zope can run under. This can be done via the following:
310   ::
311
312      sudo /usr/sbin/groupadd zope
313      sudo /usr/sbin/adduser -g zope -s /bin/false -d /opt/Zope-2.10.5 zope
314
315   Once that is done we can now set the proper permissions needed for Zope to run
316   securely. This can be done via the following:
317   ::
318
319      cd /opt/Zope-2.10.5/web/Products
320      sudo chgrp -R zope *
321      sudo chmod go-w *
322
323   FileSystemStorage comes with its own documentation and we recommend you read it
324   (/opt/Zope-2.10.5/web/Products/FileSystemStorage/README.txt). Create folders for
325   storage and backup. We suggest setting things up in the following way:
326   ::
327
328      cd /opt/Zope-2.10.5/web/var
329      mkdir fss_storage
330      mkdir fss_backup
331
332   Now edit the filesystemstorage.conf.in configuration file for FileSystemStorage located
333   in /opt/Zope-2.10.5/web/Products/FileSystemStorage/etc. There are several configuration
334   options here (see README.txt), but most can be left at the default. We suggest a
335   hierarchical file structure, which can be set up by uncommenting and editing this line:
336   ::
337
338      # storage-strategy flat
339      change to:
340      storage-strategy site1
341
342   Zope needs to be able to write to the log directory, and its database files. To
343   enable this enter the following:
344   ::
345
346      cd /opt/Zope-2.10.5/web
347      sudo chgrp -R zope log var
348      sudo chmod -R g+w log var
349
350   The last bit of configuration that needs to be done is to edit the zope.conf file.
351   found in the *etc/* directory of your Zope Instance. Uncomment and edit the
352   following settings:
353   ::
354
355      effective-user zope
356
357   And set the default port you want the Zope server to run on:
358   ::
359
360      <http-server>
361        # valid keys are "address and "force-connection-close"
362        address 8080
363        # force-connection-close on
364      </http-server>
365
3667. Apply Security Patch
367
368   Plone's Security Panel is broken for Products that add Roles that come alphabetically
369   before 'Anonymous'. eduCommons adds the Administrator Role, which breaks the Security
370   Panel.  This is a documented bug (http://dev.plone.org/plone/ticket/7690).
371
372   In order to remedy this problem, apply the patch found in the eduCommons/extras folder.
373   Copy the patch to /opt/Zope-2.10.5/web/lib/python/plone/app/controlpanel.
374   ::
375
376      cd /opt/Zope-2.10.5/web/lib/python/plone/app/controlpanel
377      cp /opt/Zope-2.10.5/web/Products/eduCommons/extras/plone.app.controlpanel.security.py.patch .
378
379   Apply the patch by running the following command:
380   ::
381
382      patch -p0 < plone.app.controlpanel.security.py.patch
383
384   You may get this message: "can't find file to patch at input line 1 Perhaps you used
385   the wrong -p or --strip option? File to patch:" Enter the following:
386   ::
387
388      security.py
389
3908. Overwrite Kupu's html2captioned transform
391
392   Kupu allows for dynamically generated captions on inserted images. eduCommons utilizes
393   this feature to provide license and copyright holder information for embedded images
394   in documents.  In order for this functionality to occur, the default transformation
395   must be customized
396   ::
397
398      cp /opt/Zope-2.10.5/web/Products/eduCommons/extras/html2captioned.py /opt/Zope-2.10.5/web/Products/kupu/plone
399
400
401II. Configuration Steps
402-----------------------
403
4041. Launch Zope
405
406   Once Zope has been properly configured it can then be launched via the following
407   commands:
408   ::
409
410      cd /opt/Zope-2.10.5/web
411      sudo bin/zopectl start
412
413   You should now be able to open a browser and go to the ZMI with the following URL
414   (assuming that you configured Zope to run on port 8080)
415   ::
416
417      http://<server name>:8080/manage
418
419   You should then get a dialog prompt asking for your Zope admin username and password.
420
4212. Install eduCommons Product
422
423   Once you have logged into the ZMI via the management interface, you are now ready
424   to create the site. Start by creating a plone site with the pull down menu in the
425   top right corner. Give the plone site an ID and title. The ID will be used in the
426   URL to access the site, so name it appropriately. The title will appear several
427   places within the eduCommons install, and should be based on your group or institution.
428
429   Under "Extension Profiles" you need to do a multi-select (hold down the CTRL or the
430   Apple key). Select Working Copy Support (Iterate), ContentLicensing, IMSTransport, LinguaPlone,
431   PloneBookmarklets, Zip File Transport, eduCommons, and Left Skin so they are all highlighted.
432   Then click "Add Plone Site."
433
434   Once the eduCommons instance has been created, you will need to QuickInstall the FileSystemStorage Product.
435   In the ZMI:
436   ::
437
438       1. Navigate to your eduCommons instance
439       2. Navigate to portal_quickinstaller
440       3. Select the checkbox to the left of FileSystemStorage
441       4. Click Install
442
443   If you wish to localize content in other languages you will need to QuickInstall install LinguaPlone.
444   This can be done either now from the ZMI or later, via Site Setup --> Add-on Products.
445   In the ZMI:
446   ::
447
448       1. Navigate to your eduCommons instance
449       2. Navigate to portal_quickinstaller
450       3. Select the checkbox to the left of LinguPlone
451       4. Click Install
452
453   If you have installed LinguaPlone you will also need to select your supported languages.
454   In the ZMI:
455   ::
456
457       1. Navigate to your eduCommons instance
458       2. Navigate to portal_languages
459       3. Select one or more Allowed languages (use the control or apple key to multi-select)
460       4. Click Save
461
462   Additional instructions for localizing content using LinguaPlone are available in LOCALIZATION.txt.
463
464   Finally, you need to reorder the Layers in your eduCommons Skins Selections.
465   In the ZMI:
466   ::
467
468       1. Navigate to your eduCommons instance
469       2. Navigate to portal_skins
470       3. Click on the Properties tab
471       4. Under the Skins Selections, in the Layers textbox for LeftSkin, cut the LinguaPlone entry
472          and paste it one a new line below the eduCommons entry
473       5. Click Save (be sure to click the Save button for the Skins selection section)
474
4753. Configure eduCommons
476
477   Additional configuration information is provided in SETUP.txt (or online at
478   http://cosl.usu.edu/projects/educommons/documentation/how-to/educommons-setup-instructions).
479   This will help you to further customize eduCommons.
480
481
Note: See TracBrowser for help on using the repository browser.