forked from plone/planet.plone.org
-
Notifications
You must be signed in to change notification settings - Fork 0
/
README.txt
186 lines (119 loc) · 5.77 KB
/
README.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
To add your feed
================
Please clone this repository and open a pull request. Merged changes will be deployed on the server automatically.
♀ Planet Venus for Plone
==========================
This is the buildout for `Planet Venus`_ (an RSS aggregator) for Plone_, the
content management system. This buildout provides the configuration for
Planet Venus, normally served at http://planet.plone.org/.
THESE INSRUCTIONS ARE PARTIALLY OUTDATED, FOLLOW ADMIN MANUAL:
https://github.com/plone/ploneorg.admin
Quickly Add a Feed
==================
You've already got planet.plone.org up and running? Great, add a feed to
"feeds.cfg", then run:
1. sudo bin/buildout
2. sudo chown -R apache parts var
3. sudo -u apache /bin/sh bin/update.sh (or just wait 10 minutes)
Don't have planet.plone.org up and running yet? Read below.
Quick Start
===========
To deploy planet.plone.org:
1. cd /var/www
2. sudo svn checkout https://svn.plone.org/svn/plone/plone.org/planet/trunk planet.plone.org
3. cd planet.plone.org
4. sudo python bootstrap.py -d
5. sudo bin/buildout
6. sudo chown -R apache parts var
7. install -o root -g root -m 644 /var/www/planet.plone.org/var/crontab /etc/cron.d/planet
8. sudo /etc/init.d/apache2 restart
Didn't work? Read below.
Detailed Deployment
===================
This section gives detailed deployment information that's sure to get
planet.plone.org up and running.
Requirements
------------
Planet Venus and this configuration of it requires Python >= 2.4 but < 3.
I've tested it on Python 2.6 (on Mac OS X) and Python 2.7 (on Gentoo 1.12.14).
*Note*: If you're on Mac OS X, make sure you use a Python with the ``bsddb``
module enabled. The system Python does *not* support ``bsddb``.
It also requires libxml2/libxslt be present on the system in the usual
locations. Naturally, it requires an active internet connection in order to
download eggs during configuration and to download feeds during operation.
Finally, it assumes that Apache HTTPD is already set up to use an include
directive to bring on the Planet Venus HTTPD configuration. On the OSUOSL_
provided host deus2.osuosl.org, that file is pre-configured in
/etc/apache2/vhosts.d/planet.plone.org.conf with the following content::
<VirtualHost *:80>
ServerName planet.plone.org
ServerAlias planet2.plone.org
DocumentRoot /var/www/planet.plone.org/htdocs
Include /var/www/planet.plone.org/conf/*
CustomLog "|/usr/sbin/cronolog /var/log/apache2/planet.plone.org/transfer/%Y%m%d.log" combined
ErrorLog "|/usr/sbin/cronolog /var/log/apache2/planet.plone.org/error/%Y%m%d.log"
</VirtualHost>
*Note*: The DocumentRoot above is not used.
Deployment
----------
The Planet Venus configuration for Plone is generated using Buildout_. After
bootstrapping, the Buildout generates the various configuration files,
configures a custom Python interpreter, and creates a wrapper script. Outside
of Buildout, you need to just set permissions and install a file.
The details steps are as follows:
1. Check out the Planet Venus configuration from Subversion into the /var/www
directory as "planet.plone.org"::
sudo svn checkout https://svn.plone.org/svn/plone/plone.org/planet/trunk /var/www/planet.plone.org
2. Make that directory the current working directory of your shell::
cd /var/www/planet.plone.org
3. Bootstrap the Buildout using Python (the ``-d`` option tells Buildout to
prefer Distribute_ over Setuptools_)::
sudo /usr/bin/python2.7 bootstrap.py -d
4. Buildout::
sudo bin/buildout
5. Change ownership of the ``parts`` & ``var`` subdirectories to the "apache"
user (or whatever user is specified in the ``venus-user`` property in the
``[buildout]`` section of the "buildout.cfg" file)::
sudo chown -R apache parts var
6. Install the generated crontab file into "/etc/cron.d" so that the Planet
Venus feeds are updated every 10 minutes::
install -o root -g root -m 644 /var/www/planet.plone.org/var/crontab /etc/cron.d/planet
(Don't be tempted to use a symbolic link to the generated file. Cron will
complain.)
7. Restart (or reload) Apache 2 so that it will pick up the directives in the
generated HTTPD configuration::
sudo /etc/init.d/apache2 restart
You can ignore the error about the nonexistent DocumentRoot configured by
OSUOSL. The generated configuration resets the DocumentRoot to the
correct location.
That's it! After about 10 minutes, the initial set of feeds should be
available at http://planet.plone.org/.
Updating the Feeds
------------------
All feeds are cataloged in the file "feeds.cfg" in the base directory of the
Buildout. To add, update, or remove a feed, edit that file. You can then use
Subversion to update the operational copy (``svn update``), and then re-run
the buildout to generate the updated configuration.
To do so, just repeat step 4 from above.
After about 10 minutes, the feeds will be updated. You can force an early
update by running::
sudo -u apache /bin/sh /var/www/planet.plone.org/bin/update.sh
But if you're in that much of a hurry, you may want to re-examine your
priorities. Take some time for yourself, perhaps get some exercise, or relax
with a nice book.
Questions, Comments, Concerns
=============================
For any issues regarding Planet Venus for Plone and the
http://planet.plone.org/ service, please contact the Plone AI Team at
.. References:
.. _Buildout: http://www.buildout.org/
.. _Distribute: http://packages.python.org/distribute/
.. _OSUOSL: http://osuosl.org/
.. _Plone: http://plone.org/
.. _Setuptools: http://peak.telecommunity.com/DevCenter/setuptools
.. _`Planet Venus`: http://intertwingly.net/code/venus/
.. Author:
Sean Kelly
Plone AI Team