Anfänger-Tutorial: Owncloud-Installation inkl. MySQL und SSL

Ein Forum zur Unterhaltung in deutsch.
Forum rules
Wichtig: Dieses Forum ist jetzt auf https://central.owncloud.org zuhause, welches auf der Foren-Software Discourse basiert. Dieses Forum wird in den Lesemodus versetzt. Mehr Details und Hintergründe zum Umzug gibt es unter unter.

https://daniel.molkentin.net/2016/07/20 ... d-central/

---

Hallo, dieses Forum hat einen sehr kleinen Benutzerkreis, verglichen mit dem englischen Forum.
Bitte schreibt wenn möglich in den englischsprachigen Foren. Dann haben alle was davon. Die Schreiber dort kommen aus vielen Ländern und sind sehr tolerant was die Sprache angeht. Keiner wird wegen nicht perfektem Englisch ignoriert.

WICHTIG: Keine Doppelpostings, sprich das Anliegen NICHT in deutsch UND englisch posten.
freddyqct
Beginner
Posts: 14
Joined: Thu Jun 19, 2014 6:03 pm
ownCloud version: 7.0.2
Webserver: Apache
Database: MySQL
OS: Linux
PHP version: 5.5

Anfänger-Tutorial: Owncloud-Installation inkl. MySQL und SSL

Postby freddyqct » Thu Jun 19, 2014 7:02 pm

Moin zusammen,

nachdem ich viel mit der Owncloud herumexperimentiert habe und inzwischen alles gut bei mir läuft (dank vieler unzähliger Tutorials aus dem Netz), möchte ich ein bisschen was zurückgeben und ein anfängertaugliches Tutorial schreiben, wie eine Installation funktioniert. Im Netz gefehlt hat mir ein bisschen eine Beschreibung, die alle notwendigen Schritte für eine sichere und performante OC-Installation enthält.
Meine Anleitung ist also inkl.:

- Owncloud-Installation (7.0.2)
- Einrichten einer MySQL-Datenbank
- Einrichten eines selbst signierten SSL-Zertifikats
- Optimierung der Performance über CRON-Job

Meine Owncloud-Installation (7.0.2) läuft auf einem virtuellen Server, die Einrichtung sollte aber auch auf einem Home-Server funktionieren. Linux-Version: Ubuntu 12.04 LTS

So, los gehts. :-)

1. OWNCLOUD INSTALLIEREN

Die folgenden Befehle in die Konsole eingeben (root-Passwort bereithalten!):

Code: Select all

sudo apt-get update

Code: Select all

sudo apt-get upgrade

Code: Select all

sudo apt-get install apache2 php5 php5-gd php5-curl php5-json php5-common php5-intl php-pear php-apc php-xml-parser libapache2-mod-php5 curl libcurl3 libcurl3-dev nano


Nun müssen wir einige Konfigurations-Dateien bearbeiten:

Code: Select all

sudo nano /etc/apache2/apache2.conf

Es öffnet sich ein Texteditor. Am Ende der Datei folgende Zeile einfügen:
ServerName owncloud
Speichern mit STRG+O, dann Enter drücken!
Beenden mit STRG+X

Code: Select all

sudo nano /etc/apache2/sites-enabled/000-default

Die Zeilen AllowOverride None in AllowOverride All ändern.
Speichern und Beenden.

Code: Select all

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

Folgende Zeilen ändern:
upload_max_filesize = 2G
max_file_uploads = 200
post_max_size = 2G
Speichern und Beenden.

Code: Select all

sudo a2enmod rewrite

Code: Select all

sudo a2enmod headers

Code: Select all

sudo /etc/init.d/apache2 restart


Es gibt, zur Vereinfachung, vorgefertigte Pakete für diverse Linux-Distributionen. Diese findet ihr hier: http://software.opensuse.org/download/package?project=isv:ownCloud:community&package=owncloud oder auf der Owncloud-Homepage unter Install/Linux Packages.

Code: Select all

sudo sh -c "echo 'deb http://download.opensuse.org/repositories/isv:/ownCloud:/community/xUbuntu_12.04/ /' >> /etc/apt/sources.list.d/owncloud.list"

Code: Select all

wget http://download.opensuse.org/repositories/isv:ownCloud:community/xUbuntu_12.04/Release.key

Code: Select all

sudo apt-key add - < Release.key

Code: Select all

sudo apt-get update

Code: Select all

sudo apt-get install owncloud


2. MySQL-DATENBANK INSTALLIEREN UND EINRICHTEN

Wenn ihr vernünftig mit der Owncloud arbeiten wollt, würde ich nicht die sehr einfache SQLite-Datenbank verwenden, sondern die wesentlich umfangreichere MySQL-Datenbank. Gerade wenn ihr mehrere Benutzer anlegt und mit vielen Dateien arbeitet, ist die Performance mit MySQL deutlich besser.

Code: Select all

sudo apt-get install mysql-server

Während der Installation öffnet sich ein Fenster, in dem ihr ein root-Passwort festlegen müsst!

Code: Select all

sudo mysql -u root -p

Es öffnet sich das Modul zur Datenbankpflege. Dort gebt ihr (nacheinander) folgendes ein (ebenfalls in der Konsole):

Code: Select all

CREATE DATABASE owncloud;

Code: Select all

CREATE USER 'owncloud'@'localhost' IDENTIFIED BY 'password';

Password = das Passwort, welches ihr für diese Datenbank verwenden wollt!

Code: Select all

GRANT ALL PRIVILEGES ON owncloud.* TO 'owncloud'@'localhost';

Code: Select all

FLUSH PRIVILEGES;

Code: Select all

exit;


3. SSL-ZERTIFIKAT ERSTELLEN UND SIGNIEREN

Am besten in ein Verzeichnis wechseln, welches nur vom Root erreichbar ist, z. B. mit

Code: Select all

sudo cd /root

Code: Select all

sudo openssl genrsa -out server.key 4096

Code: Select all

sudo openssl req -new -key server.key -out server.csr


Ihr werdet zur Eingabe einiger Daten aufgefordert, die in eurem Zertifikat enthalten sein werden:

Country Name (Ländercode): = z. B. DE
State or Province Name (Bundesland): = z. B. NRW
Locality Name, eg. City (Stadt): = z. B. Aachen
Organization Name (Firmenname): = ich habe hier Privat eingegeben
Organizational Unit Name (Abteilung) = ich habe hier einfach Enter gedrückt
Common Name, eg. YOUR Name: = Name des Servers, z- B. owncloud.euerserver.de
Email Adress: = eure E-Mail Adresse
A challenge password: = ich habe hier einfach Enter gedrückt
An optional company name: = ich habe hier einfach Enter gedrückt

Code: Select all

sudo openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt

Code: Select all

sudo chmod 400 server.key

Code: Select all

sudo nano /etc/apache2/sites-enabled/000-default

Folgende Zeichen am Ende der Datei hinzufügen:

<VirtualHost *:443>
DocumentRoot /var/www
ServerName NAME EURES SERVERS
SSLEngine on
SSLCertificateFile /root/server.crt
SSLCertificateKeyFile /root/server.key
</VirtualHost>

Speichern und Beenden.

Code: Select all

sudo nano /etc/apache2/sites-available/default

Folgende Einträge hinzufügen:

<VirtualHost *:443>
DocumentRoot /var/www
ServerName NAME EURES SERVERS
SSLEngine on
SSLCertificateFile /root/server.crt
SSLCertificateKeyFile /root/server.key
</VirtualHost>

Speichern und Beenden.

Code: Select all

sudo nano /etc/apache2/sites-available/default-ssl

Folgende Einträge hinzufügen:

<IfModule mod_ssl.c>
<VirtualHost *:443>
ServerAdmin webmaster@localhost

DocumentRoot /var/www
<IfModule mod_ssl.c>
SSLEngine on
SSLCertificateKeyFile /root/server.key
SSLCertificateFile /root/server.crt
SetEnvIf User-Agent ".*MSIE.*" \
nokeepalive ssl-unclean-shutdown \
downgrade-1.0 force-response-1.0
</IfModule>

Speichern und Beenden.

Code: Select all

sudo nano /etc/apache2/ports.conf

Folgende Zeilen hinzufügen:

NameVirtualHost *:443
Listen 443
(steht manchmal schon in der Datei, dann könnt ihr es natürlich weglassen.
Speichern und Beenden.

Code: Select all

sudo a2enmod ssl

Code: Select all

apache2ctl configtest

Hier sollte ein Syntax OK herauskommen.

Code: Select all

apache2ctl restart


4. OWNCLOUD EINRICHTEN

Ruft eure Owncloud-Installation im Webbrowser unter https://Name_oder_IP_eures_Servers/owncloud auf.
Euer Browser wird jetzt meckern, da ihr das SSL-Zertifikat selbst erstellt und signiert habt und es nicht (gegen Gebühr) von einer offiziellen Signaturstelle signiert wurde. Ihr könnt hier aber weiter klicken, die Verbindung erfolgt trotzdem über eine sichere Verbindung.

Ihr werdet aufgefordert, euren Admin-Benutzer für die Owncloud anzugeben. Folgendes gebt ihr ein:

Adminname (z. B. Admin
Passwort für den Admin-Account

Klickt darunter auf Fortgeschritten

Den Eintrag "Datenverzeichnis" könnt ihr so stehen lassen.
Unter "Datenbank einrichten" klickt ihr auf MySQL.
Datenbank-Benutzer: owncloud
Datenbank-Passwort: Das unter Punkt 2 (MySQL installieren) festgelegte Passwort
Datenbank-Name: owncloud
Datenbank-Host: localhost

Klickt auf Installation abschließen

SO, DAS WARS! Eure eigene Cloud ist installiert und bereit! :-)

5. PERFORMANCE VERBESSERN DURCH UMSTELLUNG AUF CRONDIENST

Code: Select all

crontab -u www-data -e

In der sich öffnenden Text-Datei gebt ihr ganz unten folgendes ein:

*/15 * * * * php -f /var/www/owncloud/cron.php
Speichern und Beenden.

Loggt euch in den Admin-Account eurer Owncloud ein. Unter "Administrator" ändert ihr unten den Eintrag von Ajax auf Cron.

Jetzt läuft eure Owncloud noch etwas performanter.

Ich hoffe, ihr könnt etwas mit dieser Anleitung anfangen und es hilft euch auf dem Weg zu eurer eigenen Cloud. Ich bin selbst überhaupt kein Linux-Profi und musste viel viel googlen, um alles hinzubekommen.
Mein Dank geht an alle Schreiber der Tutorials, aus denen ich diese Anleitung zusammengetragen habe!

Für Verbesserungsvorschläge bin ich gerne offen. Vielleicht kann ja das ein oder andere noch besser gemacht werden. :-)

Viele Grüße,

Freddy
Last edited by freddyqct on Tue Sep 02, 2014 5:17 pm, edited 9 times in total.

tflidd
Forum Moderator
Posts: 7159
Joined: Sat Dec 07, 2013 7:27 pm
ownCloud version: 8.2.3
Webserver: Apache
Database: MySQL
OS: Linux

Re: Anfänger-Tutorial: Owncloud-Installation inkl. MySQL und

Postby tflidd » Fri Jun 20, 2014 11:08 am

Ein paar Kleinigkeiten:

Der User www-data wird automatisch angelegt, wenn man den Apache installiert, das ist nicht notwendig.

Unter Punkt 4 die URL könnte vielleicht Verwirrung stiften, wenn jemand wirklich den Namen und die IP des Servers einträgt:

Code: Select all

 https://Name/IP_eures_Servers/owncloud


Der private key sollte nur für root lesbar sein (chmod 400 server.key) falls das nicht automatisch beim Erzeugen gemacht wird.

freddyqct
Beginner
Posts: 14
Joined: Thu Jun 19, 2014 6:03 pm
ownCloud version: 7.0.2
Webserver: Apache
Database: MySQL
OS: Linux
PHP version: 5.5

Re: Anfänger-Tutorial: Owncloud-Installation inkl. MySQL und

Postby freddyqct » Fri Jun 20, 2014 12:12 pm

Hallo tflidd,

danke für die Anregungen. Ich habe sie direkt übernommen!

Gruß
Freddy

hfitx64
Beginner
Posts: 19
Joined: Mon Jun 23, 2014 11:02 pm
ownCloud version: 6.0.3
Webserver: Apache
Database: SQLite
OS: Linux
PHP version: PHP/5.4.4-14+deb7u1

Re: Anfänger-Tutorial: Owncloud-Installation inkl. MySQL und

Postby hfitx64 » Tue Jun 24, 2014 12:35 am

Hallo Freddy,

eine wirklich gelundenes Tutorial für Anfänger, der ich auch bin (in Sachen owncloud). Habe die Anleitung wie beschrieben mit einer Modifikation umgesetzt: statt Port 443 verwende ich für meine NAS Eigenbau mit Debian Port 8085 für die owncloud (da 443 von meinen anderen käuflichen Netzspeichergeräten verwendet wird). Die Anmeldung im Browser funktioniert soweit im lokalen Netz alsauch über meinen Domainnamen aus dem Internet. Die Portweiterleitungsregel ist im Router hinterlegt: TCP Port 8085 an <NAS> Port 8085.
Allerdings funktioniert jetzt der owncloud Client auf Windows nicht mehr. Hier kommt für https://<meinowncloudserver:8085 nach Anmeldung mit Username und Password jetzt richtigerweise das Zertifikat, aber beim Verbinden erhalte ich dann "Fehler: Error downloading https://<meinowncloudserver:8085/owncloud0 - server replied: Bad Request" ((Achtung: mein Ordner heißt owncloud0 und nicht owncloud, ist so gewollt). Wo Umstellung auf das Zertifikat konnte ich mit dem Windows owncloud Client noch erfolgreich synchronisieren etc.
Was ist da noch falsch in der Konfiguration? Oder kann es an den TrustedDomain einträgen liegen, die Ports habe ich in der /var/www/ownconfig0/config/config.php jedoch angepasst auf 8085? Oder liegt es einfach nur am owncloud Client für Windows, der keine Synchronistion über SSL kann? (Anmeldung klappt).

Das Android App "owncloud" Client funktioniert dagegen, ich kann Daten, Musik, etc. herunterladen.

Gruß
hfitx64

User avatar
RandolphCarter
ownCloud master
Posts: 5134
Joined: Wed May 30, 2012 8:42 am
ownCloud version: 8.1.1
Webserver: Apache
Database: MySQL
OS: Linux
PHP version: 5.5.x

Re: Anfänger-Tutorial: Owncloud-Installation inkl. MySQL und

Postby RandolphCarter » Tue Jun 24, 2014 8:21 am

statt Port 443 verwende ich für meine NAS Eigenbau mit Debian Port 8085 für die owncloud (da 443 von meinen anderen käuflichen Netzspeichergeräten verwendet wird)

Wenn das ein anderes Gerät ist, dann wäre das egal. Nur auf der selben Maschine dürfen keine zwei Anwendungen denselben Port belegen.

Oder liegt es einfach nur am owncloud Client für Windows, der keine Synchronistion über SSL kann?

Der Windows-Client kann natürlich SSL (obwohl manche Spezial-Konfigurationen Probleme machen können). Welche Version des Clients verwendest du? Um mehr Informationen zu bekommen würde ich mal Client- und Server-Log durchforsten.

Bei solchen Problemen die nicht direkt ein Problem des Tutorials sind würd ich außerdem empfehlen einen neuen Thread aufzumachen.

hfitx64
Beginner
Posts: 19
Joined: Mon Jun 23, 2014 11:02 pm
ownCloud version: 6.0.3
Webserver: Apache
Database: SQLite
OS: Linux
PHP version: PHP/5.4.4-14+deb7u1

Re: Anfänger-Tutorial: Owncloud-Installation inkl. MySQL und

Postby hfitx64 » Tue Jun 24, 2014 10:45 am

ownCloud Client hat die Version 1.6.0 (build 3082).

Auf einem Gerät wird Port 443, bzw. mein 8085 nicht mehrfach verwendet. Probleme macht die Verwendung von Port 443 dennoch, wenn er von mehreren Geräten verwendet wird und ich remote aus dem Internet mit einem Browser auf das Gerät mit diesem Port zugreifen will und die Portweiterleitung im Router von 443 auf 443 geht. Dann ist nicht vorhersagbar, auf welches Gerät zugegriffen wird. Ich müsste dann den Port z.B. intern Apache Server auf 445 ändern und dann von extern mittels DynDNS auch mit https://<domainname>:445 zugreifen. Das ist doch richtig so?

Thematisch passt dies sicherlich hier in das Tutorial, wenn es um die Frage geht, wie man remote auf das owncloud Dashboard zugreift, wenn mehrere owncloud Server im selben Subnetz an einem gemeinsamen Router laufen.

hfitx64
Beginner
Posts: 19
Joined: Mon Jun 23, 2014 11:02 pm
ownCloud version: 6.0.3
Webserver: Apache
Database: SQLite
OS: Linux
PHP version: PHP/5.4.4-14+deb7u1

Re: Anfänger-Tutorial: Owncloud-Installation inkl. MySQL und

Postby hfitx64 » Tue Jun 24, 2014 11:05 am

problem solved: apache ServerName was not the same as ComputerName of the server.

User avatar
RandolphCarter
ownCloud master
Posts: 5134
Joined: Wed May 30, 2012 8:42 am
ownCloud version: 8.1.1
Webserver: Apache
Database: MySQL
OS: Linux
PHP version: 5.5.x

Re: Anfänger-Tutorial: Owncloud-Installation inkl. MySQL und

Postby RandolphCarter » Tue Jun 24, 2014 11:41 am

Probleme macht die Verwendung von Port 443 dennoch, wenn er von mehreren Geräten verwendet wird und ich remote aus dem Internet mit einem Browser auf das Gerät mit diesem Port zugreifen will und die Portweiterleitung im Router von 443 auf 443 geht

Zumindest bei besseren Routern kann man einstellen von welchem auf welchen Port man weiterleiten möchte (z.B. externen Port 1443 auf internen Port 443). Dann wäre auch das kein Problem. Aber egal.

Thematisch passt dies sicherlich hier in das Tutorial, wenn es um die Frage geht, wie man remote auf das owncloud Dashboard zugreift, wenn mehrere owncloud Server im selben Subnetz an einem gemeinsamen Router laufen.

Mag schon sein dass deine Frage einen gewissen Bezug zu diesem Tutorial hat. Und halte mich ruhig für pingelig, aber wenn jede solche Frage hier rein gepostet wird, haben wir hier irgendwann einen 200-seitigen Thread in dem sich keiner mehr auskennt was wofür relevant ist und was nicht ;) .

hfitx64
Beginner
Posts: 19
Joined: Mon Jun 23, 2014 11:02 pm
ownCloud version: 6.0.3
Webserver: Apache
Database: SQLite
OS: Linux
PHP version: PHP/5.4.4-14+deb7u1

Re: Anfänger-Tutorial: Owncloud-Installation inkl. MySQL und

Postby hfitx64 » Tue Jun 24, 2014 11:46 am

ich würde ja auch schon Ruhe geben, aber der Windows ownCloud Client verliert jetzt immer nach einer bestimmten Zeit die Verbindung über SSL ("Vom Server getrennt"). Vermutlich weil eine dauerhafte Verbindung nach einer bestimmten Zeit nicht mehr zugelassen ist und der owncloud Server diese automatisch trennt. Aber ich bin bereit eine neuen Thread hierfür aufzumachen.

GenXRoad
Beginner
Posts: 15
Joined: Mon May 05, 2014 11:06 pm
Webserver: Apache
Database: MySQL
OS: Linux
PHP version: 5.4.20

Re: Anfänger-Tutorial: Owncloud-Installation inkl. MySQL und

Postby GenXRoad » Tue Jun 24, 2014 6:48 pm

eigentlich reicht es aus wenn du den crontab auch:

Code: Select all

*/15 * * * * php -f /var/www/owncloud/cron.php
aus, ich meine auch irgendwo gelesen zu haben das man 15 min nehmen soll? Bin mir jetzt nicht ganz sicher... aber denke so viele user wird man privat nicht haben das der cron jede minute ausgeführt werden müsste...


  • Similar Topics
    Replies
    Views
    Last post

Return to “Deutsch”

Who is online

Users browsing this forum: No registered users and 2 guests