Installing Pydio File Sharing Platform on Zentyal 3.4 Webserver – Part 11

Through this series of Zentyal 3.4 PDC tutorials we had setup services for file sharing like Samba and FTP, services that have their ups and downs ( Samba uses broadcasts, is designed for LAN and not scalable over Internet.

FTP only provides basic directory and file level accessing, the configurations are made by system administrator, but sometimes you want to provide users with some extra file sharing platforms that don’t require complicated system setups so users don’t have to install extra software.

Install Pydio File Sharing in Zentyal
Install Pydio File Sharing in Zentyal

This tutorial covers the basic installation and minimal configuration of Pydio –former AjaXplorer (http://pyd.io ) on top of Apache Webserver, which is a powerful Open Source File Sharing and Collaborative Platform that can turn Zentyal into a pseudo-cloud file sharing platform for internal and external users and provide features like create and edit documents, upload data, watch videos, listen music, share your files with others, collaborate on file editing etc.

Requirements

  1. Install and Configure Apache on Zentyal
  2. Enable UserDir and Password Protect Web Directories on Zentyal
  3. Enable .htaccess file with AllowOverride directive.
  4. For this setup the “cloud.mydomain.com” subdomain created on previous topic will be used to host Pydio web files and provide user storage.
  5. The ‘/srv/www/cloud.mydomain.com‘ path will host all Pydio web configuration files.

Step 1: Download and Configure Pydio

There are two approaches of downloading and installing Pydio.

  1. First is by visiting Pydio official website http://pyd.io/ –> Download section -> Manual Installation, download zip or tar package, extract it to your server path (/srv/www/cloud.mydomain.com in this case) and run browser installer.
  2. Second method is by running an automatically installer provided through repositories on Debian systems and running apt-get command or installing RPM package for Enterprise Linux (CentOS, RHEL and Fedora).

For any other detailed information visit http://pyd.io/download/ page.

Download Pydio File Sharing
Download Pydio File Sharing

On this topic the Manual method with wget through ssh will be used for customization purposes.

1. Logon to Zentyal 3.4 PDC Server from Putty using Zentyal IP or domain name with root account.

Connect to Zentyal Server
Connect to Zentyal Server

2. Download Pydio zip or tar.gz package using wget command and extract it ( on Linux I personally recommend tar.gz archive ).

# wget http://downloads.sourceforge.net/project/ajaxplorer/pydio/stable-channel/5.2.3/pydio-core-5.2.3.tar.gz
# tar xfvz pydio-core-5.2.3.tar.gz
Download Pydio
Download Pydio

3. Copy all extracted files to your subdomain virtual host document root path by issuing the following commands then navigate to document root physical path.

# cp –r pydio-core-5.2.3/*  /srv/www/cloud.mydomain.com/
# cd /srv/www/cloud.mydomain.com/
Copy Pydio Files
Copy Pydio Files

4. Now is time to install some extra Apache, MYSQL and PHP modules for Zentyal Webserver required by Pydio and then restart Zentyal Webserver service.

# apt-get install  mysql-server-5.5 php5 php5-cli php5-gd php5-mysql php5-mcrypt libapr1 libaprutil1 ssl-cert php5-json
# service zentyal webserver restart
Install Lamp Stack
Install Lamp Stack
Start Services
Start Services

5. The next step is to open a browser and type your subdomain on URL.

Access Sub Domain
Access Sub Domain

6. If you get an error message like the one in the screenshot above grant www-data with exclusive permissions on Pydio data directory.

# chown –R www-data data/.
Set Permissions
Set Permissions

7. For a production environment you also need to install and configure a database for Pydio configuration data ( users, plugins, document management etc). The best suited database for Zentyal in this case is MYSQL which is already installed but needs a Pydio user and database.

To create the Pydio user and database login to MYSQL database and create a new database named “pydio” and user “pydio” who can access this database on localhost with all privileges (On a production box change user and database name).

# mysql -u root –p
mysql> CREATE DATABASE IF NOT EXISTS pydio;
mysql> CREATE USER 'pydio'@'localhost' IDENTIFIED BY 'yourpassword';
mysql> GRANT ALL PRIVILEGES ON pydio.* TO 'pydio'@'localhost';
mysql> FLUSH PRIVILEGES;
mysql> quit;
Create Pydio Database
Create Pydio Database

8. If you get an error while trying to access MYSQL database with standard root account issue the following command to change MYSQL root password.

# dpkg-reconfigure mysql-server-5.5
Configure MySQL
Configure MySQL
Enter MySQL Password
Enter MySQL Password
Re-Enter MySQL Password
Re-Enter MySQL Password

9. Now point your browser again to Pydio subdomain URL.

Access Pydio Tool
Access Pydio Tool

As you can see the installer generates some error that can prevent Pydio from a smooth running. To resolve some of generated errors run the following commands.

# ln –s /etc/php5/conf.d/mycrypt.ini  /etc/php5/apache2/conf.d/20-mycrypt.ini
# dpkg-reconfigure locales

To disable PHP Output Buffer (for better performance) open and change output_buffering value to Off on /etc/php5/apache2/php.ini path.

# nano /etc/php5/apache2/php.ini
Disable PHP Output Buffer
Disable PHP Output Buffer

You can still experience other errors after all this steps regarding installation process but you can continue if they are classified as Warnings errors.

Step 2: Perform Pydio Installation

10. Now is time to actually run Pydio installer. After restarting zentyal webserver module again refresh your subdomain page and click on Start Wizard!.

Pydio Installation
Pydio Installation

11. The first step is to create your Pydio Administrator User. Enter your desired Admin Username and choose a strong password.

Create Pydio Administrator User
Create Pydio Administrator User

12. Next configure Pydio Global Options by adding a Title, choose your default application language and setup a welcome message (don’t enable email).

Pydio Global Options
Pydio Global Options

13. On the next prompt connect Pydio to MYSQL database using the credentials created earlier and test your SQL connectivity.

Pydio MySQL Configuration
Pydio MySQL Configuration

14. Also you can now add other users or you can choose to do this later from Pydio Admin Panel.

Add Pydio Users
Add Pydio Users

15. The last step hit on Install Pydio Now and wait for installer to finish with a successfully message.

Install Pydio Now
Install Pydio Now
Select Language
Select Language

16. After the installer finish you will be automatically redirected to Pydio login webpage. Login with your administrative credentials created during installation process and setup your File and Collaboration Server ( select your preferred workspace, create new users, folders, upload files, edit users permissions etc).

Pydio Login Screen
Pydio Login Screen
Pydio Dashboard
Pydio Dashboard
Create New Folders
Create New Folders

Step 3: Enable HTTPS on Pydio Subdomain

Because Pydio is a Collaborative File Sharing Platform users need to be protected from network packages eavesdropping by enforcing your subdomain to run on HTTPS protocol.

17. Login to Zentyal Admin Panel, navigate to Web Server, select your pydio subdomain, click on Edit button form Action, select Force SSL on SSL support, hit on Change and Save your settings.

Force HTTPS on Pydio
Force HTTPS on Pydio

Congratulations! Now you have installed and configured your sharing cloud storage platform on secure network environment.

Conclusion

As a conclusion Pydio can be a great Open Source File Sharing Platform for your organization which can connect instantly users to your local network storage or NAS and can provide an elegant alternative to other cloud storage platforms offered on Internet today.

Hey TecMint readers,

Exciting news! Every month, our top blog commenters will have the chance to win fantastic rewards, like free Linux eBooks such as RHCE, RHCSA, LFCS, Learn Linux, and Awk, each worth $20!

Learn more about the contest and stand a chance to win by sharing your thoughts below!

Matei Cezar
I'am a computer addicted guy, a fan of open source and linux based system software, have about 4 years experience with Linux distributions desktop, servers and bash scripting.

Each tutorial at TecMint is created by a team of experienced Linux system administrators so that it meets our high-quality standards.

Join the TecMint Weekly Newsletter (More Than 156,129 Linux Enthusiasts Have Subscribed)
Was this article helpful? Please add a comment or buy me a coffee to show your appreciation.

2 Comments

Leave a Reply
  1. verify permissions on /srv/www/cloud.mydomain.com/ path and assure that apache system user (www-data) has read and execute rights.

    Reply
  2. Hello

    Thank you for your tutorial it help me a lot. i have a problem to install pydio. i follow all you say but nothing. i can access to the installation interface of pydio and do all the settings but when i click ‘Install Pydio now’ nothing happen.help me.

    Reply

Got Something to Say? Join the Discussion...

Thank you for taking the time to share your thoughts with us. We appreciate your decision to leave a comment and value your contribution to the discussion. It's important to note that we moderate all comments in accordance with our comment policy to ensure a respectful and constructive conversation.

Rest assured that your email address will remain private and will not be published or shared with anyone. We prioritize the privacy and security of our users.