Pydio - Créez un portail de partage et de synchronisation de fichiers similaire à Dropbox sous Linux


Pydio est un logiciel de synchronisation et de partage de fichiers en ligne et à la source ouverte, sécurisé et performant qui peut constituer une alternative à de nombreux systèmes de stockage en ligne dans le cloud. Il est accessible depuis le Web, les ordinateurs de bureau ou les plates-formes mobiles. L’hébergement étant privé, vous pouvez donc mettre en œuvre vos propres mesures de sécurité.

Pydio offre les fonctionnalités suivantes:

  1. Secure links with passwords with an expiration date.
  2. Integration with LDAP/AD server for user authentication.
  3. Monitor user activities in real time on the system.
  4. Creation of workspace from shared folders among different users.
  5. Notify users of file or folder modifications.
  6. Supports SSO with many Content Management Systems (CMS) such as WordPress, Joomla, Drupal, Xibo and many others including custom designed CMS.
  7. Preview user files such as audio, video and documents such as Office documents, PDFs and many more.

Dans ce tutoriel, je vais vous expliquer le processus de configuration du portail de partage et de synchronisation de fichiers Pydio sous RHEL / CentOS et Fedora .

Étape 1: Installation du serveur Web et des dépendances

1. Pydio requiert uniquement un serveur Web (Apache, Nginx ou Lighttpd) avec PHP 5.1 ou une version ultérieure, ainsi que certaines dépendances telles que GD, MCrypt, Mbstring, DomXML, etc. Dans la plupart des distributions actuelles, ces bibliothèques sont préinstallées sur une installation standard de PHP. Sinon, installons-les en utilisant la série de commandes suivante.

Avant d'installer des dépendances, vous devez d'abord activer le référentiel EPEL sous votre système Linux et mettre à jour la base de données du référentiel à l'aide du gestionnaire de paquets yum:

# yum install epel-release
# yum update

Une fois le référentiel activé, vous pouvez maintenant installer le serveur Web Apache et les bibliothèques php comme indiqué:

# yum -y install httpd
# yum -y install php php-gd php-ldap php-pear php-xml php-xmlrpc php-mbstring curl php-mcrypt* php-mysql

--------------- On Fedora 22+ ---------------
# dnf -y install php php-gd php-ldap php-pear php-xml php-xmlrpc php-mbstring curl php-mcrypt* php-mysql

2. Une fois que toutes les extensions PHP requises sont correctement installées, il est temps d'ouvrir les ports Apache HTTP et HTTPS sur le pare-feu.

--------------- On FirewallD for CentOS 7 and Fedora 22+ ---------------
# firewall-cmd --permanent --zone=public --add-service=http
# firewall-cmd --permanent --zone=public --add-service=https
# firewall-cmd --reload
--------------- On IPtables for CentOS 6 and Fedora ---------------
# iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
# iptables -A INPUT -p tcp -m tcp --dport 443 -j ACCEPT
# /etc/init.d/iptables save

Étape 2: Créer une base de données Pydio

3. Pour créer la base de données pydio, le serveur MySQL/MariaDB doit être installé sur le système. Sinon, installez-le.

# yum install mysql mysql-server            [On CentOS/RHEL 6 and Fedora]                 
# yum install mariadb mariadb-server        [On CentOS 7]
# dnf install mariadb mariadb-server        [On Fedora 22+]

Prochaine installation sécurisée de mysql avec la commande mysql_secure_installation et suivez les instructions à l’écran, comme indiqué.

Maintenant, connectez-vous à MySQL, créez un nouvel utilisateur pydio et définissez les privilèges d’octroi comme indiqué:

create database pydio;
create user [email protected] identified by 'tecmint';
grant all privileges on pydio.* to [email protected]'localhost' identified by 'tecmint';

Étape 3: Installation du serveur d'hébergement de fichiers Pydio

4. Nous allons utiliser le référentiel Pydio officiel pour installer la version la plus récente du package Pydio à l'aide de la série de commandes suivante.

# rpm -Uvh http://dl.ajaxplorer.info/repos/pydio-release-1-1.noarch.rpm
# yum update
# yum --disablerepo=pydio-testing install pydio

Étape 4: Configuration du serveur d'hébergement de fichiers Pydio

5. Ensuite, ajoutez la configuration suivante au fichier .htaccess afin d'activer l'accès Pydio sur le Web, comme indiqué:

# vi /var/lib/pydio/public/.htaccess

Ajoutez la configuration suivante.

Order Deny,Allow
Allow from all
<Files ".ajxp_*">
deny from all

RewriteEngine on
RewriteBase pydio_public
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([a-zA-Z0-9_-]+)\.php$ share.php?hash=$1 [QSA]
RewriteRule ^([a-zA-Z0-9_-]+)--([a-z]+)$ share.php?hash=$1&lang=$2 [QSA]
RewriteRule ^([a-zA-Z0-9_-]+)$ share.php?hash=$1 [QSA]

Dans les distributions CentOS 7.x et Fedora 22 + , vous devez modifier et ajouter les lignes suivantes dans le fichier pydio.conf .

Alias /pydio /usr/share/pydio
Alias /pydio_public /var/lib/pydio/public

<Directory "/usr/share/pydio">
        Options FollowSymLinks
        AllowOverride Limit FileInfo
	Require all granted
      	php_value error_reporting 2
</Directory>


<Directory "/var/lib/pydio/public">
        AllowOverride Limit FileInfo
	Require all granted
      	php_value error_reporting 2
</Directory>

6. Ensuite, configurez php.ini pour autoriser le téléchargement de fichier maximum, désactivez la mise en mémoire tampon de la sortie php et augmentez memory_limit pour améliorer les performances de Pydio, comme indiqué:

# vi /etc/php.ini
post_max_size = 1G
upload_max_filesize = 1G
output_buffering = Off
memory_limit = 1024M

7. Définissez maintenant le codage correct du jeu de caractères dans votre définition de paramètres régionaux sous la forme: en_us.UTF-8 . Commencez par rechercher le jeu de caractères lang actuel du système en exécutant la commande suivante.

# echo $LANG

Ouvrez ensuite le fichier /etc/pydio/bootstrap_conf.php et ajoutez la ligne suivante.

define("AJXP_LOCALE", "en_US.UTF-8");

8 . Il est recommandé d'utiliser le cryptage SSL pour sécuriser toutes les connexions Pydio de données sur un réseau HTTPS sécurisé. Pour ce faire, commencez par installer le package mod_ssl , puis ouvrez le fichier suivant et modifiez-le comme indiqué:

# yum install mod_ssl
# vi /etc/pydio/bootstrap_conf.php

Maintenant, décommentez la ligne suivante au bas du fichier. Cela redirigera automatiquement toutes les connexions via HTTPS.

define("AJXP_FORCE_SSL_REDIRECT", true);

9 . Enfin, redémarrez le serveur Web Apache pour prendre en compte les nouvelles modifications.

# systemctl restart httpd.service       [On CentOS 7 and Fedora 22+]
# service httpd restart                 [On CentOS 6 and Fedora]

Étape 5: Démarrer l’assistant d’installation Pydio Web

10 . Ouvrez maintenant votre navigateur Web et tapez l’URL pour charger le programme d’installation Web.

http://localhost/pydio/
OR
http://ip-address/pydio/

Cliquez sur " Assistant de démarrage " et suivez les instructions à l'écran pour l'installateur.

Final

Le stockage en nuage est à la hausse et de nombreuses entreprises se lancent dans la conception de solutions logicielles de partage de fichiers Web telles que Pydio. J'espère que vous trouverez ce tutoriel utile et que si vous connaissez un autre logiciel que vous avez utilisé, ou si vous rencontrez des problèmes lors de l'installation ou de la configuration, faites-le nous savoir en laissant un commentaire. Merci de votre lecture et restez connecté à Tecmint.

Référence: https://pyd.io/