So hosten Sie einen Dateifreigabeserver mit Pydio unter Ubuntu 14.04

Einführung

Mit zunehmender Akzeptanz der Cloud werden immer mehr Daten remote gespeichert. Von Musik über Bilder bis hin zu persönlichen Dokumenten laden viele Benutzer Dateien auf Server hoch, die sie nicht verwalten. Wenn Sie Ihre Dateien lieber auf einem Server speichern möchten, den Sie steuern, können Sie Ihren eigenen Dropbox-ähnlichen Dateifreigabeserver unter Pydio (ehemals AjaXplorer) hosten.

Pydio bietet viele der gleichen Funktionen wie andere Dateisynchronisierungsdienste: eine Weboberfläche, native Clients für Mac, Windows und Linux, mobile Clients für iOS und Android sowie die Möglichkeit, Dateien für andere Pydio-Benutzer oder die Öffentlichkeit freizugeben.

Tore

In diesem Artikel stellen wir eine einfache Pydio-Installation vor, die auch ohne leistungsstarke Hardware einwandfrei funktioniert. Wie viele Open Source-Projekte der Enterprise-Klasse hat Pydio eine Community-Edition und eine Enterprise-Edition. Wir installieren die Community Edition.

In Bezug auf unseren Software-Stack verwenden wir Postfix für den E-Mail-Support. Standardmäßig kann PHP keine E-Mails senden. Wenn Sie eine leichtere Lösung wünschen, können Sie "+ ssmtp +" installieren. Dieses Setup verwendet jedoch Postfix, da es nur minimale Anpassungen erfordert, damit PHP dies unterstützt. Beachten Sie, dass das Aktivieren des E-Mail-Supports nicht erforderlich ist, aber die Dinge viel einfacher macht. Andernfalls kann Pydio keine E-Mails zum Zurücksetzen des Kennworts oder Begrüßungs-E-Mails senden.

Wir bleiben auch bei Apache als unserem Webserver (der Einfachheit halber) und einer SQLite-Datenbank (anstelle von MySQL für weniger bewegliche Teile). Dieses Setup eignet sich hervorragend, wenn die Gruppe, die Pydio verwendet, nicht groß ist oder nicht viele Daten gleichzeitig auf den Server überträgt. Wenn Sie jedoch etwas mit etwas mehr Leistung benötigen, finden Sie im Fazit einige Richtlinien zur Verbesserung der Leistung.

Voraussetzungen

Um diesem Tutorial zu folgen, benötigen Sie:

Wir stellen auch SSL-Zertifikate für Ihre Domain mit Let’s Encrypt ein. Sie folgen dieses Tutorial zum Verschlüsseln mit Apache Zur Vereinfachung der Einrichtung werden wir dies jedoch erst einrichten, wenn Pydio in Schritt 3 installiert wird.

Wenn Sie mehr über die Funktionsweise von SSL / TLS-Zertifikaten erfahren möchten, lesen Sie bitte https://www.digitalocean.com/community/tutorials/openssl-essentials-working-with-ssl-certificates-private-keys-and -csrs [dieser OpenSSL-Essentials-Artikel].

Schritt 1 - Pydio installieren

In diesem Schritt installieren wir die Abhängigkeiten von Pydio und Pydio selbst.

Aktualisieren Sie zunächst Ihren Paketindex.

sudo apt-get update

Installieren Sie jetzt PHP.

sudo apt-get install php5 libapache2-mod-php5

Als nächstes müssen wir die Pydio-Tar-Datei herunterladen und auf unserem Webserver dekomprimieren. Der Pydio-Download wird unter SourceForge gehostet. Klicken Sie sich durch, um den Spiegel zu finden, der Ihrem geografischen Standort am nächsten ist, oder verwenden Sie einfach den folgenden Link, um den UK-Spiegel zu verwenden.

Zum Zeitpunkt der Veröffentlichung ist Pydio auf Version 6.2.2. Sie können überprüfen, ob Pydio aktualisiert wurde, und in diesem Fall die neueste Version von SourceForge herunterladen.

Laden Sie die Pydio tar-Datei in Ihr Home-Verzeichnis herunter.

wget -P ~/

Dekomprimieren Sie den Tarball.

tar -xvzf ~/pydio-core-.tar.gz

Verschieben Sie es dann an den Standardspeicherort für Websites auf einem Ubuntu-Server, + / var / www +.

sudo mv ~/pydio-core- /var/www/pydio

Sobald das Verzeichnis eingerichtet ist, müssen wir seine Berechtigungen ändern, damit Apache Daten speichern und Konfigurationsdateien aktualisieren kann.

sudo chown -R www-data:www-data /var/www/pydio

Schritt 2 - Einrichten von PHP-Modulen

Wenn Pydio installiert ist, müssen wir einige Abhängigkeiten installieren und einrichten, damit Pydio ordnungsgemäß funktioniert. In diesem Schritt werden viele Änderungen vorgenommen und wir werden nach jedem Schritt aufgefordert, Apache neu zu starten. Sie können dies tun, wenn Sie möchten. Hier warten wir jedoch bis zum Ende des gesamten Setups und starten Apache einmal neu.

Zuerst installieren und aktivieren wir die zusätzlichen PHP-Module, die wir benötigen.

sudo apt-get install php5-mcrypt php5-gd php5-sqlite

Eines dieser PHP-Module, "+ mcrypt ", ist standardmäßig nicht aktiviert. Wir können es mit ` phpenmod +` aktivieren.

sudo php5enmod mcrypt

Zusätzlich zur Installation und Aktivierung einiger PHP-Module müssen wir das Apache-Modul "+ a2enmod +" aktivieren, da der Synchronisierungsclient sonst nicht funktioniert.

sudo a2enmod rewrite

Nachdem PHP vollständig installiert ist, müssen wir einige Änderungen in der Datei + php.ini + vornehmen. Es gibt drei Zeilen, die aktualisiert werden müssen. Bearbeiten Sie die Datei "+ php.ini" mit Ihrem bevorzugten Editor wie "+ nano +".

sudo nano /etc/php5/apache2/php.ini

Suchen Sie die Zeile mit + output_buffering = 4096 + und ändern Sie + 4096 + in + Off +.

/Etc/php5/apache2/php.ini aktualisiert

; Default Value: Off
; Development Value: 4096
; Production Value: 4096
; http://php.net/output-buffering
output_buffering =

Suchen Sie als Nächstes nach "+ upload_max_filesize = 2M " und ändern Sie " 2M " in eine beliebige Zahl wie " 1G +". (M steht für MB und G für GB.)

/Etc/php5/apache2/php.ini aktualisiert

; Maximum allowed size for uploaded files.
; http://php.net/upload-max-filesize
upload_max_filesize =

Suchen Sie abschließend nach "+ post_max_size = 8M " und ändern Sie die gleiche Nummer wie " upload_max_filesize +" oder größer. Wenn Sie glauben, dass mehrere große Uploads gleichzeitig ausgeführt werden, oder wenn mehrere Benutzer gleichzeitig das System verwenden, können Sie eine größere Anzahl auswählen.

/Etc/php5/apache2/php.ini aktualisiert

; Maximum size of POST data that PHP will accept.
; Its value may be 0 to disable the limit. It is ignored if POST data reading
; is disabled through enable_post_data_reading.
; http://php.net/post-max-size
post_max_size =

Sie können + / etc / php5 / apache2 / php.ini speichern und schließen. Dies ist Apaches + php.ini + Datei; Öffnen Sie als nächstes die Befehlszeilenzugriffsdatei "+ php.ini " unter " /etc/php5/cli/php.ini +".

sudo nano /etc/php5/cli/php.ini

Nehmen Sie in dieser Datei dieselben drei Änderungen wie oben vor, speichern und schließen Sie sie.

Schritt 3 - Apache konfigurieren

In diesem Schritt passen wir unsere Apache-Konfiguration an.

Erstellen und öffnen Sie zunächst eine neue Datei mit dem Namen "+ pydio.conf +" mit Ihrem bevorzugten Texteditor.

sudo nano /etc/apache2/sites-available/pydio.conf

Die folgende Apache-Konfiguration ist eine Kopie der Konfigurationsdatei "+ 000-default +", wobei die Kommentare entfernt und einige zusätzliche Blöcke für diese spezielle Pydio-Installation hinzugefügt wurden, wie z. B. das Dokumentstammverzeichnis und die Protokolldateien.

/etc/apache2/sites-available/pydio.conf

<VirtualHost *:80>
   ServerAdmin @
   ServerName
   DocumentRoot /var/www/pydio

   ErrorLog ${APACHE_LOG_DIR}/pydio-error.log
   CustomLog ${APACHE_LOG_DIR}/pydio-access.log combined

   <Directory /var/www/pydio/>
       AllowOverride All
   </Directory>
</VirtualHost>

Bevor Sie dies kopieren und in die Datei "+ pydio.conf +" einfügen, gehen wir noch einmal die Inhalte durch:

  • + <VirtualHost *: 80> + definiert einen virtuellen Host_, mit dem mehrere Sites auf einem einzigen Server gehostet werden können. Diese Zeile definiert speziell diesen virtuellen Host als Standardstandort auf diesem Server und stellt eine Verbindung über Port 80 her.

  • + ServerAdmin + definiert eine E-Mail-Adresse, an die Apache Fehler senden kann, wenn die Fehlerbehandlung so eingerichtet ist.

  • + Servername + ist der DNS-Name für den Pydio-Server oder die IP Ihres Servers. Wenn Sie mit einer IP-Adresse beginnen und diese später ändern möchten, können Sie dies tun oder die IP-Adresse verlassen, aber eine Zeile "+ ServerAlias ​​+" mit einem neuen DNS-Namen hinzufügen. beides wird funktionieren.

  • In + DocumentRoot + wird die Website auf Ihrem Droplet gespeichert, das Apache zum Hochfahren des Servers benötigt.

  • + ErrorLog + und + CustomLog + definieren, wo die Apache-Protokolle gespeichert werden sollen. Diese Protokolloptionen können ziemlich kompliziert werden, wenn Sie ein sehr benutzerdefiniertes Protokollierungssetup benötigen, aber diese Standardeinstellungen funktionieren für unsere Zwecke.

Fügen Sie diese Konfiguration in die Datei ein, speichern und schließen Sie sie. Mit unseren Apache-Konfigurationsdateien müssen wir jetzt die Standard-Apache-Konfiguration deaktivieren.

sudo a2dissite 000-default

Aktivieren Sie nun unsere beiden Konfigurationsdateien.

sudo a2ensite pydio

In den Voraussetzungen haben wir erwähnt, dass wir Let’s Encrypt einrichten würden, um die SSL / TLS-Verschlüsselung zu aktivieren. Dies schützt unsere Anmeldeinformationen und Daten vor Personen, die Pakete in unserem lokalen Netzwerk oder über das Internet abhören können. Da wir Apache als Webserver verwenden, unterstützt Let’s Encrypt die automatische Konfiguration von Apache für uns. Zur Vereinfachung haben wir Apache ohne SSL eingerichtet. Wenn wir das Skript "Automatisch verschlüsseln" ausführen, wird alles für uns eingerichtet.

Jetzt ist es Zeit, der Lets Encrypt on Apache Tutorial zu folgen. . Verwenden Sie Ihren FQDN, den Sie während des Setups von Let’s Encrypt ausgewählt haben, und das Installationsskript wird unsere Apache-Konfiguration anzeigen und eine SSL-Version für Sie erstellen.

Stellen Sie sicher, dass Sie "+ pydio.conf +" wählen, wenn Sie gefragt werden, welchen virtuellen Host Sie auswählen möchten. Da wir möchten, dass unsere Verbindung immer sicher ist, stellen Sie sicher, dass Sie * Sichern - Alle Anfragen umleiten, um den HTTPS-Zugriff zu sichern *, wenn Sie vom Let’s Encrypt-Skript dazu aufgefordert werden.

Schließlich können wir Apache neu starten, damit die Änderungen wirksam werden.

sudo service apache2 restart

Schritt 4 - Anpassen der PHP Mailer-Unterstützung

Postfix sollte von den Voraussetzungen installiert werden. Als Nächstes möchten wir eine schnelle Änderung vornehmen, um zu verhindern, dass andere als lokale Apps darauf zugreifen.

Um diese Änderung vorzunehmen, müssen wir die Postfix-Konfigurationsdatei "+ / etc / postfix / main.cf +" bearbeiten.

sudo nano /etc/postfix/main.cf

Suchen Sie nach der Zeile "+ inet_interfaces" und aktualisieren Sie sie von "+ all" zu "+ localhost".

/etc/postfix/main.cf

. . .
recipient_delimiter = +
inet_interfaces =
inet_protocols = all
. . .

Starten Sie nun den Postfix-Dienst neu, um die Änderungen zu aktivieren.

sudo service postfix restart

Schritt 5 - Beenden des Pydio-Setups

Pydio ist installiert; In diesem Schritt sind wir mit dem Einrichten fertig.

Besuchen Sie "+ https: // +" in Ihrem bevorzugten Browser. Die erste Seite, die Sie sehen, trägt die Bezeichnung * Pydio Diagnostic Tool *. In der Liste auf dieser Seite ist das oberste Element eine Warnung zu * Server-Zeichensatzkodierung *. Wir werden das gleich beheben. Solange dies die einzige Warnung ist und die restlichen Elemente * OK * sind, klicken Sie auf die Schaltfläche * HIER KLICKEN, um mit PYDIO fortzufahren *.

Klicken Sie auf die Schaltfläche * Start Wizard> *, wenn Sie dazu aufgefordert werden. Füllen Sie auf der ersten Seite für * Hauptoptionen * die Felder aus:

  • * Application Title *, was in der Titelleiste des Browsers angezeigt wird

  • * Willkommensnachricht *, die auf dem Anmeldebildschirm angezeigt wird

  • * Administrator Login *, der Benutzername des Administrators

  • * Admin Display Name *, wie es sich anhört

  • Administrator-Passwort

Wenn Sie alles ausgefüllt haben, drücken Sie die rote Taste * >> * unten rechts.

image: https://assets.digitalocean.com/articles/pydio/H6sSWHv.png [Hauptoptionen des Pydio-Installationsprogramms]

Wählen Sie auf der zweiten Seite für * Database Connexion * * Sqlite 3 * aus dem Pulldown-Menü * Database * aus. Ändern Sie nicht die Dateizeile, in der die SQLite-Datenbank gespeichert wird. Klicken Sie auf die Schaltfläche * Verbindung testen *, um sicherzustellen, dass alles funktioniert. Sie sollten ein grünes Kästchen am unteren Bildschirmrand sehen, wenn der Test erfolgreich war. Klicken Sie anschließend auf die Schaltfläche * >> *, um fortzufahren.

In Stufe 3 für * Erweiterte Optionen * werden die meisten Dinge automatisch erkannt. Sie müssen nur bestätigen, dass sie korrekt sind. Das einzige, was wir tun müssen, ist die Aktivierung des E-Mail-Supports.

  • Wählen Sie für * E-Mails aktivieren * * Ja * aus dem Pulldown-Menü

  • Wählen Sie für * Php Mailer * * Mail *

  • Geben Sie Ihre E-Mail-Adresse für die * Administrator-E-Mail * ein

Klicken Sie auf die Schaltfläche * Versuchen Sie, eine E-Mail mit den konfigurierten Daten zu senden *, um sicherzustellen, dass alles funktioniert.

Schließen Sie die Installation ab, indem Sie auf die Schaltfläche * Install Pydio * klicken.

Schritt 6 - Verwenden von Pydio

Nachdem Pydio installiert ist, werden wir mit unserer benutzerdefinierten Willkommensnachricht auf dem Anmeldebildschirm sein. Wir können uns jetzt mit dem Administrator anmelden, den wir im vorherigen Schritt definiert haben.

Sobald wir uns angemeldet haben, sehen wir links zwei Optionen: * Gemeinsame Dateien * und * Meine Dateien *. Diese beiden Optionen werden als Workspaces bezeichnet. Hierbei handelt es sich im Wesentlichen um Dateifreigaben oder Ordner, in denen Sie Dateien speichern können. * Meine Dateien * ist nur für Sie bestimmt und * Gemeinsame Dateien * ist ein freigegebener Ordner für alle Benutzer dieser Pydio-Installation.

Wir sind in der Lage, andere Arbeitsbereiche zu erstellen und mit anderen zu teilen, wann immer Sie dies wünschen. Nachdem Pydio installiert ist, klicken Sie sich um und sehen Sie, wie es funktioniert. Laden Sie andere Benutzer ein, ihre Dateien bei Ihnen zu speichern.

Obwohl die Weboberfläche nützlich ist und Sie Ihre Daten hochladen, herunterladen, ordnen und freigeben können, werden Sie Ihre Dateien wahrscheinlich mit Pydio direkt über einen nativen Client hochladen. Sie können die desktop clients hier (Mac / Win / Linux) herunterladen, die https://itunes.apple.com/fr/app / pydio / id709275884 [iOS-Client hier] und Android-Client hier.

Starten Sie Pydio Sync nach der Installation des Synchronisierungsclients und folgen Sie den Anweisungen des Assistenten, um die Synchronisierung unseres ersten Arbeitsbereichs lokal durchzuführen.

Wenn Sie sich für die Verwendung eines selbstsignierten Zertifikats (anstelle von Let’s Encrypt) entschieden haben, wird eine Fehlermeldung zum Zertifikat angezeigt. Wenn Sie dies tun, aktivieren Sie das Kontrollkästchen * SSL-Zertifikat vertrauen * am unteren Rand, das nach der Warnung angezeigt wird, und klicken Sie dann erneut auf die Schaltfläche * Verbinden *.

Im Gegensatz zu anderen Tools zur Dateifreigabe, mit denen Sie den gesamten Inhalt Ihres Kontos synchronisieren können, können Sie in Pydio jeden Arbeitsbereich einzeln synchronisieren. Wenn Sie den Client zum ersten Mal ausführen, können Sie auswählen, welcher Arbeitsbereich lokal synchronisiert werden soll. Sobald die erste Synchronisierung festgelegt ist, können Sie zusätzliche Arbeitsplatzsynchronisierungen hinzufügen.

Fazit

Mit Pydio können Sie die Kontrolle über Ihre Daten übernehmen und mit den nativen Clients auf allen wichtigen Desktop- und mobilen Plattformen können Sie jederzeit auf Ihre Daten zugreifen. Aber Pydio kann mehr als nur Ihre Dateien hosten. Es gibt eine Sammlung von plugins, um die Funktionalität zu erweitern.

Wenn Sie feststellen, dass die Leistung von Pydio in diesem Setup für Ihren Anwendungsfall etwas zu langsam ist, finden Sie hier einige Tipps zur Verbesserung:

  • Verbinden Sie Pydio mit einem MySQL- oder PostgreSQL-Backend anstelle von Sqlite.

  • Verwenden Sie Nginx als Webserver anstelle von Apache.

  • Rüsten Sie Ihren Server auf, um mehr RAM und CPU zu haben

  • Sie können sogar enable WebDAV access auf Ihrem Server für die Synchronisierung von Anwendungen von Drittanbietern verwenden, die WebDAV-fähig sind.