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 CentOS 8.

Step 1: Update your system

Before starting any installation of Pydio server, ensure that your CentOS system is up to date. Run the following commands:

sudo dnf -y update
sudo yum -y install vim bash-completion unzip wget

Also ensure that you disable SElinux. Open SElinux configuration and change from ’enable’ to ‘disable’ then save the file.

sudo vim /etc/selinux/config

Make the changes as shown and save the file

# This file controls the state of SELinux on the system. 
# SELINUX= can take one of these three values: 
#     enforcing - SELinux security policy is enforced. 
#     permissive - SELinux prints warnings instead of enforcing. 
#     disabled - No SELinux policy is loaded. 
SELINUX=disabled 
# SELINUXTYPE= can take one of these three values: 
#     targeted - Targeted processes are protected, 
#     minimum - Modification of targeted policy. Only selected processes are protected.  
#     mls - Multi Level Security protection. 
SELINUXTYPE=targeted

After making the changes, reboot your system

sudo reboot

Step 2: Install MariaDB on CentOS 8

To install MariaDB server on CentOS 8, run the below command:

sudo dnf -y install mariadb-server

Once installation is complete, start and enable mariadb with the following commands.

sudo systemctl start mariadb
sudo systemctl enable mariadb

Next, secure mysql and set root user password.

sudo mysql_secure_installation

Proceed as below:

Enter current password for root (enter for none): Just press Enter
OK, successfully used password, moving on... 

Setting the root password ensures that nobody can log into the MariaDB 
root user without the proper authorization. 

Set root password? [Y/n] Y 
New password:  New-root-password
Re-enter new password: Re-enter New-root-password
Password updated successfully! 
Reloading privilege tables.. 
... Success! 


By default, a MariaDB installation has an anonymous user, allowing anyone 
to log into MariaDB without having to have a user account created for 
them.  This is intended only for testing, and to make the installation 
go a bit smoother.  You should remove them before moving into a 
production environment. 

Remove anonymous users? [Y/n] Y 
... Success! 

Normally, root should only be allowed to connect from 'localhost'.  This 
ensures that someone cannot guess at the root password from the network. 
Disallow root login remotely? [Y/n] Y 
... Success! 

By default, MariaDB comes with a database named 'test' that anyone can 
access.  This is also intended only for testing, and should be removed 
before moving into a production environment. 

Remove test database and access to it? [Y/n] Y 
- Dropping test database... 
... Success! 
- Removing privileges on test database... 
... Success! 

Reloading the privilege tables will ensure that all changes made so far 
will take effect immediately. 

Reload privilege tables now? [Y/n] Y 
... Success! 

Cleaning up... 

All done!  If you've completed all of the above steps, your MariaDB 
installation should now be secure. 

Thanks for using MariaDB!

We need to create a new user and database for Pydio. Connect to MySQL and run the shown MySQL commands:

$ mysql -u root -p

Enter the root password you had set above and run the below MySQL commands to create Pydio user and database.

create database cells;
grant all privileges on cells.* to 'pydiouser'@'localhost' identified by '[email protected]';
flush privileges;
exit; 

Step 3: Create Pydio user

We need to create a Pydio user and set password. Run the below commands.

sudo useradd -m pydio
sudo passwd pydio

After setting password for the user, increase file descriptor limit as shown below.

sudo ulimit -n 8192

Step 4: Install Pydio Cells on CentOS 8

We need to download pydio cells binary installer to our CentOS 8. Switch to pydio user and run the below command.

sudo su - pydio
wget https://download.pydio.com/latest/cells/release/{latest}/linux-amd64/pydio-cells-{latest}-linux-amd64.zip

Extract the zipped file using the unzip command. If you do not have unzip installed,install first and use it to extract pydio cells installer.

unzip pydio-cells-{latest}-linux-amd64.zip 

Step 5: Installing Pydio cells on CentOS 8

After extracting the zipped file, another file named cells will be added to the path. To install pydio cells, run the below commands.

chmod u x cells
./cells install

Installation will begin and you will be prompted to choose the installation method you prefer. I choose browser installation

Welcome to Pydio Cells Home Edition installation 
Pydio Cells Home Edition will be configured to run on this machine. Make sure to prepare the following data 
- IPs and ports for binding the webserver to outside world 
- MySQL 5.6  (or MariaDB equivalent) server access 
Pick your installation mode when you are ready. 

✔ Browser-based (requires a browser access)

Select installation type using arrow keys and press Enter. Next, specify the url and the port to listen on using arrow keys

? Internal Url (address that the webserver will listen to, use ip:port or yourdomain.tld:port, without http/https):  
    Other 
 ▸ :8080
   127.0.0.1:8080
   localhost:8080
↓   0.0.0.0:8080

I also chose not to use TLS but you can opt for TLS if you have an fqdn for your pydio installation.

? Choose TLS activation mode. Please note that you should enable SSL even behind a reverse proxy, as HTTP2 'TLS => Clear' is generally not supported:  
 ▸ Provide paths to certificate/key files 
   Use Let's Encrypt to automagically generate certificate during installation process 
   Generate your own locally trusted certificate (for staging env or if you are behind a reverse proxy) 
   Disable TLS (staging environments only, never recommended!)

Confirm your installation url and click ‘Enter’ to start pydio cells. Also go ahead to open it on your browser to continue with the installation.

Your instance will be accessible at http://:8080. If you are behind a reverse proxy or inside a private network, you may need to manually set an alternative External URL. Do not change this is you are not sure! 
Use the arrow keys to navigate: ↓ ↑ → ←  
? Setup a different URL for external access:  
 ▸ Use http://:8080
   Set another URL

When you click Enter for the url to be used, pydio cells should start and you should be able to access from the browser using the specified url.

2020-08-05T08:50:29.684-0400    INFO    pydio.gateway.rest      started 
2020-08-05T08:50:29.979-0400    INFO    Registering /install/events for Polling 
2020-08-05T08:50:29.979-0400    INFO    pydio.rest.install      started 
Activating privacy features... done. 
http://:80  

Installation Server is starting ... :80 
external URL: http://:80 

2020-08-05T08:50:32.180-0400    INFO    pydio.gateway.proxy     Restarting proxy        {"caddyfile": "ntt http://:80  {nttt root "https://computingforgeeks.com/root/.config/pydio/cells/static/install"nttt proxy /install :41233ntt tntttntt }nt "} 
2020-08-05T08:50:32.181-0400    INFO    pydio.gateway.proxy     Restart done 

Opening URL http://:8080 in your browser. Please copy/paste it if the browser is not on the same machine.

Step 6: Pydio cells browser installation.

Once you put the url on the browser, you should be able to access pydio cells to continue with the set up. Agree Pydio Cells terms and click Next.

<img alt="" data-ezsrc="https://kirelos.com/wp-content/uploads/2020/08/echo/How-to-install-pydio-cells-file-sharing-on-centos-8-07.png" data-ez ezimgfmt="rs rscb8 src ng ngcb8 srcset" src="data:image/svg xml,”>

In the next screenshot, provide details to connect to the Pydio database as shown and click Next

<img alt="" data-ezsrc="https://kirelos.com/wp-content/uploads/2020/08/echo/How-to-install-pydio-cells-file-sharing-on-centos-8-1.png" data-ez ezimgfmt="rs rscb8 src ng ngcb8 srcset" src="data:image/svg xml,”>

In my setup database details are:

In the next window, provide admin user details. Also choose your default language. Click Next

<img alt="" data-ezsrc="https://kirelos.com/wp-content/uploads/2020/08/echo/How-to-install-pydio-cells-file-sharing-on-centos-8-01-1.png" data-ez ezimgfmt="rs rscb8 src ng ngcb8 srcset" src="data:image/svg xml,”>

After advanced settings, click on Install Now. Confirm your setting and click on reload. You will then see the screes prompting you to login to your pydio cells. Provide you admin credentials to login.

<img alt="" data-ezsrc="https://kirelos.com/wp-content/uploads/2020/08/echo/How-to-install-pydio-cells-file-sharing-on-centos-8-02-1.png" data-ez ezimgfmt="rs rscb8 src ng ngcb8 srcset" src="data:image/svg xml,”>

You will be welcomed to Pydio cells. You can start Pydio tour or skip and start using it.

<img alt="" data-ezsrc="https://kirelos.com/wp-content/uploads/2020/08/echo/How-to-install-pydio-cells-file-sharing-on-centos-8-03.png" data-ez ezimgfmt="rs rscb8 src ng ngcb8 srcset" src="data:image/svg xml,”>

To start uploading or creating new files and folders, click on either personal files or common files.

<img alt="" data-ezsrc="https://kirelos.com/wp-content/uploads/2020/08/echo/How-to-install-pydio-cells-file-sharing-on-centos-8-04-1024×263.png" data-ez ezimgfmt="rs rscb8 src ng ngcb8 srcset" src="data:image/svg xml,”>

Click on upload to browse for files or folders to upload.

<img alt="" data-ezsrc="https://kirelos.com/wp-content/uploads/2020/08/echo/How-to-install-pydio-cells-file-sharing-on-centos-8-05-1024×532.png" data-ez ezimgfmt="rs rscb8 src ng ngcb8 srcset" src="data:image/svg xml,”>

Step 7: Start Pydio cells from terminal

To start Pydio cells again from terminal, run the following commands:

sudo su - pydio
cd ~/
./cells start &

Step 8: Configure Pydio cells client on Ubuntu and other Linux based system.

Linux users can connect to Pydio using the inbuilt Nautilus file manager. Open files and look for ‘Other Locations

<img alt="" data-ezsrc="https://kirelos.com/wp-content/uploads/2020/08/echo/How-to-configure-pydio-file-sharing-client.png" data-ez ezimgfmt="rs rscb8 src ng ngcb8 srcset" src="data:image/svg xml,”>

Click on connect to server and provide Pydio server credentials to connect to it. Since it is a WebDav client, the connection url should be like dav://:8080/dav/

<img alt="" data-ezsrc="https://kirelos.com/wp-content/uploads/2020/08/echo/How-to-install-pydio-cells-file-sharing-on-centos-8-06.png" data-ez ezimgfmt="rs rscb8 src ng ngcb8 srcset" src="data:image/svg xml,”>

Enjoy sharing with Pydio Cells file sharing. Check more guides below: