#rev 2020-09-01 pmeier ## page was renamed from Web/Homepage/Moin ## page was renamed from Homepage/Moin == Using MoinMoin on your personal webpage == For installing MoinMoin on your personal homepage we created a small helper script called {{{moinmoin-create-1.9.3}}}. Simply run it and configure the installation interactively. == Updating Moin to 1.9.x == For every upgrade, some small changes have to be done. From 1.8.x to 1.9.x there are some new lines and syntax changes in '''moinmoin/wikiconfig.py'''. Make it look like this: {{{ import os from MoinMoin.config import multiconfig, url_prefix_static class Config(multiconfig.DefaultConfig): wikiconfig_dir = os.path.abspath(os.path.dirname(__file__)) instance_dir = wikiconfig_dir data_dir = os.path.join(instance_dir, 'data', '') data_underlay_dir = os.path.join(instance_dir, 'underlay', '') }}} The '''moin.fcgi''' file also has to be replaced with the following content: {{{ import sys, os # a1) Path of the directory where the MoinMoin code package is located. # Needed if you installed with --prefix=PREFIX or you didn't use setup.py. sys.path.insert(0, '/usr/pack/moinmoin-1.9.x-hp/lib/python') # a2) Path of the directory where wikiconfig.py / farmconfig.py is located. # See wiki/config/... for some sample config files. sys.path.insert(0, '/home/wikiuser/moinmoin') # b) Configuration of moin's logging # If you have set up MOINLOGGINGCONF environment variable, you don't need this! # You also don't need this if you are happy with the builtin defaults. # See wiki/config/logging/... for some sample config files. #log.load_config('/path/to/logging_configuration_file') #logging = log.getLogger(__name__) from MoinMoin import log log.load_config('/home/wikiuser/moinmoin/logging.conf') # Creating the WSGI application # use shared=True to have moin serve the builtin static docs # use shared=False to not have moin serve static docs # use shared='/my/path/to/htdocs' to serve static docs from that path from MoinMoin.web.serving import make_application app = make_application(shared=True) # <-- adapt here as needed # Is fixing the script name needed? # Use None if your url looks like http://domain/wiki/moin.fcgi # Use '' if you use rewriting to run at http://domain/ # Use '/mywiki' if you use rewriting to run at http://domain/mywiki/ fix_script_name = None # <-- adapt here as needed if fix_script_name is None: application = app else: def script_name_fixer(env, start): env['SCRIPT_NAME'] = fix_script_name return app(env, start) application = script_name_fixer # CGI with Apache2 on Windows (maybe other combinations also) has trouble with # URLs of non-ASCII pagenames. Use True to enable middleware that tries to fix. fix_apache_win32 = False # <-- adapt here as needed if fix_apache_win32: from werkzeug.contrib.fixers import PathInfoFromRequestUriFix application = PathInfoFromRequestUriFix(application) ## Choose your server mode (threaded, forking or single-thread) try: # v-- adapt here as needed from flup.server.fcgi import WSGIServer # from flup.server.fcgi_fork import WSGIServer # from flup.server.fcgi_single import WSGIServer except ImportError: logging.warning("No flup-package installed, only basic CGI support is available.") from MoinMoin.web._fallback_cgi import WSGIServer WSGIServer(application).run() }}} Finally we have to '''delete the cache files''': {{{ rm -rf /data/pages/*/cache/* rm -rf /data/cache }}} '''Restart''' (kill) the moin.fcgi process and Congratulations! You just upgraded to moinmoin-1.9.x ---- [[CategoryWEBA]]