Manuelle Installation unter Linux¶

Das Installieren von ownCloud auf Linux aus dem openSUSE Build Service Paket ist die von uns bevorzugte Methode (siehe Bevorzugte Linux Installationsmethode) der Installation. Diese wird von den ownCloud Ingenieuren gepflegt, und Sie können Ihren Paket-Manager verwenden, um Ihren ownCloud Server up-to-date zu halten.

Wenn Sie keine Pakete für die Linux-Distribution verwenden möchten, oder Sie bevorzugen eine Installation aus den Quelldateien, dann können Sie ownCloud von Grund auf neu mit einem klassischen LAMP (Linux, Apache, MySQL / MariaDB, PHP) installieren. Dieses Dokument enthält eine komplette Beschreibung für die Installation von ownCloud auf Ubuntu 14.04 LTS Server mit Apache und MySQL.

Voraussetzungen¶

Hinweis

Dieses Tutorial geht davon aus, das Sie Zugang zum Terminal Ihrer Maschine haben und das Sie ownCloud installieren möchten. Dafür ist zwar nicht unbedingt erforderlich in Kontakt mit Ihrem Hoster zu treten, es sei denn, es werden zusätzliche Module benötigt, die für die Intallation notwendig sind. Bei Fragen zu den benötigten Modulen sehen Sie daher auch im PHP Handbuch nach, wenn Sie dafür mehr Informationen benötigen. Ihre Linux-Distribution sollte alle Pakete für die benötigten Module enthalten.

Um ownCloud ausführen können, müssen Sie auf Ihrem Web-Server Folgendes installiert haben:

  • php5 (>= 5.4)
  • PHP module ctype
  • PHP module dom
  • PHP module GD
  • PHP module iconv
  • PHP module JSON
  • PHP module libxml
  • PHP module mb multibyte
  • PHP module posix
  • PHP module SimpleXML
  • PHP module XMLWriter
  • PHP module zip
  • PHP module zlib

Datenbankverbindung (wählen Sie mindestens eine aus):

  • PHP module sqlite (>= 3, wird aus Leistungsgründen in der Regel nicht empfohlen)
  • PHP module mysql
  • PHP module pgsql (setzt PostgreSQL >= 9.0 voraus)

Empfehlenswerte Pakete:

  • PHP module curl (sehr zu empfehlen, de einige Funktionen, beispielsweise die http Benutzerauthentifizierung, davon abhängt)
  • PHP module fileinfo (Sehr empfehlenswert, steigert die Leistung der Dateianalyse)
  • PHP module bz2 (ist erfoderlich um Anwendungen/Apps entpacken zu können)
  • PHP module intl (erhöht die Übersetzungsleistung und verbessert die Sortierung von Nicht-ASCII-Zeichen)
  • PHP module mcrypt (erhöht die Dateiverschlüsselungsleistung)
  • PHP module openssl (ist für den Zugriff auf HTTPS-Ressourcen erforderlich)

Erforderlich für spezielle Anwendungen/Apps:

  • PHP module ldap (für die LDAP Integration)
  • smbclient (für SMB Speicherung)
  • PHP module ftp (für FTP Speicherung)

Empfohlen für spezifische Anwendungen/Apps (optional):

  • PHP module exif (für die Imagerotation in der Bilder-App)
  • PHP module gmp (für SFTP Speicherung)

Für eine verbesserte Serverleistung (optional / wählen Sie nur eine der folgenden Module aus):

  • PHP module apc
  • PHP module apcu
  • PHP module xcache

Für die Vorschauerstellung (optional):

  • PHP module imagick
  • avconv oder ffmpeg
  • OpenOffice oder LibreOffice

Bemerkungen:

  • Bitte überprüfen Sie Ihre Distribution, Betriebssystem oder Hosting-Partner-Dokumentation ob die Installation dieser Module möglich ist.

  • Vergewissern Sie sich ob Ihre Distribution die Anforderungen an die PHP Version erfüllt (wie oben angegeben). Wenn dies nicht der Fall ist, können Sie auch die die entsprechenden Repositorys verwenden. Wenn Sie zum Beispiel Ubuntu 10.04 LTS verwenden, können Sie Ihre PHP Version mit Hilfe einer individellen PHP PPA Version wie folgt aktualisieren:

    sudo add-apt-repository ppa:ondrej/php5
    sudo apt-get update
    sudo apt-get install php5
  • Das WebDAV Modul benötigen Sie für Ihren Webserver nicht (z.Bsp. bei Apache mod_webdav) denn ownCloud bingt einen eigenen WebDAV-Server mit, SabreDAV.

Beispiel Installation unter Ubuntu 14.04 LTS Server¶

Auf einer Maschine, auf der ein makelloses Ubuntu 14.04 LTS Server installiert ist, werden für eine typische ownCloud Installation die folgende Module empfohlen/verwendet/eingesetzt (Apache und MariaDB), indem Sie die folgenden Befehle in einem Terminal eingeben:

apt-get install apache2 mariadb-server libapache2-mod-php5
apt-get install php5-gd php5-json php5-mysql php5-curl
apt-get install php5-intl php5-mcrypt php5-imagick
  • Das installiert die Pakete für das ownCloud Kernsystem. Wenn Sie planen, zusätzliche Apps zu verwenden, denken Sie daran, dass zusätzliche Pakete erforderlich sein könnten. Siehe Abschnitt Voraussetzungen (siehe oben) für weitere Einzelheiten.
  • Bei der Ausführung von jedem der oben genannten Befehle, könnten Sie dazu dazu aufgefordert werden folgendes zu tun um den Vorgang zu starten; Drücken Sie "Y" für Ja (das heißt, wenn Ihre Systemsprache Englisch ist. Möglicherweise müssen Sie eine andere Taste drücken, wenn Sie eine andere Systemsprache verwendet).
  • Bei der Installation des MySQL-Servers, werden Sie aufgefordert, ein Root-Passwort zu erstellen. Achten Sie darauf, daß Sie das Passwort, das Sie hier eingeben nicht vergessen, denn Sie benötigen es später, wenn ownCloud Ihre Datenbank einrichten soll.

Jetzt laden Sie das Archiv der neuesten ownCloud-Version herunter:

  • Gehen Sie zur ownCloud Installations Seite.

  • Klicken Sie auf den Archive File For server owners Button.

  • Klicken Sie dann auf Download Unix.

  • Die Datei mit dem Namen ownCloud-xyztar.bz2 (wobei xyz die Versionsnummer der aktuellen und neuesten Version ist) erscheint.

  • Speichern Sie die Datei auf Ihrer Maschine wo Sie ownCloud installieren möchten.

  • Überprüfen Sie die MD5 oder SHA256 Summe:

    md5sum  owncloud-x.y.z.tar.bz2
    sha256sum owncloud-x.y.z.tar.bz2
  • Sie können auch die PGP-Signatur überprüfen:

    wget https://download.owncloud.org/community/owncloud-x.y.z.tar.bz2.asc
    wget https://owncloud.org/owncloud.asc
    gpg --import owncloud.asc
    gpg owncloud-x.y.z.tar.bz2
  • Jetzt können Sie den Inhalt des Archivs extrahieren. Öffnen Sie das Terminal, und gehen Sie zu Ihrem Download-Verzeichnis, und führen Sie Folgendes aus:

    tar -xjf owncloud-x.y.z.tar.bz2
  • Kopieren Sie die ownCloud Dateien an ihren endgültigen Bestimmungsort in das Document-Root Ihres Web-Servers:

    cp -r owncloud /path/to/webserver/document-root

    Wo sich Ihr Dokument-Root Ihres Webservers befindet sehen Sie hier: /path/to/webserver/document-root Auf Ubuntu-Systemen finden Sie es unter /var/www/owncloud, und Ihr Kopierbefehl sieht dann so aus:

    cp -r owncloud /var/www/

Installationsassistent¶

Die Einrichtung Ihres ownCloud-Server stellen Sie fertig, indem Sie den the Installationsassistenten verwenden.

Nach dem Ausführen des Installationsassistenten ist Ihre ownCloud Installation abgeschlossen. Allerdings sollten Sie die folgenden Schritte ausführen wenn Sie die Sicherheit Ihres Servers verbessern wollen.

Einstellen der starken Verzeichnisberechtigung¶

Wir empfehlen, die Verzeichnisberechtigungen in Ihrer ownCloud Installation so genau wie möglich, für eine höhere Sicherheit, einzustellen. Näheres dazu finden Sie im Handbuch unter dem Abschnitt Einstellungen starke Verzeichnisberechtigung des Installationassistenten.

SELinux¶

Siehe unter SELinux Konfiguration für einen empfohlene Konfiguration für SELinux-fähige Distributionen wie Fedora und CentOS.

Apache ist die empfohlene Web-Server.

Apache Web Server Konfiguration¶

Hinweis

Sie können ownCloud über einen normalen http-Zugang verwenden, aber wir empfehlen Ihnen dringend, zu SSL / TLS zu wechseln, um Ihren gesammten Server-Datenverkehr zu verschlüsseln und die Anmeldungen der Benutzer und ihrer Daten während der Übertragung zu schützen.

SSL aktivieren¶

Wenn Apache unter Ubuntu installiert ist, erreichen Sie das schon mit einem einfach per Setup selbst signierten Zertifikat. Alles was Sie tun müssen, ist das SSL-Modul zu aktivieren und an der entsprechenden Stelle zu speichern. Öffnen Sie ein Terminal und führen Sie folgendes dazu aus:

a2enmod ssl
a2ensite default-ssl
service apache2 reload

Wenn Sie eine andere Distribution verwenden, überprüfen Sie die entsprechende Dokumentation, wo erklärt wird, wie man SSL aktivieren kann.

Hinweis

Selbstsignierte Zertifikate haben ihre Nachteile - vor allem, wenn Sie planen Sie Ihren ownCloud-Server öffentlich zugänglich zu machen. Vielleicht könnten Sie prüfen, ob Sie ein Zertifikat bekommen, das bei einem kommerziellen Unternehmen signiert wurde. Fragen Sie Ihren Domainnamen-Registrierungs oder Hosting-Service, welches Zertifikat für Sie in Frage kommt, bzw. welches Sie einsetzen/verwenden können.

Konfigurieren von ownCloud¶

Da es einen Wechsel in der Art der Konfiguration von Apache gab, müssen Sie herausfinden, welche der Apache-Version, Versionen 2.2 und 2.4, Sie verwenden.

Normalerweise können Sie das tun, indem Sie einen der folgenden Befehle eingeben:

apachectl -v
apache2 -v

Beispielausgabe:

Server version: Apache/2.4.7 (Ubuntu)
Server built:   Jul 22 2014 14:36:38

Beispiel Konfiguration für Apache 2.2:

<Directory /path/to/owncloud>
    Options Indexes FollowSymLinks
    AllowOverride All
    Order allow,deny
    allow from all
</Directory>

Beispiel Konfiguration für Apache 2.4:

<Directory /path/to/owncloud>
    Options Indexes FollowSymLinks
    AllowOverride All
    Require all granted
</Directory>
  • Diese Konfigurationseinträge müssen in der Konfigurationsdatei eingetragen werden und das Verzeichnis enthalten, wo ownCloud sich befindet (Pfad zu ownCloud bzw. zum Webroot des Apacheservers).

  • Auf einem Ubuntu-System ist in der Regel die "default-ssl" Website (zu finden unter /etc/apache2/sites-available/default-ssl.conf).

  • Fügen Sie in die Konfigurationsdatei unmittelbar unter der letzten Zeile folgende Angabe hinzu:

    </VirtualHost>

    (dies sollte eine der letzten Zeilen in der Datei sein).

  • Eine minimale Website-Konfigurationsdatei auf Ubuntu 14.04 könnte wie folgt aussehen:

<IfModule mod_ssl.c>
<VirtualHost _default_:443>
        ServerName YourServerName
        ServerAdmin webmaster@localhost
        DocumentRoot /var/www
        <Directory />
                Options FollowSymLinks
                AllowOverride None
        </Directory>
        <Directory /var/www/>
                Options Indexes FollowSymLinks
                AllowOverride None
                Order allow,deny
                allow from all
        </Directory>
        ErrorLog ${APACHE_LOG_DIR}/error.log
        LogLevel warn
        CustomLog ${APACHE_LOG_DIR}/ssl_access.log combined
        SSLEngine on
        SSLCertificateFile    /etc/ssl/certs/ssl-cert-snakeoil.pem
        SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key
        <FilesMatch "\.(cgi|shtml|phtml|php)$">
                SSLOptions +StdEnvVars
        </FilesMatch>
        <Directory /usr/lib/cgi-bin>
                SSLOptions +StdEnvVars
        </Directory>
        BrowserMatch "MSIE [2-6]" \
                nokeepalive ssl-unclean-shutdown \
                downgrade-1.0 force-response-1.0
        BrowserMatch "MSIE [17-9]" ssl-unclean-shutdown
        <Directory /var/www/owncloud>
                Options Indexes FollowSymLinks
                AllowOverride All
                Allow from all
                Require all granted
                Dav Off
                Satisfy Any
        </Directory>
</VirtualHost>
</IfModule>
  • Damit ownCloud korrekt arbeitet, brauchen wir das Modul mod_rewrite. Aktivieren Sie es nur einen Neustart mit:

    a2enmod rewrite
  • In Distributionen, die das a2enmod Modul nicht verwenden, müssen Sie dieses manuell aktivieren, indem Sie die Apache-Konfigurationsdateien, in der Regel die Datei /etc/httpd/httpd.conf anpassen. Verwenden Sie bei Fragen die entsprechende Apache Dokumentation oder Ihre Linux Dokumentation der Distribution um das entsprechend verändern zu können.

  • Damit die maximale Uploadgröße konfigurierbar sein wird, passen Sie die .htaccess Datei im ownCloud Ordner so an, das die Datei auf Ihrem Server mit Schreibrechten ausgestattet ist (Das sollte bereits durchgeführt wurden sein, siehe Abschnitt >Einstellen der starken Verzeichnisberechtigung).

  • Sie sollten sicherstellen, dass alle integrierten WebDAV-Module des Webservers gesperrt sind (zumindest für die ownCloud Verzeichnise), da sie die integrierte WebDAV-Unterstützung von ownCloud stören.

    Wenn Sie die WebDAV-Unterstützung im Rest Ihrer Konfiguration benötigen, verwenden Sie dafür speziellen Eintrag, der für die ownCloud notwendig ist, indem Sie die folgende Zeile in den <Directory Abschnitt Ihres ownCloud-Server hinzufügen. Fügen Sie folgende Zeile unmittelbar nach dem allow from all / Require all granted Zeile ein:

    Dav Off
  • Sie müssen für alle Server die konfigurierte Authentifizierung für ownCloud deaktivieren, da ownCloud intern für DAV Dienstleistungen die Standardauthentifizierung verwendet. Wenn Sie die Authentifizierung auf einem übergeordneten Ordner eingestellt haben (über beispielsweise eins AuthType Basic Directive), müssen Sie das gezielt für die Authentifizierung von ownCloud ausschalten, dazu fügen Sie folgenden Eintrag in Ihrer Konfiguration hinzu. In der obigen Beispiel-Konfigurationsdatei, fügen Sie die folgende Zeile unmittelbar nach dem allow from all / Require all granted Zeile in dem <Directory Abschnitt hinzu:

    Satisfy Any
  • Bei der Verwendung von SSL, wird ein spezieller Hinweis auf den Servernamen verwendet. Sie sollten diesen in einer spezifizierten Serverkonfiguration als auch in dem Commonnamefeld des Zertifikats einsetzen. Wenn Sie möchten, dass Ihre ownCloud über das Internet erreichbar sein soll, dann setzen diese beides auf der Domain ein, mit der Sie Ihren ownCloud-Server erreichen wollen.

Hinweis

Standardmäßig wird der Zertifikate Commonname mit dem Host-Namen zu dem Zeitpunkt festgelegt, wenn das SSL-cert Paket installiert wird.

  • Abschließend starten Sie Apache neu.

    • Auf Ubuntu-Systemen starten Sie Apache neu, mit:

      service apache2 restart
    • Auf systemd Systemen (Fedora, Arch Linux, OpenSUSE), führen Sie Folgendes aus:

      systemctl restart httpd.service

Konfigurationshinweise für php-fpm

Sicherheit: Verwenden Sie mindestens PHP = & gt; 5.5.22 oder & gt; = 5.6.6,

Wegen eines Fehler mit Auswirkungen auf die Sicherheit bei älteren PHP-Versionen mit der Handhabung von XML-Daten werden Sie dringend aufgefordert, mindestens PHP 5.5.22 oder 5.6.6 zu verwenden, wenn Sie es in einer entsprechenden Umgebung einsetzen.

Systemumgebungsvariablen

Wenn Sie mit der php-fpm, Systemumgebungsvariablen wie PATH, TMP oder anderen nicht automatisch in der gleichen Weise wie bei der Verwendung von php-cli einsetzen, erfolgt ein PHP-Aufruf wie getenv('PATH'); daher dann mit der Rückgabe ein leeres Ergebnis. So müssen Sie eventuell manuell Ihr Enviroment konfigurieren, um Zugriffe auf Variablen in der appropropriate php-fpm ini/config Datein zu erlangen.

Hier sind einige Beispiel für Wurzelpfade diese ini/Config-Dateien:

Ubuntu/Mint CentOS/Red Hat/Fedora
/etc/php5/fpm/ /etc/php-fpm.d/

In beiden Beispielen der ini/config Datei wird www.conf aufgerufen, und in Abhängigkeit von der Version Ihrer Distribution oder Ihren Anpassungen, die Sie vorgenommen haben, wird dann das entsprechende Unterverzeichnis verwendet.

Normalerweise werden Sie einige oder alle der Umgebungsvariablen bereits in der Datei vorfinden, die aber auskommentiert wie folgt aussehen:

;env[HOSTNAME] = $HOSTNAME
;env[PATH] = /usr/local/bin:/usr/bin:/bin
;env[TMP] = /tmp
;env[TMPDIR] = /tmp
;env[TEMP] = /tmp

Kommentieren Sie die entsprechenden vorhandenen Einträge aus. Dann führen Sie printenv PATH aus bis Sie Ihren Pfad bestätigt bekommen, wie zum Beispiel:

$ printenv PATH
/home/user/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:
/sbin:/bin:/

Wenn einer Ihrer Systemumgebungsvariablen werden nicht in der Datei vorhanden ist, dann müssen Sie ihn hinzufügen.

Wenn Sie Shared Hosting oder ein Bedienfeld verwenden, um Ihre ownCloud VM oder Ihren Server zu verwalten, dann können die Konfigurationsdateien fast sicher, irgendwo von Ihnen gefunden werden, aus gründern der Sicherheit und Flexibilität, überprüfen Sie die Dokumentation um die richtigen Stellen zu finden.

Bitte beachten Sie, dass es möglich ist, das unterschiedliche Einstellungen für die php-cli und die php-fpm verwendet werden, die auch auf verschiedenen Domains und Websites genutzt werden können. Der beste Weg, um die Einstellungen zu überprüfen, ist phpinfo() zu verwenden.

Maximale Uploadgröße

Wenn Sie die maximale Uploadgröße erhöhen wollen, müssen Sie auch Ihre php-fpm Konfiguration ändern und den Wert upload_max_filesize und post_max_size entsprechend anpssen. Sie müssen neu starten, php5-fpm damit Ihr HTTP Server diese Änderungen übernehmen tut.

.htaccess Hinweise für den Webserver <> Apache

ownCloud verwendet seine eigene owncloud/.htaccess Datei. php-fpm kann nicht Einstellungen aus der .htaccess lesen sofern der htscanner und PECL Erweiterung installiert ist. Wenn php-fpm ohne diese PECL Erweiterung installiert wurde, müssen die Einstellungen und Berechtigungen in der owncloud/.user.ini Datei festgelegt werden.

andere Web Server¶

Microsoft Internet Information Server (IIS)

Siehe unter Windows 7 und Windows Server 2008 für weitere Informationen.

Nginx Konfiguration

Siehe unter Nginx Konfiguration

Lighttpd Konfiguration

Siehe unter Lighttpd Konfiguration

Yaws Konfiguration

Siehe unter Yaws Konfiguration

Hiawatha Konfiguration

Siehe unter Hiawatha Konfiguration