ownCloud auf ubuntu Server installieren

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.

webYaST Server überschreibt Apache Webseite

Seit Anfang Dezember 2010 benutzt webYaST statt dem Webserver lighttpd den Webserver nginx. Der neue Webserver wurde automatisch installiert ohne das der Benutzen etwas dazu umstellen musste. Leider hat man dies, sollte man eine Apache Server auf der gleichen Maschine nutzen, sehr schnell gemerkt, da im RPM Paket des nginx Webservers auch zwei Dateien vorhanden sind die in

/srv/www/htdocs

kopiert werden.

Hier die beiden Dateien

Nämlich einmal eine

index.html

und eine

50x.html

Sollte man nun eine Webseite schon im selbigen Verzeichnis haben werden die Dateien falls schon vorhanden überschrieben. Dies passiert bei jeder Aktualisierung des Webservers durch zypper.

Meine Bisherige Lösung ist es, das Arbeitsverzeichnis von Apache in YaST umzulegen. Zum Beispiel in den Ordner 

/srv/www/apache_htdocs

. So bleiben die Dateien auch erhalten. Die Einstellungen können Sie in YaST unter Netzwerkdienste > HTTP Server in dem Reiter Haupthost vornehmen. Einfach die Pfade von Document Root und Directory in das neue Verzeichnis umändern. Das wars. Nun nimmt Apache das neue Verzeichnis als Hauptverzeichnis. Somit haben neue Installationen von ngnix keine Auswirkungen mehr auf Apache.

ownCloud auf openSUSE installieren

owncloud 2 Login

Da dies meine ersten Gehversuche auf Apache sind gebe ich keine Garantie das ich alles Sicherheitsrelevante bedacht habe. Die Anleitung bezieht sich auf ownCloud 2.0 und openSUSE 12.1, sollte aber auch auf älteren Versionen funktionieren.

Zuerst einmal benötigen Sie owncloud. Fügen Sie das Repository:

http://download.opensuse.org/repositories/server:/php:/applications/openSUSE_12.1/

in Yast hinzu und installieren Sie als root das owncloud Paket mittels:

zypper in owncloud

Nun installieren Sie Apache sowie PHP5 falls noch nicht geschehen. Mit dem Befehl

sudo zypper install apache2 apache2-mod_php5 php5 yast-http-server

werden alle nötigen Pakete installiert.

Damit Apache auch beim nächsten Hochfahren automatisch mitstartet geben Sie folgenden Befehl ein chkconfig -a apache2

Nun müssen Sie noch in der Firewall den Port für Apache freigeben damit owncloud auch von ausserhalb erreichbar ist. Gehen Sie dazu in YaST auf Firewall > Erlaubte Dienste. In dem Auswahlmenü wählen Sie HTTP Server aus und bestätigen alles mit weiter.

Öffnen Sie in YaST das Modul HTTP-Server und gehen Sie auf den Reiter Server-Module. Aktivieren Sie das Servermodul env. Im Reiter Haupthost wählen Sie Directory aus und gehen auf Bearbeiten. Ändern Sie den Wert

AllowOverride

auf

All

ab. Übernehmen Sie alle Änderungen in YaST.

Nun ist die Installation beendet. Sie können owncloud jetzt an ihrem PC über http://127.0.0.1/owncloud/ oder in ihrem Netzwerk über die IP Ihres PCs erreichen.