Introduction ------------ The moinsetup script is a utility separate from MoinMoin which attempts to assist in the configuration and deployment of MoinMoin and extensions. It can automate the installation of MoinMoin according to recommended practices, create and initialise new Wiki instances, install extensions, themes and related resources, and perform certain configuration changes. Usage ----- Running moinsetup as follows will provide a list of methods available: python moinsetup.py Before any work can be done by the program, a configuration file needs to be created. See the supplied moinsetup.cfg file for an example file which can be modified and used for this purpose. Configuration ------------- The configuration file has two sections: "installation" and "site". A brief description of the settings is given below. Installation settings influence the configuration, installation and customisation of a Wiki and are generally not optional: moin_distribution A path to a MoinMoin distribution directory, which can also be a clone of a MoinMoin repository. moin_data A path to the MoinMoin shared data, which may be installed from a system package in a directory such as /usr/share/moin. prefix The directory prefix containing lib, bin and share directories where MoinMoin is (or will be) installed. Although this follows the layout of the /usr directory (on Unix-based systems), it is likely that MoinMoin may be installed elsewhere web_app_dir A directory where the moin.cgi program is (or will be) installed. web_static_dir A directory from which static resources are to be served. This directory need only be specified in a limited hosting environment (see below for more details). web_site_dir The directory where sites available to the Apache Web server are defined. This directory may just be a place where initial site definitions are written, and after manual editing, such definitions may be copied to the appropriate location. If this directory is left unspecified, a limited hosting environment will be assumed. Except for the common_dir setting, site settings are generally only relevant when configuring and installing a Wiki: common_dir The directory in which the Wiki instance being configured or managed resides (or will reside). url_path The URL path (after the host details) of the Wiki. superuser The superuser of the Wiki. site_name The name of the Wiki. front_page_name The name of the Wiki's front page. theme_default The default theme of the Wiki. Limited Hosting Environments ---------------------------- Sometimes, the hosting environment in which MoinMoin is to be deployed will be restrictive or "limited", meaning that substantial configuration of the Web server will not be possible for the user installing and configuring MoinMoin. In such environments, users will typically be allowed to install content in preconfigured directories for static and dynamic content. For example: /path/to/www/cgi-bin a dynamic content directory, providing CGI scripts /path/to/www/htdocs a static content directory, providing Web pages To work in such environments, specify the configuration settings in moinsetup.cfg as follows: web_app_dir = /path/to/www/cgi-bin web_static_dir = /path/to/www/htdocs web_site_dir = Inside the static resources directory, a subdirectory will be created to hold any static content used by MoinMoin. Examples -------- Some of the more useful invocation methods are described below using examples. To set up MoinMoin and a Wiki instance: python moinsetup.py setup To only set up a Wiki instance using a different configuration file: python moinsetup.py -f new_wiki.cfg setup_wiki To change a Wiki configuration setting (for example, the default theme): python moinsetup.py reconfigure_moin theme_default mercurialwiki To install a theme from a directory containing a theme module, css and img directories (for example, MercurialWikiTheme): python moinsetup.py install_theme /path/to/MercurialWikiTheme/themes/mercurialwiki To install an extension package from a directory containing a setup.py script (for example, EventAggregator): python moinsetup.py install_extension_package /path/to/EventAggregator To install actions from a directory containing action modules: python moinsetup.py install_actions /path/to/EventAggregator/actions To install macros from a directory containing macro modules: python moinsetup.py install_macros /path/to/EventAggregator/macros To install theme-related resources for an extension from a directory containing css and img directories: python moinsetup.py install_theme_resources /path/to/EventAggregator To add theme-related resources to existing stylesheets (for example, adding the event-aggregator.css resource to the screen.css stylesheet for all installed themes): python moinsetup.py edit_theme_stylesheet screen.css event-aggregator.css To make a page package containing pages to be added to a Wiki: python moinsetup.py make_page_package pages_dir pages.zip To install a page package in a Wiki: python moinsetup.py install_page_package pages.zip Contact, Copyright and Licence Information ------------------------------------------ See the following Web page for more information about this work: http://moinmo.in/ScriptMarket/moinsetup The author can be contacted at the following e-mail address: paul@boddie.org.uk Copyright and licence information can be found in the docs directory - see docs/COPYING.txt and docs/gpl-3.0.txt for more information. Dependencies ------------ moinsetup has the following basic dependencies: Packages Release Information -------- ------------------- CMDsyntax Tested with 0.91 Source: http://www.boddie.org.uk/david/Projects/Python/CMDSyntax/index.html New in moinsetup 0.3 (Changes since moinsetup 0.2) -------------------------------------------------- * Added a moin_data setting and made moin_distribution optional so that when MoinMoin is installed from a system package, the non-installation actions can still be performed. New in moinsetup 0.2 (Changes since moinsetup 0.1) -------------------------------------------------- * Improved OpenID configuration, supporting MoinMoin 1.9, and added support for other authentication methods. * Added support for ACL-capable filesystems when setting Wiki permissions. It can be more convenient to retain read/write access to the installed files while also granting the Web server user (who need not be in a common group) access to read and modify the files. * Added support for configurations employing a separate static resources directory (such as a typical "htdocs" directory). * Added a parser installation action. * Added support for page attachments in the page-packaging action. Release Procedures ------------------ Update the moinsetup.py __version__ attribute. Change the version number and package filename/directory in the documentation. Update the release notes (see above). Tag, export. Archive, upload. Update the ScriptMarket (see above for the URL).