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.
In the next screenshot, provide details to connect to the Pydio database as shown and click Next
In my setup database details are:
- Database name: cells
- Database User: pydiouser
- Database Password: [email protected]
In the next window, provide admin user details. Also choose your default language. Click Next
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.
You will be welcomed to Pydio cells. You can start Pydio tour or skip and start using it.
To start uploading or creating new files and folders, click on either personal files or common files.
Click on upload to browse for files or folders to upload.
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’
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/
Enjoy sharing with Pydio Cells file sharing. Check more guides below: