Changeset View
Changeset View
Standalone View
Standalone View
src/docs/user/installation_guide.diviner
@title Installation Guide | @title Installation Guide | ||||
@group intro | @group intro | ||||
This document contains basic install instructions to get Phabricator up and | This document contains basic install instructions to get Phorge up and | ||||
running. | running. | ||||
Overview | Overview | ||||
======== | ======== | ||||
Phabricator is a LAMP (Linux, Apache, MySQL, PHP) application. To install | Phorge is a LAMP (Linux, Apache, MySQL, PHP) application. To install | ||||
Phabricator, you will need: | Phorge, you will need: | ||||
- a normal computer to install it on (shared hosts and unusual environments | - a normal computer to install it on (shared hosts and unusual environments | ||||
are not supported) running some flavor of Linux or a similar OS; | are not supported) running some flavor of Linux or a similar OS; | ||||
- a domain name (like `phabricator.mycompany.com`); | - a domain name (like `phorge.example.com`); | ||||
- basic sysadmin skills; | - basic sysadmin skills; | ||||
- Apache, nginx, or another webserver; | - Apache, nginx, or another webserver; | ||||
- PHP, MySQL, and Git. | - PHP, MySQL, and Git. | ||||
The remainder of this document details these requirements. | The remainder of this document details these requirements. | ||||
Installation Requirements | Installation Requirements | ||||
========================= | ========================= | ||||
You will need **a computer**. Options include: | You will need **a computer**. Options include: | ||||
- **A Normal Computer**: This is strongly recommended. Many installs use a VM | - **A Normal Computer**: This is strongly recommended. Many installs use a VM | ||||
in EC2. Phabricator installs properly and works well on a normal computer. | in EC2. Phorge installs properly and works well on a normal computer. | ||||
- **A Shared Host**: This may work, but is not recommended. Many shared | - **A Shared Host**: This may work, but is not recommended. Many shared | ||||
hosting environments have restrictions which prevent some of Phabricator's | hosting environments have restrictions which prevent some of Phorge's | ||||
features from working. Consider using a normal computer instead. We do not | features from working. Consider using a normal computer instead. We do not | ||||
support shared hosts. | support shared hosts. | ||||
- **A SAN Appliance, Network Router, Gaming Console, Raspberry Pi, etc.**: | - **A SAN Appliance, Network Router, Gaming Console, Raspberry Pi, etc.**: | ||||
Although you may be able to install Phabricator on specialized hardware, it | Although you may be able to install Phorge on specialized hardware, it | ||||
is unlikely to work well and will be difficult for us to support. Strongly | 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 | consider using a normal computer instead. We do not support specialized | ||||
hardware. | hardware. | ||||
- **A Toaster, Car, Firearm, Thermostat, etc.**: Yes, many modern devices now | - **A Toaster, Car, Firearm, Thermostat, etc.**: Yes, many modern devices now | ||||
have embedded computing capability. We live in interesting times. However, | have embedded computing capability. We live in interesting times. However, | ||||
you should not install Phabricator on these devices. Instead, install it on | you should not install Phorge on these devices. Instead, install it on | ||||
a normal computer. We do not support installing on noncomputing devices. | a normal computer. We do not support installing on noncomputing devices. | ||||
To install the Phabricator server software, you will need an **operating | To install the Phorge server software, you will need an **operating | ||||
system** on your normal computer which is **not Windows**. Note that the | system** on your normal computer which is **not Windows**. Note that the | ||||
command line interface //does// work on Windows, and you can //use// | command line interface //does// work on Windows, and you can //use// | ||||
Phabricator from any operating system with a web browser. However, the server | Phorge 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, | software does not run on Windows. It does run on most other operating systems, | ||||
so choose one of these instead: | so choose one of these instead: | ||||
- **Linux**: Most installs use Linux. | - **Linux**: Most installs use Linux. | ||||
- **Mac OS X**: Mac OS X is an acceptable flavor of 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 | - **FreeBSD**: While FreeBSD is certainly not a flavor of Linux, it is a fine | ||||
operating system possessed of many desirable qualities, and Phabricator will | operating system possessed of many desirable qualities, and Phorge will | ||||
install and run properly on FreeBSD. | install and run properly on FreeBSD. | ||||
- **Solaris, etc.**: Other systems which look like Linux and quack like Linux | - **Solaris, etc.**: Other systems which look like Linux and quack like Linux | ||||
will generally work fine, although we may suffer a reduced ability to | will generally work fine, although we may suffer a reduced ability to | ||||
support and resolve issues on unusual operating systems. | support and resolve issues on unusual operating systems. | ||||
Beyond an operating system, you will need **a webserver**. | Beyond an operating system, you will need **a webserver**. | ||||
- **Apache**: Many installs use Apache + `mod_php`. | - **Apache**: Many installs use Apache + `mod_php`. | ||||
- **nginx**: Many installs use nginx + `php-fpm`. | - **nginx**: Many installs use nginx + `php-fpm`. | ||||
- **lighttpd**: `lighttpd` is less popular than Apache or nginx, but it | - **lighttpd**: `lighttpd` is less popular than Apache or nginx, but it | ||||
works fine. | works fine. | ||||
- **Other**: Other webservers which can run PHP are also likely to work 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. | although these installation instructions will not cover how to set them up. | ||||
- **PHP Builtin Server**: Phabricator will not work with the builtin | - **PHP Builtin Server**: Phorge will not work with the builtin | ||||
webserver because Phabricator depends on making requests to itself on some | webserver because Phorge depends on making requests to itself on some | ||||
workflows, and the builtin webserver is single-threaded. | workflows, and the builtin webserver is single-threaded. | ||||
You will also need: | You will also need: | ||||
- **MySQL**: You need MySQL. We strongly recommend MySQL 5.5 or newer. | - **MySQL**: You need MySQL. We strongly recommend MySQL 5.5 or newer. | ||||
- **PHP**: You need PHP 5.5 or newer. | - **PHP**: You need PHP 5.5 or newer. | ||||
You'll probably also need a **domain name**. In particular, you should read this | You'll probably also need a **domain name**. In particular, you should read this | ||||
note: | note: | ||||
NOTE: Phabricator must be installed on an entire domain. You can not install it | NOTE: Phorge must be installed on an entire domain. You can not install it | ||||
to a path on an existing domain, like `example.com/phabricator/`. Instead, | to a path on an existing domain, like `example.com/phorge/`. Instead, | ||||
install it to an entire domain or subdomain, like `phabricator.example.com`. | install it to an entire domain or subdomain, like `phorge.example.com`. | ||||
Level Requirements | Level Requirements | ||||
================== | ================== | ||||
To install and administrate Phabricator, you'll need to be comfortable with | To install and administrate Phorge, you'll need to be comfortable with | ||||
common system administration skills. For example, you should be familiar with | common system administration skills. For example, you should be familiar with | ||||
using the command line, installing software on your operating system of choice, | using the command line, installing software on your operating system of choice, | ||||
working with the filesystem, managing processes, dealing with permissions, | working with the filesystem, managing processes, dealing with permissions, | ||||
editing configuration files, and setting environment variables. | editing configuration files, and setting environment variables. | ||||
If you aren't comfortable with these skills, you can still try to perform an | 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 | 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 | 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 | this set of skills to troubleshoot and resolve problems, you may encounter | ||||
issues which you have substantial difficulty working through. | issues which you have substantial difficulty working through. | ||||
We assume users installing and administrating Phabricator are comfortable with | We assume users installing and administrating Phorge are comfortable with | ||||
common system administration skills and concepts. If you aren't, proceed at | common system administration skills and concepts. If you aren't, proceed at | ||||
your own risk and expect that your skills may be tested. | your own risk and expect that your skills may be tested. | ||||
Installing Required Components | Installing Required Components | ||||
============================== | ============================== | ||||
If you are installing on Ubuntu or an RedHat derivative, there are install | 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 | scripts available which should handle most of the things discussed in this | ||||
document for you: | document for you: | ||||
- **RedHat Derivatives**: | - **RedHat Derivatives**: | ||||
[[ https://secure.phabricator.com/diffusion/P/browse/master/scripts/install/install_rhel-derivs.sh | [[ https://we.phorge.it/diffusion/P/browse/master/scripts/install/install_rhel-derivs.sh | ||||
| install_rhel-derivs.sh ]] | | install_rhel-derivs.sh ]] | ||||
- **Ubuntu**: | - **Ubuntu**: | ||||
[[ https://secure.phabricator.com/diffusion/P/browse/master/scripts/install/install_ubuntu.sh | [[ https://we.phorge.it/diffusion/P/browse/master/scripts/install/install_ubuntu.sh | ||||
| install_ubuntu.sh ]] | | install_ubuntu.sh ]] | ||||
If those work for you, you can skip directly to the | If those work for you, you can skip directly to the | ||||
@{article:Configuration Guide}. These scripts are also available in the | @{article:Configuration Guide}. These scripts are also available in the | ||||
`scripts/install` directory in the project itself. | `scripts/install` directory in the project itself. | ||||
Otherwise, here's a general description of what you need to install: | Otherwise, here's a general description of what you need to install: | ||||
- git (usually called "git" in package management systems) | - git (usually called "git" in package management systems) | ||||
- Apache (usually "httpd" or "apache2") (or nginx) | - Apache (usually "httpd" or "apache2") (or nginx) | ||||
- MySQL Server (usually "mysqld" or "mysql-server") | - MySQL Server (usually "mysqld" or "mysql-server") | ||||
- PHP (usually "php") | - PHP (usually "php") | ||||
- Required PHP extensions: mbstring, iconv, mysql (or mysqli), curl, pcntl | - Required PHP extensions: mbstring, iconv, mysql (or mysqli), curl, pcntl | ||||
(these might be something like "php-mysql" or "php5-mysqlnd") | (these might be something like "php-mysql" or "php5-mysqlnd") | ||||
- Optional PHP extensions: gd | - Optional PHP extensions: gd | ||||
If you already have LAMP setup, you've probably already got everything you need. | 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 | It may also be helpful to refer to the install scripts above, even if they don't | ||||
work for your system. | work for your system. | ||||
Now that you have all that stuff installed, grab Phabricator and its | Now that you have all that stuff installed, grab Phorge and its | ||||
dependencies: | dependencies: | ||||
$ cd somewhere/ # pick some install directory | $ cd somewhere/ # pick some install directory | ||||
somewhere/ $ git clone https://github.com/phacility/arcanist.git | somewhere/ $ git clone https://we.phorge.it/source/arcanist.git | ||||
somewhere/ $ git clone https://github.com/phacility/phabricator.git | somewhere/ $ git clone https://we.phorge.it/source/phorge.git | ||||
Next Steps | Next Steps | ||||
========== | ========== | ||||
Continue by: | Continue by: | ||||
- configuring Phabricator with the @{article:Configuration Guide}; or | - configuring Phorge with the @{article:Configuration Guide}; or | ||||
- learning how to keep Phabricator up to date with | - learning how to keep Phorge up to date with | ||||
@{article:Upgrading Phabricator}. | @{article:Upgrading Phorge}. |
Content licensed under Creative Commons Attribution-ShareAlike 4.0 (CC-BY-SA) unless otherwise noted; code licensed under Apache 2.0 or other open source licenses. · CC BY-SA 4.0 · Apache 2.0