Manual:Running MediaWiki on FreeBSD

Part of the Running MediaWiki series.

Most of the prerequesites for running MediaWiki can be installed on FreeBSD from the ports system. See http://www.freebsd.org/ports/

Database
Install MySQL from ports, databases/mysql40-server.

Web server
Apache can be installed from ports, www/apache13 or www/apache2.

PHP
PHP might be installed from ports (lang/php4) and it's extensions from lang/php4-extensions. This will make an Apache DSO module, and PHP extensions would be dynamically loaded.

Extensions
You would need theese extensions from php4-extensions:
 * php4-mysql - for database, obviously
 * php4-pgsql - if PostgreSQL is required
 * php4-iconv - Character set translations
 * php4-imagick - Image manipulation library
 * php4-ldap - in case of LDAP authentication (future feature)
 * php4-mbstring - for fast multibyte string manipulations
 * php4-pcre - Regular expressions (MW has lots of theese)
 * php4-readline - for some features of CLI scripts
 * php4-session - Session support
 * php4-xml - XML Parser
 * php4-zlib - Compressed object storage

This list might be incomplete.

Install www/turck-mmcache from ports if you wish to use Turck opcode cache.

TeX support
Install these from ports for math rendering support if you haven't already got them:


 * lang/ocaml
 * print/latex
 * print/dvips
 * graphics/ImageMagick

texvc's Makefile requires GNU make. Once ocaml is installed, go into the math/ subdirectory of the MediaWiki package and run 'gmake'. The texvc executable will be installed by install.php if you use it and have $wgUseTeX set to true, or you can copy it in manually. Put it in 'math' subdirectory under where wiki.phtml is.

The MediaWiki-1.1.0 and earlier releases use an option for dvips which the ports version doesn't support. The latest CVS version has used a more compatible option; if using an older release, edit render.ml and change "-o -" to "-f" at the end of the first line, then build texvc.

Note that latex, dvips, and convert must be in the PATH for texvc to shell out to them. If apache is started on system startup it may not have /usr/local/bin in the PATH, and this PATH will be inherited by texvc and image output won't happen. Restart apache after boot, or put this into LocalSettings.php:

putenv("PATH=".getenv("PATH").":/usr/local/bin");

In some installations, dvips seems to have problems with texvc's command line parameters: it doesn't recognize 'ps:-' as an input filename specifier for stdin. Change this line to use plain '-' in file render.ml and compile texvc again:

let cmd_convert finalpath = "/usr/local/bin/convert -quality 100 -density 120 - " ^ finalpath ^ " >/dev/null 2>/dev/null"

Memcached
Install it from databases/memcached. Please note, that it should be not reachable from outside, as that would cause severe security risks for your installation. If you're running on a jail, your localhost address would be mapped to Net-visible address.

Some problems and workarounds
I have different configurations for standalone php and module-php. install.php database functions dont't work in standalone php.


 * Workaround - run install.php from commandline to copy files. Then copy it to install2.php and comment out parts which copy files. Also hard-code db root password and delete lines where commandline imput is expected. Run install2.php by accessing it from webserver.

I've installed MediaWiki with Cs locales and wiki.phtml doesnt work.


 * LanguageCs needs LanguageUtf8.php to work. Copy LanguageUtf8.php to same directory you has LanguageCs.php

wiki.phtml still does not work


 * Hard-code including LanguageCs.php after Language.php in Setup.php

Next page: MediaWiki User's Guide: Configuration >