Diviner

Article Installation Guide

Definedsrc/docs/installation_guide.diviner:1
GroupIntroduction

This document contains basic install instructions to get Phabricator up and running.

Installation Requirements

Phabricator is a LAMP application suite, so you basically need LAMP:

  • Linux: Some flavor of Linux is required. Mac OS X is an acceptable flavor of Linux. Windows is not an acceptable flavor of Linux. Phabricator will not install or work properly on Windows. (If you want it to, send patches.) Phabricator has active contributors running it on Mac OS X, Amazon Linux, Ubuntu, RHEL and CentOS; if you run into issues on other flavors, send patches or complaints.
  • Apache (or nginx, or lighttpd): You need Apache 2.2.7+ (or another tested webserver). You can probably use something else, but you're on your own.
  • MySQL: You need MySQL.
  • PHP: You need PHP 5.2 or newer.
NOTE: The command line interface to Phabricator, "Arcanist", does work on Windows. For instructions, see Arcanist User Guide: Windows.

You'll probably also need a domain name and you'll certainly need a computer with a connection to the internet.

Installing Required Components

If you are installing on Ubuntu or an RedHat derivative, there are install scripts available which should handle most of the things discussed in this document for you:

If those work for you, you can skip directly to the Configuration Guide. These scripts are also available in the scripts/install directory in the project itself.

Otherwise, here's a general description of what you need to install:

  • git (usually called "git" in package management systems)
  • Apache (usually "httpd" or "apache2") (or nginx)
  • MySQL Server (usually "mysqld" or "mysql-server")
  • PHP (usually "php")
  • Required PHP extensions: mbstring, iconv, mysql (or mysqli), curl, pcntl (these might be something like "php-mysql" or "php5-mysql")
  • Optional PHP extensions: gd, apc (special instructions for APC are available below if you have difficulty installing it), xhprof (instructions below, you only need this if you are developing Phabricator)

If you already have LAMP setup, you've probably already got everything you need. It may also be helpful to refer to the install scripts above, even if they don't work for your system.

Now that you have all that stuff installed, grab Phabricator and its dependencies:

$ cd somewhere/ # pick some install directory
somewhere/ $ git clone git://github.com/facebook/libphutil.git
somewhere/ $ git clone git://github.com/facebook/arcanist.git
somewhere/ $ git clone git://github.com/facebook/phabricator.git

Installing APC (Optional)

Like everything else written in PHP, Phabricator will run much faster with APC installed. You likely need to install "pcre-devel" first:

sudo yum install pcre-devel

Then you have two options. Either install via PECL (try this first):

sudo yum install php-pear
sudo pecl install apc

If that doesn't work, grab the package from PECL directly and follow the build instructions there:

http://pecl.php.net/package/APC

Installing APC is optional but strongly recommended, especially on production hosts.

Once APC is installed, test that it is available by running:

php -i | grep apc

If it doesn't show up, add:

extension=apc.so

..to "/etc/php.d/apc.ini" or the "php.ini" file indicated by "php -i".

Installing XHProf (Optional)

XHProf is a PHP profiling tool. You don't need to install it unless you are developing Phabricator and making performance changes.

You can install xhprof with:

$ pecl install xhprof

If you have a PEAR version prior to 1.9.3, you may run into a phpize failure. If so, you can download the source and build it with:

$ cd extension/
$ phpize
$ ./configure
$ make
$ sudo make install

You may also need to add "extension=xhprof.so" to your php.ini.

See https://bugs.php.net/bug.php?id=59747 for more information.

Updating Phabricator

Since Phabricator is under active development, you should update frequently. To update Phabricator:

  • Stop the webserver.
  • Run git pull in libphutil/, arcanist/ and phabricator/.
  • Run phabricator/bin/storage upgrade.
  • Restart the webserver.

For more details, see Configuration Guide. You can use a script similar to this one to automate the process:

http://www.phabricator.com/rsrc/install/update_phabricator.sh

Next Steps

Continue by: