GNU/Linux >> LINUX-Kenntnisse >  >> Panels >> Panels

Verwenden von Pydio in einer ISPConfig 3 Multiserver-Installation

Pydio in einer ISPConfig 3 Multiserver-Installation verwenden

Dieses Howto zeigt Ihnen, wie Sie pydio verwenden können (ehemals Ajaxplorer) in einer Multi-Server-Installation von ISPConfig 3 .

Voraussetzungen

Sie müssen ISPConfig 3 auf Ihren Servern einrichten. Der beste Weg, dies zu tun, ist, unseren "perfekten Server"-Tutorials zu folgen.

Vorbereitung

Sie müssen entscheiden, auf welchem ​​Server Pydio gespeichert werden soll. Dies wird der Server sein, auf dem Ihre Kunden auf die Pydio-Schnittstelle zugreifen.
Wir werden die Pydio-Software in einem neu erstellten Web installieren.
In diesem Howto verwenden wir ein Zwei-Server-Setup, bei dem der erste (Master) Server ist server1.mydomain.com mit IP 192.168.10.10 und der zweite (Slave-)Server ist server2.mydomain.com mit IP 192.168.10.11.
Wir werden pydio in einem Unterverzeichnis /webftp unserer Domain myftpdomain.com installieren die auf dem Slave-Server liegt.
Bitte ersetzen Sie diese Daten durch die von Ihren Servern.

Website erstellen

Sie können dies überspringen, wenn Sie bereits eine Website erstellt haben oder pydio in einem Unterverzeichnis einer vorhandenen Website installieren möchten.

Erstellen Sie die Website, indem Sie sich als Client oder Administrator bei ISPConfig anmelden und zu gehen die Registerkarte "Websites".

Klicken Sie auf die Schaltfläche „Neue Website hinzufügen“ und geben Sie im Feld „Domain“ Ihre Domain ein. Klicken Sie dann auf "Speichern".

Pydio installieren

Melden Sie sich per ssh auf Ihrem Server an und wechseln Sie zum Website-Pfad.

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

Laden Sie jetzt die neueste Version von Pydio von http://pyd.io/download/ oder direkt von Sourceforge herunter. Zum Zeitpunkt der Erstellung dieses Artikels ist Version 5.2.1 die aktuellste.
Verwenden Sie nicht die Distributionspakete! Verwenden Sie nur tar.gz oder zip!

Laden Sie das Paket herunter und extrahieren Sie es. Benennen Sie dann das extrahierte Verzeichnis um.
Vergessen Sie nicht, den Eigentümer aller Dateien so zu ändern, dass er mit dem Eigentümer der Website übereinstimmt. In unserem Fall sind dies der Benutzer web2 und die Gruppe 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

Öffnen Sie die Datei webftp/conf/bootstrap_conf.php und kommentieren Sie diese Zeile aus:

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

Möglicherweise müssen Sie den Wert an Ihr lokales System anpassen, z. g. ändern Sie es in en_US.UTF-8 oder de_DE.UTF-8.

Sie sollten jetzt auf die Pydio-Installation unter http://myftpdomain.com/webftp/ zugreifen können.

Wenn Sie dort Warnungen erhalten, überprüfen Sie den Text und korrigieren Sie sie gegebenenfalls. Klicken Sie dann auf "Klicken Sie hier, um mit Pydio fortzufahren".

Klicken Sie auf der Willkommensseite auf "Assistent starten!".

Füllen Sie die Felder wie folgt aus:

Administratorzugriff
Admin-Login:
Admin-Anzeigename:
Admin-Passwort:

Globale Optionen
Füllen Sie die Felder nach Ihren Bedürfnissen aus.

Konfigurationsspeicherung
Speichertyp:Keine Datenbank (Schnellstart)

Einige Benutzer hinzufügen
Geben Sie hier nichts ein.

Klicken Sie dann auf die Schaltfläche "Pydio jetzt installieren".

Nach einigen Sekunden sollten Sie zum Anmeldebildschirm weitergeleitet werden. Melden Sie sich mit dem Admin-Benutzer und dem Passwort an, das Sie im vorherigen Schritt eingegeben haben.

Bei der ersten Anmeldung haben Sie die Wahl, welchen Arbeitsbereich Sie verwenden möchten. Wählen Sie „Meine Dateien“ und aktivieren Sie das Kontrollkästchen „Diesen Arbeitsbereich als Standard verwenden“. Klicken Sie dann auf "Enter".

Pydio in einer ISPConfig 3 Multiserver-Installation verwenden - Seite 2

Zeigen Sie auf Ihrem Startbildschirm auf die rechte obere Ecke und wählen Sie „Einstellungen“ aus dem Dropdown-Menü aus.

Wir müssen jetzt einige Einstellungen vornehmen. Zunächst muss ein Arbeitsbereich hinzugefügt werden. Gehen Sie zu „Arbeitsbereiche &Benutzer“ -> „Arbeitsbereiche“ und klicken Sie oben auf die Schaltfläche „Neuer Arbeitsbereich“. Wählen Sie im Popup "FTP-Server" als Zugriffstreiber und Sie erhalten ein Fenster wie dieses:

Füllen Sie die Felder wie folgt aus:

Workspace Label:Füllen Sie es nach Belieben aus, ich bevorzuge "WebFTP"

Connexion
Host:localhost
Port:21
Pfad:/
Sicher:Nein
Aktiv:Ja

FTP Server Teaks
Benutzer-ID:1000
Hier gibt es nichts mehr zu ändern!

Dynamisches FTP
FTP-Daten durch Auth-Treiber weiterleiten:Ja

Benutzeranmeldeinformationen
Benutzer:leer lassen
Passwort:leer lassen
Sitzungsdaten:Ja

Filesystem Commons
Papierkorbordner:leer(!)
Lassen Sie die restlichen Felder unverändert.

Repository Commons
Standardrechte:Lesen und Schreiben
Alias:ISPConfigFTP
Lassen Sie die restlichen Felder unverändert.

Sobald Sie auf die Schaltfläche "Weiter" in der unteren rechten Ecke klicken, sollten Sie etwa Folgendes erhalten:

Weitere Konfiguration

Gehen Sie zu „Globale Konfiguration“ -> „Funktions-Plugins“ -> „Zugriff“

Doppelklicken Sie auf den Eintrag "Benutzer-Dashboard", setzen Sie die Option "Verfügbar" auf "Nein" und klicken Sie in der oberen rechten Ecke auf "Speichern".

Melden Sie sich jetzt vom Admin-Panel (obere rechte Ecke) ab und Sie werden zum Anmeldebildschirm weitergeleitet.

Code ändern, um auf ISPConfig zuzugreifen

Wir müssen einige Codedateien von Pydio ändern, damit es die Remoting-API von ISPConfig verwendet. Zuerst müssen wir eine Remoting-Nutzung in ISPConfig einrichten.

Melden Sie sich als Administrator bei ISPConfig an und klicken Sie auf die Registerkarte "System" und auf "Remote-Benutzer". Klicken Sie auf die Schaltfläche "Neuen Benutzer hinzufügen".

Geben Sie den Benutzernamen und das Passwort für den Remote-Benutzer ein und aktivieren Sie die Kontrollkästchen "Serverfunktionen" und "Sites FTP-Benutzerfunktionen". Klicken Sie dann auf "Speichern".

Pydio in einer ISPConfig 3 Multiserver-Installation verwenden - Seite 3

Öffnen Sie nun (erneut) die Server-SSH-Konsole und navigieren Sie zu dem Ordner webftp, den Sie während der Pydio-Installation erstellt haben.

Bearbeiten Sie die conf/bootstrap_repositories.php

/*
 * Copyright 2007-2013 Charles du Jeu - Abstrium SAS <team (at) pyd.io>
 * This file is part of Pydio.
 *
 * Pydio is free software: you can redistribute it and/or modify
 * it under the terms of the GNU Affero General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * Pydio is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU Affero General Public License for more details.
 *
 * You should have received a copy of the GNU Affero General Public License
 * along with Pydio.  If not, see <http://www.gnu.org/licenses/>.
 *
 * The latest code can be found at <http://pyd.io/>.
 *
 * Description : configuration file
 * BASIC REPOSITORY CONFIGURATION.
 * The standard repository will point to the data path (ajaxplorer/data by default), folder "files"
 * Use the GUI to add new repositories.
 *   + Log in as "admin" and open the "Settings" Repository
 */
defined('AJXP_EXEC') or die( 'Access not allowed');

// ADMIN REPOSITORY
$REPOSITORIES["ajxp_conf"] = array(
    "DISPLAY"           =>      "Settings",
    "DISPLAY_ID"                =>      "165",
    "DESCRIPTION_ID"    =>      "506",
    "DRIVER"            =>      "ajxp_conf",
    "DRIVER_OPTIONS"=> array()
);

Öffnen Sie die Datei plugins/auth.ftp/class.ftpAuthDriver.php und suchen Sie danach (ca. Zeile 110):

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

Fügen Sie diese Funktion der Klasse direkt unter der Funktion "logoutCallback" hinzu. Ersetzen Sie die Werte durch Ihre:

       function get_ispc_host($username) {
			// connect to ispc via remoting and read ftp user
			$server = '';
			$login = '<your remote user>';
			$pass = '<your remote user password>';


			$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 {
				//* Login to the remote server
				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');
        }

Suchen Sie in derselben Datei nach der Funktion "setFTPDataCallback", die sich direkt darunter befinden sollte. Fügen Sie den folgenden Code am Anfang der Funktionen hinzu, damit es so aussieht:

    public function setFtpDataCallback($actionName, $httpVars, $fileVars)
    {
               if(isset($httpVars['userid'])) {
                       // get host from ispconfig                      
                       $httpVars['FTP_HOST'] = $this->get_ispc_host($httpVars['userid']);
               }
        $options = array("CHARSET", "FTP_DIRECT", "FTP_HOST", "FTP_PORT", "FTP_SECURE", "PATH");
        $ftpOptions = array();
      [...]
    }

Öffnen Sie die Datei plugins/access.ftp/class.ftpAccessDriver.php und fügen Sie „return true;“ hinzu. an den Anfang der Funktion "isWriteable":

        public function isWriteable($path, $type="dir"){
               return true;

               $parts = parse_url($path);
               [...]
        }

Öffnen Sie data/plugins/boot.conf/bootstrap.json und lassen Sie es so aussehen

{
  "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":"<YOUR_VALUE>",
      "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":""
  }
}

Ersetzen Sie durch den md5-Hash, den Sie in der Datei data/plugins/conf.serial/aliases.ser finden .

Öffnen Sie die Datei plugins/auth.ftp/manifest.xml. Sie müssen dort einige Zeilen ändern.

Um Zeile 53 herum:
if(el.name !="userid" &&el.name!="password" &&el.name !="get_action" &&el.name!="login_seed"){
entfernen Sie el.name !="userid" && teil, sodass es so aussieht:
if(el.name!="password" &&el.name !="get_action" &&el.name!="login_seed"){

Ungefähr Zeile 79:

AJXP_MESSAGE[ftp_auth.1]

Fügen Sie dies direkt hinter:

Das sieht also so aus:
AJXP_MESSAGE[ftp_auth.1]


(Wenn Sie Zugriff auf das Basisverzeichnis anstelle des Webverzeichnisses gewähren möchten, z. B. wenn Sie auch auf den "privaten" Ordner zugreifen möchten, ändern Sie einfach das "/web" in "/" im letzten versteckten Eingabefeld.)

Ungefähr Zeile 82:
Entfernen Sie diese drei Zeilen aus der Datei:

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


Ungefähr bei Zeile 86 (nach dem Löschen der vorherigen Zeilen):
Entfernen Sie alle 13 Zeilen aus der Datei. Dieser Abschnitt beginnt mit:


AJXP_MESSAGE[ftp_auth.3]

und endet mit
AJXP_MESSAGE[ftp_auth.7]


Speichern Sie Ihre Änderungen.

WICHTIG! Jetzt müssen Sie den Datencache löschen:

rm data/cache/*.ser

Jetzt sind Sie fertig. Sobald Sie Ihren Pydio-Anmeldebildschirm im Browser neu laden, werden Sie mit einem etwas anderen als zuvor aufgefordert:



Sie können sich jetzt mit jedem FTP-Benutzer anmelden, den Sie in ISPConfig erstellen, egal auf welchem ​​Server Ihres Multi-Server-Setups es sich befindet. Habe Spaß.


Panels
  1. Perfect Server Automated ISPConfig 3 Installation auf Debian 10 - 11 und Ubuntu 20.04

  2. Perfect Server Automated ISPConfig 3 Installation auf Debian 10 - 11 und Ubuntu 20.04

  3. VNC-Server-Installation auf OpenSuse 13.2

  4. Minimale Serverinstallation?

  5. Installation von Wordpress auf einem Server mit ISPconfig 2.x

Samba-Server-Installation auf OpenSuse 13.2

Samba-Server-Installation auf Ubuntu 15.10

Verwenden von WebDAV mit ISPConfig 3 unter Ubuntu 9.10

So richten Sie eine Gallery2-Multisite auf einem ISPConfig-Server ein

Der perfekte Server - Ubuntu 11.04 [ISPConfig 3]

Der perfekte Server - Ubuntu 11.10 [ISPConfig 3]