1
0
Fork 0
mirror of https://we.phorge.it/source/phorge.git synced 2024-11-30 18:52:42 +01:00
phorge-phorge/src/docs/installation_guide.diviner
epriestley 6a3eb19876 Provide a basic update script for Phabricator
Summary:
This isn't completely cross-system compatible but it's definitely better than
nothing.

Test Plan:
Pushed secure.phabricator.com a bunch of times.

Reviewed By: moskov
Reviewers: moskov
CC: aran, moskov
Differential Revision: 558
2011-06-29 20:05:28 -07:00

116 lines
4 KiB
Text

@title Installation Guide
@group intro
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**: You need Apache. You might be able to use something else, but
you're on your own.
- **MySQL**: You need MySQL.
- **PHP**: You need PHP 5.2 or newer.
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:
- **RedHat Derivatives**: <http://phabricator.com/rsrc/install/install_rhel-derivs.sh>
- **Ubuntu**: <http://phabricator.com/rsrc/install/install_ubuntu.sh>
If those work for you, you can skip directly to the
@{article: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")
- MySQL Server (usually "mysqld" or "mysql-server")
- PHP (usually "php")
- Required PHP extensions: mysql, 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
somewhere/ $ cd phabricator
somewhere/phabricator/ $ git submodule update --init
= 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 find installation instructions for xhprof here:
http://mirror.facebook.net/facebook/xhprof/doc.html#installation
You only need to install the PHP extension, not any of the library.
= Updating Phabricator =
Since Phabricator is under active development, you should update frequently.
You can use a script similar to this one to automate the process:
http://phabricator.com/rsrc/install/update_phabricator.sh
= Next Steps =
Continue by:
- configuring Phabricator with the @{article:Configuration Guide}.