Phabricator: A Complete Platform for Software Development

Software development is growing rapidly, innovation does not give room for adaptation in some cases, this is why the free software community provides a considerable number of solutions so that software development is of higher quality every day, a of these solutions is Pharmacist.

What is Phabricator?

Pharmacist is a collection of web applications that help software companies build higher quality software, including code review tools, change monitoring, bug tracing, and wiki creation. Pharmacist integrates with Go, mercurial y Subversion.

manufacturer

manufacturer

Pharmacist is free and open source software, distributed under the Apache 2 license. It is written in Php with Cross-platform and its development began in 2010, which makes it a quite mature solution.

Pharmacist was originally developed as an internal tool for Facebook, its main developer is Evan Priestly which left Facebook to continue with the development of Pharmacist in a new company called Pability.

Phabricator Features

Pharmacist includes applications for:

  • The review and audit of source code.
  • Storage and organization of repositories.
  • Bug tracking.
  • Project management.
  • Communication with team members.
  • Task planning.
  • Take Note.
  • Group and private development.
  • Construction with continuous integration.

Who uses Phabricator?

There are numerous companies, development teams, developers, and communities that use it every day Pharmacist, among which are: Dropbox, UBER, Bloomberg, Haskell, Facebook, Instagram, Disqus, freeBSD, blender, Pinterest, khanacademy, asana, wikimedia, KDE, among others.

How to install Phabricator

Installation Requirements

Pharmacist it is a LAMP application (Linux, Apache, MySQL, PHP). For install Pharmacist se needs to:

  • A normal computer that has installed and running a Linux distribution or a similar Operating System.
  • A domain name (can be phabricator.mycompany.com, phabricator.localhost).
  • Basic knowledge of systems administration.
  • Apache (Apache + mod_php), nginx (nginx + php-fpm), or another web server;
  • PHP (PHP 5.2 or higher, but PHP 7 is not supported), MySQL (MySQL 5.5 or higher recommended) and Git.

Installation of required components

If you are installing on Ubuntu or a derivative of RedHat, there are installation scripts available that allow automatic installation of Pharmacist

If you want to do a manual setup and installation, you need to do the following:

If you've already set up LAMP, you probably already have everything you need. We must install Phabricator and its dependencies:

$ cd somewhere / # pick some install directory
somewhere / $git clone https://github.com/phacility/libphutil.git
somewhere / $git clone https://github.com/phacility/arcanist.git
somewhere / $git clone https://github.com/phacility/phabricator.git

APC Installation (Optional)

Since Phabricator is written in PHP, it will work much faster with APC installed. We should probably install "pcre-devel":

sudo yum install pcre-devel

You then have two options. Install PECL (try this first):

sudo yum install php-pear sudo pecl install apc

If that doesn't work, install the package from PECL directly and follow the construction instructions.

Installing APC is optional, but highly recommended, especially in production environments.

Once APC is installed, verify that it is available by running:

php -i | grep apc

If it does not appear, add:

extension = apc.so

..in "/etc/php.d/apc.ini" or the file "php.ini" indicated by "php -i".


0 comments, leave yours

Leave a Comment

Your email address will not be published. Required fields are marked with *

*

*

  1. Responsible for the data: Miguel Ángel Gatón
  2. Purpose of the data: Control SPAM, comment management.
  3. Legitimation: Your consent
  4. Communication of the data: The data will not be communicated to third parties except by legal obligation.
  5. Data storage: Database hosted by Occentus Networks (EU)
  6. Rights: At any time you can limit, recover and delete your information.