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.
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
- RedHat derivatives : install_rhel-derivs.sh
- Ubuntu : install_ubuntu.sh
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".