mirror of
https://we.phorge.it/source/phorge.git
synced 2025-01-19 03:01:11 +01:00
Improve install documentation a bit
Summary: - Warn users that they'll need to be comfortable with the CLI. - Move XHProf stuff to the developer docs, since few/no normal users need it. Test Plan: Read documentation. Reviewers: btrahan, chad Reviewed By: chad Subscribers: epriestley Differential Revision: https://secure.phabricator.com/D10810
This commit is contained in:
parent
31b4d39003
commit
3b26fe8c05
2 changed files with 101 additions and 31 deletions
54
src/docs/contributor/installing_xhprof.diviner
Normal file
54
src/docs/contributor/installing_xhprof.diviner
Normal file
|
@ -0,0 +1,54 @@
|
||||||
|
@title Installing XHProf
|
||||||
|
@group developer
|
||||||
|
|
||||||
|
Describes how to install XHProf, a PHP profiling tool.
|
||||||
|
|
||||||
|
Overview
|
||||||
|
========
|
||||||
|
|
||||||
|
You can install XHProf to activate the XHProf tab in DarkConsole and the
|
||||||
|
`--xprofile` flag from the CLI. This will allow you to generate performance
|
||||||
|
profiles of pages and scripts, which can be tremendously valuable in identifying
|
||||||
|
and fixing slow code.
|
||||||
|
|
||||||
|
Installing XHProf
|
||||||
|
=================
|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
|
Using XHProf: Web
|
||||||
|
=================
|
||||||
|
|
||||||
|
To profile a web page, activate DarkConsole and navigate to the XHProf tab.
|
||||||
|
Use the **Profile Page** button to generate a profile.
|
||||||
|
|
||||||
|
Using XHProf: CLI
|
||||||
|
=================
|
||||||
|
|
||||||
|
From the command line, use the `--xprofile <filename>` flag to generate a
|
||||||
|
profile of any script.
|
||||||
|
|
||||||
|
Next Steps
|
||||||
|
==========
|
||||||
|
|
||||||
|
Continue by:
|
||||||
|
|
||||||
|
- enabling DarkConsole with @{article:Using DarkConsole}.
|
|
@ -4,7 +4,23 @@
|
||||||
This document contains basic install instructions to get Phabricator up and
|
This document contains basic install instructions to get Phabricator up and
|
||||||
running.
|
running.
|
||||||
|
|
||||||
= Installation Requirements =
|
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:
|
You will need **a computer**. Options include:
|
||||||
|
|
||||||
|
@ -12,20 +28,22 @@ You will need **a computer**. Options include:
|
||||||
in EC2. Phabricator installs properly and works well on a normal computer.
|
in EC2. Phabricator 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 Phabricator's
|
||||||
features from working. Consider using a normal computer instead.
|
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.**:
|
- **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 Phabricator 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.
|
consider using a normal computer instead. We do not support specialized
|
||||||
|
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 Phabricator on these devices. Instead, install it on
|
||||||
a normal computer.
|
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 Phabricator 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
|
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,
|
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:
|
||||||
|
|
||||||
|
@ -51,7 +69,7 @@ Beyond an operating system, you will need **a webserver**.
|
||||||
|
|
||||||
You will also need:
|
You will also need:
|
||||||
|
|
||||||
- **MySQL**: You need MySQL.
|
- **MySQL**: You need MySQL. We strongly recommend MySQL 5.5 or newer.
|
||||||
- **PHP**: You need PHP 5.2 or newer.
|
- **PHP**: You need PHP 5.2 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
|
||||||
|
@ -61,7 +79,27 @@ 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,
|
to a path on an existing domain, like `example.com/phabricator/`. Instead,
|
||||||
install it to an entire domain or subdomain, like `phabricator.example.com`.
|
install it to an entire domain or subdomain, like `phabricator.example.com`.
|
||||||
|
|
||||||
= Installing Required Components =
|
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
|
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
|
||||||
|
@ -129,28 +167,6 @@ If it doesn't show up, add:
|
||||||
|
|
||||||
..to "/etc/php.d/apc.ini" or the "php.ini" file indicated by "php -i".
|
..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 =
|
= Updating Phabricator =
|
||||||
|
|
||||||
Since Phabricator is under active development, you should update frequently. To
|
Since Phabricator is under active development, you should update frequently. To
|
||||||
|
|
Loading…
Reference in a new issue