Page MenuHomePhorge

No OneTemporary

diff --git a/.divinerconfig b/.divinerconfig
index 18dd78d6d1..4c34516b26 100644
--- a/.divinerconfig
+++ b/.divinerconfig
@@ -1,9 +1,19 @@
{
"name" : "Phabricator",
"src_base" : "https://github.com/facebook/phabricator/blob/master",
"groups" : {
+ "overview" : "Overview",
+ "install" : "Installing",
+ "config" : "Configuration",
+ "userguide" : "Application User Guides",
+
+ "differential" : "Differential (Code Review)",
+ "diffusion" : "Diffusion (Repository Browser)",
+ "maniphest" : "Maniphest (Task Tracking)",
+ "celerity" : "Celerity (CSS/JS Management)",
"aphront" : "Aphront (Web Stack)",
+ "console" : "DarkConsole (Debugging Console)",
"storage" : "Storage"
}
}
diff --git a/conf/default.conf.php b/conf/default.conf.php
index 29ee04b34e..8af6ee9a5a 100644
--- a/conf/default.conf.php
+++ b/conf/default.conf.php
@@ -1,196 +1,205 @@
<?php
/*
* Copyright 2011 Facebook, Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
return array(
// The root URI which Phabricator is installed on.
// Example: "http://phabricator.example.com/"
'phabricator.base-uri' => null,
// The Conduit URI for API access to this install. Normally this is just
// the 'base-uri' plus "/api/" (e.g. "http://phabricator.example.com/api/"),
// but make sure you specify 'https' if you have HTTPS configured.
'phabricator.conduit-uri' => null,
- 'phabricator.csrf-key' => '0b7ec0592e0a2829d8b71df2fa269b2c6172eca3',
-
- 'phabricator.version' => 'UNSTABLE',
-
+
// The default PHID for users who haven't uploaded a profile image. It should
// be 50x50px.
'user.default-profile-image-phid' => 'PHID-FILE-f57aaefce707fc4060ef',
// -- Access Control -------------------------------------------------------- //
// Phabricator users have one of three access levels: "anyone", "verified",
// or "admin". "anyone" means every user, including users who do not have
// accounts or are not logged into the system. "verified" is users who have
// accounts, are logged in, and have satisfied whatever verification steps
// the configuration requires (e.g., email verification and/or manual
// approval). "admin" is verified users with the "administrator" flag set.
// These configuration options control which access level is required to read
// data from Phabricator (e.g., view revisions and comments in Differential)
// and write data to Phabricator (e.g., upload files and create diffs). By
// default they are both set to "verified", meaning only verified user
// accounts can interact with the system in any meaningful way.
// If you are configuring an install for an open source project, you may
// want to reduce the "phabricator.read-access" requirement to "anyone". This
// will allow anyone to browse Phabricator content, even without logging in.
// Alternatively, you could raise the "phabricator.write-access" requirement
// to "admin", effectively creating a read-only install.
// Controls the minimum access level required to read data from Phabricator
// (e.g., view revisions in Differential). Allowed values are "anyone",
// "verified", or "admin". Note that "anyone" includes users who are not
// logged in! You should leave this at 'verified' unless you want your data
// to be publicly readable (e.g., you are developing open source software).
'phabricator.read-access' => 'verified',
// Controls the minimum access level required to write data to Phabricator
// (e.g., create new revisions in Differential). Allowed values are
// "verified" or "admin". Setting this to "admin" will effectively create a
// read-only install.
'phabricator.write-access' => 'verified',
// -- DarkConsole ----------------------------------------------------------- //
// DarkConsole is a administrative debugging/profiling tool built into
// Phabricator. You can leave it disabled unless you're developing against
// Phabricator.
// Determines whether or not DarkConsole is available. DarkConsole exposes
// some data like queries and stack traces, so you should be careful about
// turning it on in production (although users can not normally see it, even
// if the deployment configuration enables it).
'darkconsole.enabled' => true,
// Always enable DarkConsole, even for logged out users. This potentially
// exposes sensitive information to users, so make sure untrusted users can
// not access an install running in this mode. You should definitely leave
// this off in production. It is only really useful for using DarkConsole
// utilties to debug or profile logged-out pages. You must set
// 'darkconsole.enabled' to use this option.
'darkconsole.always-on' => false,
// -- MySQL --------------------------------------------------------------- //
// The username to use when connecting to MySQL.
'mysql.user' => 'root',
// The password to use when connecting to MySQL.
'mysql.pass' => '',
// The MySQL server to connect to.
'mysql.host' => 'localhost',
// -- Email ----------------------------------------------------------------- //
// Some Phabricator tools send email notifications, e.g. when Differential
// revisions are updated or Maniphest tasks are changed. These options allow
// you to configure how email is delivered.
// You can test your mail setup by going to "MetaMTA" in the web interface,
// clicking "Send New Message", and then composing a message.
// Default address to send mail "From".
'metamta.default-address' => 'noreply@example.com',
// When a user takes an action which generates an email notification (like
// commenting on a Differential revision), Phabricator can either send that
// mail "From" the user's email address (like "alincoln@logcabin.com") or
// "From" the 'metamta.default-address' address. The user experience is
// generally better if Phabricator uses the user's real address as the "From"
// since the messages are easier to organize when they appear in mail clients,
// but this will only work if the server is authorized to send email on behalf
// of the "From" domain. Practically, this means:
// - If you are doing an install for Example Corp and all the users will
// have corporate @corp.example.com addresses and any hosts Phabricator
// is running on are authorized to send email from corp.example.com,
// you can enable this to make the user experience a little better.
// - If you are doing an install for an open source project and your
// users will be registering via Facebook and using personal email
// addresses, you MUST NOT enable this or virtually all of your outgoing
// email will vanish into SFP blackholes.
// - If your install is anything else, you're much safer leaving this
// off since the risk in turning it on is that your outgoing mail will
// mostly never arrive.
'metamta.can-send-as-user' => false,
// Adapter class to use to transmit mail to the MTA. The default uses
// PHPMailerLite, which will invoke PHP's mail() function. This is appropriate
// if mail() actually works on your host, but if you haven't configured mail
// it may not be so great. You can also use Amazon SES, by changing this to
// 'PhabricatorMailImplementationAmazonSESAdapter', signing up for SES, and
// filling in your 'amazon-ses.access-key' and 'amazon-ses.secret-key' below.
'metamta.mail-adapter' =>
'PhabricatorMailImplementationPHPMailerLiteAdapter',
// When email is sent, try to hand it off to the MTA immediately. This may
// be worth disabling if your MTA infrastructure is slow or unreliable. If you
// disable this option, you must run the 'metamta_mta.php' daemon or mail
// won't be handed off to the MTA. If you're using Amazon SES it can be a
// little slugish sometimes so it may be worth disabling this and moving to
// the daemon after you've got your install up and running. If you have a
// properly configured local MTA it should not be necessary to disable this.
'metamta.send-immediately' => true,
// If you're using Amazon SES to send email, provide your AWS access key
// and AWS secret key here. To set up Amazon SES with Phabricator, you need
// to:
// - Make sure 'metamta.mail-adapter' is set to:
// "PhabricatorMailImplementationAmazonSESAdapter"
// - Make sure 'metamta.can-send-as-user' is false.
// - Make sure 'metamta.default-address' is configured to something sensible.
// - Make sure 'metamta.default-address' is a validated SES "From" address.
'amazon-ses.access-key' => null,
'amazon-ses.secret-key' => null,
// -- Facebook ------------------------------------------------------------ //
// Can users use Facebook credentials to login to Phabricator?
'facebook.auth-enabled' => false,
// The Facebook "Application ID" to use for Facebook API access.
'facebook.application-id' => null,
// The Facebook "Application Secret" to use for Facebook API access.
'facebook.application-secret' => null,
// -- Recaptcha ------------------------------------------------------------- //
// Is Recaptcha enabled? If disabled, captchas will not appear.
'recaptcha.enabled' => false,
// Your Recaptcha public key, obtained from Recaptcha.
'recaptcha.public-key' => null,
// Your Recaptcha private key, obtained from Recaptcha.
'recaptcha.private-key' => null,
+// -- Misc ------------------------------------------------------------------ //
+
+ // This is hashed with other inputs to generate CSRF tokens. If you want, you
+ // can change it to some other string which is unique to your install. This
+ // will make your install more secure in a vague, mostly theoretical way. But
+ // it will take you like 3 seconds of mashing on your keyboard to set it up so
+ // you might as well.
+ 'phabricator.csrf-key' => '0b7ec0592e0a2829d8b71df2fa269b2c6172eca3',
+
+ // Version string displayed in the footer. You probably should leave this
+ // alone.
+ 'phabricator.version' => 'UNSTABLE',
);
diff --git a/conf/production.conf.php b/conf/production.conf.php
index 9af5c29c9a..f4dd87dcb5 100644
--- a/conf/production.conf.php
+++ b/conf/production.conf.php
@@ -1,23 +1,24 @@
<?php
/*
* Copyright 2011 Facebook, Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
return array(
+ 'darkconsole.enabled' => false,
) + phabricator_read_config_file('default');
diff --git a/conf/production.conf.php b/conf/setup.conf.php
similarity index 99%
copy from conf/production.conf.php
copy to conf/setup.conf.php
index 9af5c29c9a..85673eab81 100644
--- a/conf/production.conf.php
+++ b/conf/setup.conf.php
@@ -1,23 +1,22 @@
<?php
/*
* Copyright 2011 Facebook, Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
return array(
) + phabricator_read_config_file('default');
-
diff --git a/resources/sql/init/initialize.sql b/resources/sql/init/initialize.sql
new file mode 100644
index 0000000000..426dc9b589
--- /dev/null
+++ b/resources/sql/init/initialize.sql
@@ -0,0 +1,638 @@
+-- MySQL dump 10.13 Distrib 5.5.8, for osx10.6 (i386)
+--
+-- Host: localhost Database: phabricator_conduit
+-- ------------------------------------------------------
+-- Server version 5.5.8
+
+/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
+/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
+/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
+/*!40101 SET NAMES utf8 */;
+/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
+/*!40103 SET TIME_ZONE='+00:00' */;
+/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
+/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
+/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
+/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
+
+--
+-- Current Database: `phabricator_conduit`
+--
+
+CREATE DATABASE /*!32312 IF NOT EXISTS*/ `phabricator_conduit` /*!40100 DEFAULT CHARACTER SET latin1 */;
+
+USE `phabricator_conduit`;
+
+--
+-- Table structure for table `conduit_connectionlog`
+--
+
+DROP TABLE IF EXISTS `conduit_connectionlog`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `conduit_connectionlog` (
+ `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `client` varchar(255) DEFAULT NULL,
+ `clientVersion` varchar(255) DEFAULT NULL,
+ `clientDescription` varchar(255) DEFAULT NULL,
+ `username` varchar(255) DEFAULT NULL,
+ `dateCreated` int(10) unsigned NOT NULL,
+ `dateModified` int(10) unsigned NOT NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=172 DEFAULT CHARSET=latin1;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Table structure for table `conduit_methodcalllog`
+--
+
+DROP TABLE IF EXISTS `conduit_methodcalllog`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `conduit_methodcalllog` (
+ `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
+ `connectionID` bigint(20) unsigned DEFAULT NULL,
+ `method` varchar(255) NOT NULL,
+ `error` varchar(255) NOT NULL,
+ `duration` bigint(20) unsigned NOT NULL,
+ `dateCreated` int(10) unsigned NOT NULL,
+ `dateModified` int(10) unsigned NOT NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=454 DEFAULT CHARSET=latin1;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Current Database: `phabricator_differential`
+--
+
+CREATE DATABASE /*!32312 IF NOT EXISTS*/ `phabricator_differential` /*!40100 DEFAULT CHARACTER SET latin1 */;
+
+USE `phabricator_differential`;
+
+--
+-- Table structure for table `differential_changeset`
+--
+
+DROP TABLE IF EXISTS `differential_changeset`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `differential_changeset` (
+ `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `diffID` int(10) unsigned NOT NULL,
+ `oldFile` varchar(255) DEFAULT NULL,
+ `fileName` varchar(255) NOT NULL,
+ `awayPaths` longblob,
+ `changeType` int(10) unsigned NOT NULL,
+ `fileType` int(10) unsigned NOT NULL,
+ `metadata` longblob,
+ `oldProperties` longblob,
+ `newProperties` longblob,
+ `addLines` int(10) unsigned NOT NULL,
+ `delLines` int(10) unsigned NOT NULL,
+ `dateCreated` int(10) unsigned NOT NULL,
+ `dateModified` int(10) unsigned NOT NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=603 DEFAULT CHARSET=latin1;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Table structure for table `differential_changeset_parse_cache`
+--
+
+DROP TABLE IF EXISTS `differential_changeset_parse_cache`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `differential_changeset_parse_cache` (
+ `id` int(10) unsigned NOT NULL,
+ `cache` longblob NOT NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Table structure for table `differential_comment`
+--
+
+DROP TABLE IF EXISTS `differential_comment`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `differential_comment` (
+ `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `revisionID` int(10) unsigned NOT NULL,
+ `authorPHID` varchar(64) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL,
+ `action` varchar(64) NOT NULL,
+ `content` longblob NOT NULL,
+ `dateCreated` int(10) unsigned NOT NULL,
+ `dateModified` int(10) unsigned NOT NULL,
+ `cache` longblob,
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=68 DEFAULT CHARSET=latin1;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Table structure for table `differential_diff`
+--
+
+DROP TABLE IF EXISTS `differential_diff`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `differential_diff` (
+ `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `revisionID` int(10) unsigned DEFAULT NULL,
+ `authorPHID` varchar(64) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL,
+ `sourceMachine` varchar(255) DEFAULT NULL,
+ `sourcePath` varchar(255) DEFAULT NULL,
+ `sourceControlSystem` varchar(64) DEFAULT NULL,
+ `sourceControlBaseRevision` varchar(255) DEFAULT NULL,
+ `sourceControlpath` varchar(255) DEFAULT NULL,
+ `lintStatus` int(10) unsigned NOT NULL,
+ `unitStatus` int(10) unsigned NOT NULL,
+ `lineCount` int(10) unsigned NOT NULL,
+ `branch` varchar(255) DEFAULT NULL,
+ `parentRevisionID` int(10) unsigned DEFAULT NULL,
+ `arcanistProject` varchar(255) DEFAULT NULL,
+ `creationMethod` varchar(255) DEFAULT NULL,
+ `dateCreated` int(10) unsigned NOT NULL,
+ `dateModified` int(10) unsigned NOT NULL,
+ `description` varchar(255) DEFAULT NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=89 DEFAULT CHARSET=latin1;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Table structure for table `differential_diffproperty`
+--
+
+DROP TABLE IF EXISTS `differential_diffproperty`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `differential_diffproperty` (
+ `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `diffID` int(10) unsigned NOT NULL,
+ `name` varchar(255) NOT NULL,
+ `data` longblob NOT NULL,
+ `dateCreated` int(10) unsigned NOT NULL,
+ `dateModified` int(10) unsigned NOT NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=14 DEFAULT CHARSET=latin1;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Table structure for table `differential_hunk`
+--
+
+DROP TABLE IF EXISTS `differential_hunk`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `differential_hunk` (
+ `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `changesetID` int(10) unsigned NOT NULL,
+ `changes` longblob,
+ `oldOffset` int(10) unsigned NOT NULL,
+ `oldLen` int(10) unsigned NOT NULL,
+ `newOffset` int(10) unsigned NOT NULL,
+ `newLen` int(10) unsigned NOT NULL,
+ `dateCreated` int(10) unsigned NOT NULL,
+ `dateModified` int(10) unsigned NOT NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=603 DEFAULT CHARSET=latin1;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Table structure for table `differential_inlinecomment`
+--
+
+DROP TABLE IF EXISTS `differential_inlinecomment`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `differential_inlinecomment` (
+ `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `revisionID` int(10) unsigned NOT NULL,
+ `commentID` int(10) unsigned DEFAULT NULL,
+ `authorPHID` varchar(64) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL,
+ `changesetID` int(10) unsigned NOT NULL,
+ `isNewFile` tinyint(1) NOT NULL,
+ `lineNumber` int(10) unsigned NOT NULL,
+ `lineLength` int(10) unsigned NOT NULL,
+ `content` longblob NOT NULL,
+ `dateCreated` int(10) unsigned NOT NULL,
+ `dateModified` int(10) unsigned NOT NULL,
+ `cache` longblob,
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=53 DEFAULT CHARSET=latin1;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Table structure for table `differential_relationship`
+--
+
+DROP TABLE IF EXISTS `differential_relationship`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `differential_relationship` (
+ `revisionID` int(10) unsigned NOT NULL,
+ `relation` varchar(4) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL,
+ `objectPHID` varchar(64) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL,
+ `sequence` int(10) unsigned NOT NULL,
+ `reasonPHID` varchar(64) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL,
+ PRIMARY KEY (`revisionID`,`relation`,`objectPHID`),
+ KEY `objectPHID` (`objectPHID`,`relation`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Table structure for table `differential_revision`
+--
+
+DROP TABLE IF EXISTS `differential_revision`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `differential_revision` (
+ `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `title` varchar(255) NOT NULL,
+ `phid` varchar(64) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL,
+ `status` varchar(32) NOT NULL,
+ `summary` longtext NOT NULL,
+ `testPlan` text NOT NULL,
+ `revertPlan` text NOT NULL,
+ `blameRevision` varchar(255) NOT NULL,
+ `authorPHID` varchar(64) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL,
+ `dateCommitted` int(10) unsigned DEFAULT NULL,
+ `lineCount` int(10) unsigned DEFAULT NULL,
+ `dateCreated` int(10) unsigned NOT NULL,
+ `dateModified` int(10) unsigned NOT NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=25 DEFAULT CHARSET=latin1;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Current Database: `phabricator_draft`
+--
+
+CREATE DATABASE /*!32312 IF NOT EXISTS*/ `phabricator_draft` /*!40100 DEFAULT CHARACTER SET latin1 */;
+
+USE `phabricator_draft`;
+
+--
+-- Table structure for table `draft`
+--
+
+DROP TABLE IF EXISTS `draft`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `draft` (
+ `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `authorPHID` varchar(64) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL,
+ `draftKey` varchar(64) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL,
+ `draft` longblob NOT NULL,
+ `dateCreated` int(10) unsigned NOT NULL,
+ `dateModified` int(10) unsigned NOT NULL,
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `authorPHID` (`authorPHID`,`draftKey`)
+) ENGINE=InnoDB AUTO_INCREMENT=68 DEFAULT CHARSET=latin1;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Current Database: `phabricator_file`
+--
+
+CREATE DATABASE /*!32312 IF NOT EXISTS*/ `phabricator_file` /*!40100 DEFAULT CHARACTER SET latin1 */;
+
+USE `phabricator_file`;
+
+--
+-- Table structure for table `file`
+--
+
+DROP TABLE IF EXISTS `file`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `file` (
+ `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `phid` varchar(64) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL,
+ `name` varchar(255) DEFAULT NULL,
+ `mimeType` varchar(255) DEFAULT NULL,
+ `byteSize` bigint(20) unsigned NOT NULL,
+ `storageEngine` varchar(32) NOT NULL,
+ `storageFormat` varchar(32) NOT NULL,
+ `storageHandle` varchar(255) NOT NULL,
+ `dateCreated` int(10) unsigned NOT NULL,
+ `dateModified` int(10) unsigned NOT NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=98 DEFAULT CHARSET=latin1;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Table structure for table `file_storageblob`
+--
+
+DROP TABLE IF EXISTS `file_storageblob`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `file_storageblob` (
+ `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `data` longblob NOT NULL,
+ `dateCreated` int(10) unsigned NOT NULL,
+ `dateModified` int(10) unsigned NOT NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=98 DEFAULT CHARSET=latin1;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Current Database: `phabricator_metamta`
+--
+
+CREATE DATABASE /*!32312 IF NOT EXISTS*/ `phabricator_metamta` /*!40100 DEFAULT CHARACTER SET latin1 */;
+
+USE `phabricator_metamta`;
+
+--
+-- Table structure for table `metamta_mail`
+--
+
+DROP TABLE IF EXISTS `metamta_mail`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `metamta_mail` (
+ `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `parameters` longblob NOT NULL,
+ `status` varchar(255) NOT NULL,
+ `message` text,
+ `retryCount` int(10) unsigned NOT NULL,
+ `nextRetry` int(10) unsigned NOT NULL,
+ `relatedPHID` varchar(64) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL,
+ `dateCreated` int(10) unsigned NOT NULL,
+ `dateModified` int(10) unsigned NOT NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=216 DEFAULT CHARSET=latin1;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Table structure for table `metamta_mailinglist`
+--
+
+DROP TABLE IF EXISTS `metamta_mailinglist`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `metamta_mailinglist` (
+ `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `phid` varchar(64) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL,
+ `name` varchar(255) NOT NULL,
+ `email` varchar(255) NOT NULL,
+ `uri` varchar(255) DEFAULT NULL,
+ `dateCreated` int(10) unsigned NOT NULL,
+ `dateModified` int(10) unsigned NOT NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=latin1;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Current Database: `phabricator_phid`
+--
+
+CREATE DATABASE /*!32312 IF NOT EXISTS*/ `phabricator_phid` /*!40100 DEFAULT CHARACTER SET latin1 */;
+
+USE `phabricator_phid`;
+
+--
+-- Table structure for table `phid`
+--
+
+DROP TABLE IF EXISTS `phid`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `phid` (
+ `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
+ `phid` varchar(64) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL,
+ `phidType` varchar(4) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL,
+ `parentPHID` varchar(64) DEFAULT NULL,
+ `ownerPHID` varchar(64) DEFAULT NULL,
+ `dateCreated` int(10) unsigned NOT NULL,
+ `dateModified` int(10) unsigned NOT NULL,
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `phid` (`phid`)
+) ENGINE=InnoDB AUTO_INCREMENT=182 DEFAULT CHARSET=latin1;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Table structure for table `phid_type`
+--
+
+DROP TABLE IF EXISTS `phid_type`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `phid_type` (
+ `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `type` varchar(4) NOT NULL,
+ `name` varchar(255) NOT NULL,
+ `description` text,
+ `dateCreated` int(10) unsigned NOT NULL,
+ `dateModified` int(10) unsigned NOT NULL,
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `type` (`type`)
+) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=latin1;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Current Database: `phabricator_user`
+--
+
+CREATE DATABASE /*!32312 IF NOT EXISTS*/ `phabricator_user` /*!40100 DEFAULT CHARACTER SET latin1 */;
+
+USE `phabricator_user`;
+
+--
+-- Table structure for table `phabricator_session`
+--
+
+DROP TABLE IF EXISTS `phabricator_session`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `phabricator_session` (
+ `userPHID` varchar(64) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL,
+ `type` varchar(32) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL,
+ `sessionKey` varchar(40) NOT NULL,
+ `sessionStart` int(10) unsigned NOT NULL,
+ PRIMARY KEY (`userPHID`,`type`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Table structure for table `user`
+--
+
+DROP TABLE IF EXISTS `user`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `user` (
+ `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `phid` varchar(64) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL,
+ `userName` varchar(64) NOT NULL,
+ `realName` varchar(128) NOT NULL,
+ `email` varchar(255) NOT NULL,
+ `passwordSalt` varchar(32) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL,
+ `passwordHash` varchar(32) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL,
+ `dateCreated` int(10) unsigned NOT NULL,
+ `dateModified` int(10) unsigned NOT NULL,
+ `facebookUID` bigint(20) unsigned DEFAULT NULL,
+ `profileImagePHID` varchar(64) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL,
+ `consoleEnabled` tinyint(1) NOT NULL,
+ `consoleVisible` tinyint(1) NOT NULL,
+ `consoleTab` varchar(64) NOT NULL,
+ `conduitCertificate` varchar(255) NOT NULL,
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `userName` (`userName`),
+ UNIQUE KEY `email` (`email`),
+ UNIQUE KEY `facebookUID` (`facebookUID`)
+) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=latin1;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Current Database: `phabricator_file`
+--
+
+CREATE DATABASE /*!32312 IF NOT EXISTS*/ `phabricator_file` /*!40100 DEFAULT CHARACTER SET latin1 */;
+
+USE `phabricator_file`;
+
+--
+-- Table structure for table `file`
+--
+
+DROP TABLE IF EXISTS `file`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `file` (
+ `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `phid` varchar(64) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL,
+ `name` varchar(255) DEFAULT NULL,
+ `mimeType` varchar(255) DEFAULT NULL,
+ `byteSize` bigint(20) unsigned NOT NULL,
+ `storageEngine` varchar(32) NOT NULL,
+ `storageFormat` varchar(32) NOT NULL,
+ `storageHandle` varchar(255) NOT NULL,
+ `dateCreated` int(10) unsigned NOT NULL,
+ `dateModified` int(10) unsigned NOT NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=98 DEFAULT CHARSET=latin1;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Table structure for table `file_storageblob`
+--
+
+DROP TABLE IF EXISTS `file_storageblob`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `file_storageblob` (
+ `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `data` longblob NOT NULL,
+ `dateCreated` int(10) unsigned NOT NULL,
+ `dateModified` int(10) unsigned NOT NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=98 DEFAULT CHARSET=latin1;
+/*!40101 SET character_set_client = @saved_cs_client */;
+/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
+
+/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
+/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
+/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
+/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
+/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
+/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
+/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
+
+-- Dump completed on 2011-02-11 13:54:33
+-- MySQL dump 10.13 Distrib 5.5.8, for osx10.6 (i386)
+--
+-- Host: localhost Database: phabricator_directory
+-- ------------------------------------------------------
+-- Server version 5.5.8
+
+/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
+/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
+/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
+/*!40101 SET NAMES utf8 */;
+/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
+/*!40103 SET TIME_ZONE='+00:00' */;
+/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
+/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
+/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
+/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
+
+--
+-- Current Database: `phabricator_directory`
+--
+
+CREATE DATABASE /*!32312 IF NOT EXISTS*/ `phabricator_directory` /*!40100 DEFAULT CHARACTER SET latin1 */;
+
+USE `phabricator_directory`;
+
+--
+-- Table structure for table `directory_category`
+--
+
+DROP TABLE IF EXISTS `directory_category`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `directory_category` (
+ `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `name` varchar(255) NOT NULL,
+ `sequence` int(10) unsigned NOT NULL,
+ `dateCreated` int(10) unsigned NOT NULL,
+ `dateModified` int(10) unsigned NOT NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=MyISAM AUTO_INCREMENT=8 DEFAULT CHARSET=latin1;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `directory_category`
+--
+
+LOCK TABLES `directory_category` WRITE;
+/*!40000 ALTER TABLE `directory_category` DISABLE KEYS */;
+INSERT INTO `directory_category` VALUES (1,'Configuration',1000,1295321201,1295830501),(2,'Developer Documentation',9000,1295318729,1295318851),(4,'Engineering Workflow',0,1295321164,1295321209),(5,'Utilities',100,1295321217,1295321217),(6,'Internals',2000,1295888559,1295888569);
+/*!40000 ALTER TABLE `directory_category` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `directory_item`
+--
+
+DROP TABLE IF EXISTS `directory_item`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `directory_item` (
+ `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `name` varchar(255) NOT NULL,
+ `description` text NOT NULL,
+ `href` varchar(255) NOT NULL,
+ `categoryID` int(10) unsigned NOT NULL,
+ `sequence` int(10) unsigned NOT NULL,
+ `imagePHID` varchar(64) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL,
+ `dateCreated` int(10) unsigned NOT NULL,
+ `dateModified` int(10) unsigned NOT NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=MyISAM AUTO_INCREMENT=21 DEFAULT CHARSET=latin1;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `directory_item`
+--
+
+LOCK TABLES `directory_item` WRITE;
+/*!40000 ALTER TABLE `directory_item` DISABLE KEYS */;
+INSERT INTO `directory_item` VALUES (1,'Repositories','Configure tracked source code repositories.','/repository/',1,0,NULL,0,0),(5,'libphutil Docs','Developer documentation for libphutil.','http://phutil.com/libphutil/docs/',2,0,'',1295312416,1295320996),(12,'Files','Blob store for files.','/file/',5,0,'',1295321244,1295816742),(13,'Differential','Code review tool.','/differential/',4,0,'',1295321263,1295321263),(14,'PHID Manager','Manage PHIDs and types.','/phid/',6,0,'',1295762315,1295888577),(15,'People','User directory.','/people/',4,3000,'',1295830520,1295830528),(16,'Conduit Console','Web console for Conduit API.','/conduit/',6,0,'',1295888593,1295888593),(17,'MetaMTA','Yo dawg, we heard you like MTAs...','/mail/',6,0,'',1296006261,1296056065),(18,'XHProf','PHP profiling tool.','/xhprof/',6,0,NULL,1296684238,1296684238),(20,'Maniphest','Construct lists of lists.','/maniphest/',4,0,NULL,1297190663,1297190663);
+/*!40000 ALTER TABLE `directory_item` ENABLE KEYS */;
+UNLOCK TABLES;
+/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
+
+/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
+/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
+/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
+/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
+/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
+/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
+/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
+
+-- Dump completed on 2011-02-11 13:54:33
diff --git a/src/docs/certificates.diviner b/src/docs/arcanist_certificates.diviner
similarity index 94%
rename from src/docs/certificates.diviner
rename to src/docs/arcanist_certificates.diviner
index 6bca8ed510..760843d68e 100644
--- a/src/docs/certificates.diviner
+++ b/src/docs/arcanist_certificates.diviner
@@ -1,26 +1,26 @@
-@title Installing Authentication Certificates
+@title Installing Arcanist Certificates
@group config
Arcanist uses certificates to authenticate to Phabricator. Usernames and
certificates for each host you have credentials on are stored in your
##~/.arcrc## file under the "hosts" key. The configuration should look something
like this:
{
# ...
"hosts" : {
"http://phabricator.example.com/api/" : {
"user" : "alincoln",
"cert" : "Y2FTilanoONuPzAtXayoctmX6FmIt7QjxXhWVAv2EoWpeik1Deecl3jRo"
}
# If you have accounts on more than one host, add them here.
}
}
To retrieve the certificate for a Phabricator host:
- Login to Phabricator.
- Go to Settings > Arcanist Certificate.
Copy the certificate into the "cert" field, and specify your username in the
"user" field.
diff --git a/src/docs/configuration_guide.diviner b/src/docs/configuration_guide.diviner
new file mode 100644
index 0000000000..c24714e723
--- /dev/null
+++ b/src/docs/configuration_guide.diviner
@@ -0,0 +1,115 @@
+@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}.
+
+= Configuring MySQL =
+
+Get MySQL running and verify you can connect to it. Consult the MySQL
+documentation for help. When MySQL works, you just need to load the Phabricator
+schemata into it:
+
+ mysql -uroot < path/to/phabricator/resources/sql/init/initialize.sql
+
+= Configuring Apache =
+
+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:
+
+ <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.
+ DocumentRoot /path/to/phabricator/webroot
+
+ RewriteEngine on
+ RewriteRule ^/rsrc/(.*) - [L,QSA]
+ RewriteRule ^/favicon.ico - [L,QSA]
+ RewriteRule ^(.*)$ /index.php?__path__=$1 [L,QSA]
+
+ # This will use "setup" defaults for configuration options, which will
+ # expose error messages. Before you make the install public, you should
+ # change this to "production" and/or customize your configuration. See
+ # the next section for details.
+ SetEnv PHABRICATOR_ENV setup
+ </VirtualHost>
+
+Now, restart apache and navigate to whichever subdomain you set up. You should
+either see the Phabricator login screen, which means you're all set, or some
+useful error message telling you what else you need to fix (for instance, you
+may need to set up MySQL credentials). If you see something else, you did
+something very wrong and/or this document lied to you.
+
+
+= Configuring Phabricator =
+
+Now that basic setup is complete, you should configure Phabricator. Phabricator
+configuration options which control how the applications behave are stored here:
+
+ /path/to/phabricator/conf/
+
+There are several configuration templates:
+
+ - default.conf.php: root configuration, lists every configuration option and
+ sets some default for it. Look in this file to figure out what you can
+ configure.
+ - development.conf.php: pulls in default.conf.php, but overrides some
+ configuration options to better values for doing development on Phabricator.
+ You probably don't need to even look at this file unless you're making
+ changes to Phabricator itself.
+ - production.conf.php: pulls in default.conf.php, but overrides some
+ configuration options to provide better values for a production install.
+ Once you've completed setup, you should switch to this configuration or
+ one based upon it.
+ - setup.conf.php: pulls in default.conf.php, but sets some flags that make
+ it easier to set up a Phabricator install. Switch away from this before
+ deploying a production install.
+
+While you can use these templates as-is, you'll probably want to set up custom
+configuration. To do this, create a new file:
+
+ /path/to/phabricator/conf/custom/myconfig.conf.php
+
+Put this in the file:
+
+ <?php
+
+ return array(
+
+ // This is just an example.
+ 'some.config' => 'some_value',
+
+ ) + phabricator_read_config_file('production');
+
+This will create a new config called "custom/myconfig" which uses the
+"production" config as the default but allows you to override options. You can
+select it by editing the VirtualHost or Directory entry you set up when
+configuring Apache:
+
+ <VirtualHost *>
+ # ...
+ SetEnv PHABRICATOR_ENV custom/myconfig
+ # ...
+ </VirtualHost>
+
+Now, look through ##default.conf.php## and override any options you want to
+change by providing overrides in ##myconfig.conf.php##.
diff --git a/src/docs/installation_guide.diviner b/src/docs/installation_guide.diviner
new file mode 100644
index 0000000000..46e460a9c2
--- /dev/null
+++ b/src/docs/installation_guide.diviner
@@ -0,0 +1,90 @@
+@title Installation Guide
+@group install
+
+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. MacOS 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 is actively developed on OSX and Amazon's Linux; if you run
+ into issues on other flavors, send patches or complaints.
+ - **Apache**: You need Apache. You might be able to use something else, but
+ you're on your own.
+ - **MySQL**: You need MySQL.
+ - **PHP**: You need PHP 5.2 or newer.
+
+You'll probably also need a **domain name** and you'll certainly need
+**a computer** with a connection to **the internet**.
+
+= Installing Required Components =
+
+This document assumes you have "yum". If you don't, substitute whatever package
+manager you do have, or go hunt down all this stuff and build it from source
+if you want.
+
+Install things we need:
+
+ sudo yum install git httpd php mysql-server php-mysql php-devel
+
+If you already have LAMP setup, you've already got everything you need.
+
+Now that you have git 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
+
+= Installing Optional Components =
+
+== APC ==
+
+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 can either install via PECL:
+
+ sudo yum install php-pear
+ sudo pecl install apc
+
+...or 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".
+
+== Flex 2.5.35 / Bison ==
+
+If you want to build XHPAST (an XHP parser, which is required for developing
+libphutil or Arcanist), you also need flex 2.5.35, which is a NEWER version
+than flex 2.5.4. At the time of writing, most packaging systems don't have flex
+2.5.35 available. You can get it from here and compile it manually:
+
+ http://flex.sourceforge.net/
+
+Then install bison normally:
+
+ sudo yum install bison
+
+= Next Steps =
+
+If everything is installed, move on to @{article:Configuration Guide}.

File Metadata

Mime Type
text/x-diff
Expires
Jan 19 2025, 23:40 (6 w, 6 d ago)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
1129998
Default Alt Text
(45 KB)

Event Timeline