środa, 31 lipca 2013

A CONFIGURATION OF MEDIAWIKI'S PDF WRITER EXTANSION WITH MWLIB PLUGIN ON UBUNTU 13.04 FOR LOCALHOST

Mój dobry znajomy powiedział ostatnio, że praca admina to jest jedyna praca w IT, która nie uwstecznia. Ciekawe podejście, ale co do braku uwsteczniania to miał rację. W końcu nic tak nie budzi, jak padnięty serwer z samego rana. Jednakże, nie o tym będę dzisiaj pisać, bo na bug na sieci, którą ostatnio otrzymałam w spadku można by było niejedną publikację wydać :) Dzisiaj będzie o wtyczce do MediaWiki, którą się chwilę temu bawiłam. Mianowicie o PDF Writer. Jest kilka tutków odnośnie zainstalowania tego, ale nie ma nic na Raring Ringtail, a tym bardziej nie po polsku. Postanowiłam więc zrobić zlepkę tego, co siedzi w sieci, ze swoimi poprawkami.

Wtyczka PDF Writer służy do tego, aby robić PDF z artykułów na Wiki. Mi zależało na tym, aby z naszego Wiki robiły się PDF np.: raz na dzień (to można załatwić curl'em).

Dzięki Bogu, w przypadku Ubunciaka dużo bajerów załatwi za nas apt-get. Na początek instalujemy potrzebne pakiety:

$ sudo apt-get install -y gcc g++ make perl python  python-setuptools python-imaging python-lxml libevent-dev 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-latex-recommended ploticus dvipng imagemagick pdftk

Następnie wrzucamy mwlib poprzez easyinstall i uruchamiany serwery renderingu:

$ easy_install mwlib && rehash
$ mw-qserve && nserve && nslave --cachedir ~/cache/ && postman

Otrzymujemy informacje o nasłuchiwaniu na porcie 8899. Otwieramy plik LocalSetting.php, który znajduje się z korzeniu Wiki (tam gdzie index.php) i edytujemy plik w następujący sposób:

$wgCollectionMWServeURL = 'http://127.0.0.1:8899';

W tym momencie według tutka na Wiki powinno działać, jednakże, ja dostawałam odpowiedź, że brakuje writera. Moim writerem był odf (do tworzenia plików odt). Brakowało mi rl do PDF. 
Postanowiłam wgrać rl'kę po swojemu.

Z poziomu usera za pomocą pip'a zainstalowałam paczki, umieszczone na sieci:

$ virtualenv --distribute --no-site-packages ~/pp
$ export PATH=~/pp/bin:$PATH
$ hash -r
$ export PIP_INDEX_URL=http://pypi.pediapress.com/simple/
$ pip install pyfribidi mwlib mwlib.rl

a następnie dorzuciłam texvc:

$ git clone https://github.com/pediapress/texvc
$ cd texvc; make; make install PREFIX=~/pp

Kolejnym krokiem będzie sprawdzenie writerów. Robimy to poleceniem mw-render --list-writer i tam zauważamy rl. Teraz możemy nasze Wiki wrzucić w PDF. Służy do tego także mw-render.

$ mw-render --config http:/.localhost/ --username='twojuzytkownik' --password='twojehaslo' --output /SCIEZKA/nazwapliku.pdf --writer rl

I możemy się cieszyć PDFami z MediaWiki :)



REGULAT GUESTS