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 as "personal web sharing". 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 10.3.

For Mac OS X Client 10.2 or higher, get the install package from http://www.mysql.com/downloads/mysql-4.0.html#Mac_OS_X_Package_Installer

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/ which I have not tried but should work. [I have and it works. I've installed MediaWiki on Panther. Updating this for more details. --Valluvan]

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. You 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

Setting up the database
The only database prerequisite (apart from the installed db) is the root password to login to MySql. The root password is needed for the installation.

Setting up MediaWiki
Get MediaWiki sources from http://sourceforge.net/projects/wikipedia/.

Untar the file in a temporary folder. You need to edit the following files in the untared folder:- (It's a good idea to refer to INSTALL document within this folder) 1. AdminSettings.sample - rename this to AdminSettings.php 2. LocalSettings.sample - rename this to Localsettings.php Set $IP = "/usr/local/apache/htdocs/wiki"; Note the above folder is where I want to install MediaWiki. You can set it your preferred installation folder. Remember to create folders (upto /wiki) as the the install.php fails otherwise.

Run "sudo php install.php". This will ask a few questions. The important one will be the database password for "root" login. Once the password is given it will install MediaWiki under "/usr/local/apache/htdocs/wiki". It might can be necessary to make these directories prior to the installtion.

[Can we update below?]

Directory layout
On my machine I've installed them under /Library/MediaWiki like so:

/Library/MediaWiki/wiki.conf A bit of Apache configuration, see below

/Library/MediaWiki/php the *.php files from include/ and languages/ /Library/MediaWiki/cache /Library/MediaWiki/tmp <- temp files for TeX (?) For file cache and TeX temp files (if using). If using, must be writable by the www group.

/Library/MediaWiki/web Here's where the web-exposed stuff will go: wiki.phtml redirect.phtml LocalSettings.php style/ upload/ math/

Apache configuration
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.

Mail
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

PHP configuration
MediaWiki requires that register_globals be on. Find php.ini (might be in /usr/local/lib or /usr/local/php/lib) and find that and turn it on. Restart Apache.

As of OS X 10.3, php.ini is in /etc and is called "php.ini.default". Move "php.ini.default" to "php.ini" and set register_globals to "On".

Interestingly, it says this about turning "register_globals" on: "You should do your best to write your scripts so that they do not require register_globals to be on; Using form variables as globals can easily lead to possible security problems, if the code is not very well thought of."

I assume it means "thought out."

Mac-specific notes
The HFS+ filesystem is not case-sensitive, but MediaWiki is in various places. There conceivably may be problems relating to this.