Der FreeNAS Wiki-Artikelabschnitt Installing the Plugins Jail erläutert die Installation der Plugins-Jail.
Verbindet man sich danach via SSH zur FreeNAS-Box, kann man mittels Befehl “jexec 1 tcsh” in die entsprechende Jail wechseln und die notwendige Installation vornehmen.
Achtung: Die Ziffer variiert. Die korrekte kann man mit dem Befehl “jls” herausfinden.
Der anschließende Installationsverlauf funktioniert gleich wie außerhalb einer FreeBSD-Jail und ist im Folgenden erläutert. Die Anleitung ist mit FreeNAS 8.2 getestet.
Warnung vor möglichem Datenverlust
Ein späteres Update der Plugins-Jail führt zum Verlust der hier beschriebenen Einrichtung und der darin befindlichen persönlichen ownCloud-Daten.
Um das zu verhindern, könnte eine gesonderte Jail exklusiv für ownCloud eingerichtet werden.
Die bessere Integration in die FreeNAS-Weboberfläche spricht allerdings für die Nutzung der Plugins-Jail. Regelmäßige Datensicherungen in Kombination mit dieser Anleitung erleichtern das erneute Einrichten nach einem Update.
Diese Anmerkung bezieht sich ausschließlich auf Updates in der Plugins-Jail. Updates des FreeNAS-Hauptsystems können wie gewohnt durchgeführt werden, da diese die Jails grundsätzlich unberührt lassen.
Ports-Tree aktualisieren und Konflikt-Pakete entfernen
portsnap fetch extract
pkg_delete -f perl-5.12.4_3 pkg-config-0.25_1 pcre-8.21
ownCloud aus den Ports installieren
Beim Verfassen dieses Artikels ist 4.0.7 die aktuelle ownCloud-Version in den Ports.
Obwohl letztendlich ownCloud 4.5.0 installiert werden soll, bringt die Installation aus den Ports zwei Vorteile: Einerseits werden dabei annähernd alle Paketabhängigkeiten konfiguriert und installiert. Zieht die Version aus den FreeBSD-Ports einst nach, erhält man zudem passende portaudit Berichte.
Beim Konfigurieren des PHP-Ports in folgendem Schritt muss Build FPM version ausgewählt sein. CLI und CGI können abgewählt werden.
cd /usr/ports/www/owncloud
make config-recursive
make install clean
Zusätzliche Abhängigkeiten installieren
Sowohl zlib als auch iconv werden von ownCloud benötigt.
cd /usr/ports/archivers/php5-zlib && make install clean
cd /usr/ports/converters/php5-iconv && make install clean
ownCloud 4.5.0 installieren
cd /usr/local/www/
fetch http://download.owncloud.org/releases/owncloud-4.5.0.tar.bz2
tar xjf owncloud-4.5.0.tar.bz2 -C /root/
mv /root/owncloud /usr/local/www/owncloud-4.5
chown -R www:www /usr/local/www/owncloud-4.5
PHP-FPM auf Socket umstellen und Transfer-Limits erhöhen
# PHP-FPM auf Socket umstellen
sed -i '' -e 's/^listen =.*/listen = \/var\/run\/php-fpm.sock/g' /usr/local/etc/php-fpm.conf
cp /usr/local/etc/php.ini-production /usr/local/etc/php.ini
# Größere Uploads ermöglichen
sed -i '' -e 's/^post_max_size =.*/post_max_size = 300M/g' /usr/local/etc/php.ini
sed -i '' -e 's/^upload_max_filesize =.*/upload_max_filesize = 200M/g' /usr/local/etc/php.ini
# Größere Downloads für Client-Apps ermöglichen (siehe untenstehende Anmerkung)
sed -i '' -e 's/^memory_limit =.*/memory_limit = 512M/g' /usr/local/etc/php.ini
Anmerkung zu memory_limit
Vor dem Herunterladen mittles ownCloud Client-App (beispielsweise auf Android), wird die betreffende Datei zuerst gänzlich in den Hauptspeicher geladen. Ist die Datei größer als das konfigurierte memory_limit, schlägt der Download mit folgender Meldung fehl:
PHP message: PHP Fatal error: Allowed memory size of ${memory_limit} bytes exhausted
An Stelle von ${memory_limit} wird dabei der enstprechend konfigurierte Wert ausgegeben.
Dieses Verhalten wurde zuletzt in ownCloud Version 4.5.1 verifiziert.
nginx installieren
Beim Konfigurieren des nginx-Ports in folgendem Schritt muss Enable http_ssl module ausgewählt sein.
cd /usr/ports/www/nginx && make install clean
SSL Zertifikat für nginx erzeugen
Eine rasche Methode hierfür ist im Beitrag SSL Zertifikat erzeugen und direkt in die nginx.conf übernehmen erklärt.
nginx konfigurieren
Um sämtliche Funktionen von ownCloud nutzen zu können, müssen im server-Abschnitt (HTTPS) der /usr/local/etc/nginx/nginx.conf folgende Einträge gesetzt werden.
root /usr/local/www/owncloud-4.5;
client_max_body_size 200m;
location / {
index index.html index.htm index.php;
# http://forum.owncloud.org/viewtopic.php?f=3&t=2952&p=7158#p7157
rewrite ^/.well-known/host-meta /public.php?service=host-meta last;
rewrite ^/.well-known/carddav /remote.php/carddav/ redirect;
rewrite ^/.well-known/caldav /remote.php/caldav/ redirect;
rewrite ^/apps/calendar/caldav.php /remote.php/caldav/ last;
rewrite ^/apps/contacts/carddav.php /remote.php/carddav/ last;
rewrite ^/apps/([^/]*)/(.*\.(css|php))$ /index.php?app=$1&getfile=$2 last;
rewrite ^/remote/(.*) /remote.php/$1 last;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
try_files $uri $uri/ @webdav;
}
location ~ \.php$ {
# http://bugs.owncloud.org/thebuggenie/owncloud/issues/oc-902#comment_1_904_8388
#fastcgi_split_path_info ^(.+\.php)(/.*)$;
include fastcgi_params;
fastcgi_pass unix:/var/run/php-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
try_files $uri =404;
}
# owncloud WebDAV
location @webdav {
fastcgi_split_path_info ^(.+\.php)(/.*)$;
fastcgi_pass unix:/var/run/php-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param HTTPS on;
include fastcgi_params;
}
nginx und PHP-FPM dauerhaft aktivieren und starten
echo 'nginx_enable="YES"' >> /etc/rc.conf
echo 'php_fpm_enable="YES"' >> /etc/rc.conf
/usr/local/etc/rc.d/php-fpm restart
/usr/local/etc/rc.d/nginx restart
Zur ownCloud-Weboberfläche verbinden
Nun kann man sich via Browser zur ownCloud-Installation verbinden und die Software in vollem Umfang nutzen.
Die entsprechende IP-Adresse der Plugins-Jails kann man in der FreeNAS-Weboberfläche unter Services > Plugins > Management > Settings einsehen.
Tipp: Ein weiterer Artikel beschreibt, wie man die Dateien aus FreeNAS direkt in ownCloud verfügbar machen kann.
Ganz blöde Frage: Wie bekomme ich denn bei Freenas 8.3 im Shell einen Backslash hin?? (Brauche ich im Abschnitt "PHP-FPM auf Socket umstellen und Transfer-Limits erhöhen"). Ich finde keine funktionierenden Tastenkombination und Copy/Paste tut es auch nicht...
gruß zehbart
Je nachdem wie du verbunden bist, ist möglicherweise ein anderes Tastaturlayout als dein Übliches aktiv.
Falls du also meinst, dass es daran scheitert, hier ein paar Varianten:
* US-Layout: Einfach die Rautetaste (#) drücken
* DE-Layout: AltGr + scharfes S (ß)
* NEO-Layout: Mod3 + Buchstabe I (i)
Wenn du lokal am System arbeitest, könnte für dich das Kommando 'kbdmap' hilfreich sein.
Hey und wie gehts jez weiter wie komme ich in die benutzer web oberfläche oder wie auch immer?
@Sergej
Um zur *ownCloud-Weboberfläche* zu gelangen, rufst du die *IP Adresse der Plugins-Jail* im Browser auf. Wie du diese herausfindest, habe ich soeben am Ende des Artikels ergänzt.
Für ownCloud selbst kannst du dich dann der offiziellen Dokumentation des Projekts bedienen.
Hi nochmal,
ich habe nun alles gemacht aber bei mir kommt nur die standart index von engineex
[...]
wenn ich ip/owncloud versuche dann sagt er gibts nicht
was könnte ich falsch gemacht haben?
Hey, WAHNSINN!!! Ich bin echt glücklich dadrüber, es hat geklappt. Es war folgendes noch zu tun: Im HTTPS Serverabschnitt muss man das auskommentierte listen 443 und servername eingeben dann ging das. Echt hammer bin echt dankbar für diese Wertvolle Anleitung, weiter so Jungs!!! Ich danke vielmals :)
@Sergej
Freut mich sehr, dass dir der Artikel gefallen und bei der Einrichtung geholfen hat!
Danke auch für den Hinweis. Er ist für die Leser sicher wertvoll.
Hallo zusammen,
ich habe das Problem dass ich unter /usr/ keinen ports ordner habe? Warum? Was kann ich tun? wäre euch super dankbar.
mfg Marcel
@marcel
Die Ports-Sammlung kannst du mit *portsnap* erstellen und verwalten (siehe dazu den entsprechenden Abschnitt im Artikel).
Auch das FreeBSD-Handbuch ist sehr hilfreich:
http://www.freebsd.org/doc/de/books/handbook/ports-using.html
Hi, du musst in FreeNAS die Konsole auf deutsch stellen dann mit SHIFT+7 und der "andere slash" ALTGR + ß. Auf englisch musst du halt äöüß´+#-., mit SHIFT Komibnation ausprobieren die Tasten