Pydio is the mature open source alternative to DropBox and Box, for the enterprise.
Nowadays, everyone needs to access documents across multiple devices and share documents, files and folders with other contacts and teams. Pydio formerly knows as AjaXplorer, is an open source application that can be used to setup fileserver on any system.
I found Pydio available in four different version:
- 1. Ultimate Edition
- 2. Enterprise Edition
- 3. Pro Edition
- 4. Community Edition
We will focus on community edition which is free for personal use. You can install Pydio as a mobile application in your iOS or Android mobile device. It also has an embedded WebDAV server. With Pydio, you can access files and folders from any system or browser over WAN and LAN.
How To Install Pydio in CentOS
Pydio works in all web servers including Apache, Lighttpd, IIS and Nginx. I prefer using Apache and that is also recommended by Pydio team if you want to use Pydio for production.
Hardware requirements can change varying on your number of users and volume of documents. Any system with a 2GHz dual-core with 4GB of RAM covers Pydio for normal needs. When I say normal needs, I mean an environment up to 50 users.
Before we install Pydio firstly we need to install LAMP Server (Apache, MariaDB, PHP) on CentOS. After we install LAMP Stack, we need to install some prerequisites needed by Pydio. Check the commands below to get them.
yum install epel-release
yum install php-apc php-mbstring php-pecl-apc php-mysql php-cli php-devel php-gd php-ldap php-pecl-memcache php-pspell php-snmp php-xmlrpc php-xml php-imap php-mcrypt* wget unzip
After you run the code above, you need to edit the php.ini file.
Then, in the following lines, make changes as shown in the code:
post_max_size = 1024M
output_buffering = Off
Then, you should save and close the file.
Now you need to login to the database server:
mysql -u root -p
The next step is to create database and user for Pydio. Th name of database will be pydiodb and the name of user will be pydiouser.
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 10
Server version: 5.5.41-MariaDB MariaDB Server
Copyright (c) 2000, 2014, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]> create database pydiodb;
Query OK, 1 row affected (0.05 sec)
MariaDB [(none)]> GRANT ALL ON pydiodb.* TO pydiouser@localhost IDENTIFIED BY 'centos';
Query OK, 0 rows affected (0.08 sec)
MariaDB [(none)]> flush privileges;
Query OK, 0 rows affected (0.04 sec)
MariaDB [(none)]> exit
Now let’s get Pydio from its website, extract it and move the contents to your web root directory.
mv pydio-core-6.0.8/ /var/www/html/pydio
Then you must run chmod command to give data folder full permission.
chmod -R 777 /var/www/html/pydio/data/
Then edit /etc/httpd/conf//httpd.conf
Find the line AllowOverride None and change it to AllowOverride All.
Before you close the file, make sure you have saved it. This commands make possible to reduce the complexity by disabling SELinux (Security-Enhanced Linux) and avoid “403 forbidden error”.
setsebool -P httpd_enable_homedirs true
chcon -R -t httpd_sys_content_t /var/www/html/pydio/
Now restart the apache server.
systemctl restart httpd
Now comes the final step, to start Pydio web installation.
You should open the browser and type http://ip-address/pydio
After the Pydio Diagnostic Tool shows in the screen, click click here to continue to Pydio. Then click Start Wizard!.
Then setup your admin account in the screen you see. After that, you should set the default language and file server title. When you complete this tab, you should redirected to MySQL configuration. Enter MySQL database and user details and click “try connecting to database”. If everything goes well, you should see “Connection established” in the bottom.
It’s time to create a new user at Add some users section.
After this step you should see the following screen:
Copy the contents shown in blue in the above window and paste them at this file: /var/www/html/pydio.htaccess
The file should look like this:
Now refresh the page and that’s it. Voila!