Size: 2646
Comment:
|
Size: 2155
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 19: | Line 19: |
!MoinMoin requires a uswgi (the protocol) server. See [[UWSGI|here]] for details on running `uWSGI` (the server), and [[Python/UWSGI|here]] for details on configuring the Python plugin. !MoinMoin 1 has a complicated dependency structure and runs in the unsupported Python 2 runtime. To insulate the instance, it should ''at minimum'' be installed inside a virtual environment. See [[Python/Venv|here]] for details on installing and instantiating these. Alternatively, consider running the !MoinMoin inside a [[Docker|Docker container]]. |
!MoinMoin depends on a `uWSGI` server. See [[Python/UWSGI|here]] for help with installation. |
Line 29: | Line 25: |
Unpack the !MoinMoin tarball into a fresh directory, such as `/app/example.com`. Move into that directory, instantiate a virtual environment, and activate it now. Run `python ./setup.py install`. | Unpack the !MoinMoin tarball into `/app/example.com`. Move into that directory, instantiate a virtual environment, and activate it. Run `python ./setup.py install`. |
Line 31: | Line 27: |
For `systemd(1)`-capable systems, [[Linux/Systemd|create, start, and enable]] the following service file: | For `systemd`-capable systems, [[Linux/Systemd|create, start, and enable]] the following service file: |
Line 50: | Line 46: |
MoinMoin
!MoinMoin is a wiki software. 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.
Contents
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.