• Home
  • Archive
  • Tools
  • Contact Us

The Customize Windows

Technology Journal

  • Cloud Computing
  • Computer
  • Digital Photography
  • Windows 7
  • Archive
  • Cloud Computing
  • Virtualization
  • Computer and Internet
  • Digital Photography
  • Android
  • Sysadmin
  • Electronics
  • Big Data
  • Virtualization
  • Downloads
  • Web Development
  • Apple
  • Android
Advertisement
You are here: Home » Detailed Steps to Install Phabricator on Server

By Abhishek Ghosh October 9, 2016 12:50 am Updated on November 24, 2016

Detailed Steps to Install Phabricator on Server

Advertisement

Phabricator was originally developed by Facebook. We actually had an old guide on installing Phabricator. But probably that old guide will not work with new version. Phabricator is essentially a PHP Based Web Application With Many Web Suites. This Guide Describe the Steps to Install Phabricator on Cloud Server Running CentOS. You need to know many things to use it. You can look at phabricator.wikimedia.org, developer.blender.org to realise the power of all in software for chat, blog, wiki, question and answer to code hosting.

detailed-steps-to-install-phabricator-on-server

 

Prerequisites Steps to Install Phabricator on Cloud Server

 

We need a fresh cloud server instance running CentOS. Phabricator does not support PHP 7.x, we need to use PHP 5.x. We recommend to use Apache2 instead of Nginx. We need full database with full privileges as Phabricator will create many databases. Note that – in contrast normal web softwares like WordPress needs one database.

You can use VPSDime 6GB RAM OpenVZ server at $7/month or ArubaCloud 1 GB VMWare instance at £1.00 per month or Host1Plus is not exactly cost effective. Question of using DigitalOcean, Linode etc does not arises as they cost minimum $10.00 for 1GB to 2GB instances.

Advertisement

---

You need a domain or subdomain. We have a list of free domain names.

You can use free Hurricane Electric DNS or Dyn DNS or read our list of Dyn Providers.

Optionally you can use KeyCDN as CDN.

Optionally you can use Let’s Encrypt free SSL certificate.

 

Steps to Install Phabricator on Cloud Server (CentOS)

 

Actually installing Phabricator is just easy. First we will install MySQL, you will use password without special character (very important, Phabricator can give error if you use password like Pa$$word) :

Vim
1
2
3
4
5
6
7
8
9
10
sudo yum update
wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
sudo rpm -ivh mysql-community-release-el7-5.noarch.rpm
yum update
sudo yum install mysql-server mysql-client
# chkconfig mysqld on
service mysql start
# chkconfig mysqld on
chkconfig mysql on
mysql_secure_installation

Next, we will install PHP :

Vim
1
2
3
4
5
6
7
8
wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
rpm -ivh epel-release-latest-7.noarch.rpm
yum update
yum install git php-fpm php-cli php-mysql php-process php-devel php-gd php-pecl-apc php-pecl-json php-mbstring mercurial subversion python-pygments sendmail imagemagick pcre-devel
# reboot
# run php -v to make sure it is PHP 5.x; if PHP 7.0 get installed, remove it. # Install PHP 5.x
sudo yum install php-pear
sudo pecl install apc

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

Vim
1
php -i | grep apc

If it doesn’t show up, add:

Vim
1
extension=apc.so

to php.ini file indicated by php -i. As we started with a blank server, we have option to use this script distributed by Phabricator (kindly note that, Phabricator can change URL in future. It works at the time of writing this guide), it will automate the next steps :

Vim
1
https://secure.phabricator.com/diffusion/P/browse/master/scripts/install/install_rhel-derivs.sh

cd to ~ as root and :

Vim
1
2
3
4
5
nano install_rhel-derivs.sh
# paste the whole bash script from https://secure.phabricator.com
# URL given above text in this guide
# save it with ^ + O
# exit nano

If I have shown to wget, you may be using old one at the time of reading. Now execute the script :

Vim
1
2
chmod +x install_rhel-derivs.sh
./install_rhel-derivs.sh

The installation will start now. Press Enter to continue when prompted. It will install Apache2 as well. At the end, you will see this message :

Vim
1
2
Install probably worked mostly correctly. Continue with the 'Configuration Guide':
http://www.phabricator.com/docs/phabricator/article/Configuration_Guide.html

If you install Nginx (you need to modify the above script to exclude httpd), then you need to follow this steps (we do not suggest Nginx), most of you are not following this step :

Vim
1
2
3
4
wget http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
rpm -ivh nginx-release-centos-7-0.el7.ngx.noarch.rpm
service nginx start
chkconfig nginx on

If you run ls you’ll get like this :

Vim
1
2
anaconda-ks.cfg  arcanist  install.log  install.log.syslog  
install_rhel-derivs.sh  libphutil  phabricator

We will move the needed directories to the Apache root document directory :

Vim
1
cp -fr arcanist/ libphutil/ phabricator/ /var/www/html/

Now, cd to /var/www/html/ :

Vim
1
2
3
4
cd /var/www/html/
ls -al
cd phabricator
ls -al

We need to start Apache2 :

Vim
1
2
service httpd start
chkconfig httpd on

We need to configure Apache configuration file with your domain name, take that your domain is example.com :

Vim
1
nano /etc/httpd/conf/httpd.conf

You will see how many lines are loaded, go to last line by ^ + _ within nano. Paste just above those directives to include stuffs :

Vim
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<VirtualHost *>
  # Change this to the domain which points to your host.
  ServerName example.com
 
  # Change this to the path where you put 'phabricator' when you checked it
  # out from GitHub when following the Installation Guide.
  #
  # Make sure you include "/webroot" at the end!
  DocumentRoot /var/www/html/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/phabricator/webroot/">
  Order allow,deny
  Allow from all
</Directory>
</VirtualHost>

We will restart Apache2. You need to point your domain from DNS with very low TTL value. Then restart Apache :

Vim
1
service httpd restart

As for database part, we will use root as user. You may create :

Vim
1
2
3
CREATE USER 'youruser'@'localhost' IDENTIFIED BY 'yourpassword';
GRANT ALL PRIVILEGES ON *.* TO 'youruser'’@'localhost';
FLUSH PRIVILEGES;

But, basically it is not hugely secure only to change the username. We are not creating one database and giving that user privilege. MySQL server demands workup by you later for ensuring higher security.

Run all these commands one by one while inside /var/www/html/phabricator/ directory :

Vim
1
2
3
4
./bin/config set mysql.host localhost
./bin/config set mysql.user root
./bin/config set mysql.pass your-mysql-root-password
./bin/storage upgrade --user root --password your-mysql-root-password

Restart mysql service :

Vim
1
2
service mysql restart
# service mysqld restart

Simply you will run this command to set your domain:

Vim
1
./bin/config set phabricator.base-uri 'http://example.com/'

When you will use HTTPS later, you can upgrade it by running the new one. Restart the services :

Vim
1
2
3
service httpd restart
service mysqld restart
./bin/phd restart

Open up your Web browser and open http://your-domain-like-example.com/ in the address bar. You should see a configuration screen to set administrator account. The first step is to setup admin account name, real name, and password etc.

In case, you are having trouble with WebGUI (like getting message of being unauthorised), in such case, you can reset it using a command which can be found by performing a Google search with your problem. As far I can recall, the command format is :

Vim
1
./bin/auth recover

You will notice that, on Web GUI, there are “Unresolved Setup Issues”. Click and see the list. It is usually around 13 – 14 issues.

Never delete the files on /var/www/html/. There are JSON files. If you login to your MySQL server and list the databases :

Vim
1
2
3
mysql -u root -h localhost -p
# login
show databases;

You’ll see how many databases Phabricator actually need.

Tagged With phabricator , phabricator rpm el7

This Article Has Been Shared 132 Times!

Facebook Twitter Pinterest

Abhishek Ghosh

About Abhishek Ghosh

Abhishek Ghosh is a Businessman, Surgeon, Author and Blogger. You can keep touch with him on Twitter - @AbhishekCTRL.

Here’s what we’ve got for you which might like :

Articles Related to Detailed Steps to Install Phabricator on Server

  • What Cloud Users Need to Know

    What Cloud users need to know are legal aspects of the concept, Security and Privacy and Copyright and Licenses. We have answered the most important questions.

  • The Biggest Challenges for Cloud Computing

    The biggest challenges for cloud computing are privacy and compliance requirements and maintaining information security. Cloud should be integrated with other trends.

  • Basics of Cloud Computing

    Basics of Cloud Computing is possibly mandatory to understand by any level of user today for the sake of Privacy and Security.

  • OpenStack Cloud Tools Python Packages

    OpenStack Cloud Tools Python Packages are quite easy to install python using the pip command. We have shown how to install for Linux server.

  • Move WordPress Administration to Different Server or Sub-Domain

    Move WordPress Administration to different server and allocate a Sub-Domain for better security and higher performance tweaks of the front end.

Additionally, performing a search on this website can help you. Also, we have YouTube Videos.

Take The Conversation Further ...

We'd love to know your thoughts on this article.
Meet the Author over on Twitter to join the conversation right now!

If you want to Advertise on our Article or want a Sponsored Article, you are invited to Contact us.

Contact Us

Subscribe To Our Free Newsletter

Get new posts by email:

Please Confirm the Subscription When Approval Email Will Arrive in Your Email Inbox as Second Step.

Search this website…

 

Popular Articles

Our Homepage is best place to find popular articles!

Here Are Some Good to Read Articles :

  • Cloud Computing Service Models
  • What is Cloud Computing?
  • Cloud Computing and Social Networks in Mobile Space
  • ARM Processor Architecture
  • What Camera Mode to Choose
  • Indispensable MySQL queries for custom fields in WordPress
  • Windows 7 Speech Recognition Scripting Related Tutorials

Social Networks

  • Pinterest (24.3K Followers)
  • Twitter (5.8k Followers)
  • Facebook (5.7k Followers)
  • LinkedIn (3.7k Followers)
  • YouTube (1.3k Followers)
  • GitHub (Repository)
  • GitHub (Gists)
Looking to publish sponsored article on our website?

Contact us

Recent Posts

  • What is Voice User Interface (VUI) January 31, 2023
  • Proxy Server: Design Pattern in Programming January 30, 2023
  • Cyberpunk Aesthetics: What’s in it Special January 27, 2023
  • How to Do Electrical Layout Plan for Adding Smart Switches January 26, 2023
  • What is a Data Mesh? January 25, 2023

About This Article

Cite this article as: Abhishek Ghosh, "Detailed Steps to Install Phabricator on Server," in The Customize Windows, October 9, 2016, January 31, 2023, https://thecustomizewindows.com/2016/10/steps-to-install-phabricator-on-cloud-server/.

Source:The Customize Windows, JiMA.in

PC users can consult Corrine Chorney for Security.

Want to know more about us? Read Notability and Mentions & Our Setup.

Copyright © 2023 - The Customize Windows | dESIGNed by The Customize Windows

Copyright  · Privacy Policy  · Advertising Policy  · Terms of Service  · Refund Policy

We use cookies on our website to give you the most relevant experience by remembering your preferences and repeat visits. By clicking “Accept”, you consent to the use of ALL the cookies.
Do not sell my personal information.
Cookie SettingsAccept
Manage consent

Privacy Overview

This website uses cookies to improve your experience while you navigate through the website. Out of these, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may affect your browsing experience.
Necessary
Always Enabled
Necessary cookies are absolutely essential for the website to function properly. These cookies ensure basic functionalities and security features of the website, anonymously.
CookieDurationDescription
cookielawinfo-checkbox-analytics11 monthsThis cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Analytics".
cookielawinfo-checkbox-functional11 monthsThe cookie is set by GDPR cookie consent to record the user consent for the cookies in the category "Functional".
cookielawinfo-checkbox-necessary11 monthsThis cookie is set by GDPR Cookie Consent plugin. The cookies is used to store the user consent for the cookies in the category "Necessary".
cookielawinfo-checkbox-others11 monthsThis cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Other.
cookielawinfo-checkbox-performance11 monthsThis cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Performance".
viewed_cookie_policy11 monthsThe cookie is set by the GDPR Cookie Consent plugin and is used to store whether or not user has consented to the use of cookies. It does not store any personal data.
Functional
Functional cookies help to perform certain functionalities like sharing the content of the website on social media platforms, collect feedbacks, and other third-party features.
Performance
Performance cookies are used to understand and analyze the key performance indexes of the website which helps in delivering a better user experience for the visitors.
Analytics
Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics the number of visitors, bounce rate, traffic source, etc.
Advertisement
Advertisement cookies are used to provide visitors with relevant ads and marketing campaigns. These cookies track visitors across websites and collect information to provide customized ads.
Others
Other uncategorized cookies are those that are being analyzed and have not been classified into a category as yet.
SAVE & ACCEPT