How to Install Pydio File Sharing Software on Ubuntu 20.04

Pydio Cells, previously known as just Pydio and formerly known as AjaXplorer, is an open-source file-sharing and synchronisation software that runs on the user's own server or in the cloud.

Pre-requisites :

  • A system with Ubuntu 20.04 installed and running.

  • root access to the system.

  • LAMP Stack installed and running, for this, you can refer to one of our guides on installing the LAMP Stack (Apache, MariaDB, and PHP).

Once you're all set, we'll proceed with Pydio installation and configuration.

Update the System

apt update -y

apt upgrade -y

Enable http and https ( 80/443 ):

To enable http and https connection through the firewall, follow the commands:

ufw allow 80/tcp

ufw allow 443/tcp

Create Database

Let us begin with creating a Database and a user. We will then grant the required privileges to the user so it can interact with the Database.

mysql -u root

Replace StrongPassword with a better one.

CREATE DATABASE pydio_db;
GRANT ALL ON pydio_db.* TO 'pydio-user'@'localhost' IDENTIFIED BY 'StrongPassword' WITH GRANT OPTION;
FLUSH PRIVILEGES;
EXIT;

Install Pydio Server

To begin with, add the Pydio repository to your Ubuntu 20.04 server

echo "deb https://download.pydio.com/pub/linux/debian/ bionic main" | tee /etc/apt/sources.list.d/pydio.list

Add Pydio public key using below command,

wget -qO - https://download.pydio.com/pub/linux/debian/key/pubkey | apt-key add -

Update your system repositories,

apt update

Install Pydio using the below command,

apt install -y pydio pydio-all

Enable Apache rewrite module and then restart Apache2,

a2enmod rewrite
systemctl restart apache2
systemctl enable apache2

Verify the Apache2 service status using the command,

systemctl status apache2

Output:

 root@vps:~# systemctl status apache2
    ● apache2.service - The Apache HTTP Server
         Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
         Active: active (running) since Tue 2021-12-14 14:47:50 UTC; 1min 15s ago
           Docs: https://httpd.apache.org/docs/2.4/
       Main PID: 60309 (apache2)
          Tasks: 55 (limit: 3399)
         Memory: 5.4M
         CGroup: /system.slice/apache2.service
                 ├─60309 /usr/sbin/apache2 -k start
                 ├─60311 /usr/sbin/apache2 -k start
                 └─60312 /usr/sbin/apache2 -k start

Secure Pydio using Let's Encrypt

Install Certbot to generate a SSL certificate via LetsEncrypt,

apt install -y certbot python3-certbot-apache

Open the host file for your domain using vim or your any favourite editor,

replace your_domain.conf with the name of your domain.

vim /etc/apache2/sites-available/your_domain.conf

Add your domain name infront of server name,

ServerName Your_DomainName;

Verify the syntax of your Apache2 configuration edits using below command,

apache2ctl configtest

Output:

root@vps:~# apache2ctl configtest
Syntax OK
root@vps:~# 

Reload the Apache2 to load new configuration,

systemctl reload apache2

Obtaining an SSL Certificate for your domain using following command,

certbot --apache -d your_domain -d www.your_domain

Output:

root@vps:/etc# certbot --apache -d your_domain -d your_domain
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator apache, Installer apache
Enter email address (used for urgent renewal and security notices) (Enter 'c' to
cancel): Your_Email@gmail.com

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must
agree in order to register with the ACME server at
https://acme-v02.api.letsencrypt.org/directory
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(A)gree/(C)ancel: a

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
...

Access Pydio on browser

Now open the IP address from your browser, this will redirect you to configuring the final parts of Pydio installation.

http://Your_Domain/pydio

Replace the http://pydio.domainhere.info/pydio with the actual IP or Domain configured on the server.

image

Click on Start Wizard to install Pydio.

image

Enter the Database information that was created earlier and Test your Database Connection.

image

Click on Install Pydio button to Install Pydio

image

Next, We get login screen for Pydio Dashboard. Enter your username and password to login to pydio,

image

Below is the dashboard for Pydio.

image

Now you have successfully installed Pydio File Sharing Software on Ubuntu 20.04.


CrownCloud - Get a SSD powered KVM VPS at $4.5/month!
Use the code WELCOME for 10% off!

1 GB RAM / 25 GB SSD / 1 CPU Core / 1 TB Bandwidth per month

Available Locations: LAX | MIA | ATL | FRA | AMS