root/branches/new-install-process/SETUP

Revision 1171, 16.3 kB (checked in by kake, 5 months ago)

Make it clear in SETUP that the script_url needs an http

Line 
1OpenGuides setup instructions
2=============================
3
4OpenGuides installation has two steps - installing the modules, and setting
5up a Guide.  Module installation is described in INSTALL, and setting up
6a Guide is described in this file.  You need to install the modules before
7you can set up a Guide.
8
9
10* Basic setup
11
12Guide setup is done using the script
13
14  openguides-install
15
16which should have been installed somewhere suitable when you installed
17the modules.  If it isn't in your path, then you could try the
18"locate" or "find" commands to figure out where it is.  If it doesn't
19seem to be anywhere on your system, then you may be using an old version
20of OpenGuides - upgrade to the latest version, and then try again.
21
22When you run this script, it will ask you a number of questions.  Once
23you've answered them all, the script will write out a configuration file
24containing all your answers, and then install the CGI scripts, templates,
25any static content (e.g. CSS), and the configuration file in the places
26you told it to.
27
28These questions are described below in the section entitled "Setup questions".
29
30
31* Important note for those using SQLite:
32
33The user that your Guide is running as must have write access to not only
34the database file itself, but the directory that the file is in, in order
35that it can write a lockfile. If it doesn't have write access to the
36database file, you'll see errors like "Unhandled error: [DBD::SQLite::db do
37failed...".
38
39
40* Custom templates and CSS
41
42Once you have set up a Guide, you may wish to edit certain of the templates
43that provide site-specific design. These templates are stored in the
44directory custom-templates/ by default and are described in the file
45CUSTOMISATION.
46
47The id and class tags used for the CSS in OpenGuides are specified in
48README.CSS.
49
50
51* Security
52
53The openguides-install script will try to create an .htaccess file (or
54modify any existing one) in order to protect wiki.conf, which contains
55sensitive data (specifically, passwords).  However we cannot tell whether
56apache (or any other web server you may be using) is using this file, so
57you should check that is it functioning and that you cannot access
58wiki.conf over HTTP.
59
60You should also configure wiki.conf with the minimum permissions required
61so that local users cannot read the file. This is difficult to automate,
62but the file should be probably be mode 0640, owned by root or an admin
63user, and set to the group the web server runs with.
64
65
66* Web server configuration
67
68In order to let your web server serve up OpenGuides correctly, you will
69have to tell it to recognise your installation directory as one
70containing CGI scripts. However you can make your URLs nicer by
71employing mod_rewrite as well. The following Apache configuration
72directives show how:
73
74        Alias /myguide /usr/lib/cgi-bin/myguide
75        <Directory /usr/lib/cgi-bin/myguide>
76            Options FollowSymLinks Indexes ExecCGI
77            RewriteEngine on
78            RewriteBase /myguide/
79            RewriteRule ^$      wiki.cgi        [L]
80        </Directory>
81        Redirect /cgi-bin/myguide/ http://www.example.com/myguide/
82
83You will of course need to make the appropriate substitutions for
84your site. You also need to make sure that mod_rewrite is enabled in
85your web server before adding such a configuration. The final step in
86this URL tidying is to tell OpenGuides that the main CGI script can be
87assumed to be called from the root of the install directory; do this by
88setting the script name to be empty in wiki.conf:
89
90        # what do you want the script to be called?
91        script_name =
92
93Currently the installation script does not support this value, so you will
94have to make sure that you fix this up after an upgrade.
95
96
97* Setup questions
98
99When you run the openguides-install script, it will check the current
100directory to see if it can find a wiki.conf file.  If it doesn't find one,
101it will check that you want to continue with the installation.  If you choose
102yes, then a number of questions will follow; these are described below.
103
104
105  "Skip OpenGuides configuration?"
106
107Answer "n" to this question unless you really know what you're doing.
108It's mainly there for developers.
109
110
111  "What type of database do you want the site to run on?"
112
113Options here are "postgres", "mysql", or "sqlite".  If you choose an option
114that you don't have the appropriate database driver for, then the script will
115tell you this and exit.
116
117
118  "What's the full filename of the SQLite database this site runs on?"
119
120You will only be asked this question if you chose sqlite in the previous
121question.  Enter the full path, e.g. /home/kake/data.db, even if the file
122is/will be in the current directory.  You do not have to create this file
123in advance; the setup process will do this for you.
124
125
126  "What's the name of the database that this site runs on?"
127  "...the database user that can access that database?"
128  "...the password that they use to access the database?"
129  "...the machine that the database is hosted on?"
130
131You will only be asked these questions if you chose mysql or postgres in
132the question about the type of database.
133
134You should create (or ask your ISP/sysadmin to create) a database
135specifically for your Guide.  If you wish to run more than one Guide, then
136each one will need its own database.  The final two questions are optional.
137If your database user doesn't need a password to access the database, then
138just press RETURN to skip the question about passwords.  Similarly, if the
139database is running on a local machine with username/password
140authentication then just press RETURN to skip the question about the
141machine that the database is hosted on.  If it is running on a local
142machine with IDENT authentication then you may need to answer "localhost"
143to this question.  If it is running on a remote machine then enter the full
144hostname of that machine.
145
146
147  "What do you want the script to be called?"
148
149The default is for the main script to be called "wiki.cgi", but
150you may prefer to name it after your city - "leeds-guide.cgi" for
151example.  Note that your webserver may be configured to only allow
152execution of scripts ending in, for example, ".cgi"
153
154
155  "What directory should I install it in?"
156
157You need to pick a directory for the OpenGuides software to be
158installed in.  This must be one known to the webserver as containing
159CGI scripts.  You will need to have write permission on this directory
160when you come to run "perl Build install"; unless this is a private
161directory belonging to you then this might require an 'su' or 'sudo'
162to root under Unix.
163
164
165  "What directory should I install the templates in?"
166  "Where should I look for custom templates?"
167
168Normally these will be in the install directory, but they can be anywhere.
169Custom templates are intended to be user-modified, so you might want to
170put them somewhere in /etc.
171
172
173  "What URL does the install directory map to?"
174
175Give the full address needed to access the installation directory with
176a web browser, including the "http://" prefix - for example,
177http://london.openguides.org/
178
179
180  "Do you want me to munge a custom lib path into the scripts?"
181
182If you have installed some or all of the required Perl modules (or indeed
183the OpenGuides modules themselves) into a private directory, you will
184need to tell the scripts where to find these modules.  Enter the paths
185to search here just as you would enter them in a 'use lib qw( ... );'
186in a Perl script.
187
188
189  "Do you want to use Plucene for searching?"
190
191This question is no longer asked, but documentation here is retained for
192the benefit of people upgrading.
193
194If you are changing to Plucene from Search::InvertedIndex, you will
195need to do two things:
196    - either delete your old indexes (they're just files in the index
197      directory) or use a different index directory
198    - reindex your entire wiki (see reindex.pl in the examples/
199      directory of this distribution)
200
201
202  "What directory can I use to store indexes in for searching?"
203
204You need a directory to store files used as indexes for the site. The
205user that your script will run as will need write permission on this
206directory.  Under some webserver configurations this might be a
207dedicated user - 'nobody' or 'www-data' for example, but for many
208multi-user systems this will just be yourself.
209
210
211  "Do you want to enable page deletion?"
212  "Please specify a password for the site admin."
213
214The default is to disable page deletion.  If you choose to enable the
215page deletion mechanism then you will need to add a password to your
216wiki.conf by answering the question above or manually using a line such as
217  admin_pass = putyourpasswordhere
218Users who know this password will be able to delete unwanted pages -
219along with all their history - from your wiki.
220*** USE WITH CAUTION.  DELETED PAGES CANNOT BE RECOVERED. ***
221
222
223  "What's the URL of the site's stylesheet?"
224
225Supplying an answer to this question is optional.  There are example
226stylesheets in the examples/ directory - note that these will not be
227automatically installed.
228
229
230  "What's the wiki called?"
231
232This is a title which will appear at the top of every page.  If you have
233more than one OpenGuides installation at the same site then each should
234have a unique name, since this name is used to manage user preferences.
235
236
237  "Do you want the navigation bar included on the home page?"
238
239Answer "y" or "n".
240
241
242  "Do you want the ten most recent changes included on the home page?"
243
244Answer "y" or "n".
245
246
247  "Do you want the Random Page link to avoid returning a locale page?
248  "Do you want the Random Page link to avoid returning a category page?
249
250Answer "y" or "n".  The defaults are "n", which means that Random Page is as
251likely to return a category or locale page as anything else.  If the category
252and locale pages on your Guide are generally just lists of things in that
253category/locale, you probably want to pick "y" here.  If, on the other hand,
254your category/locale pages generally have substantial content of their own,
255you may prefer to choose "n".
256
257
258  "Do you want the content to appear above the navbar in the HTML?"
259
260Answer "y" or "n".  The default is "n", for reasons of backwards
261compatibility with existing stylesheets, but the recommended answer is
262"y", as this will help search engines to find the most relevant parts
263of your pages.
264
265
266  "What should the home page of the wiki be called?"
267  "How would you describe the wiki?"
268
269Self-explanatory.
270
271
272  "What city is the wiki based in?"
273  "What country is the wiki based in?"
274
275If the wiki will not be city or country specific you can leave either or
276both of these blank.
277
278
279  "Contact email address for the wiki admin?"
280
281Self explanatory.
282
283
284  "What language will the site be in? (Please give an ISO language code.)"
285
286eg "en" for English, "it" for Italian.
287See http://ftp.ics.uci.edu/pub/ietf/http/related/iso639.txt
288
289
290  "What's the name of the node or page to use for the text formatting
291   rules link?"
292  "What URL do you want to use for the text formatting rules"
293
294From 0.19, OpenGuides allows users to choose whether or not to have a
295permanent link to the text formatting rules node or page in their navbar.
296You need to put the name of that node or URL in here for it to work, though.
297You might want to call the node "Text Formatting Examples",
298"Text Formatting Rules", "House Style" or whatever.
299
300Note that these the latter question will override the former, so if you
301want to use a local node make sure to leave the latter blank.
302
303  "Make node titles link to node backlinks (C2 style)?"
304
305This refers to turning titles into links which bring up a list of referring
306pages. This was the convention with older wikis ("C2" refers to the original
307wiki at http://c2.com/cgi/wiki), but is not intuitive.
308
309  "Do you have a Google Maps API key to use with this guide?"
310
311If you want Google Maps integration, you need to register with Google to get
312an API key. Visit http://www.google.com/apis/maps/signup.html and follow the
313instructions. Paste the great long string into the console window where you
314are installing. See README.GMAPS for more information.
315
316  "What is the longitude of the centre point of a map to draw for your guide?"
317  "What is the latitude of the centre point of a map to draw for your guide?"
318
319It's probably a good idea to pick some notionally central point for your
320guide. For example, Carfax for Oxford, Charing Cross for London. As a
321convenience, you may paste in a Google Maps URL for the centre longitude
322question and the (long,lat) will be parsed out from the URL.
323
324  "What default zoom level shall we use for Google Maps?"
325  "What default zoom level shall we use for Google Maps in the search results?"
326
327The defaults are probably appropriate in most cases.
328
329  "Would you like to display a Google Map on every node that has geodata?"
330
331Answer "y" or "n".  Note that an answer of "y" will only take effect if you've
332supplied a Google Maps API key above.  Note further that users can choose to
333turn this off in their preferences.
334 
335  "Forcibly treat stored lat/long data as if they used the WGS84 ellipsoid?"
336
337Default this answer if you don't know what it means.
338
339  "Do you have a Google Analytics key to use with this guide?"
340
341If you'd like to use Google Analytics to track the traffic on your guide,
342visit http://www.google.com/analytics/ to sign up for a key.  The answer to
343this question is the string in quotes in the HTML fragment they ask you to
344paste into your HTML, something along the lines of _uacct = "UA-1234567-1"
345- it's the UA-1234567-1 part that you need to put in here.  If you've
346forgotten your key, go to Analytics Settings, click "Edit" under Settings,
347then click "Check Status" in the top right-hand corner of the box with grey
348stripes.
349
350
351  "What licence will you use for the guide?"
352
353We strongly recommend that you think at the outset about the licence your
354guide will use, for maximum usefulness. In particular for a guide that will
355be on the OpenGuides network, we recommend the
356"Creative Commons Attribution-ShareAlike 2.5" licence.
357
358  "What is the URL to your licence?"
359
360If you used our recommendation above the URL you will want here is:
361http://creativecommons.org/licenses/by-sa/2.5/
362
363  "What is the URL to your local page about your licensing policy?"
364
365You should probably include a page on your wiki about your local licensing
366policy, but you can leave this blank for now if you don't have one yet.
367
368  "What module would you like to use for spam detection? (optional)"
369
370The module you choose should have a method called "looks_like_spam", which
371accepts a hash with content and metadata as keys, and returns true or false
372to the question of whether the edit should be considered to be spam.
373
374  "What directory should we install static content (CSS, images, javascript)
375   to?"
376
377OpenGuides comes with some static content which will be installed
378automatically.
379
380  "What is the URL corresponding to the static content?"
381
382You will need to configure the above directory in your web server, then
383input the URL the content will be visible at here.
384
385  "Should we send email notifications when a moderated node is edited?"
386
387For spam avoidance, you can configure certain nodes to require moderation.
388To ensure that such edits are noticed, OpenGuides can email you.
389
390  "Distance calculation methods available are:
391      1) British National Grid
392      2) Irish National Grid
393      3) UTM ellipsoid
394   Which would you like to use?"
395
396  (and if you choose UTM ellipsoid)
397  "Which ellipsoid would you like to use? (eg 'Airy', 'WGS-84')"
398
399See http://www.vterrain.org/Projections/ for how this all works.
400A UTM (Universal Transverse Mercator) ellipsoid maps latitude and
401longitude to eastings and northings on a square grid, which allows
402more accurate distance calculations within the guide.  The British and
403Irish National Grids are scaled and parametrised versions of UTM
404ellipsoids (Airy 1830 in the British case, Modified Airy in the Irish).
405
406Please note that at the moment there is no provision for changing your
407mind later about which ellipsoid to use, but it shouldn't be too hard
408to write a conversion script so don't worry too much about picking the
409wrong one.  However do note that once you've entered some location
410data you should not change this value in the config file without running
411some kind of converter.
412
413If you decide to use the British or Irish National Grid, your users
414will be able to choose between entering location data as lat/long
415or as grid co-ordinates.
416
417You must have Geography::NationalGrid::GB installed to use the British
418National Grid, Geography::NationalGrid::IE to use the Irish National
419Grid, and Geo::Coordinates::UTM to use a UTM ellipsoid.
420
421If you want to use a UTM ellipsoid, WGS-84 is the best choice, as it
422will allow you to use the Google Maps support with the minimum of fuss.
Note: See TracBrowser for help on using the browser.