Pydio cells is an open-source file sharing software. It provides synchronization of files thus enabling sharing and access of various documents such as files, images and videos both internally and externally from a central point. Pydio can be installed on a Virtual Machine or one’s physical computer.

Pydio also comes with native clients for Linux, Windows and MacOS as well mobile clients for Android and iOS. Pydio is an alternative to other file sharing tools such as Drop box and Nextcloud. In this guide we are going to look at how to install and configure Pydio for file sharing on Ubuntu 20.04.

Step 1: Update your system

Before installations, you need to ensure that your system is running the latest packages. Use the command below to update your Ubuntu 20.04 server.

sudo apt-get update -y
sudo apt-get upgrade -y

After update, it is always recommended to reboot your server for the new changes to take effect.

sudo reboot

Step 2: Install LAMP Server on Ubuntu

Pydio server requires MySQL, Apache, PHP as well other packages to run. Run the command below to enable you to install all the required packages.

sudo apt -y install apache2 mariadb-server apt-transport-https libapache2-mod-php php-{cli,fpm,json,mysql,zip,gd,mbstring,curl,xml,pear,bcmath,intl,opcache,xml}
sudo apt -y install mariadb-server postfix wget unzip -y

You will be prompted for postfix SMTP configuration settings. In this case, postfix will be installed in your Ubuntu server.

To learn more about postfix, check our guide on how to install postfix on Ubuntu

Select your mail server configuration type

<img alt="" data-ezsrc="https://kirelos.com/wp-content/uploads/2020/07/echo/How-to-configure-Postfix-SMTP-on-Pydio-server.png" data-ez ezimgfmt="rs rscb8 src ng ngcb8 srcset" src="data:image/svg xml,”>

In the next dialogue box, provide a hostname for your postfix server.

<img alt="" data-ezsrc="https://kirelos.com/wp-content/uploads/2020/07/echo/How-to-configure-postfix-SMTP-on-pydio-server-01-1024×150.png" data-ez ezimgfmt="rs rscb8 src ng ngcb8 srcset" src="data:image/svg xml,”>

Once installation is complete, open php.ini configuration file to edit. Use your preferred file editor.

Make changes to the php.ini file as below. Open two files and make the changes as shown

sudo vim /etc/php/7.4/apache2/php.ini

Make the following changes

upload_max_filesize = 1G
post_max_size = 1G
output_buffering = off

Save and close the file and proceed to edit the other php.ini file

sudo vim /etc/php/7.4/cli/php.ini
upload_max_filesize = 1G
post_max_size = 1G
output_buffering = off

Step 3: Configure MariaDB Database

MariaDB was installed when installing LAMP server. First, secure MariaDB installation with the following command. You will be prompted to enter a password for the MariaDB root use.

sudo mysql_secure_installation

Answer the prompts as shown

  • Enter current password for root (enter for none): Just press Enter
  • Set root password? [Y/n]: Y
  • New password: Enter password
  • Re-enter new password: Repeat password
  • Remove anonymous users? [Y/n]: Y
  • Disallow root login remotely? [Y/n]: Y
  • Remove test database and access to it? [Y/n]: Y
  • Reload privilege tables now? [Y/n]: Y

Allow root password login:

$ sudo mysql -u root
UPDATE mysql.user SET plugin = 'mysql_native_password' WHERE User = 'root';
FLUSH PRIVILEGES;
QUIT;

Next, we need to create a user and a database for Pydio. Connect to MariaDB using the below command.

$ mysql -u root -p
Enter password: 
Welcome to the MariaDB monitor.  Commands end with ; or g.
Your MariaDB connection id is 58
Server version: 10.3.22-MariaDB-1ubuntu1 Ubuntu 20.04

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.

MariaDB [(none)]>

Enter the password you set above and go ahead to create a user and database for Pydio, replacing ‘mypassword’ with your own chosen password. Also grant the created user permissions to all databases.

CREATE DATABASE pydio;
GRANT ALL ON pydio.* TO 'pydio-user'@'localhost' IDENTIFIED BY '[email protected]' WITH GRANT OPTION;
FLUSH PRIVILEGES;
EXIT;

Test database connection as pydio-user user.

$ mysql -u pydio-user -p'[email protected]'
Welcome to the MariaDB monitor.  Commands end with ; or g.
Your MariaDB connection id is 59
Server version: 10.3.22-MariaDB-1ubuntu1 Ubuntu 20.04

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.

MariaDB [(none)]> SHOW DATABASES;
 -------------------- 
| Database           |
 -------------------- 
| information_schema |
| pydio              |
 -------------------- 
2 rows in set (0.001 sec)

MariaDB [(none)]> q
Bye

Step 4: Install Pydio server on Ubuntu 20.04

First you need to add Pydio repository to your Ubuntu 20.04 server because it is not already available. Also add Pydio public key and go ahead to update your system repository.

echo "deb https://download.pydio.com/pub/linux/debian/ bionic main" | sudo tee /etc/apt/sources.list.d/pydio.list
wget -qO - https://download.pydio.com/pub/linux/debian/key/pubkey | sudo apt-key add -
sudo apt update

It is now time to install Pydio. Run the command as shown

sudo apt install -y pydio pydio-all

Enable apache rewrite module using the below shown commands and restart and enable Apache2

sudo a2enmod rewrite
sudo systemctl restart apache2
sudo systemctl enable apache2

Confirm that Apache service is running using the below command:

sudo systemctl status apache2

The output should be as shown if installation was done properly, showing that apache2 service is running.

<img alt="" data-ezsrc="https://kirelos.com/wp-content/uploads/2020/07/echo/How-to-apache2-for-pydio-server-on-Ubuntu-20.04-1.png" data-ez ezimgfmt="rs rscb8 src ng ngcb8 srcset" src="data:image/svg xml,”>

Step 5: Access Pydio on your browser

Open your browser and type the url http:///pydio. You should see a page as shown

<img alt="" data-ezsrc="https://kirelos.com/wp-content/uploads/2020/07/echo/How-to-install-pydio-on-Ubuntu-20.4-1024×805.png" data-ez ezimgfmt="rs rscb8 src ng ngcb8 srcset" src="data:image/svg xml,”>

Hit the Install button and start the wizard.

<img alt="" data-ezsrc="https://kirelos.com/wp-content/uploads/2020/07/echo/install-pydio-cell-storage-server-ubuntu-01-759×1024.png" data-ez ezimgfmt="rs rscb8 src ng ngcb8 srcset" src="data:image/svg xml,”>

Provide admin username and password.

<img alt="" data-ezsrc="https://kirelos.com/wp-content/uploads/2020/07/echo/install-pydio-cell-storage-server-ubuntu-02.png" data-ez ezimgfmt="rs rscb8 src ng ngcb8 srcset" src="data:image/svg xml,”>

Also provide database connection details are configured earlier. Make sure you connection testing is successful.

<img alt="" data-ezsrc="https://kirelos.com/wp-content/uploads/2020/07/echo/install-pydio-cell-storage-server-ubuntu-03-820×1024.png" data-ez ezimgfmt="rs rscb8 src ng ngcb8 srcset" src="data:image/svg xml,”>

Go ahead to configure your Pydio server and enjoy your files sharing!

<img alt="" data-ezsrc="https://kirelos.com/wp-content/uploads/2020/07/echo/install-pydio-cell-storage-server-ubuntu-05-1024×391.png" data-ez ezimgfmt="rs rscb8 src ng ngcb8 srcset" src="data:image/svg xml,”>

Reference:

Here are more interesting guides for your day-to-day Linux installations: