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
In the next dialogue box, provide a hostname for your postfix server.
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: <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 'MyStr0ngDBP@ssw0rd' WITH GRANT OPTION;
FLUSH PRIVILEGES;
EXIT;
Test database connection as pydio-user user.
$ mysql -u pydio-user -p'MyStr0ngDBP@ssw0rd' 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.
Step 5: Access Pydio on your browser
Open your browser and type the url http://<your-server-IP>/pydio. You should see a page as shown
Hit the Install button and start the wizard.
Provide admin username and password.
Also provide database connection details are configured earlier. Make sure you connection testing is successful.
Go ahead to configure your Pydio server and enjoy your files sharing!
Reference:
Here are more interesting guides for your day-to-day Linux installations:
- How to install Nextcloud on Ubuntu
- How to install Seafile on Ubuntu
- How to install Pydio file sharing server on Ubuntu
- Nextcloud vs Owncloud vs Seafile vs Syncthing