MoinMoin
"MoinMoin is an advanced, easy to use and extensible WikiEngine with a large community of users. Said in a few words, it is about collaboration on easily editable web pages." MoinMoin is written in Python 2.
Installation
- Install moinmoinAUR.
- Make a new directory for MoinMoin under
/var/lib/moin/
for non static files. - Copy the folders
/usr/share/moin/data/
,/usr/share/moin/underlay/
and the configuration file/usr/share/moin/config/wikiconfig.py
into/var/lib/moin/
. - Change the owner of
/var/lib/moin/
to the user under which your web server is running (in most cases "http").
You can also run MoinMoin directly from /usr/share/moin/
if you are ok with non static files in /usr/
.
Configuration
uWSGI
If using uWSGI, copy the file /usr/share/moin/server/moin.wsgi
to /var/lib/moin
. In the file, replace the string '/path/to/wikiconfigdir'
with '/var/lib/moin'
and uncomment the line.
Install uwsgi-plugin-python2[broken link: package not found] and create the file /var/lib/moin/uwsgi.ini
with the following content.
[uwsgi] socket = /run/uwsgi/moin.sock chmod-socket = 660 plugin = python2 chdir = /var/lib/moin/ wsgi-file = /var/lib/moin/moin.wsgi master workers = 3 max-requests = 200 harakiri = 60 die-on-term
Start uWSGI with uwsgi --ini /var/lib/moin/uwsgi.ini
. Make sure uWSGI has read and write rights for /var/lib/moin/
and your web server has read and write rights for /run/uwsgi/moin.sock
. If you are following this guide you should start uwsgi under the "http" user.
nginx
nginx can be set adding the following server block to your /etc/nginx/nginx.conf
:
server { listen 80; server_name wiki.your.domain; location / { uwsgi_pass unix:/run/uwsgi/moin.sock; include /etc/nginx/uwsgi_params; } location ~ /moin_static[0-9]+/(.*) { alias /usr/lib/python2.7/site-packages/MoinMoin/web/static/htdocs/$1; } location /favicon.ico { alias /usr/lib/python2.7/site-packages/MoinMoin/web/static/htdocs/favicon.ico; } }
Systemd unit file for MoinMoin with uWSGI
Create the systemd unit the following for easily starting/stopping the service:
/etc/systemd/system/moinmoin.service
[Unit] Description=Start uwsgi for moinmoin wiki After=network.target [Service] Type=simple User=http ExecStart=/usr/bin/uwsgi --ini /var/lib/moin/uwsgi.ini [Install] WantedBy=multi-user.target
First steps
You should now be able to reach your wiki under wiki.your.domain. For further information on how to configure MoinMoin refer to the MoinMoinWiki.