From Freephile Wiki
Jump to navigation Jump to search

A single article or collection of pages can be output in a variety of formats; on-demand

Books (Collections is the formal software name, Books is the more User-friendly feature name) allows you to export any content you want from the wiki into formats more suitable for offline reading, sharing, printing etc.

Books is a feature of this wiki, added by mw:Extension:Collection which in turn relies on a host of other goodies such as Python's setuptools, Imaging Library[1], and a whole render server which is supplied by PediaPress. Because of the Python dependencies, you should make sure you have a proper Python, which at the time of this writing [2] means 2.6 or 2.7 (maybe later a 3.x version?)

Users[edit | edit source]

See the help page at Help:Books

For Developers and Admins[edit | edit source]

there is a

Installation[edit | edit source]

To get the MediaWiki Document server going locally, follow the guide on

mkdir -p $HOME/lib/python2.7
# edit .bashrc to alias python to python2.7 (already installed on system)
python --no-site-packages
sudo python
sudo easy_install virtualenv
virtualenv --no-site-packages $MYENV
source ~/WIKI/bin/activate
./bin/pip install -i mwlib
./bin/pip install -i mwlib.rl
mw-zip -c :en -o Acdc Number
mw-render -c -o test.pdf -w rl
# view error messages and view pdf file for results
sudo yum install libgcj
sudo rpm -i pdftk-2.02-1.el6.x86_64.rpm
# or do a user install of pdftk
mkdir $HOME/src
cd $HOME/src
cd pdftk-2.02-dist/pdftk
make -f Makefile.Redhat > make.log 2>&1
cp pdftk ~/bin/
Successfully installed mwlib pyparsing timelib bottle pyPdf apipkg qserve lxml py sqlite3dbm simplejson roman gevent odfpy Pillow greenlet

Note that the --clean-cache option of mw-serve is meant to be used from a cron job to clean up, NOT as a configuration option in your --daemonize script.

I needed to create a script similar to the following so that the service would be available after system restarts (from

#! /bin/sh
# run this service automatically in run-levels 3 or 5
# see chkconfig for more detail
# on debian/ubuntu use sysv-rc-conf
# chkconfig: 35 90 10
# description: mediawiki-serve - does document conversion to PDF
# Script for running the MediaWiki collection server (which converts articles to PDF)
# See the wiki for more information
# Author: Greg Rundlett <>

case "$1" in

echo "Starting mw-serve... "
# defaults to FastCGI, port 8899 on localhost, no daemonization
su -c "PATH=/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin \
PYTHON_EGG_CACHE=/var/cache/python-eggs \
/usr/bin/mw-serve \
--daemonize \
--cache-dir='/var/cache/pdfserver/' \
--mwrender-logfile='/var/log/mw-pdf.log' \
--mwzip-logfile='/var/log/mw-zip.log' \
--mwpost-logfile='/var/log/mw-post.log' \
--logfile='/var/log/mw-serve.log' \
--pid-file='/var/run/' \ \" www-data

if [ -e $PIDFILE ]; then
echo -n "Stopping mw-serve, killing PID $PID..."
if ! kill $PID; then
echo "can't kill it."
echo "done."
rm -f $PIDFILE
echo "mw-serve does not appear to be running."

echo "Reload not supported for mw-serve yet."

"$0" stop && "$0" start

echo "Usage: /etc/init.d/mw-serve {start|stop|restart}"
exit 1

exit 0

Digital Ocean[edit | edit source]

  • Gedit.svg todo Install, verify and document process of setting up local render server

I have not installed a local render server, but on 2016-01-09 I did update the Collection extension. The new setup renders through pediapress. When I get a chance, I'll take a look at the current development status of the book tool and related efforts like Offline content generator

References[edit source]

  1. sudo yum install python-imaging or sudo apt-get install python-imaging should do the trick, but make sure you have a proper python
  2. ~~~~