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.

ownCloud auf CentOS, RHEL oder SL installieren

Nachdem ich bereits einen Artikel für openSUSE geschrieben habe, hier noch eine ausführliche Anleitung für die Installation unter CentOS, RHEL sowie Scientific Linux. Die Installation unter openSUSE ist im übrigen wesentlich einfacher. Für diejenigen die noch nicht wissen was ownCloud ist verweise ich auf den Artikel der Wikipedia zu finden unter http://de.wikipedia.org/wiki/OwnCloud. Die Anleitung unten müssen Sie einfach durcharbeiten.

Alle Befehle werden als root ausgeführt.

Zuerst müssen wir einige Pakete nachinstallieren (falls noch nicht installiert).

yum install httpd mod_perl php-mbstring perl-string-Multibyte php php-mysql

Abhängigkeiten werden automatisch aufgelöst. Nach der Installation wechseln wir mit

cd /var/www/html

in das Webverzeichnis vom apache. Laden Sie mit

wget http://owncloud.org/releases/owncloud-2.0.1.tar.bz2

die aktuelle Release herunter. Der Link oben war zum Zeitpunkt des Artikels aktuell. Nach dem Herunterladen entpacken Sie das Verzeichnis mit

tar xvjf owncloud-2.0.1.tar.bz2

Dann ändern Sie mit

chown -R apache:apache /var/www/html

den Verzeichnisbesitzer sowie mit

chmod 0770 /var/www/html/owncloud/data

die Schreibrechte des späteren Datenverzeichnisses von ownCloud.

Nun müssen wir den apache noch so Konfigurieren, dass die gespeicherten Dateien nicht direkt herunterladbar sind. Öffnen Sie die Konfigurationsdatei mit

vi /etc/httpd/conf/httpd.conf

und ändern Sie die unten stehende Optionen wie folgt ab (Sie müssen die Taste i drücken um in den Einfügemodus zu gelangen; speichern mit ESC :wq):


Options None
AllowOverride None
Order allow,deny
Allow from all

und fügen Sie am Ende der Datei noch folgendes ein:


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/php.ini

Öffnen Sie die Datei und ändern unten stehende Werte wie folgt ab:

upload_max_filesize=8MB
upload_max_size=8MB

Nun müssen Sie noch mit

system-config-firewall-tui

die Firewall einrichten und Port 80 freigeben. Klicken Sie auf Anpassen und wählen Sie den Punkt WWW (HTTP) aus (weiter unten in der Liste). Dann auf Schließen > OK > Ja.

Nun können Sie ownCloud mit

service httpd start

starten. Erreichbar ist es unter

IP.des.Servers/owncloud.

Tipp: Im Ordner /var/www/htmlliegt noch die owncloud tar.gz Datei. Diese können Sie nun löschen.

Interessante Links zum Thema

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.