Pydio on Raspberry Pi

Lead Image © Danilo Sanino,

Serve and Share

Pydio transforms the Raspberry Pi into a powerful file sharing and collaboration platform.

ownCloud is a popular choice for turning a Raspberry Pi into a personal cloud device, but this application is not the only fish in the sea. In fact, if you are looking for a solution that focuses on sharing files and collaborating on them, Pydio [1] might prove to be a better fit for your Raspberry Pi.

Installing and Configuring Pydio

Pydio runs on a standard stack consisting of a web server, PHP, and MySQL, so before you deploy the application on the Raspberry Pi, some preparatory work needs to be done. The following instructions assume that you are connected to the Raspberry Pi from your regular machine via SSH. First, you have to install the required components using the following commands:

sudo apt-get update
sudo apt-get install apache2 mysql-server mysql-client php5-mysql \
  php5-gd php5-cli php5-mcrypt php-apc

These commands install the Apache server, PHP, MySQL database server, a few helper libraries, and the PHP APC accelerator, which will help speed Pydio up; otherwise, the software would run rather slowly on Raspberry Pi's modest hardware. Instead of Apache and APC, you can opt for the Nginx server and the PHP FPM accelerator. In that case, you should follow the installation and configuration instructions on Pydio's website [2].

The next step is to create a MySQL database for use with Pydio. Use the commands below to connect to MySQL and create the pydio database:

mysql -uroot -hlocalhost -p

Finally, run

sudo nano /etc/apache2/sites-enabled/000-default

and change the AllowOverride None line in the <Directory /var/www/> block to AllowOverride All. Restart the Apache server using the sudo service apache2 restart command, and you are done. Before you proceed, issue the echo $LANG command and note the resulting encoding.

On your machine, point the browser to http://<raspberrypi-IP>/pydio (replace <raspberrypi-IP> with the actual IP address on your Raspberry Pi). This step launches the setup wizard that guides you through the rest of the installation and configuration process. If the wizard detects issues that can prevent Pydio from functioning properly, it conveniently displays them along with their brief descriptions.

Once all the issues have been fixed, the wizard drops you into the setup section where you can configure the available options. Here, you should specify administrator credentials and provide the database connection info. Also, pay particular attention to the correct values of the Detected Encoding and Detected Server Path options. The former must be set to the correct language encoding (which you obtained using the echo $LANG command). The Detected Server Path parameter must contain the path for the Pydio installation. When the setup is complete, Pydio opens the Welcome page, and you are ready to explore the application.


The key concept in Pydio is the workspace, which is basically a file repository. By default, Pydio contains two workspaces: Common Files and My Files. The former is shared by all Pydio users, whereas the latter is your private file area. You can navigate directly to the workspace you want by selecting it in the Welcome page.

Pydio lets you add as many workspaces as you need, so you can set up workspaces for specific projects or certain types of documents. For example, you can create separate workspaces for photos, videos, and music, or dedicated workspaces for certain activities like writing, coding, and so on. In addition to regular workspaces, where all documents and files are stored locally, Pydio supports workspaces that can contain files from remote hosts (Figure 1).

Figure 1: Workspaces in Pydio can contain files from remote shares and services.

The application comes with drivers that access FTP, SFTP, WebDAV, Samba, and Amazon S3 remote storage hosts. Thus, you can use Pydio to aggregate and manipulate files and documents from different remote sources. Pydio also comes with a driver for accessing POP and IMAP email accounts as well as MySQL databases, so you can use the application to store email messages and work with database data.

Creating a new workspace in Pydio requires a few simple steps. Once you've logged in to Pydio as administrator, select the Settings item from the drop-down menu in the upper-right corner and switch to the Workspaces and Users | Workspaces section. Press the New Workspace button to open the Create a new workspace dialog window. Then, specify the workspace label, select the appropriate driver, and fill out the required fields.

For example, when you create a standard local workspace, you must specify the path to a local directory on the server which will be used as the workspace storage. You should also configure other optional settings such as description and default access rights. Once you've done that, press Next to create the workspace.

Buy this article as PDF

Express-Checkout as PDF

Pages: 4

Price $2.95
(incl. VAT)

Buy Raspberry Pi Geek

Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content