Unser Server läuft soweit, also geht es jetzt daran, OwnCloud zu installieren.
- Dafür wechseln wir zunächst in unser Webserververzeichnis
cd /srv/http
- Dann laden wir die neueste OwnCloud Version herunter
wget http://owncloud.org/releases/owncloud-4.5.5.tar.bz2
- die wir anschließend entpacken
tar -xjf owncloud-4.5.5.tar.bz2
- und zu guter letzt noch den Besitzer der Dateien anpassen
chown -R http:http /srv/http/owncloud/
Unser OwnCloud-Server sollte dann am Ende unter https://royd.dnsd.me/owncloud/ erreichbar sein. Damit OwnCloud läuft, müssen wir aber noch unseren Webserver und unsere php-Installation anpassen. Beginnen wir mit den Änderungen an der
nginx-Konfigurationsdatei (/etc/nginx/nginx.conf) (ACHTUNG, nur ausschnittsweise Darstellung der Datei):
server { listen 443; client_max_body_size 1000M; # UPLOAD-DATEIGRÖSSE #... location / { server_name royd.dnsd.me; #ACHTUNG server_name IN DER GESAMTEN DATEI ANPASSEN! root /srv/http; index index.php index.html index.htm; rewrite ^/cloud/.well-known/host-meta /public.php?service=host-meta last; rewrite ^/cloud/.well-known/carddav /remote.php/carddav/ redirect; rewrite ^/cloud/.well-known/caldav /remote.php/caldav/ redirect; rewrite ^/cloud/apps/calendar/caldav.php /remote.php/caldav/ last; rewrite ^/cloud/apps/contacts/carddav.php /remote.php/carddav/ last; rewrite ^/cloud/apps/([^/]*)/(.*.(css|php))$ /index.php?app=$1&getfile=$2 last; rewrite ^/cloud/remote/(.*) /remote.php/ last; #error_page 403 /cloud/core/templates/403.php; #error_page 404 /cloud/core/templates/404.php; try_files $uri $uri/ @webdav; } # Direkten Zugriff auf Daten unterbinden location ~ /(data|config|.ht|db_structure.xml|README) { deny all; } location @webdav { fastcgi_split_path_info ^(.+.php)(/.*)$; unix:/var/run/php-fpm/php-fpm.sock; fastcgi_param SCRIPT_FILENAME /srv/http$fastcgi_script_name; fastcgi_param HTTPS on; fastcgi_param HTTP_AUTHORIZATION $http_authorization; fastcgi_param htaccessWorking true; include fastcgi_params; } }
Als nächstes müssen wir noch in der php-Konfigurationsdatei (/etc/php/php.ini) einige Zeilen auskommentieren. Das Rautezeichen # muss vor den folgenden Zeilen gelöscht werden:
xmlrpc.so zip.so gd.so pdo_sqlite.so sqlite3.so extension=iconv.so extension=openssl.so
Zu guter Letzt starten wie noch nginx und php-fpm neu
systemctl restart nginx systemctl restart php-fpm
Jetzt sollte sich OwnCloud über https://royd.dnsd.me/owncloud/ einrichten lassen. Und natürlich muss noch der entsprechende Mac-Client heruntergeladen und eingerichtet werden. Wer für sein abzugleichendes OwnCloud-Verzeichnis auf dem Mac noch ein passendes Icon sucht, hier gibt es zwei die benutzt werden könnten:
/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/SidebariCloud.icns /Programme/owncloud/Resources/ownCloud.icns
OwnCloud muss zwischendurch diverse Aktualisierungen durchführen. Standardmäßig wird dafür AJAX verwendet, um diese bei Seitenaufruf auszuführen. Wir können diese Aufgabe allerdings auch in einen Cron-Job auslagern.
- Dafür muss im Administrationsmenü von OwnCloud unter Cron-Jobs die Einstellung von AJAX auf CRON umgestellt werden.
- Anschließend fügen wir einen entsprechenden Cron-Job der jede Minute ausgeführt wird in ArchLinux ein:
crontab -e * * * * * php -f /srv/http/cloud/cron.php
EDIT: Gerade diesen Blog gefunden, wo das gleiche Projekt verfolgt wird.
EDIT2: Weiterführender Link zum Thema nginx und OwnCloud.
Kleine Anmerkung, folgender Abschnitt ist zu viel:
# default try order
location / {
try_files $uri $uri/ @webdav;
}
Danke, habe ich wohl beim Einfügen übersehen.