Auf persönlichen Wunsch nun auch die Anleitung wie man ownCloud auf ubuntu Server installiert, sowie eine verschlüsselte Verbindung automatisch aufbaut.
Zuerst machen wir uns mit
sudo -i
zum root.
Nun müssen wir den Apache, PHP sowie SQLite installieren. Mit dem Befehl
apt-get install php5 sqlite php5-gd php5-sqlite libcurl3 php5-curl
wird alles benötigte Installiert. Der Apache wird wegen den Abhängigkeiten automatisch mitinstalliert. Nun wechseln wir mit
cd /var/www
in das Datenverzeichnis vom Apache und laden mit
wget http://owncloud.org/releases/owncloud-4.0.4.tar.bz2
das ownCloud Paket herunter. (4.0.4 war zum Zeitpunkt des Schreibens die aktuelle Version)
Entpacken Sie das Paket mit
tar xvjf owncloud-4.0.4.tar.bz2
Legen Sie nun den Datenordner an. Als Beispiel legen wir ihn im /srv Verzeichnis an und weisen den richtigen Benutzer und Lese/Schreibrechte zu.
cd /srv
mkdir ownclouddata
chown -R www-data:www-data ownclouddata
chmod 0770 ownclouddata
Hinweis!
Auch wenn der Datenordner variabel ist, verlangt ownCloud beim Setup einen data Ordner in /var/www/owncloud/data mit oben genannten Rechten und Eigentümer, Sie müssen Ihn allerdings nicht verwenden.
Bearbeiten Sie nun die Apache Konfigurationsdatei
vi /etc/apache2/sites-enabled/000-default
und fügen Sie am Ende der Datei über </VirtualHost>noch folgendes ein:
Options +Indexes
AllowOverride All
Order allow,deny
allow from all
Damit Dateien über 2 MB hochgeladen werden können müssen wir die php.ini noch bearbeiten. Mit dem Befehl:
vi /etc/php5/apache2/php.ini
Öffnen Sie die Datei und ändern unten stehende Werte wie folgt ab:
upload_max_filesize=8MB
upload_max_size=8MB
Nun können Sie ownCloud über der IP des Servers im Unterordner owncloud einrichten.
SSL Einrichten (mit halbwissen)
Nachfolgend der Webseite http://wiki.ubuntuusers.de/apache/SSL entommen.
Zuerst erstellen wir ein Zertifikat und tragen es dem Apache zu:
mkdir -p /etc/apache2/ssl
openssl req -new -x509 -days 365 -nodes -out /etc/apache2/ssl/apache.pem -keyout /etc/apache2/ssl/apache.pem
ln -sf /etc/apache2/ssl/apache.pem /etc/apache2/ssl/`/usr/bin/openssl x509 -noout -hash < /etc/apache2/ssl/apache.pem`.0
chmod 600 /etc/apache2/ssl/apache.pem
Nun müssen wir noch das SSL-Modul im Apache laden
a2enmod ssl
sowie den Apache neu starten
service apache2 force-reload
Jetzt müssen wir noch eine Configdatei für den SSL Zugang erstellen. Wechseln Sie in das Verzeichnis:
cd /etc/apache2/sites-available/
und duplizieren Sie die Datei default mit
cp default ssl
und bearbeiten Sie die neue Datein ssl
vi ssl
Ändern Sie diese wie folgt ab, bzw. legen Sie folgende Einträge an (Auszug gekürzt)
SSLEngine On
SSLCertificateFile /etc/apache2/ssl/apache.pem
DocumentRoot /var/www
Nun müssen Sie noch die Seite aktivieren mittels
a2ensite ssl
gefolgt von einem
service apache2 force-reload
Automatisch auf verschlüsselte Verbindung
Zuerst aktivieren Sie das Modul mod_rewrite
a2enmod rewrite
Legen Sie die Datei .htaccess im /var/www Ordner an und bearbeiten Sie folgend:
RewriteEngine On
RewriteCond ...
Nun bearbeiten Sie die /etc/apache2/sites-enabled/000-default:
Options Indexes FollowSymLinks MultiViews
AllowOverride FileInfo
In der Datei /etc/apache2/sites-available/default folgendes ändern:
RewriteEngine on
RewriteRule ^/owncloud(.*)$ https://%{SERVER_NAME}/owncloud$1 [L,R]
RewriteLog "/var/log/apache2/rewrite.log"
RewriteLogLevel 2
Nun nur noch den Apache2 neu starten.
Tipp: Im Ordner /var/www/html liegt noch die owncloud tar.gz Datei. Diese können Sie nun löschen.
Vielen Dank! Sehr hilfreiche Anleitung.
Super Anleitung! Danke!
Huch … gleich ein HTML-Kommentar. Wie fortschrittlich:
so sollte es heißen: Danke für die Prima Anleitung.
Ich hätte noch ein paar Vorschläge zur Ergänzung:
”<directory>
Options +Indexes
AllowOverride All
Order allow,deny
allow from all”
→ braucht noch ein </Directory>
“Options Indexes FollowSymLinks MultiViews
AllowOverride FileInfo”
→ sollte in das selbst erstellte <directory> oben
Die anderen Änderungen in den Scripten sollten ohne einfach oben oder nach belieben unten eingesetzt werden. Nicht zwischen <Directory> und </Diretrory> .
Noch eine Frage: Warum startest du den Apache mit “service apache2 force-reload” neu? Der Apache schlägt da selbst einen Befehl vor. Macht es einen Unterschied, ob ich force-reload oder den vorgeschlagenen nutze (leider weiß ich nicht mehr welcher das war. Auf jeden Fall zum Neustarten des Apache)?
hallo
bei mir ist in der datei /etc/apache2/sites-available/default
keinen eintrag:
RewriteEngine on
RewriteRule ^/owncloud(.*)$ https://%{SERVER_NAME}/owncloud$1 [L,R]
RewriteLog „/var/log/apache2/rewrite.log“
RewriteLogLevel 2
ich hab es einfach am schluss vor:
RewriteEngine on
RewriteRule ^/owncloud(.*)$ https://%{SERVER_NAME}/owncloud$1 [L,R]
RewriteLog „/var/log/apache2/rewrite.log“
RewriteLogLevel 2
Options +Indexes
AllowOverride All
Order allow,deny
allow from all
eingefügt
ist das so ok?
grüsse
und frohes neues jahr
Ja das sollte so klappen. Wenn Sie per http:// auf Ihre ownCloud gehen sollte sie automatisch auf httpS landen.
danke hat geklappt
aber leider kann ich keine Dateien rauf laden, weder per owncloud Client noch über das webinterface
ich bekomme die Fehlermeldung:
„Die Größe der hochzuladenden Datei überschreitet die MAX_FILE_SIZE-Richtlinie, die im HTML-Formular angegeben wurde“
dabei ist die Datei nur 115kb klein
Merkwürdig. Hast du die Werte in /etc/php5/apache2/php.ini auch richtig angepasst? Nicht das sich da was drin verirrt hat.
ich hab nur dieses in die datei untereinander angefügt
so sieht es genau aus
upload_max_filesize = 8MB
upload_max_size = 8MB
in der .htaccess datei soll ja diese einträge gemacht werden:
RewriteEngine On
RewriteCond …
kommt da wirklich nur … in der 2e zeile?
muss man da nicht etwas einfügen?
Sehr ausfuerliche anleitung, das einzige was nicht erklaert worden ist, ist wie man die mysql datenbank richtig konfiguriert. Aber anleitungen dazu gibt es schon viele ueber google zu finden. Und was bei mir nicht vorhanden ist, sind die eintraege:
SSLEngine On
SSLCertificateFile /etc/apache2/ssl/apache.pem
DocumentRoot /var/www
im cd „/etc/apache2/sites-available/“ verzeichnis, file „ssl“
Die Einträge sind nicht vorhanden weil sie angelegt werden müssen. Ich habe die Anleitung dementsprechend angepasst. Danke für den Hinweis.
Zwei Probleme mit der Anleitung:
Die Zeile „RewriteCond …“
in der .htaccess für /var/www stimmt nicht – die führt zumindest am Apache 2.2 zu einem Fehler 500 (RewriteCond: bad argument line ‚…‘).
Zum zweiten sollte man auch in einem selbsterstellten Zertifikat UNBEDINGT einen CommonName eintragen – zumindest das sollte stimmen, sonst haben Browser noch mehr Grund sich darüber aufzuregen – und in diesem Fall beeinträchtigt es auch den ownCloud Client, er verweigert dann die Verbindung.
Ich habe die Anleitung anhand einer frischen ubuntu Installation angelegt. Auf dem System läuft Apache 2.2.22 und die .htaccess ist wie in der Anleitung beschrieben angelegt und funktioniert ohne Probleme.
Kenn mich mit der rewrite engine ja nicht so gut aus…
aber zumindest laut offizieller doc (http://httpd.apache.org/docs/2.2/mod/mod_rewrite.html#rewritecond) müsste nach RewriteCond da wo bei dir „…“ steht zuerst ein „TestString“ und dann ein „CondPattern“ kommen, ich sehe also nicht wie „…“ gültig sein könnte.
Gibts mglw. unterschiedliche Versionen vom rewrite mod?
Oder wird die /var/www .htaccess bei dir möglicherweise gar nicht berücksichtigt?
Ich muss ehrlich sein, dass das auch nicht mein Fachgebiet ist. Die Anleitung zur .htaccess habe ich von hier abgeleitet. Vielleicht hilft dir das weiter: http://wiki.ubuntuusers.de/Apache/mod_rewrite
Das ist jetzt bestimmt eine total blöde Frage aber wie kann ich über Virtual Host etwas einfügen? Bei mir funktioniert das nicht.
Ich teste gerade OwnCloud.
Zuerst habe ich die fertige VM-Maschine von OwnCloud ausprobiert.
Nun möchte ich OwnCloud auf einem Ubuntu 12.10 installieren und damit weitertesten.
Dank der Anleitung bin ich schon gut voran gekommen.
Das „Bearbeiten Sie nun die Apache Konfigurationsdatei“ ist mir nach Erarbeitung der vi-Grundlagen auch gelungen.
Nur kann ich aber die Apache-Datei danach nicht abspeichern.
Die Datei ist vermutlich schreibgeschützt.
:wq! (Bestätigung: y)
E166: Can`t open linked file for writing
Meine Versuche, die Dateiatribute zu ändern waren erfoglos (sicher falsch).
Die Datei die du bearbeiten möchtest ist nur ein Link zu der Datei. Mit ls -l siehst du wo die Originaldatei liegt. Diese kannst du dann mal versuchen zu bearbeiten und abzuspeichern. Allerdings wundert es mich das man Dateiatribute ändern muss, da die Distributionen diese eigentlich vom Standard her schon richtig setzen. Hast du die Datei ach als root (also mit sudo davor) bearbeitet?
EDIT: Okay hat sich erledigt, gerade gesehen. 😉
… sorry … lag daran, dass ich zwischendurch das Terminal neu aufgerufen hatte (ohne sudo -i)
Allerdings hatte ich dann Probleme mit:
cd /srv
mkdir ownclouddata
chown -R www-data:www-data ownclouddata
chmod 0770 ownclouddata
OwnCloud verlangte beim Start nach einem Ordner „owncloud“ bzw. „owncloud/data“.
(siehe auch Apache-Konfiguration: )
Ich habe die Ordner dann manuell neu angelegt (/var/www/owncloud/data) und die Rechte wie angegeben vergeben.
Jetzt (oder später) geht es an die SSL-Einrichtung.
Danke trotzdem für die gute Anleitung!
Danach konnte ich die Installation von OwnCloud fertigstellen.