1 Introduction
2 ------------
3
4 The moinsetup script is a utility separate from MoinMoin which attempts to
5 assist in the configuration and deployment of MoinMoin and extensions. It can
6 automate the installation of MoinMoin according to recommended practices,
7 create and initialise new Wiki instances, install extensions, themes and
8 related resources, and perform certain configuration changes.
9
10 Usage
11 -----
12
13 Running moinsetup as follows will provide a list of methods available:
14
15 python moinsetup.py
16
17 Before any work can be done by the program, a configuration file needs to be
18 created. See the supplied moinsetup.cfg file for an example file which can
19 be modified and used for this purpose.
20
21 Configuration
22 -------------
23
24 The configuration file has two sections: "installation" and "site". A brief
25 description of the settings is given below.
26
27 Installation settings influence the configuration, installation and
28 customisation of a Wiki and are generally not optional:
29
30 moin_distribution A path to a MoinMoin distribution directory, which can
31 also be a clone of a MoinMoin repository.
32
33 prefix The directory prefix containing lib, bin and share
34 directories where MoinMoin is (or will be) installed.
35 Although this follows the layout of the /usr directory (on
36 Unix-based systems), it is likely that MoinMoin may be
37 installed elsewhere
38
39 web_app_dir A directory where the moin.cgi program is (or will be)
40 installed.
41
42 web_static_dir A directory from which static resources are to be served.
43 This directory need only be specified in a limited hosting
44 environment (see below for more details).
45
46 web_site_dir The directory where sites available to the Apache Web
47 server are defined. This directory may just be a place
48 where initial site definitions are written, and after
49 manual editing, such definitions may be copied to the
50 appropriate location. If this directory is left
51 unspecified, a limited hosting environment will be
52 assumed.
53
54 Except for the common_dir setting, site settings are generally only relevant
55 when configuring and installing a Wiki:
56
57 common_dir The directory in which the Wiki instance being configured
58 or managed resides (or will reside).
59
60 url_path The URL path (after the host details) of the Wiki.
61 superuser The superuser of the Wiki.
62 site_name The name of the Wiki.
63 front_page_name The name of the Wiki's front page.
64 theme_default The default theme of the Wiki.
65
66 Limited Hosting Environments
67 ----------------------------
68
69 Sometimes, the hosting environment in which MoinMoin is to be deployed will be
70 restrictive or "limited", meaning that substantial configuration of the Web
71 server will not be possible for the user installing and configuring MoinMoin.
72 In such environments, users will typically be allowed to install content in
73 preconfigured directories for static and dynamic content. For example:
74
75 /path/to/www/cgi-bin a dynamic content directory, providing CGI scripts
76 /path/to/www/htdocs a static content directory, providing Web pages
77
78 To work in such environments, specify the configuration settings in
79 moinsetup.cfg as follows:
80
81 web_app_dir = /path/to/www/cgi-bin
82 web_static_dir = /path/to/www/htdocs
83 web_site_dir =
84
85 Inside the static resources directory, a subdirectory will be created to hold
86 any static content used by MoinMoin.
87
88 Examples
89 --------
90
91 Some of the more useful invocation methods are described below using examples.
92
93 To set up MoinMoin and a Wiki instance:
94
95 python moinsetup.py setup
96
97 To only set up a Wiki instance using a different configuration file:
98
99 python moinsetup.py -f new_wiki.cfg setup_wiki
100
101 To change a Wiki configuration setting (for example, the default theme):
102
103 python moinsetup.py reconfigure_moin theme_default mercurialwiki
104
105 To install a theme from a directory containing a theme module, css and img
106 directories (for example, MercurialWikiTheme):
107
108 python moinsetup.py install_theme /path/to/MercurialWikiTheme/themes/mercurialwiki
109
110 To install an extension package from a directory containing a setup.py script
111 (for example, EventAggregator):
112
113 python moinsetup.py install_extension_package /path/to/EventAggregator
114
115 To install actions from a directory containing action modules:
116
117 python moinsetup.py install_actions /path/to/EventAggregator/actions
118
119 To install macros from a directory containing macro modules:
120
121 python moinsetup.py install_macros /path/to/EventAggregator/macros
122
123 To install theme-related resources for an extension from a directory
124 containing css and img directories:
125
126 python moinsetup.py install_theme_resources /path/to/EventAggregator
127
128 To add theme-related resources to existing stylesheets (for example, adding
129 the event-aggregator.css resource to the screen.css stylesheet for all
130 installed themes):
131
132 python moinsetup.py edit_theme_stylesheet screen.css event-aggregator.css
133
134 To make a page package containing pages to be added to a Wiki:
135
136 python moinsetup.py make_page_package pages_dir pages.zip
137
138 To install a page package in a Wiki:
139
140 python moinsetup.py install_page_package pages.zip
141
142 Contact, Copyright and Licence Information
143 ------------------------------------------
144
145 See the following Web page for more information about this work:
146
147 http://moinmo.in/ScriptMarket/moinsetup
148
149 The author can be contacted at the following e-mail address:
150
151 paul@boddie.org.uk
152
153 Copyright and licence information can be found in the docs directory - see
154 docs/COPYING.txt and docs/gpl-3.0.txt for more information.
155
156 Dependencies
157 ------------
158
159 moinsetup has the following basic dependencies:
160
161 Packages Release Information
162 -------- -------------------
163
164 CMDsyntax Tested with 0.91
165 Source: http://www.boddie.org.uk/david/Projects/Python/CMDSyntax/index.html
166
167 New in moinsetup 0.2 (Changes since moinsetup 0.1)
168 --------------------------------------------------
169
170 * Improved OpenID configuration, supporting MoinMoin 1.9, and added support
171 for other authentication methods.
172 * Added support for ACL-capable filesystems when setting Wiki permissions.
173 It can be more convenient to retain read/write access to the installed
174 files while also granting the Web server user (who need not be in a common
175 group) access to read and modify the files.
176 * Added support for configurations employing a separate static resources
177 directory (such as a typical "htdocs" directory).
178 * Added a parser installation action.
179 * Added support for page attachments in the page-packaging action.
180
181 Release Procedures
182 ------------------
183
184 Update the moinsetup.py __version__ attribute.
185 Change the version number and package filename/directory in the documentation.
186 Update the release notes (see above).
187 Tag, export.
188 Archive, upload.
189 Update the ScriptMarket (see above for the URL).