Installing Redmine on OS X 10.9 Mavericks / 10.10 Yosemite / 10.11 El Capitan - Server and Client

This is a quick summary of the necessary steps for a simple install of Redmine on Apple OS X Server and client, versions 10.9 - 10.11. This is slightly different from the install for Snow Leopard Server. This is meant only as a supplement, not a replacement, to the official install guide found here. This summary contains instructions for MySQL only, for PostgreSQL or SQLite please see related part of the official install guide.

Install Prerequisites

Xcode and MySQL Server

First, install the developer command line-tools via Terminal:

xcode-select --install

Then install MySQL Community Server - get it from http://dev.mysql.com/downloads/mysql. Get the latest 64-bit DMG archive matching your version of OS X.
This will also install a nifty little preference pane to start and stop the MySQL server. Make sure the Mysql-server is started before you proceed and that it is started after each machine restart.

To make database administration easier you should include the database binaries in your path:

export PATH=/usr/local/mysql/bin:$PATH
(To make your life easier in the long run you may want to include this command in your ~/.bash_profile file.)

If the installer doesn't set a root password during the installation (later versions will display a random preset password the end of the installation), you've got to set it with mysqladmin:

mysqladmin -u root password "newpwd"

Next, login to mysql.
mysql -u root -p

Create the database, the database user and set privileges:
CREATE DATABASE redmine CHARACTER SET utf8 COLLATE utf8_general_ci;
CREATE USER 'redmine'@'localhost' IDENTIFIED BY 'my_password';
GRANT ALL PRIVILEGES ON redmine.* TO 'redmine'@'localhost';

The following is not needed in mysql 5.7.9 OS X 10.10 and later. Actually, it is not even possible to do this symbolic link in OS X 10.10 and later with default system security. It is left here in case you have an earlier version: The Redmine installer expects the MySQL client library in a different place, so you need to create a symbolic link to the original location:

sudo ln -s /usr/local/mysql/lib/libmysqlclient.18.dylib  /usr/lib/libmysqlclient.18.dylib

Redmine Prerequisites

Redmine is built on Ruby which comes with Xcode, but some gems are missing:

sudo gem install rails bundler passenger

Next, use passenger to build the apache2-passenger module:
rvmsudo passenger-install-apache2-module

This will in the end output few lines of configuration code that you'll have to add to your Apache configuration (see below). Here follows an example, be aware that exact content may change with newer versions of related software:
LoadModule passenger_module /Library/Ruby/Gems/2.0.0/gems/passenger-5.0.21/buildout/apache2/mod_passenger.so
<IfModule mod_passenger.c>
    PassengerRoot /Library/Ruby/Gems/2.0.0/gems/passenger-5.0.21
    PassengerDefaultRuby /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby
</IfModule>

In OS X Mavericks it's necessary to put this code in one of two files. Either in the default standard https.conf-file or in a separate file that is automatically included.
Alternative A - main config file:
Server:
/Library/Server/Web/Config/apache2/httpd_server_app.conf

Client:
/etc/apache2/httpd.conf

Alternative B - separate include file (create as needed):
Server:
/Library/Server/Web/Config/apache2/other/passenger.conf

Client:
/etc/apache2/other/passenger.conf

Finally, OS X Mavericks has a problem to install the rmagick gem which is optional for a successful installation of Redmine, but if you want to display images and charts it's necessary.
Get the following packages:
ImageMagick - http://cactuslab.com/imagemagick/ (Note there are two versions, one with free type which requires XQuartz to be installed - the basic version is sufficient.)
Pgkconfig - http://macpkg.sourceforge.net
rmagick - http://rubygems.org/gems/rmagick (sometimes the download during installation fails, it's easier to have it stored locally). See note below about workable version!

Please be aware that rmagick version 2.13.4 and later does not build clean (at least not on OS X 10.10 and later). You may have to use the version before, 2.13.3, that one seems to compile and install fine.

Install ImageMagick and Pkgconfig, both should be installed in the /opt directory by default.
Because neither ImageMagick or Pkgconfig seems to add the path to the executable during the installation, you have to export the path variable:

export PATH=/opt/ImageMagick/bin:/opt/pkgconfig/bin:$PATH

The following command should install the rmagick gem without errors (check the exact version number). If installation fails please check the paths to MagickCore.pc and MagickWand.h.

sudo C_INCLUDE_PATH=/opt/ImageMagick/include/ImageMagick-6/ PKG_CONFIG_PATH=/opt/ImageMagick/lib/pkgconfig/ gem install --local ~/Downloads/rmagick-2.13.3.gem

(Assuming rmagick has been downloaded to your Downloads directory)

Install Redmine

Get the latest stable build of Redmine and move the redmine directory to your web server root folder. The web server root folder is different on Server and client:
Server:

/Library/Server/Web/Data/Sites/Default/

Client:
/Library/WebServer/Documents

Configure Redmine

In the Terminal, change current directory to the new Redmine folder in your web root and execute the following commands to setup the folder structure:

sudo mkdir public/plugin_assets
sudo chown -R _www:_www tmp public/plugin_assets log files
sudo chmod -R 755 files log tmp public/plugin_assets
sudo cp config/database.yml.example config/database.yml

Edit database.yml, e.g., for MySql:
production:
  adapter: mysql2
  database: redmine
  host: localhost
  username: redmine
  password: put_redmine's_password_here

E.g., for PostgreSQL (as detailed at http://www.uponmyshoulder.com/blog/2011/cant-find-the-postgresql-client-library-libpq), an additional package needs to be installed in a nondefault way to forestall the install failures that will occur for PostgreSQL during “bundle install” far below:
sudo env ARCHFLAGS="-arch x86_64" gem install pg -v '0.17.1'

then for PostgreSQL, edit database.yml:
production:
  adapter: postgresql
  database: redmine
  host: localhost
  username: redmine
  password: put_redmine's_password_here
  encoding: utf8

Run Bundler

If you were forced to install an earlier version of rmagick (like 2.13.3) you will need to force the Bundler to use that version or the installation will fail. You can avoid this by edit the file "Gemfile". Look for the row that says gem "rmagick", ">= 2.0.0" and change it to gem "rmagick", "2.13.3". Save the file and then run the bundle install:

bundle install --without development test

Assuming the installation finished without errors you can generate the secret token:
rake generate_secret_token

Next steps:
RAILS_ENV=production rake db:migrate

RAILS_ENV=production rake redmine:load_default_data
You will be asked to choose language. Do so.

If you want to do a quick test and take Redmine for a ride your can now do so:

sudo ruby bin/rails server webrick -e production

This will make your redmine available att http://localhost:3000

Last but not least you need to point Apache to the public folder inside the red mine directory to serve Redmine as a website.
Please make sure you tick Allow overrides using .htaccess file in the advanced settings of your website configuration.

For further information please see
HowTo Install Redmine on Mac OS X Server 10.6 Snow Leopard
and
HowTo Install Redmine on Mac OS X Lion Server
in case some details are missing here.
Here is some step by step advice how to do quick install and upgrade on 10.8 and 10.9 Mac OS X Server with bitnami package http://www.macweb.cz/aktualizujeme-redmine-na-novou-verzi-2-5-x/