mirror of
https://we.phorge.it/source/phorge.git
synced 2024-11-28 17:52:43 +01:00
d6e2e4e4c5
lighttpd could support rules like this, to add efficiency: # Aggressively cache all static files $HTTP["url"] =~ "\.(jpg|gif|png|css|js|htc)" { expire.url = ( "" => "access 1 years" ) } # Compress files for faster transfer compress.filetype = ( "text/plain", "text/html", "text/javascript", "text/css", "text/xml" ) compress.cache-dir = <would need to set to something>? I don't know if that is necessary or useful. Probably not a good idea at this point, where the code is changing so rapidly: a 1 year cache of javascript code could cause trouble. And i think the default lighttpd.conf already compresses text/html, text/plain, text/css, and application/x-javascript by default, so we're ok there (could add text/javascript and text/xml, I guess).
140 lines
4.7 KiB
Text
140 lines
4.7 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** (or nginx, or lighttpd): You need Apache (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 @{article: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:
|
|
|
|
- **RedHat Derivatives**: <http://www.phabricator.com/rsrc/install/install_rhel-derivs.sh>
|
|
- **Ubuntu**: <http://www.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") (or nginx)
|
|
- MySQL Server (usually "mysqld" or "mysql-server")
|
|
- PHP (usually "php")
|
|
- Required PHP extensions: mbstring, iconv, 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 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 && git submodule update --init` in `libphutil/`,
|
|
`arcanist/` and `phabricator/`.
|
|
- Run `phabricator/bin/storage upgrade`.
|
|
- Restart the webserver.
|
|
|
|
For more details, see @{article: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:
|
|
|
|
- configuring Phabricator with the @{article:Configuration Guide}.
|