MoinMoin

!MoinMoin is a wiki server.

Version 1 (current release) runs on Python 2 with vendored dependencies, a complex plugin ecosystem, and no plan for security support. Version 2 (unstable) runs on Python 3 with the Flask ecosystem.


Installation

The source files for !MoinMoin are available for download here.

Prerequisites

!MoinMoin depends on a uwsgi server. See here for help with installation.

Virtual Environment

Unpack the !MoinMoin tarball into /app/example.com. Move into that directory, instantiate a virtual environment, and activate it. Run python ./setup.py install.

For systemd-capable systems, create, start, and enable the following service file:

[Unit]
Description=Start uwsgi for MoinMoin wiki
After=network.target

[Service]
Type=simple
User=www-data
ExecStart=/usr/bin/uwsgi --ini /app/example.com/wiki/uwsgi.ini

[Install]
WantedBy=multi-user.target

Container


Configuration

Preparing to Run

!MoinMoin expects a specific directories and scripts. Unpack these from the downloaded package.

cp -r /tmp/wiki /app/example.com
cp /tmp/config/wikiconfig.py /app/example.com/wiki/
cp /tmp/server/moin.wsgi /app/example.com/wiki/

Insert the below into wikiconfig.py after import os but before from MoinMoin.config import multiconfig, url_prefix_static.

import sys
sys.path.insert(0, '/app/example.com/.venv/lib/python2.7/site-packages/')
sys.path.insert(0, '/app/example.com/wiki/')

Create a new file, uwsgi.ini.

[uwsgi]
uid = moin
gid = www-data
socket = :9000
plugin = python

chdir = /app/example.com/wiki
wsgi-file = /app/example.com/wiki/moin.wsgi

master
workers = 3
max-requests = 200
harakiri = 60
die-on-term

Running the First Time

Follow the on-screen instructions to setup a superuser, install language packs or add-ons, and set the front page.


CategoryRicottone

Python/MoinMoin (last edited 2023-04-08 20:48:33 by DominicRicottone)