How To Install Phabricator on CentOS 6

Install Phabricator on CentOS 6

For those of you who didn’t know, Phabricator is an open-source collection of web applications which help software companies build better software. Phabricator is similar to GIT, and SVN. Currently maintained by Phacility, it was originally developed as an internal tool at Facebook. It is available as free software under the Apache License, version 2.

This article assumes you have at least basic knowledge of Linux, know how to use the shell, and most importantly, you host your site on your own VPS. The installation is quite simple. I will show you through the step by step installation Phabricator on CentOS 6.

Install Phabricator on CentOS 6

Step 1. First of all, make sure that all packages are up to date.

yum update

Step 2. Install LAMP server and include some PHP extension.

yum install mysql-server httpd git php php-mysql php-gd php-curl php-apc php-cli php-mbstring

Step 3. Configure Apache web server for Phabricator.

Create a virtual host directive in Apache. So open the Apache configuration file with your favourite text editor.

nano /etc/httpd/conf/httpd.conf
<VirtualHost *:80>
ServerAdmin root@your_domain
ServerName your_domain
DocumentRoot /var/www/html/myapps/phabricator/webroot
RewriteEngine on
RewriteRule ^/rsrc/(.*)     -                       [L,QSA]
RewriteRule ^/favicon.ico   -                       [L,QSA]
RewriteRule ^(.*)$          /index.php?__path__=$1  [B,L,QSA]
<Directory "/var/www/html/myapps/phabricator/webroot">
Order allow,deny
Allow from all
</Directory>
</VirtualHost>

Restart Apache for the changes to take effect:

service httpd restart

Step 4. Install Phabricator.

Create a directory called ‘myapps‘ under DocumentRoot of Apache directory.

mkdir /var/www/html/myapps
cd /var/www/html/myapps

Clone the needed Git repositories from Phacility:

git clone https://github.com/phacility/libphutil.git
git clone https://github.com/phacility/arcanist.git
git clone https://github.com/phacility/phabricator.git

Step 5. Configuring MySQL.

By default, MySQL is not hardened. You can secure MySQL using the mysql_secure_installation script. you should read and below each step carefully which will set a root password, remove anonymous users, disallow remote root login, and remove the test database and access to secure MySQL.

mysql_secure_installation

Enter the phabricator directory:

cd /var/www/html/myapps

Now, it’s time to configure MySQL. Execute the following commands:

./bin/config set mysql.host localhost
./bin/config set mysql.user root
./bin/config set mysql.pass your_mysql_root_password

Then, run a storage upgrade script to load the Phabricator schemata into it. You’ll be asked to press ‘y’ while loading database schema:

./bin/storage upgrade --user root --password your_mariadb_root_password

Restart MySQL service to take effect the changes.

service mysqld restart

Step 6. Accessing Phabricator.

Phabricator will be available on HTTP port 80 by default. Open your favourite browser and navigate to http://yourdomain.com or http://server-ip. Continue the installation. Set up your admin account in the following window and click Create Admin Account. After you are logged in you should check if have some unresolved setup issues to take care of. Click the link in the yellow banner at the top of the screen to see them, or find them in the Config application under Setup Issues.

Congratulations! You have successfully installed Phabricator. Thanks for using this tutorial for installing Phabricator on CentOS 6 system.

VPS Manage Service Offer
If you don’t have time to do all of this stuff, or if this is not your area of expertise, we offer a service to do “VPS Manage Service Offer”, starting from $10 (Paypal payment). Please contact us to get the best deal!