GNU/Linux >> Tutoriels Linux >  >> Panels >> Panels

Utilisation de Pydio dans une installation multiserveur ISPConfig 3

Utilisation de Pydio dans une installation multiserveur ISPConfig 3

Ce guide vous montre comment utiliser pydio (anciennement Ajaxplorer) dans une installation multi-serveur de ISPConfig 3 .

Prérequis

Vous devez configurer ISPConfig 3 sur vos serveurs. La meilleure façon de le faire est de suivre nos tutoriels "serveur parfait".

Préparation

Vous devez décider sur quel serveur vous voulez que pydio réside. Ce sera le serveur sur lequel vos clients accèderont à l'interface pydio.
Nous installerons le logiciel pydio dans un site Web nouvellement créé.
Dans ce guide, nous utilisons une configuration à deux serveurs où le premier (maître) le serveur est server1.mydomain.com avec l'ip 192.168.10.10 et le deuxième serveur (esclave) est server2.mydomain.com avec l'ip 192.168.10.11.
Nous allons installer pydio dans un sous-répertoire /webftp de notre domaine myftpdomain.com qui se trouve sur le serveur esclave.
Veuillez remplacer ces données par celles de vos serveurs.

Créer le site Web

Vous pouvez ignorer cette étape si vous avez déjà créé un site Web ou si vous souhaitez installer pydio dans un sous-répertoire d'un site existant.

Créez le site Web en vous connectant à ISPConfig en tant que client ou administrateur et accédez à l'onglet "Sites".

Cliquez sur le bouton "Ajouter un nouveau site Web" et entrez votre domaine dans le champ "Domaine". Cliquez ensuite sur "Enregistrer".

Installer pydio

Connectez-vous à votre serveur via ssh et modifiez le chemin du site Web.

ssh [email protected]
cd /var/www/myftpdomain.com/web/

Téléchargez maintenant la dernière version de pydio depuis http://pyd.io/download/ ou directement depuis sourceforge. Au moment d'écrire ces lignes, la version 5.2.1 est la plus récente.
N'utilisez pas les packages de distribution ! N'utilisez que le fichier tar.gz ou zip !

Téléchargez et extrayez le package. Renommez ensuite le répertoire extrait.
N'oubliez pas de modifier le propriétaire de tous les fichiers pour qu'il corresponde au propriétaire du site Web. Dans notre cas, il s'agit de l'utilisateur web2 et du groupe client1.

wget -O pydio.tar.gz http://downloads.sourceforge.net/project/ajaxplorer/pydio/stable-channel/5.2.1/pydio-core-5.2.1.tar.gz
tar xzf pydio .tar.gz
mv pydio-core-5.2.1 webftp
rm pydio.tar.gz
chown -R web2:client1 webftp

Ouvrez le fichier webftp/conf/bootstrap_conf.php et décommentez cette ligne :

définir("AJXP_LOCALE", "en_FR.UTF-8");

Vous devrez peut-être modifier la valeur pour qu'elle corresponde à votre système local, par ex. g. changez-le en en_US.UTF-8 ou de_DE.UTF-8.

Vous devriez maintenant pouvoir accéder à l'installation de pydio sur http://myftpdomain.com/webftp/.

Si vous obtenez des avertissements, vérifiez le texte et corrigez-les si nécessaire. Cliquez ensuite sur "cliquez ici pour continuer vers Pydio".

Sur la page d'accueil, cliquez sur "Démarrer l'assistant !".

Remplissez les champs comme ceci :

Accès administrateur
Identifiant administrateur :
Nom d'affichage administrateur :
Mot de passe administrateur :

Options globales
Remplissez les champs selon vos besoins.

Stockage de la configuration
Type de stockage :pas de base de données (démarrage rapide)

Ajouter des utilisateurs
Ne saisissez rien ici.

Cliquez ensuite sur le bouton "Installer pydio maintenant".

Après quelques secondes, vous devriez être redirigé vers l'écran de connexion. Connectez-vous avec l'utilisateur admin et le mot de passe que vous avez saisis à l'étape précédente.

Lors de la première connexion, vous aurez le choix de l'espace de travail à utiliser. Sélectionnez "Mes fichiers" et cochez la case "Utiliser cet espace de travail par défaut". Cliquez ensuite sur "Entrée".

Utilisation de Pydio dans une installation multiserveur ISPConfig 3 - Page 2

Sur votre écran d'accueil, pointez vers le coin supérieur droit et sélectionnez "Paramètres" dans le menu déroulant.

Nous devons faire quelques réglages maintenant. Dans un premier temps, un espace de travail doit être ajouté. Allez dans "Espaces de travail et utilisateurs" -> "Espaces de travail" et cliquez sur le bouton "Nouvel espace de travail" en haut. Dans la fenêtre contextuelle, sélectionnez "FTP Server" comme pilote d'accès et vous obtiendrez une fenêtre comme celle-ci :

Remplissez les champs comme ceci :

Libellé de l'espace de travail :Remplissez comme vous le souhaitez, je préfère "WebFTP"

Connexion
Hôte :localhost
Port : 21
Chemin : /
Sécurisé : Non
Actif : Oui

Takes du serveur FTP
Identifiant utilisateur :1000
Plus rien à changer ici !

FTP dynamique
Transmettre les données FTP via le pilote d'authentification :oui

Identifiants de l'utilisateur
Utilisateur :laissez vide
Mot de passe :laissez vide
Identifiants de session :oui

Filesystem Commons
Dossier Corbeille :vide (!)
Laissez le reste des champs tels quels.

Repository Commons
Droits par défaut :lecture et écriture
Alias :ISPConfigFTP
Laissez le reste des champs tels quels.

Une fois que vous avez cliqué sur le bouton "Suivant" dans le coin inférieur droit, vous devriez obtenir quelque chose comme ceci :

Configuration supplémentaire

Allez dans "Configuration globale" -> "Plugins de fonctionnalités" -> "Accès"

Double-cliquez sur l'entrée "Tableau de bord utilisateur" et définissez l'option "Disponible" sur "Non" et cliquez sur "Enregistrer" dans le coin supérieur droit.

Déconnectez-vous maintenant du panneau d'administration (coin supérieur droit) et vous serez redirigé vers l'écran de connexion.

Modifier le code pour accéder à ISPConfig

Nous devrons modifier certains fichiers de code de pydio afin qu'il utilise l'API de communication à distance d'ISPConfig. Nous avons d'abord besoin d'une utilisation à distance de configuration dans ISPConfig.

Connectez-vous à ISPConfig en tant qu'administrateur et cliquez sur l'onglet "Système" et sur "Utilisateurs distants". Cliquez sur le bouton "Ajouter un nouvel utilisateur".

Entrez le nom d'utilisateur et le mot de passe de l'utilisateur distant et cochez les cases "Fonctions du serveur" et "Fonctions de l'utilisateur FTP des sites". Cliquez ensuite sur "Enregistrer".

Utilisation de Pydio dans une installation multiserveur ISPConfig 3 - Page 3

Maintenant (ré-)ouvrez la console ssh du serveur et accédez au dossier webftp que vous avez créé lors de l'installation de pydio.

Modifiez le fichier conf/bootstrap_repositories.php

/* * Copyright 2007-2013 Charles du Jeu - Abstrium SAS  * Ce fichier fait partie de Pydio. * * Pydio est un logiciel libre :vous pouvez le redistribuer et/ou le modifier * selon les termes de la licence publique générale GNU Affero telle que publiée par * la Free Software Foundation, soit la version 3 de la licence, soit * (à votre choix) toute version ultérieure. * * Pydio est distribué dans l'espoir qu'il sera utile, * mais SANS AUCUNE GARANTIE; sans même la garantie implicite de * QUALITÉ MARCHANDE ou D'ADÉQUATION À UN USAGE PARTICULIER. Voir la licence publique générale * GNU Affero pour plus de détails. * * Vous devriez avoir reçu une copie de la licence publique générale GNU Affero * avec Pydio. Si ce n'est pas le cas, consultez . * * Le dernier code peut être trouvé sur . * * Description :fichier de configuration * CONFIGURATION DE BASE DU REPOSITORY. * Le référentiel standard pointera vers le chemin des données (ajaxplorer/data par défaut), dossier "files" * Utilisez l'interface graphique pour ajouter de nouveaux référentiels. * + Connectez-vous en tant qu'"admin" et ouvrez le référentiel "Paramètres" */defined('AJXP_EXEC') ou die( 'Accès non autorisé');// ADMIN REPOSITORY$REPOSITORIES["ajxp_conf"] =array( "DISPLAY" => "Paramètres", "DISPLAY_ID" => "165", "DESCRIPTION_ID" => "506", "DRIVER" => "ajxp_conf", "DRIVER_OPTIONS"=> array());

Ouvrez le fichier plugins/auth.ftp/class.ftpAuthDriver.php et recherchez ceci (vers la ligne 110) :

fonction setFtpDataCallback($actionName, $httpVars, $fileVars){

Ajoutez cette fonction à la classe juste en dessous de la fonction "logoutCallback". Remplacez les valeurs par les vôtres :

 function get_ispc_host($username) { // se connecte à ispc via la communication à distance et lit l'utilisateur ftp $server =''; $login =''; $pass =''; $soap_location ='https://pathtoispconfig:8080/remote/index.php'; $soap_uri ='https://pathtoispconfig:8080/remote/'; $client =new SoapClient(null, array('location' => $soap_location, 'uri' => $soap_uri)); try { //* Connectez-vous au serveur distant if($session_id =$client->login($login,$pass)) { $check =$client->sites_ftp_user_server_get($session_id, $username); if($check) { $server =isset($check['ip_address']) ? $check['ip_address'] :$check['hostname'] ; } if($client->logout($session_id)) { } } } catch (SoapFault $e) { } return ($server !='' ? $server :'localhost'); } 

Dans le même fichier recherchez la fonction "setFTPDataCallback" qui devrait se trouver juste en dessous. Ajoutez le code suivant au début des fonctions pour qu'il ressemble à ceci :

 public function setFtpDataCallback($actionName, $httpVars, $fileVars) { if(isset($httpVars['userid'])) { // récupère l'hôte depuis ispconfig $httpVars['FTP_HOST'] =$this->get_ispc_host ($httpVars['userid']); } $options =array("CHARSET", "FTP_DIRECT", "FTP_HOST", "FTP_PORT", "FTP_SECURE", "PATH"); $ftpOptions =tableau(); [...] }

Ouvrez le fichier plugins/access.ftp/class.ftpAccessDriver.php et ajoutez "return true ;" au début de la fonction "isWriteable":

 public function isWriteable($path, $type="dir"){ return true ; $parts =parse_url($path); [...] }

Ouvrez data/plugins/boot.conf/bootstrap.json et faites-le ressembler

{ "core.conf":{ "USER_CREATE_REPOSITORY":false, "SAVE_GUEST_PREFERENCES":false, "SKIP_USER_HISTORY":false, "USERS_LIST_COMPLETE_LIMIT":"20", "USERS_LIST_COMPLETE_MIN_CHARS":"3", "USERS_LIST_HIDE_LOGIN":false , "ALLOW_CROSSUSERS_SHARING":false, "UNIQUE_INSTANCE_CONFIG":{ "instance_name":"conf.serial", "group_switch_value":"conf.serial" } }, "core.auth":{ "ENABLE_USERS":true, "CASE_SENSITIVE" :true, "ALLOW_GUEST_BROWSING":false, "PASSWORD_MINLENGTH":"6", "SESSION_SET_CREDENTIALS":true, "SECURE_LOGIN_FORM":false, "MASTER_INSTANCE_CONFIG":{ "instance_name":"auth.ftp", "TRANSMIT_CLEAR_PASS":true, "REPOSITORY_ID":"", "LOGIN_REDIRECT":"", "FTP_LOGIN_SCREEN":true, "AUTOCREATE_AJXPUSER":false, "AJXP_ADMIN_LOGIN":"", "group_switch_value":"auth.ftp" }, "MULTI_MODE" :{ "instance_name":"MASTER_SLAVE", "group_switch_value":"MASTER_SLAVE" }, "MULTI_USER_BASE_DRIVER" :"", "SLAVE_INSTANCE_CONFIG":[ ], "SLAVE_INSTANCE_CONFIG_group_switch":"" }}

Remplacez par le hash md5 que vous trouvez dans le fichier data/plugins/conf.serial/aliases.ser .

Ouvrez le fichier plugins/auth.ftp/manifest.xml. Vous devez changer quelques lignes là-dedans.

Autour de la ligne 53 :
if(el.name !="userid" &&el.name!="password" &&el.name !="get_action" &&el.name!="login_seed"){
supprimer le el.name !="userid" && partie de sorte qu'il ressemble à ceci :
if(el.name!="password" &&el.name !="get_action" &&el.name!="login_seed"){

Autour de la ligne 79 :

AJXP_MESSAGE[ftp_auth.1]

ajoutez ceci directement derrière :

il ressemble donc à ceci :
AJXP_MESSAGE[ftp_auth.1]


(Si vous souhaitez accorder l'accès au répertoire de base au lieu du répertoire Web, par exemple si vous souhaitez également accéder au dossier "privé", remplacez simplement le "/web" par "/" dans le dernier champ de saisie masqué.)

Autour de la ligne 82 :
Supprimez ces trois lignes du fichier :

AJXP_MESSAGE[ftp_auth.2] AJXP_MESSAGE[ftp_auth.8]  


Autour de la ligne 86 (après suppression des lignes précédentes) :
Supprimez les 13 lignes du fichier. Cette section commence par :


AJXP_MESSAGE[ftp_auth.3]

et se termine par
AJXP_MESSAGE[ftp_auth.7]


Enregistrez vos modifications.

IMPORTANT! Vous devez maintenant vider le cache de données :

rm données/cache/*.ser

Maintenant, vous avez terminé. Une fois que vous rechargez votre écran de connexion pydio dans le navigateur, vous serez invité avec un écran légèrement différent qu'avant :



Vous pouvez maintenant vous connecter avec chaque utilisateur ftp que vous créez dans ISPConfig, peu importe sur quel serveur de votre configuration multi-serveur il réside. Amusez-vous.


Panels
  1. Installation automatisée de Perfect Server ISPConfig 3 sur Debian 10 - 11 et Ubuntu 20.04

  2. Installation automatisée de Perfect Server ISPConfig 3 sur Debian 10 - 11 et Ubuntu 20.04

  3. Installation du serveur VNC sur OpenSuse 13.2

  4. Installation minimale du serveur ?

  5. Installation de Wordpress sur un serveur exécutant ISPconfig 2.x

Installation du serveur Samba sur OpenSuse 13.2

Installation du serveur Samba sur Ubuntu 15.10

Utilisation de WebDAV avec ISPConfig 3 sur Ubuntu 9.10

Comment configurer un multisite Gallery2 sur un serveur ISPConfig

Le serveur parfait - Ubuntu 11.04 [ISPConfig 3]

Le serveur parfait - Ubuntu 11.10 [ISPConfig 3]