Deployment-prep/deployment-pdf

From Wikitech

There are two varieties of PDF server, only one of which is in labs.

  • mwlib -- The pediapress 'legacy' configuration. This is in labs, but cannot be puppetized
  • ocg -- The new configuration. This can be puppetized (see the ocg role), but needs ubuntu 14.04 to run properly

mwlib configuration

Since mwlib boxes have to be set up by hand; these are the steps to recreate one (on ubuntu 12.04):

mkdir /srv/mwlib
chmod 775 /srv/mwlib
sudo apt-get install build-essential python python-dev python-virtualenv \
     libjpeg-dev libz-dev libfreetype6-dev liblcms-dev libxml2-dev libxslt-dev \
     ocaml-nox git-core python-imaging python-lxml texlive-full ploticus dvipng \
     imagemagick pdftk
virtualenv --distribute --no-site-packages /srv/mwlib
sudo ugo+x /srv/mwlib/bin/activate*
export PATH=/srv/mwlib:$PATH
hash -r
export PIP_INDEX_URL=http://pypi.pediapress.com/simple/
pip install pyfribidi mwlib mwlib.rl mwlib.zim
git clone https://github.com/pediapress/texvc
cd texvc; make
sudo make install
mkdir /srv/mwlib-tmp
chown www-data:www-data /srv/mwlib-tmp

Upstart configurations

You will need an upstart configuration for nserve, nslave, mw-qserve, and postman. nslave and postman need a --cachedir=/srv/mwlib-tmp argument

start on (local-filesystems and net-device-up IFACE!=lo)
stop on runlevel [!2345]
setuid www-data
setgid www-data
script
  /srv/mwlib/bin/activate
  nserve
end script
respawn