mirror of
https://we.phorge.it/source/phorge.git
synced 2025-02-26 05:29:06 +01:00
Summary: - PHABRICATOR_ENV is now optional. If you don't specify it, we won't load a config file. - PhabricatorSetup is now gone. - I removed the alternate file domain check for now, see T2380. - `phabricator.setup` config is now gone. - Rewrote documentation: - No more mentions of `phabricator.setup`. - Normal install guide no longer mentions PHABRICATOR_ENV. This is now an advanced topic. - Clarified that you only need to set up one of apache, nginx or lighttpd. - Tweaked a few things I've seen users have difficulty with. This should have no effect on any existing installs, but make the process much simpler for future installs. Closes T2221. Closes T2223. Closes T2228. Test Plan: - Removed my PHABRICATOR_ENV and went through the install process. - Generated and read documentation. Reviewers: btrahan, chad Reviewed By: btrahan CC: aran Maniphest Tasks: T2221, T2223, T2228 Differential Revision: https://secure.phabricator.com/D4596
191 lines
6.4 KiB
Text
191 lines
6.4 KiB
Text
@title Configuration Guide
|
|
@group config
|
|
|
|
This document contains basic configuration instructions for Phabricator.
|
|
|
|
= Prerequisites =
|
|
|
|
This document assumes you've already installed all the components you need.
|
|
If you haven't, see @{article:Installation Guide}.
|
|
|
|
The next steps are:
|
|
|
|
- Configure your webserver (Apache, nginx, or lighttpd).
|
|
- Access Phabricator with your browser.
|
|
- Follow the instructions to complete setup.
|
|
|
|
= Webserver: Configuring Apache =
|
|
|
|
NOTE: Follow these instructions to use Apache. To use nginx or lighttpd, scroll
|
|
down to their sections.
|
|
|
|
Get Apache running and verify it's serving a test page. Consult the Apache
|
|
documentation for help. Make sure ##mod_php## and ##mod_rewrite## are enabled,
|
|
and ##mod_ssl## if you intend to set up SSL.
|
|
|
|
If you haven't already, set up a domain name to point to the host you're
|
|
installing on. You can either install Phabricator on a subdomain (like
|
|
phabricator.example.com) or an entire domain, but you can not install it in
|
|
some subdirectory of an existing website. Navigate to whatever domain you're
|
|
going to use and make sure Apache serves you something to verify that DNS
|
|
is correctly configured.
|
|
|
|
Now, either create a VirtualHost entry (to put Phabricator on a subdomain)
|
|
or edit the Directory entry for the DocumentRoot. It should look something like
|
|
this:
|
|
|
|
name=httpd.conf
|
|
<VirtualHost *>
|
|
# Change this to the domain which points to your host.
|
|
ServerName phabricator.example.com
|
|
|
|
# Change this to the path where you put 'phabricator' when you checked it
|
|
# out from GitHub when following the Installation Guide.
|
|
#
|
|
# Make sure you include "/webroot" at the end!
|
|
DocumentRoot /path/to/phabricator/webroot
|
|
|
|
RewriteEngine on
|
|
RewriteRule ^/rsrc/(.*) - [L,QSA]
|
|
RewriteRule ^/favicon.ico - [L,QSA]
|
|
RewriteRule ^(.*)$ /index.php?__path__=$1 [B,L,QSA]
|
|
</VirtualHost>
|
|
|
|
If Apache isn't currently configured to serve documents out of the directory
|
|
where you put Phabricator, you may also need to add a section like this:
|
|
|
|
<Directory "/path/to/phabricator/webroot">
|
|
Order allow,deny
|
|
Allow from all
|
|
</Directory>
|
|
|
|
After making your edits, restart Apache, then continue to "Setup" below.
|
|
|
|
= Webserver: Configuring nginx =
|
|
|
|
NOTE: Follow these instructions to use nginx. To use Apache or lighttpd, scroll
|
|
to their sections.
|
|
|
|
For nginx, use a configuration like this:
|
|
|
|
name=nginx.conf
|
|
server {
|
|
server_name phabricator.example.com;
|
|
|
|
root /path/to/phabricator/webroot;
|
|
try_files $uri $uri/ /index.php;
|
|
|
|
location / {
|
|
index index.php;
|
|
|
|
if ( !-f $request_filename )
|
|
{
|
|
rewrite ^/(.*)$ /index.php?__path__=/$1 last;
|
|
break;
|
|
}
|
|
}
|
|
|
|
location /index.php {
|
|
fastcgi_pass localhost:9000;
|
|
fastcgi_index index.php;
|
|
|
|
#required if PHP was built with --enable-force-cgi-redirect
|
|
fastcgi_param REDIRECT_STATUS 200;
|
|
|
|
#variables to make the $_SERVER populate in PHP
|
|
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
|
|
fastcgi_param QUERY_STRING $query_string;
|
|
fastcgi_param REQUEST_METHOD $request_method;
|
|
fastcgi_param CONTENT_TYPE $content_type;
|
|
fastcgi_param CONTENT_LENGTH $content_length;
|
|
|
|
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
|
|
|
|
fastcgi_param GATEWAY_INTERFACE CGI/1.1;
|
|
fastcgi_param SERVER_SOFTWARE nginx/$nginx_version;
|
|
|
|
fastcgi_param REMOTE_ADDR $remote_addr;
|
|
}
|
|
}
|
|
|
|
Restart nginx after making your edits, then continue to "Setup" below.
|
|
|
|
= Webserver: Configuring lighttpd =
|
|
|
|
NOTE: Follow these instructions to use lighttpd. To use Apache or niginx, scroll
|
|
up to their sections.
|
|
|
|
For lighttpd, add a section like this to your lighttpd.conf:
|
|
|
|
$HTTP["host"] =~ "phabricator(\.example\.com)?" {
|
|
server.document-root = "/path/to/phabricator/webroot"
|
|
url.rewrite-once = (
|
|
"^(/rsrc/.*)$" => "$1",
|
|
"^(/favicon.ico)$" => "$1",
|
|
# This simulates QSA ("query string append") mode in apache
|
|
"^(/[^?]*)\?(.*)" => "/index.php?__path__=$1&$2",
|
|
"^(/.*)$" => "/index.php?__path__=$1",
|
|
)
|
|
}
|
|
|
|
You should also ensure the following modules are listed in your
|
|
server.modules list:
|
|
|
|
mod_fastcgi
|
|
mod_rewrite
|
|
|
|
Finally, you should run the following commands to enable php support:
|
|
|
|
$ sudo apt-get install php5-cgi # for ubuntu; other distros should be similar
|
|
$ sudo lighty-enable-mod fastcgi-php
|
|
|
|
Restart lighttpd after making your edits, then continue below.
|
|
|
|
= Setup =
|
|
|
|
Now, navigate to whichever subdomain you set up. You should see instructions to
|
|
continue setup. The rest of this document contains additional instructions for
|
|
specific setup steps.
|
|
|
|
When you see the login screen, continue with @{article:Configuring Accounts and
|
|
Registration}.
|
|
|
|
= Storage: Configuring MySQL =
|
|
|
|
During setup, you'll need to configure MySQL. To do this, get MySQL running and
|
|
verify you can connect to it. Consult the MySQL documentation for help. When
|
|
MySQL works, you need to load the Phabricator schemata into it. To do this, run:
|
|
|
|
phabricator/ $ ./bin/storage upgrade
|
|
|
|
If your configuration uses an unprivileged user to connect to the database, you
|
|
may have to override the default user so the schema changes can be applied with
|
|
root or some other admin user:
|
|
|
|
phabricator/ $ ./bin/storage upgrade --user <user> --password <password>
|
|
|
|
You can avoid the prompt the script issues by passing the ##--force## flag (for
|
|
example, if you are scripting the upgrade process).
|
|
|
|
phabricator/ $ ./bin/storage upgrade --force
|
|
|
|
NOTE: When you update Phabricator, run `storage upgrade` again to apply any
|
|
new updates.
|
|
|
|
= Next Steps =
|
|
|
|
Continue by:
|
|
|
|
- setting up your admin account and login/registration with
|
|
@{article:Configuring Accounts and Registration}; or
|
|
- understanding advanced configuration topics with
|
|
@{article:Configuration User Guide: Advanced Configuration}; or
|
|
- configuring where uploaded files and attachments will be stored with
|
|
@{article:Configuring File Storage}; or
|
|
- configuring Phabricator so it can send mail with
|
|
@{article:Configuring Outbound Email}; or
|
|
- configuring inbound mail with @{article:Configuring Inbound Email}; or
|
|
- importing repositories with @{article:Diffusion User Guide}; or
|
|
- learning about daemons with @{article:Managing Daemons with phd}; or
|
|
- configuring backups with @{article:Configuring Backups}; or
|
|
- contributing to Phabricator with @{article:Contributor Introduction}.
|