UbuntuUbuntu Based

How To Install ProjectSend on Ubuntu 24.04 LTS

Install ProjectSend on Ubuntu 24.04

ProjectSend is a powerful open-source file-sharing application that allows users to securely upload, manage, and share files with clients or team members. With its user-friendly interface and robust features, ProjectSend has become a popular choice for businesses and individuals seeking a reliable file-sharing solution. In this article, we will guide you through the process of installing ProjectSend on Ubuntu 24.04 LTS, providing step-by-step instructions and helpful tips along the way. Whether you are a Linux novice or an experienced user, this guide will ensure a smooth and successful installation of ProjectSend on your Ubuntu system.

Understanding ProjectSend

Before diving into the installation process, let’s take a moment to understand what ProjectSend offers. ProjectSend is designed to streamline file sharing and collaboration, making it an ideal solution for businesses, freelancers, and remote teams. With ProjectSend, you can create user accounts, assign permissions, and organize files into categories for easy access. Clients or team members can securely upload and download files through a personalized web interface, eliminating the need for email attachments or third-party file-sharing services. ProjectSend also provides features like file expiration, download limits, and email notifications, ensuring that you have full control over your shared files.

Prerequisites

Before installing ProjectSend on Ubuntu 24.04 LTS, ensure that your system meets the following requirements:

  • A fresh installation of Ubuntu 24.04 LTS
  • A LAMP (Linux, Apache, MySQL/MariaDB, PHP) or LEMP (Linux, Nginx, MySQL/MariaDB, PHP) stack
  • A domain name pointing to your server’s IP address
  • Basic command-line knowledge

It is recommended to start with a clean Ubuntu installation to avoid any potential conflicts with existing software or configurations. Additionally, having a domain name will allow you to access ProjectSend using a user-friendly URL instead of an IP address.

Step-by-Step Installation Guide

1. Update System Packages

Before proceeding with the installation, it’s essential to update your system packages to ensure you have the latest security patches and bug fixes. Open a terminal and run the following command:

sudo apt update && sudo apt upgrade

This command will update the package list and upgrade any outdated packages to their latest versions.

2. Install LAMP/LEMP Stack

ProjectSend requires a web server, PHP, and a database to function properly. You can choose between a LAMP (Apache, MariaDB, PHP) or LEMP (Nginx, MariaDB, PHP) stack based on your preference. Here’s how to install each stack:

LAMP Stack:

sudo apt install apache2 mariadb-server php libapache2-mod-php php-mysql php-gd php-mbstring php-xml php-zip

LEMP Stack:

sudo apt install nginx mariadb-server php-fpm php-mysql php-gd php-mbstring php-xml php-zip

Follow the on-screen prompts to complete the installation process.

3. Download and Extract ProjectSend

Next, download the latest version of ProjectSend from the official website using the following command:

wget https://github.com/projectsend/projectsend/releases/download/r1720/projectsend-r1720.zip

Once the download is complete, extract the files to your web server’s document root directory:

sudo unzip projectsend-r1720.zip -d /var/www/html/projectsend/

4. Configure Database

ProjectSend requires a database to store user accounts, file information, and other data. Let’s create a new database and user for ProjectSend:

sudo mysql -u root -p

Enter your MariaDB root password when prompted. Then, execute the following SQL commands:

CREATE DATABASE projectsend;
CREATE USER 'projectsenduser'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON projectsend.* TO 'projectsenduser'@'localhost';
FLUSH PRIVILEGES;
EXIT;

Replace password with a strong and secure password for the projectsenduser.

5. Configure Apache/Nginx

To access ProjectSend using your domain name, you need to configure your web server. Here’s how to set up a virtual host for Apache and Nginx:

Apache:

Create a new configuration file:

sudo nano /etc/apache2/sites-available/projectsend.conf

Add the following configuration:

<VirtualHost *:80>
    ServerName yourdomain.com
    DocumentRoot /var/www/html/projectsend
    <Directory /var/www/html/projectsend>
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>

Replace yourdomain.com with your actual domain name. Save the file and exit the editor.

Enable the virtual host and restart Apache:

sudo a2ensite projectsend.conf
sudo systemctl restart apache2

Nginx:

Create a new configuration file:

sudo nano /etc/nginx/sites-available/projectsend

Add the following configuration:

server {
    listen 80;
    server_name yourdomain.com;
    root /var/www/html/projectsend;
    index index.php;

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/php8.1-fpm.sock;
    }
}

Replace yourdomain.com with your actual domain name. Save the file and exit the editor.

Enable the configuration and restart Nginx:

sudo ln -s /etc/nginx/sites-available/projectsend /etc/nginx/sites-enabled/
sudo systemctl restart nginx

6. Set Permissions and Ownership

To ensure that ProjectSend can read and write files properly, set the correct permissions and ownership for the ProjectSend directory:

sudo chown -R www-data:www-data /var/www/html/projectsend/
sudo chmod -R 755 /var/www/html/projectsend/

7. Secure Installation with SSL

To ensure secure communication between your server and clients, it’s recommended to install an SSL certificate. Let’s Encrypt provides free SSL certificates that can be easily installed using the Certbot tool. Here’s how to install and configure Let’s Encrypt SSL for Apache:

sudo apt install certbot python3-certbot-apache
sudo certbot --apache

Follow the on-screen prompts to obtain and install the SSL certificate for your domain.

8. Complete Installation via Web Interface

With all the necessary components in place, you can now access the ProjectSend web interface to complete the installation. Open a web browser and navigate to https://yourdomain.com. You will be greeted with the ProjectSend setup wizard. Follow the on-screen instructions to configure the database connection, create an admin account, and customize your ProjectSend installation.

Install ProjectSend on Ubuntu 24.04

Post-Installation Steps

After successfully installing ProjectSend, consider the following post-installation steps to enhance security and maintain a smooth operation:

  • Regularly update ProjectSend and its dependencies to ensure you have the latest security patches and bug fixes.
  • Set up regular backups of your ProjectSend files and database to prevent data loss in case of any unforeseen issues.
  • Familiarize yourself with ProjectSend’s user management, file organization, and sharing features to make the most out of the application.

Troubleshooting Common Issues

If you encounter any issues during the installation process or while using ProjectSend, here are a few common problems and their solutions:

  • Permission Denied Errors: Ensure that the ProjectSend directory and its subdirectories have the correct permissions and ownership as mentioned in step 6.
  • Database Connection Errors: Double-check your database credentials and make sure they match the ones you entered during the web installation.
  • File Upload Issues: Verify that the PHP upload_max_filesize and post_max_size directives in the php.ini file are set to appropriate values to accommodate the file sizes you intend to upload.

Congratulations! You have successfully installed ProjectSend. Thanks for using this tutorial for installing ProjectSend open-source self-hosted file-sharing on Ubuntu 24.04 LTS system. For additional help or useful information, we recommend you check the official ProjectSend website.

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!

r00t

r00t is an experienced Linux enthusiast and technical writer with a passion for open-source software. With years of hands-on experience in various Linux distributions, r00t has developed a deep understanding of the Linux ecosystem and its powerful tools. He holds certifications in SCE and has contributed to several open-source projects. r00t is dedicated to sharing her knowledge and expertise through well-researched and informative articles, helping others navigate the world of Linux with confidence.
Back to top button