How to Install and Configure Pydio on Ubuntu 18.04 LTS

Pydio is a free and open source cloud-based file-sharing and synchronization software that allows you to access all your data storages from the central location. It is very alternative to other file-sharing software such as ownCloud and Nextcloud. Pydio provides an ajax based web interface that can be accessed from anywhere and any browser. Pydio allows you to connect your existing storages such as SAN, SAMBA, CIFS, FTP, NFS, etc. Pydio provides native clients for Mac, Windows, and Linux and mobile clients for iOS and Android. You can easily share files with other Pydio users or the public. Pydio can be integrated with LDAP/AD for authentication, also supports SSO with CMS such as WordPress, Drupal, and Joomla.

In this tutorial, we will learn how to install Pydio on Ubuntu 18.04 LTS.

Requirements

  • A server running Ubuntu 18.04.
  • A static IP address is set up on your server.
  • A root password is set up on your server.

Getting Started

First, you will need to update your system with the latest version. You can do it with the following command:

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

Once your system is updated, restart the system to apply these changes.

Install LAMP Server

First, you will need to install Apache web server, MariaDB database server, PHP and other required packages to your system. You can install all of them by running the following command:

apt-get install apache2 mariadb-server apt-transport-https libapache2-mod-php7.2 php7.2-cli php7.2-fpm php7.2-json php7.2-mysql php7.2-zip php7.2-gd php7.2-mbstring php7.2-curl php7.2-xml php-pear php7.2-bcmath php7.2-intl php7.2-opcache mariadb-server php7.2-xml postfix wget unzip -y

Once all the packages are installed, open php.ini file and make some changes:

nano /etc/php/7.2/apache2/php.ini

Make the following changes:

upload_max_filesize = 1G
post_max_size = 1G
output_buffering = Off
Save and close the file. Then, open another php.ini file:
nano /etc/php/7.2/cli/php.ini

Make the following changes:

upload_max_filesize = 1G
post_max_size = 1G
output_buffering = Off

Save and close the file, when you are finished.

Configure MariaDB

By default, MariaDB installation is not secured, so you will need to secure it first. You can secure it with the following command:

mysql_secure_installation
    Enter current password for root (enter for none):
    Set root password? [Y/n]: N
    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

Once MariaDB is secured, log in to MariaDB shell with the following command:

mysql -u root -p

Enter your root password. Then, create a database and user for Pydio with the following command:

MariaDB [(none)]> create database pydio;
MariaDB [(none)]> create user [email protected] identified by 'mypassword';

Replace 'mypassword' with your own secure password. Next, grant all the privileges to the Pydio with the following command:

MariaDB [(none)]> GRANT ALL ON pydio.* TO 'pydio'@'localhost' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;

Replace 'mypassword' with your own secure password. Next, flush the privileges and exit from the MariaDB shell with the following command:

MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;

Your MariaDB database server is now set up properly. You can now proceed to install Pydio.

Install Pydio

By default, Pydio is not available in the Ubuntu 18.04 default repository. So, you will need to add the Pydio repository to your server. You can do it with the following command:

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

Next, import the GPG key and update the repository with the following command;

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

Finally, install Pydio with the following command:

apt-get install install pydio pydio-all php-xml -y

Once the installation has been completed successfully, enable the Apache rewrite module with the following command:

a2enmod rewrite

Next, restart the Apache web server with the following command:

systemctl restart apache2

You can also verify the Apache web server status with the following command:

systemctl status apache2

You should see the following output:

systemctl status apache2
? apache2.service - The Apache HTTP Server
   Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
  Drop-In: /lib/systemd/system/apache2.service.d
           ??apache2-systemd.conf
   Active: active (running) since Wed 2019-02-18 10:56:45 UTC; 6s ago
  Process: 6498 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS)
 Main PID: 6517 (apache2)
    Tasks: 1 (limit: 1114)
   CGroup: /system.slice/apache2.service
           ??6517 /usr/sbin/apache2 -k start

Feb 18 10:56:45 ubuntu1804 systemd[1]: Starting The Apache HTTP Server...
Feb 18 10:56:45 ubuntu1804 apachectl[6498]: AH00557: apache2: apr_sockaddr_info_get() failed for ubuntu1804
Feb 18 10:56:45 ubuntu1804 apachectl[6498]: AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1. S
Feb 18 10:56:45 ubuntu1804 systemd[1]: Started The Apache HTTP Server.

Apache web server is now configured and working fine. You can proceed to the next step

Access Pydio Web Interface

Pydio is now installed and configured, it's time to access their web interface.

Open your web browser and type the URL http://your-server-ip/pydio. You will be redirected to the following page:

Pydio Installer

Confirm all the checks and click on the CONTINUE TO PYDIO INSTALLATION button. You should see the following page:

Pydio setup wizard

Select your language and click on the START WIZARD. You should see the following page:

Start the setup

Set the Application name and welcome message. Then, click on the Next button. You should see the following page:

Set the application name

Next, set up your admin account and click on the Next button. You should see the following page:

MySQL database settings

Next, provide your database details like database name, database username, and password. Then, click on the TEST DB CONNECTION button. You should see the following page:

Pydio Advanced options

Next, click on the INSTALL PYDIO button. Once the installation has been completed successfully. You will be redirected to the following page:

Pydio Login

Next, provide your admin username and password. Then, click on the ENTER button. You should see the following page:

welcome to Pydio

Pydio dashboard

Congratulations! you have successfully installed Pydio file sharing server on Ubuntu 18.04. You can now easily share a file with your friend using Pydio. Feel free to ask me if you have any questions.

Share this page:

Suggested articles

4 Comment(s)

Add comment

Comments

By: Are Egner-Kaupang at: 2019-03-22 07:22:34

Thanks for describing an interesting product, but it should be mentioned that LDAP/AD integration is only available in the Enterprise version, and not in the free Community edition (at least it looks that way on the products website) 

By: till at: 2019-03-22 08:19:38

LDAP is not required for or used in the setup described in this article. But if you need it for other purposes, then you might need a commercial edition of Pydio.

By: lee at: 2019-03-22 11:58:55

i've been testing pydio to use as a webftp client in ispconfig.  

it certainly looks good, but there are issues with it, i've installed it as described in your article, and configured it following these instructions (google cached as site is in maintenance):

https://webcache.googleusercontent.com/search?q=cache:FtZLHjqzB9kJ:https://www.sukalupa.com/blogs/ispconfig-3-file-manager-with-latest-pydio-8-2-0/+&cd=1&hl=en&ct=clnk&gl=uk

when using to access different ftp accounts on the server, from different browsers, it starts showing files from the web folder of the other users, not the one logged in on that browser, it seems ok on paths/permissions, if i try to open a file that i know is not really in that folder it fails, similarly if i try to open eg index.html, which it shows as the other users (edited timestamp is newer) then it opens the one for the user i am actually logged in as.  

the activity box on the right also shows every users activity, name of the file they've uploaded etc, not just the activity of the user logged in through that browser.

 

i've tried this with 3 different installs on ubuntu 18.04, and it's done this every time. searching on google, i've seen comments about similar issues (seeing other users files/activity etc) going back to version 6. but no solution.

 

have you seen anything similar to this? or know of a fix/solution to it? 

 

By: alex at: 2019-09-29 12:46:51

apt-get install install pydio pydio-all php-xml -y -  Typo "install " Duplicate.