Manual:Running MediaWiki on FreeBSD

From MediaWiki.org

Jump to: navigation, search
Caution! The content of this page has not been verified.

Instructions written in this page have not been verified to be correct.
If there are any inaccuracies, please drop a note at the support desk.

Installation guides
on FreeBSD
on GNU/Linux
- ALT Linux
- Damnsmalllinux
- Debian
- Fedora
- Gentoo
- Mandriva
- Red Hat Enterprise Linux
- Slackware
- SuSE 9.3
- Ubuntu
on Mac OS X
on NetWare
on Solaris
- on Solaris 10
- on Solaris 9
on Windows
- Windows Vista
- Windows XP
- Windows Server 2008
- Windows Server 2003
- Newcomers guide
- Streamlined Guide
- Simple Windows/Apache Guide
- on a stick
- on WOS Portable
- on Uniform Server
- on Sourceforge.net
Wikimedia-logo-meta.png

This page was recently moved from MetaWiki.
It probably requires cleanup – please feel free to help out. In addition, some links on the page may be red; respective pages might be found at Meta. Remove this template once cleanup is complete.


Most of the prerequisites for running MediaWiki can be installed on FreeBSD from the ports system (not packages). See http://www.freebsd.org/ports/

MediaWiki itself may also be installed directly from the ports tree (/usr/ports/www/mediawiki). You may wish to install some of its dependencies beforehand if you want to run some of the newer versions.

Contents

[edit] Install Apache, php and MySQL together

This is for FreeBSD 4.11 only. Installing php4 will include mysql-client and apache at the same time. I recommend installing these packages through pkg_add rather than stand/sysinstall, because sysinstall has some problem in getting the correct version of packages. After the installation, please check the version of mysql-client and install the same version of mysql-server. The versions of the packages in my system are listed below:

  • apache-1.3.29_3.tgz
  • mysql-server-4.0.18_1.tgz
  • mysql-client-4.0.18_1.tgz
  • php4-4.3.6.tgz

The command I use for installation

pkg_add -r php4-4.3.6.tgz
pkg_add -r mysql-server-4.0.18_1.tgz

[edit] Database

Install MySQL from ports, databases/mysql40-server.

[edit] Web server

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

[edit] PHP

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

When using www/apache2, don't forget the line AddType application/x-httpd-php .php .phtml in httpd.conf .

[edit] Extensions

You would need these extensions from php4-extensions:

  • php4-mysql - for database, obviously
  • 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 these)
  • 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.

If you are installing the above as separate packages, you need to install graphics/ImageMagick instead of php4-imagick.

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

[edit] 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
  • print/ghostscript-gnu-nox11

For FreeBSD 4.11 users: please install the following packages instead because dvips is not available in the package list:

  • ocaml
  • teTeX
  • ImageMagick
  • gmake

teTeX already includes latex and dvips. However, it will conflict with latex2e. So please make sure that your system does not have latex2e.

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.

Note that certain versions of FreeBSD (5.3) may require a cvsup of the ports directory to work correctly. If you attempt this installation and run into errors, try cvsup'ing your ports tree and remaking the above ports -- ImageMagick specifically.

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"

[edit] Matrix Support

The default install of math libraries will not have the asmfonts installed. Asmfonts are used for matrix, bmatrix, and pmatrix math libraries.

Instructions and fonts can be obtained from the following links:

Likely, the fonts will need to be installed in /usr/local/share/texmf

[edit] FreeBSD 6.2

I installed MediaWiki on FreeBSD 6.2 through ports.

Requirements: 
Apache; /usr/ports/www/apache22 PHP; /usr/ports/lang/php5 MySQL; /usr/ports/databases/mysql50-server teTeX; /usr/ports/print/teTeX

cd /usr/ports/www/mediawiki
make install clean rehash

[edit] teTeX

On FreeBSD 6.2 I had previously installed the LaTeX port. This worked for some math typesetting, but not for matrices, vectors, and things like \mathbb{R}.

I had to remove the latex port:
cd /usr/ports/print/latex
make deinstall
make clean

Update my ports tree using portsnap:
portsnap fetch
portsnap extract

Then install the teTex port:
cd /usr/ports/print/teTeX
make install clean
rehash

Then restart the apache web server:
apachectl graceful

Now I have access to vectors, matrices, \mathbb{}, and all the amsfonts characters. amsfonts is called amspsfnt in the FreeBSD ports tree, and is installed as part of the teTeX port.

[edit] Memcached

Install it from databases/memcached. Please note, that it should not be 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 a Net-visible address.

[edit] Some problems and workarounds

  • I have different configurations for standalone php and module-php. install.php database functions don'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 input is expected. Run install2.php by accessing it from the webserver.
  • I've installed MediaWiki with Cs locales and wiki.phtml doesn't work.
LanguageCs needs LanguageUtf8.php to work. Copy LanguageUtf8.php to the same directory as LanguageCs.php

wiki.phtml still does not work

Hard-code including LanguageCs.php after Language.php in Setup.php
  • During installation i get this error message:
"PHP's XML module is missing; the wiki requires functions in 
this module and won't work in this configuration.
If you're running Mandrake, install the php-xml package."
Make sure php extensions port is installed.
$cd /usr/ports/lang/php(4|5)-extensions
$make install distclean
select xml from the menu
$ldconfig (to link newly installed xml library)
Restart apache.

Next page: meta:Help:Configuration >