Manual:Running MediaWiki on macOS

< MediaWiki User's Guide: Running MediaWiki

The primary development and deployment environment for MediaWiki is on Linux and Unix systems; Mac OS X is a Unix under the hood, so it's fairly straightforward to run it.

I've only tested on 10.2 and 10.3.

Apache
The Apache webserver is included in Mac OS X. Turn it on through System Preferences in the Sharing panel. (Security note: by default the included Apache configuration will serve pages to anyone who can open a network connection to your machine. If you have the firewall on, it will punch port 80 open in order to make the web serving public.) You will need to manually edit Apache's configuration later, stay tuned.

MySQL

 * MySQL should be preinstalled on Mac OS X Server 10.2 or Mac OS X Server 10.3.


 * If you're using Mac OS X Client 10.2 (or higher), you can either:


 * Get the Complete MySQL install package. This package allows you to configure MySQL with a nice PreferencePane in System Preferences, "the Mac way". It's free software like the standard package mentioned below.
 * If you're in danger of your new database being hacked, make sure you're going to be alone on the machine until it's configured.
 * Inside the downloaded disk image is an installer. Run it.
 * The preference pane has to be installed manually: Copy the file "MySQL.prefPane" to the folder "PreferencePanes" inside the folder "Library" inside your home folder. If the folder "PreferencePanes" doesn't exist yet, create it.
 * Open System preferences and you will see a new prefence pane called "MySQL", click it, then click on "Initialize". (You may get prompted for your password here.) It's important that you don't click on "Start" yet: That would kind-of start up MySQL, but it wouldn't work correctly. And even worse, a program bug will prohibit you from clicking "initalize" in this case. If you've made this mistake and clicked "Start", just restart your machine and you get another chance to press the "Initialize" button.
 * Having initialized MySQL, you should now click "Start".
 * Finally, click "Set Root Password". The inital password is "nothing", so leave the first field empty and enter something in the other two.


 * Database password caveat:
 * The only MySql database prerequisite is the MySQL root password (which you've just set). It is needed for the installation below.


 * - or -


 * Get the install package from mysql.com. This is the "standard" MySQL package, however note that it is probably the less convenient option (no Preference Pane, so you have to know what's what).
 * Again, if you're in danger of your new database being hacked, make sure you're going to be alone on the machine until it's configured.
 * There are two installer packages, one for MySQL and one for installing a StartupItem. The latter is for MySQL to launch as a server at system startup (which you could also have told it to do via the PreferencePane using the other method &mdash; toldyer that would've been easier ;-). You need to run both installers.
 * After installing, you still need to secure the default accounts; if you don't, anyone can log into your database with full privileges (considered to be a Bad Thing&trade;).

Mac OS 10.2 (jaguar)
On Mac OS X 10.2, you'll need to install PHP. There is an installable package here: http://www.entropy.ch/software/macosx/php/. At the time of this writing, the two most recent available versions there were PHP 4.3.6 and PHP 5.0.1. The problem with PHP5 is that there currently still is an incompatibility between the monobook skin and PHP5, causing MediaWiki to revert to an older look and feel if you use the newer PHP. Thus, you probably want to go for the PHP4 installer.

You can install from source too, of course, if you're a Unix-loving masochist.

Mac OS 10.3 (panther)
On Mac OS X 10.3, PHP is installed by default but not enabled. However, GD library is not installed by default. 'You do not need'' the GD library unless you want to enable image thumbnailing and don't want to install ImageMagick. GD will produce poorer thumbnails than ImageMagick, so ImageMagick is recommended.''' You can install ImageMagick through Fink or DarwinPorts.

The PHP installers mentioned in the Jaguar section above include GD library, so you may want to use them anyway. The hints regarding PHP4/5 still apply! (Or you could try installing only GD library from http://www.boutell.com/gd/ .)

If you're unsure whether you've got GD library installed, you could simply proceed to "Setting up the database" &mdash; at the start of the process, MediaWiki will tell you if it's there or not and if it isn't you can still install it (as above) before proceeding.

If you're happy that you don't need GD library or already have it, then you don't need to install a PHP package. You just need to edit /etc/httpd/httpd.conf and uncomment (remove the preceding #s from) the lines that contain "LoadModule php4_module libexec/httpd/libphp4.so" and "AddModule mod_php4.c". Then open the Sharing panel in System Preferences and stop then restart personal web sharing.

Another method that needs further investigation: uncomment lines in /etc/httpd/users/php.conf

Web-based setup

 * 1) Get MediaWiki sources from http://sourceforge.net/projects/wikipedia/.
 * 2) Untar the file in a temporary folder. (It's a good idea to refer to the INSTALL document in this folder.)
 * 3) click on the config directory in the mediawiki folder and type Apple-I (get info) change the directories permissions so that php and apache can edit the contents (you can set it so everyone can read and write this folder but if you do this you must make sure you set it back when you have finished installing)
 * 4) Move the directory somewhere web-accessible and go there with your browser. This would typically be the "Sites" folder (which should be in your home directory). You might like to use a subdirectory such as "mediawiki" to make sure your wiki doesn't get mixed in with anything else (these instruction will assume you did this).
 * 5) Browse to http://localhost/~short_username/mediawiki/ (where short_user name is your short username) This will redirect you to the installer.
 * 6) At this point, MediaWiki may complain right at the start that it can't find the GD library. If so, then see above.
 * 7) Follow the instructions to install: Fill in the details it asks for and wait while the installer does its work.
 * 8) When that finishes, you should be prompted to copy your LocalSettings.php file: In the mediawiki folder, again locate the directory called "config". Open this directory and copy of "LocalSettings.php" to the mediawiki folder.
 * 9) Eventually, you should be led to http://localhost/~short_username/mediawiki and you should see a nice new wiki waiting to be populated.
 * 10) Assuming that all of the above worked, you should DELETE the said config folder, for security reasons.

Note: With MySQL 4.1 and above, you might run into the "Couldn't connect to database" error. This is due to the new authentication protocol in MySQL. The remedy is to reset the user (root, and after creation the wikiuser as well) to use an old-protocol password, as described in the MySQL manual (Appendix A, chapter "Client does not support authentication protocol error"). In the longer term, MediaWiki should probably update the client library...


 * Do you mean that PHP needs an updated MySQL client library, or that something in MediaWiki's code needs to be changed?

Securing/configuring Apache
Create "wiki.conf".

wiki.conf:

Alias /wiki "/usr/local/apache/htdocs/wiki"

 Options Indexes MultiViews FollowSymLinks AllowOverride None Order allow,deny Allow from all 

 AllowOverride None AddType text/plain .html .htm .shtml php_admin_flag engine off 

RewriteEngine on  RewriteRule ^/wiki/en/(.*)$ /wiki/wiki.phtml?title=$1

On 10.3, you can copy or symlink wiki.conf info /etc/httpd/users/. On 10.2 you may need to add this line to the bottom of /private/etc/httpd/httpd.conf:

Include /etc/httpd/users/wiki.conf

That done, restart Apache. Restart it manually to make sure it reports any errors to you:

sudo apachectl restart

(If you restart it from the Sharing panel and there's a config error, it'll just sit there mute. Very annoying.)

You may need to enable PHP also, see the instructions that came with PHP. Make sure that the .phtml extension is assigned to PHP as well as .php; there should be a line like this in the httpd.conf file:

AddType application/x-httpd-php .php .phtml

Security note: unless you've disabled uploads, do not forget to disable PHP in the upload directory.

Enabling email
To send outgoing mail (inter-user messages and password reminders) a mail server needs to be running.

The mail server on 10.2 is sendmail, but is misconfigured in OS X client and won't run by default. 

On 10.3 postfix is the default mail server; to enable it see

Mac-specific notes

 * The HFS+ filesystem is not case-sensitive, but MediaWiki is in various places. There conceivably may be problems relating to this.
 * If your wiki is configured as Latin-1, you cannot upload images with non-ASCII characters in their file names (362).

Next page: Running MediaWiki on FreeBSD >