Anfänger-Tutorial: Owncloud-Installation inkl. MySQL und SSL auf Ubuntu 12.04 LTS

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
- Einrichten einer MySQL-Datenbank
- Einrichten eines selbst signierten SSL-Zertifikats
- Optimierung der Performance über CRON-Job

Meine Owncloud-Installation (6.0.3) 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!):

sudo apt-get update

sudo apt-get upgrade

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:

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

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

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

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.

sudo a2enmod rewrite

sudo a2enmod headers

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=owncloudoder auf der Owncloud-Homepage unter Install/Linux Packages.

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

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

sudo apt-key add - < Release.key

sudo apt-get update

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.

sudo apt-get install mysql-server

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

sudo mysql -u root -p

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

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

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

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

FLUSH PRIVILEGES;

exit;

3. SSL-ZERTIFIKAT ERSTELLEN UND SIGNIEREN
Am besten in ein Verzeichnis wechseln, welches nur vom Root erreichbar ist, z. B. mit

sudo cd /root

sudo openssl genrsa -out server.key 4096

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

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

sudo chmod 400 server.key

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

Folgende Zeichen am Ende der Datei hinzufügen:


DocumentRoot /var/www
ServerName NAME EURES SERVERS
SSLEngine on
SSLCertificateFile /root/server.crt
SSLCertificateKeyFile /root/server.key
Speichern und Beenden.

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

Folgende Einträge hinzufügen:


DocumentRoot /var/www
ServerName NAME EURES SERVERS
SSLEngine on
SSLCertificateFile /root/server.crt
SSLCertificateKeyFile /root/server.key
Speichern und Beenden.

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

Folgende Einträge hinzufügen:



ServerAdmin webmaster@localhost


DocumentRoot /var/www

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
Speichern und Beenden.

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.

sudo a2enmod ssl

apache2ctl configtest

Hier sollte ein Syntax OK herauskommen.

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

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!

0 Kommentar(e)

Zum Posten von Kommentaren bitte