Phabricator Installation – Step By Step Guide
At techstricks, we believe that more you organize yourself and your team, easier it will become to achieve your goals. In this post we are going to discuss about a set of tools that will help your start-up or company to get more organized. Better yet, what we are about to discuss in this post will definitely help your startup look much more professional.
(To get to the phabricator installation part, click here)
Most of the tech / software companies do need / use set of tools to keep the work flow smooth and transparent. The product we are discussing today is exactly that. A set of tools or application combined in one to get your startup going. Phabricator is a collection of open source web applications that help software companies build better software. A few of the main applications it includes are:
Differential is an amazing looking and very easy to use code review tool. This tool will help you and your team collaboratively write and review better code. (Learn more about Differential)
Maniphest is a tool to help you and your team keep track of bugs and tasks. (Learn more about Maniphest)
Diffusion is phabricator’s alternative to Github or Bitbucket. Diffusion helps you host, import code repositories and/or browse code. Don’t worry though if you would not like to import your repositories, you can still use phabricator. (Learn more about Diffusion)
Phriction is Phabricator’s wiki solution. (Know more about it)
As the term itself suggests, Projects help you create and manage multiple project. (Learn more about it)
Arcanist is a powerful Command Line Interface for phabricator that helps you do complex stuff with ease. Just to give you an example, with one command arcanist can pull the changes from a remote repo to your local one, rebase your work on top of it and can send your code for review or push it to a repository. (Learn more 🙂)
These are just some of the amazing applications that Phabricator comprises of. But these are not the only ones. Check out all that phabricator offers on Phabricator’s Application Page. As you’ll see phabricator offersÂ all the applications your start-up needs to be organized and professional. Well ok, Phabricator is amazing, but to see the real power you’ll actually need to experience phabricator. So without any delay let’s get to the setup i.e. installing phabricator on your server.
Phabricator is written in PHP and based on LAMP setup. So the good new is, it ain’t all that hard to get phabricator up and running. So Let’s get to it.
[one_half last=last]First thing we’ll need to do is to get the Phabricator’s code on your server. In order to do so we’ll need to clone the following 3 repositories.
So let’s start out with creating a directory where we’d be putting the above mentioned repositories. And then cloning the repositories into that directory. To do so, ssh to your server and type in the commands
- Once you have all the repositories cloned to phab_setup directory on your server, The next step is to setup your web server to serve the
webrootdirectory in the phabricator repository you just cloned. You can use any web server you wish to but for this post we’ll be configuring Apache2 web server to serve phabricator. We are here assuming that you have LAMP setup on your server.Before we configure apache2 to serve phabricator, we need to make sure that you have “mod_php” and “mod_rewrite” enabled for apache. In order to enable the mentioned mods run the following commands.
sudo a2enmod php5
sudo a2enmod rewrite
sudo service apache2 restart
- Once you get the mods up and running, The next step is to add a
VirtualHostentry in your apache2 server’s configuration file. To do so create a new file called “phabricator.conf” in the “/etc/apache2/sites-available/” directory and add the following code to it (NOTE: In the following code please replace “yourdomain” and “/path/to/phabricator/webroot” with your respective domain name and absolute path to phabricator’s webroot directory).
< VirtualHost *:80>
RewriteRule ^/rsrc/(.*) - [L,QSA]
RewriteRule ^/favicon.ico - [L,QSA]
RewriteRule ^(.*)$ /index.php?__path__=$1 [B,L,QSA]
< Directory /home/projects/phab_setup/phabricator/webroot>
Options Indexes FollowSymLinks
Require all granted
Once, you have added the above code to phabricator.conf, you’ll need to create a symbolic link to this file under the “/etc/apache2/sites-enabled” to do so use the following command
sudo ln -s /etc/apache2/sites-available/phabricator.conf /etc/apache2/sites-enabled/
- After creating the symlink, we’ll install the last dependency that is required by phabricator i.e. curl. To install php curl use the following command.
sudo apt-get install php5-curl
Now restart the apache web server
sudo service restart apache2
git clone https://github.com/phacility/libphutil.git
git clone https://github.com/phacility/arcanist.git
git clone https://github.com/phacility/phabricator.git
Are you expecting more steps ? Sorry, there aren’t any. Just open your web browser and point to your domain name follow the phabricator instructions :). Simple and easy phabricator installation is now complete.
If you have any questions or queries, feel free to put them into the comments section.