mirror of
https://we.phorge.it/source/phorge.git
synced 2025-01-06 04:41:01 +01:00
6d404c8219
Summary: Fixes T8751, Swaps out links to Diffusion. Also upped font size on Document monospace. Test Plan: Rebuild Diviner docs, click on new links. Reviewers: btrahan, epriestley Reviewed By: epriestley Subscribers: epriestley, Korvin Maniphest Tasks: T8751 Differential Revision: https://secure.phabricator.com/D13566
179 lines
7.3 KiB
Text
179 lines
7.3 KiB
Text
@title Installation Guide
|
|
@group intro
|
|
|
|
This document contains basic install instructions to get Phabricator up and
|
|
running.
|
|
|
|
Overview
|
|
========
|
|
|
|
Phabricator is a LAMP (Linux, Apache, MySQL, PHP) application. To install
|
|
Phabricator, you will need:
|
|
|
|
- a normal computer to install it on (shared hosts and unusual environments
|
|
are not supported) running some flavor of Linux or a similar OS;
|
|
- a domain name (like `phabricator.mycompany.com`);
|
|
- basic sysadmin skills;
|
|
- Apache, nginx, or another webserver;
|
|
- PHP, MySQL, and Git.
|
|
|
|
The remainder of this document details these requirements.
|
|
|
|
Installation Requirements
|
|
=========================
|
|
|
|
You will need **a computer**. Options include:
|
|
|
|
- **A Normal Computer**: This is strongly recommended. Many installs use a VM
|
|
in EC2. Phabricator installs properly and works well on a normal computer.
|
|
- **A Shared Host**: This may work, but is not recommended. Many shared
|
|
hosting environments have restrictions which prevent some of Phabricator's
|
|
features from working. Consider using a normal computer instead. We do not
|
|
support shared hosts.
|
|
- **A SAN Appliance, Network Router, Gaming Console, Raspberry Pi, etc.**:
|
|
Although you may be able to install Phabricator on specialized hardware, it
|
|
is unlikely to work well and will be difficult for us to support. Strongly
|
|
consider using a normal computer instead. We do not support specialized
|
|
hardware.
|
|
- **A Toaster, Car, Firearm, Thermostat, etc.**: Yes, many modern devices now
|
|
have embedded computing capability. We live in interesting times. However,
|
|
you should not install Phabricator on these devices. Instead, install it on
|
|
a normal computer. We do not support installing on noncomputing devices.
|
|
|
|
To install the Phabricator server software, you will need an **operating
|
|
system** on your normal computer which is **not Windows**. Note that the
|
|
command line interface //does// work on Windows, and you can //use//
|
|
Phabricator from any operating system with a web browser. However, the server
|
|
software does not run on Windows. It does run on most other operating systems,
|
|
so choose one of these instead:
|
|
|
|
- **Linux**: Most installs use Linux.
|
|
- **Mac OS X**: Mac OS X is an acceptable flavor of Linux.
|
|
- **FreeBSD**: While FreeBSD is certainly not a flavor of Linux, it is a fine
|
|
operating system possessed of many desirable qualities, and Phabricator will
|
|
install and run properly on FreeBSD.
|
|
- **Solaris, etc.**: Other systems which look like Linux and quack like Linux
|
|
will generally work fine, although we may suffer a reduced ability to
|
|
support and resolve issues on unusual operating systems.
|
|
|
|
Beyond an operating system, you will need **a webserver**.
|
|
|
|
- **Apache**: Many installs use Apache + `mod_php`.
|
|
- **nginx**: Many installs use nginx + `php-fpm`.
|
|
- **lighttpd**: `lighttpd` is less popular than Apache or nginx, but it
|
|
works fine.
|
|
- **Other**: Other webservers which can run PHP are also likely to work fine,
|
|
although these installation instructions will not cover how to set them up.
|
|
- **PHP Builtin Server**: You can use the builtin PHP webserver for
|
|
development or testing, although it should not be used in production.
|
|
|
|
You will also need:
|
|
|
|
- **MySQL**: You need MySQL. We strongly recommend MySQL 5.5 or newer.
|
|
- **PHP**: You need PHP 5.2 or newer.
|
|
|
|
You'll probably also need a **domain name**. In particular, you should read this
|
|
note:
|
|
|
|
NOTE: Phabricator must be installed on an entire domain. You can not install it
|
|
to a path on an existing domain, like `example.com/phabricator/`. Instead,
|
|
install it to an entire domain or subdomain, like `phabricator.example.com`.
|
|
|
|
Level Requirements
|
|
==================
|
|
|
|
To install and administrate Phabricator, you'll need to be comfortable with
|
|
common system administration skills. For example, you should be familiar with
|
|
using the command line, installing software on your operating system of choice,
|
|
working with the filesystem, managing processes, dealing with permissions,
|
|
editing configuration files, and setting environment variables.
|
|
|
|
If you aren't comfortable with these skills, you can still try to perform an
|
|
install. The install documentation will attempt to guide you through what you
|
|
need to know. However, if you aren't very familiar or comfortable with using
|
|
this set of skills to troubleshoot and resolve problems, you may encounter
|
|
issues which you have substantial difficulty working through.
|
|
|
|
We assume users installing and administrating Phabricator are comfortable with
|
|
common system administration skills and concepts. If you aren't, proceed at
|
|
your own risk and expect that your skills may be tested.
|
|
|
|
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**:
|
|
[[ https://secure.phabricator.com/diffusion/P/browse/master/scripts/install/install_rhel-derivs.sh
|
|
| install_rhel-derivs.sh ]]
|
|
- **Ubuntu**:
|
|
[[ https://secure.phabricator.com/diffusion/P/browse/master/scripts/install/install_ubuntu.sh
|
|
| 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") (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 https://github.com/phacility/libphutil.git
|
|
somewhere/ $ git clone https://github.com/phacility/arcanist.git
|
|
somewhere/ $ git clone https://github.com/phacility/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".
|
|
|
|
= Next Steps =
|
|
|
|
Continue by:
|
|
|
|
- configuring Phabricator with the @{article:Configuration Guide}; or
|
|
- learning how to keep Phabricator up to date with
|
|
@{article:Upgrading Phabricator}.
|