Tested – Free cloud storage software Pydio

Roughly Sketched

Article from Issue 180/2015
Author(s):

Pydio is a free software solution trying to establish itself among cloud storage solutions such as ownCloud or proprietary services like Dropbox for synchronizing data across several computers and sharing folders with colleagues or friends.

Pydio [1] originated with an older project called AjaXplorer; however, the erstwhile predecessor and the current Pydio have little in common. What used to be a web-based file manager for content on web servers now targets users looking for a free alternative to proprietary online storage like Dropbox, Box, or Google Drive.

Pydio offers the usual functions for this task, such as the option to synchronize across multiple computers, the provision of apps for access on mobile devices, and the ability to share files with other users. The software comes with a server component written in PHP; desktop clients for Linux, Mac OS X, and Windows; and mobile apps for Android and iOS.

Installation

You need a web server with a database for Pydio (see the "Web Server" box for more info). In addition to MySQL, the software also supports PostgreSQL and SQLite. For trial purposes, you can also run Pydio without a database, but the developers advise against doing so in production use. For the install, Pydio comes with distribution-dependent tarballs and packages in DEB and RPM format along with the matching package sources.

Web Server

Pydio supports a number of web servers. Whether you choose Apache, Lighty (officially Lighttpd), or other alternatives like Nginx is up to you. Newcomers are typically well served by the excellently documented Apache in combination with MySQL. You can install the packages required for this on a Debian or Ubuntu system with the call from Listing 1.

Listing 1

Install Packages

$ sudo apt-get install apache2 php5 mysql-server libapache2-mod-php5 php5-mysql

In our lab, we used a server installation on Ubuntu 14.04 LTS, which explains why this article describes the installation on Debian-based distributions like Ubuntu and special Debian derivatives such as Raspbian (see the "Commercial Pydio" box for more information). For instructions relating to other distributions, check out the project's download pages [4].

Commercial Pydio

Besides the free Community Edition, Pydio also offers commercial variants of the software [2]. The latter are designed for enterprises or organizations looking for cloud storage for self-managed hosting and who do not want to do without support and customization. The price for Pydio Pro starts at $810/year and includes access for up to 50 users. This may sound expensive at first, but when you consider that Dropbox for enterprises would cost $7,500 per year for the same number of users [3], it sounds reasonable. Note that the Pydio offering contains only support and patches; you have to bring your own server.

To install Pydio, open the /etc/apt/sources.list in an editor launched with root privileges (e.g., using sudo nano /etc/apt/sources.list); then, add the two lines from Listing 2 at the end. If you are willing to experiment, you can replace stable with testing to install the latest developer version of the program. For a production system, you will probably want to go for the official release; otherwise, you might experience bugs or even data loss. After adding the package sources, install the developer key, load the package database again, and install Pydio on your system (Listing 3).

Listing 2

Install Pydio

deb http://dl.ajaxplorer.info/repos/apt stable main
deb-src http://dl.ajaxplorer.info/repos/apt stable main

Listing 3

Install Pydio with Developer Key

$ wget -O - http://dl.ajaxplorer.info/repos/charles@ajaxplorer.info.gpg.key | sudo apt-key add -
$ sudo apt-get update
$ sudo apt-get install pydio

Then, copy the sample configuration into the appropriate directory, enable the virtual host – along with the rewrite engine for converting cryptic-sounding URLs into intuitive addresses – and restart the server when you're done (Listing 4). You can check whether the installation was successful by typing http://localhost/pydio or the web server's IP address http://<IP address>/pydio in your browser and waiting for the web application installation wizard to appear.

Listing 4

Restart Server

$ sudo cp /usr/share/doc/pydio/apache2.sample.conf /etc/apache2/sites-available/pydio.conf
$ sudo a2ensite pydio
$ sudo a2enmod rewrite
$ sudo php5enmod mcrypt
$ sudo service apache2 restart

The wizard checks whether the required system components exist (Figure 1) and then helps you configure the program. The wizard sets up an administrative account; prompts for global settings, such as paths, encodings, or language; and accepts the access credentials for the database.

Figure 1: The setup wizard helps you install Pydio on your server.

Make sure you test database access using the button below the input fields: This step will save you the trouble of entering all the data again in case of an error. In contrast to common practice with other web applications, Pydio does not create the database itself. To do this, you need to turn to database tools such as PhpMyAdmin or visit the MySQL console to create a database manually (Listing 5).

Listing 5

Create Database

### The MySQL command creates a database
### by the name of "pydio". You need to state
### this again in the installation wizard.
$ mysql -u root -p
mysql> CREATE DATABASE pydio;
Query OK, 1 row affected (0.03 sec)

After entering all the data, the installation wizard sets up the required configuration and prepares the database. Because it lacks the authorization to do so, the wizard cannot automatically write the program's .htaccess file, which was dynamically created by the installation, to the filesystem on Debian. You just need to edit the /usr/share/pydio/.htaccess file manually (e.g., by calling sudo nano /usr/share/pydio/.htaccess) and then copy the file content displayed by the wizard in the final step manually. Then, reload the content of the browser window, which would then show you the Pydio website. Log in as the Pydio administrator or as the user created on running the wizard.

Settings

On the main screen, you will see My Files and Common Files; these are two workspaces created out of the box (Figure 2). Even though the name Common Files suggests that Pydio publicly shares any data you store here, the files actually remain private until you change the settings.

Figure 2: Workspaces in Pydio are areas with different access privileges and storage locations.

The workspaces are basically parent folders to which you can assign different sharing rules. In its settings, Pydio gives you the option of creating more workspaces whose data does not need to reside on the server – Pydio supports network protocols such as Samba, FTP over SSH, and Amazon's S3 web service.

You can access the most important settings via the top right menu. Below Dashboard, enter your full name or assign a profile image to your account. As a user with administrative privileges you will also find the Settings at this point (see the "Privileges" box for more). You can use them to create more workspaces in the Workspaces & Users section or to create additional accounts and groups with appropriate access rules (Figure 3).

Privileges

If you modify the access privileges and, for example, allow users to access a new workspace, then these modifications do not take effect until the user logs off and back on again. To be on the safe side, users should always log off and back on after any changes to their authorizations.

Figure 3: The settings give you numerous options for customizing the software.

In production, you will want to increase the maximum file size for files that you upload in Global Configurations | Application Core | Uploaders Options | File Size. To be able to do this, you may also need to modify the corresponding configuration in the server's /etc/php5/apache2/php.ini file (Listing 6).

Listing 6

Increase Maximum File Size

[...]
; Maximum allowed size for uploaded files.
; http://php.net/upload-max-filesize
upload_max_filesize = 10M
[...]

Production

If you now open one of the workspaces, you will see a three-pane view: In the left-hand column, you will see an overview with bookmarks, shares, and the current folders. In the largest area – at the center – Pydio shows you the folder content (Figure 4). In the right-hand column, it displays additional information such as thumbnails or metadata for the currently selected files. You can add new content simply by dragging from the file manager and dropping into Pydio's file area. The upload routine lets you do more than just transfer individual files; if needed, you can also drag a whole selection of files and folders into the browser window. Alternatively, you can press the Upload button and then browse your computer.

Figure 4: In the folder view, the Pydio front end offers convenience similar to a locally installed file manager.

In the file view, you can work in the style you are familiar with from legacy file managers. Pressing the Control key selects multiple files at the same time, whereas the Shift key lets you select a whole area. You can press the right mouse button to pop up a context menu with additional actions; holding down the left mouse button lets you move the current selection. If you additionally hold down Ctrl at the same time, you can copy the selected files.

Pydio offers integrated viewers for images, movies, and PDFs. For text, Pydio also includes an editor (Figure 5) and can send images to the web-based Pixlr [5] image editor if required. For this to work, the Pydio installation has to be accessible from the Internet (Figure 6), and the browser must support Flash content.

Figure 5: The Pydio web interface includes a simple editor for displaying and editing text files.
Figure 6: The integrated image editor accesses the Pixlr online service and requires a Flash browser plugin.

You can share individual files or complete folders by right-clicking on the desired object and selecting the Share item from the context menu. In the dialog that appears, Pydio offers you – assuming you are sharing a folder – a choice between sharing As a public link or As a workspace. The first option gives you a link with a cryptic and lengthy URL such as http://<example>.<ext>/pydio/data/public/508b7b, which you can then forward by email. The second option creates a new workspace from the folder, which you can then make available to other users of the Pydio instance. Pydio then immediately lists the share in the left sidebar below My Shares.

Buy this article as PDF

Express-Checkout as PDF
Price $2.95
(incl. VAT)

Buy Linux Magazine

SINGLE ISSUES
 
SUBSCRIPTIONS
 
TABLET & SMARTPHONE APPS
Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content

comments powered by Disqus

Direct Download

Read full article as PDF:

Price $2.95

News

njobs Europe
What:
Where:
Country:
Njobs Netherlands Njobs Deutschland Njobs United Kingdom Njobs Italia Njobs France Njobs Espana Njobs Poland
Njobs Austria Njobs Denmark Njobs Belgium Njobs Czech Republic Njobs Mexico Njobs India Njobs Colombia