How to Install Phabricator on Arch Linux

Phabricator is a powerful and popular open-source software development platform that provides a range of tools for code collaboration, code reviews, task management, and more. In this tutorial, we will learn how to install Phabricator on Arch Linux.

Step 1: Install Dependencies

Before installing Phabricator, we need to install some dependencies first. Open your terminal and execute the following commands:

sudo pacman -S nginx mariadb php php-fpm git sudo

Once you have executed the above command, MariaDB (a MySQL alternative), PostgreSQL, PHP, and Git with their necessary extensions will be installed.

Step 2: Configure MariaDB

Once MariaDB is installed on Arch Linux, it's important to configure it properly. Here are the steps to follow:

  1. Start MariaDB service using the following command:

    sudo systemctl start mariadb

  2. Next, we will configure the root user password for MariaDB using the following command:

    sudo mysql_secure_installation

    Follow the instructions provided by the installer, and create a new user and grant them permission.

  3. Create a new MariaDB database specifically for Phabricator:

    mysql -u root -p

    CREATE DATABASE phabricator;
    CREATE USER 'phabricatoruser'@'localhost' IDENTIFIED BY 'password';
    GRANT ALL PRIVILEGES ON phabricator.* to 'phabricatoruser'@'localhost';
    FLUSH PRIVILEGES;
    EXIT;
    

    Replace the password with your desired password, and phabricatoruser with your desired username.

Step 3: Configure NGINX Web Server

Now, we will install and configure NGINX as our web server. Use the following command in your terminal:

sudo pacman -S nginx

Once NGINX is installed, you need to create the virtual host file for Phabricator in the /etc/nginx/sites-available/ directory.

sudo nano /etc/nginx/sites-available/phabricator.example

Copy and paste the following code in the file:

upstream phabricator-php {
  server 127.0.0.1:9000;
}

server {
  listen 80;
  server_name phabricator.example.com;
  root /usr/share/webapps/phabricator/phabricator/webroot;

  location / {
    index index.php;
    rewrite ^/(.*)$ /index.php?__path__=/$1 last;
  }

  location /index.php {
    # phabricator upstream
    fastcgi_pass   phabricator-php;
    # fastcgi settings
    fastcgi_index  index.php;
    fastcgi_param  SCRIPT_FILENAME    $document_root$fastcgi_script_name;
    include        fastcgi_params;
  }
}

Make sure to replace phabricator.example.com with your desired domain name.

Step 4: Download and Install Phabricator

Now we will download and install Phabricator from the official website.

cd /usr/share/webapps/

sudo git clone https://github.com/phacility/phabricator.git

sudo chown -R http:http phabricator/

Step 5: Configure PHP

In this step, we will configure PHP for Phabricator. Execute the following command:

sudo nano /etc/php/php.ini

Add the following PHP configurations inside the file:

max_execution_time = 600 
max_input_time = 600 
max_input_vars = 10000 
memory_limit = 512M 
post_max_size = 256M 
upload_max_filesize = 256M 

Save and close the file.

Step 6: Start PHP-FPM and Nginx

Finally, we are ready to start PHP-FPM and Nginx. Use the following commands:

sudo systemctl start php-fpm

sudo systemctl enable php-fpm

sudo systemctl start nginx

sudo systemctl enable nginx

Step 7: Configure Phabricator

Access Phabricator on your domain (http://phabricator.example.com) and follow the instructions for setting up the application.

You will need to provide the MariaDB database name, database user, and password that we created in Step 2.

Once the installation is complete, you can log in to your Phabricator instance by navigating to your domain name with your web browser.

That's it! You have successfully installed and configured Phabricator on Arch Linux.

If you want to self-host in an easy, hands free way, need an external IP address, or simply want your data in your own hands, give IPv6.rs a try!

Alternatively, for the best virtual desktop, try Shells!