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:
<VirtualHost *:443>
DocumentRoot /var/www
ServerName NAME EURES SERVERS
SSLEngine on
SSLCertificateFile /root/server.crt
SSLCertificateKeyFile /root/server.key
</VirtualHost>
Speichern und Beenden.
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.
sudo nano /etc/apache2/sites-available/default-ssl
Folgende Einträge hinzufügen:
<IfModule mod_ssl.c>
<VirtualHost *:443>
ServerAdmin [email protected]
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.
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!