How to Install ProjectSend on Manjaro

ProjectSend is a self-hosted file sharing platform that allows you to easily share and collaborate on files with others. In this tutorial, we will guide you through the installation of ProjectSend on Manjaro Linux.

Prerequisites

Step 1 — Creating a MySQL Database and User

Before we can install ProjectSend, we need to create a new MySQL database and user. Here's how to do it:

  1. Log in to your MySQL server as the root user:
sudo mysql -u root -p
  1. Create a new database for ProjectSend:
CREATE DATABASE projectsend;
  1. Next, create a new MySQL user and grant it full access to the newly created database:
CREATE USER 'projectsenduser'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON projectsend.* TO 'projectsenduser'@'localhost';
FLUSH PRIVILEGES;

Be sure to replace password with a strong password of your choice.

Step 2 — Installing the Required Packages

Now that we have a MySQL database and user, we can move on to installing the required packages. We'll be using Apache as our web server and PHP as our server-side scripting language.

  1. Use the following command to install the required packages:
sudo pacman -S apache php php-apache mariadb
  1. Start the Apache web server:
sudo systemctl start httpd
  1. Make sure Apache starts automatically on system boot:
sudo systemctl enable httpd

Step 3 — Downloading and Configuring ProjectSend

  1. Download the latest version of ProjectSend from the official website: https://www.projectsend.org/

  2. Extract the downloaded archive to your web server's document root:

sudo tar xvfz projectsend-x.x.x.tar.gz -C /srv/http/

Here, x.x.x is the version number of ProjectSend.

  1. Rename the ProjectSend directory to something more memorable, like projectsend:
sudo mv /srv/http/projectsend-x.x.x /srv/http/projectsend
  1. Create a new virtual host configuration file for ProjectSend:
sudo nano /etc/httpd/conf/extra/projectsend.conf
  1. Add the following configuration to the file:
<VirtualHost *:80>
    ServerName your.domain.com
    DocumentRoot "/srv/http/projectsend"
    <Directory "/srv/http/projectsend">
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>

Be sure to replace your.domain.com with your actual domain name.

  1. Save and close the file.

  2. Enable the virtual host configuration file:

sudo ln -s /etc/httpd/conf/extra/projectsend.conf /etc/httpd/conf-enabled/
  1. Restart Apache for the changes to take effect:
sudo systemctl restart httpd

Step 4 — Configuring the ProjectSend MySQL Connection

  1. Open the ProjectSend configuration file:
sudo nano /srv/http/projectsend/includes/config.php
  1. Edit the following lines to match your MySQL database configuration:
define('PS_DB_NAME', 'projectsend');
define('PS_DB_USER', 'projectsenduser');
define('PS_DB_PASS', 'password');
define('PS_DB_HOST', 'localhost');

Be sure to replace password with the password you set for the projectsenduser MySQL user.

  1. Save and close the file.

Step 5 — Finalizing the Installation

  1. Open your web browser and navigate to your ProjectSend installation using the domain name you specified in the virtual host configuration file.

  2. Follow the on-screen instructions to finalize the installation.

  3. Once installation is complete, be sure to delete the install directory:

sudo rm -rf /srv/http/projectsend/install

And that's it! You have successfully installed ProjectSend on Manjaro Linux. You can now start sharing and collaborating on files with others.

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!