# Probleme mit Owncloud Einrichtung auf Raspberry Pi



## Eulenspiegel (4. Februar 2015)

Hallo,
Ich wollte mir einen Privaten Owncloud Server für das Heimnetzwerk auf einem Raspberry Pi einrichten, ich weiß das das Lestungtechnisch nicht optimal abgestimmt ist aber es sollte eben Low Budget sein.
Die Installation Bereitete keinerlei Probleme und es funktionierte auch der Zugriff auf die Cloud per Browser. Da jedoch die Daten auf einer externen Festplatte gespeichert werden sollten habe ich den Dateipfad im der Datei /var/www/owncloud/config/config .php auf den pfad gesetzt an dem die Festplatte gemountet ist. Als ich daraufhin per Browser auf die Cloud zugreifen wollte bekam ich folgende Fehlermeldung von owncloud angezeigt :

An exception occurred while executing 'SELECT "configvalue", "appid" FROM "oc_appconfig" WHERE "configkey" = ?' with params ["enabled"]: SQLSTATE[HY000]: General error: 1 no such table: oc_appconfig

Daraufhin habe ich das Raspbian neu aufgesetzt und die Festplatte in den Standart-Dateipfad gemountet. Woraufhin ich nur den Speicherplatz der SD Karte angezeigt bekommen habe.

Also noch ein zweites mal die erste Konfiguration Probiert und es hat wieder nicht funktioniert.
Der ordner auf der festplatte wurde dem entsprechendem benutzer zugeordnet und auch sonst sollte alles so eingestellt worden sein das es laufen müsste(Tut es ja auch nur nicht mit verändertem speicherpfad)

Ich habe folgende Schritte durchgeführt :

1. RPi uebertackten und Memorysplit einstellen: ( 1000Mhz)
sudo raspi-config

2. Software installieren:
 sudo apt-get install nginx openssl ssl-cert php5-cli php5-sqlite php5-gd php5-common php5-cgi sqlite3 php-pear php-apc curl libapr1 libtool curl libcurl4-openssl-dev php-xml-parser php5 php5-dev php5-gd php5-fpm memcached php5-memcache varnish

3. SSL-Schlue¼ssel erstellen und Rechte setzen:
sudo openssl req $@ -new -x509 -days 3650 -nodes -out /etc/nginx/cert.pem -keyout /etc/nginx/cert.key

sudo chmod 600 /etc/nginx/cert.pem
sudo chmod 600 /etc/nginx/cert.key

4. Webserver konfigurieren:
sudo rm /etc/nginx/sites-available/default
sudo nano /etc/nginx/sites-available/default


upstream php-handler {
server 127.0.0.1:9000;
#server unix:/var/run/php5-fpm.sock;
}

server {
listen 80;
server_name [192.168.178.41];
return 301 https://$server_name$request_uri; # enforce https
}

server {
listen 443 ssl;
server_name [192.168.178.41];

ssl_certificate /etc/nginx/cert.pem;
ssl_certificate_key /etc/nginx/cert.key;

# Path to the root of your installation
root /var/www/owncloud;

client_max_body_size 1000M; # set max upload size
fastcgi_buffers 64 4K;

rewrite ^/caldav(.*)$ /remote.php/caldav$1 redirect;
rewrite ^/carddav(.*)$ /remote.php/carddav$1 redirect;
rewrite ^/webdav(.*)$ /remote.php/webdav$1 redirect;

index index.php;
error_page 403 /core/templates/403.php;
error_page 404 /core/templates/404.php;

location = /robots.txt {
allow all;
log_not_found off;
access_log off;
}

location ~ ^/(?:\.htaccess|data|config|db_structure\.xml|README) {
deny all;
}

location / {
# The following 2 rules are only needed with webfinger
rewrite ^/.well-known/host-meta /public.php?service=host-meta last;
rewrite ^/.well-known/host-meta.json /public.php?service=host-meta-json last;

rewrite ^/.well-known/carddav /remote.php/carddav/ redirect;
rewrite ^/.well-known/caldav /remote.php/caldav/ redirect;

rewrite ^(/core/doc/[^\/]+/)$ $1/index.html;

try_files $uri $uri/ index.php;
}

location ~ \.php(?:$|/) {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param HTTPS on;
fastcgi_pass php-handler;
}

# Optional: set long EXPIRES header on static assets
location ~* \.(?:jpg|jpeg|gif|bmp|ico|png|css|js|swf)$ {
expires 30d;
# Optional: Don't log access to assets
access_log off;
}

}


5. Limits anheben:
sudo nano /etc/php5/fpm/php.ini

upload_max_filesize = 1000M
post_max_size = 1000M

6. PHP konfigurieren:
sudo nano /etc/php5/fpm/pool.d/www.conf
listen = 127.0.0.1:9000

sudo nano /etc/dphys-swapfile
CONF_SWAPSIZE=512

7. Server neu starten:
sudo /etc/init.d/php5-fpm restart
sudo /etc/init.d/nginx restart

8. Owncloud installieren:

sudo mkdir -p /var/www/owncloud

sudo wget https://download.owncloud.org/community/owncloud-7.0.4.tar.bz2

sudo tar xvf ./owncloud-7.0.4.tar.bz2

sudo mv owncloud/ /var/www/

sudo chown -R www-data:www-data /var/www

so bis dahin hat alles geklappt und owncloud läuft ohne probleme
doch wenn ich jetzt den Dateipfad ändere geht nichts mehr.

Muss ich owncloud vielleicht anstatt in das verzeichnis /var/www/ gleich auf die Festplatte schieben , und wenn ja muss ich dann bei der anderen Konfiguration was ändern ?
Ich bin was Linux betrifft eher Anfänger und bin daran völlig verzweifelt, kann mir da jemand helfen ?


----------



## Jimini (5. Februar 2015)

Eins vorab - du kannst beim Erstellen eines Postings unter anderem CODE-Tags auswählen, mit welchen du Code und Inhalt von Configdateien besser lesbar machen kannst. So werden längere Postings deutlich übersichtlicher.

Zum Fehler: aus irgendeinem Grund findet scheinbar OwnCloud nach dem Ändern des Parameters die Tabelle "oc_appconfig" nicht mehr. Und du hast wirklich nur 





> 'datadirectory' => '/var/www/owncloud/data',


 auf einen anderen Wert gesetzt? Kannst du diese Zeile aus deiner Config mal posten?

MfG Jimini


----------



## keinnick (5. Februar 2015)

Vielleicht hilft Dir das hier weiter: net(t)forum: spline.eisfair » owncloud problem mit sqlite auf Acer Power FV&


----------



## Eulenspiegel (5. Februar 2015)

Danke für den hinweis werde mal nachsehen

Also hier mal die Codezeile aus der config.php :

  'datadirectory' => '/media/usb1/owncloud',

also eigentlich nur den pfad geändert

immer noch keine ahnung wie das mit den code Tags gehen soll^^

So habe jetz mal  das komplette verzeichnis /var/www/owncloud/data in mein gewünschtes zielverzeichnis verschoben und bekomme nun auf dem web interface folgenden Hinweis :

Daten-Verzeichnis (/media/usb1/owncloud/data/) ist von anderen Nutzern lesbar
Bitte ändern Sie die Berechtigungen auf 0770 sodass das Verzeichnis nicht von anderen Nutzer angezeigt werden kann.

Kann mir jemand sagen wo ich diese genannte Berechtigung ändern muss ?


----------



## Kusanar (5. Februar 2015)

Mit

```
sudo chown -R www-data:www-data /var/www
```
hast du ursprünglich dem User www-data Zugriff auf den kompletten WWW-Ordner (samt Unterverzeichnissen) gegeben. Ich denke mal das müsstest du für den Data-Ordner auf der Externen auch machen.

Die Meldung, dass du die Berechtigungen ändern solltest, kommt daher, weil die USB-Platte ursprünglich keinen beschränkten Zugriff hatte sondern frei für jeden User war.

Am besten wäre allerdings, wenn du dich mal an diese Anleitung zum Ändern des Directory-Pfads hältst, dann sollte das auch klappen:

ownCloud Forums ? View topic - How to set/change data directory


----------



## Eulenspiegel (5. Februar 2015)

es wird weiterhin root als besitzer angezeigt


----------



## Kusanar (6. Februar 2015)

> The cure is -
> 
> chown www-data:www-data /yourdatalocation
> 
> It  took me reading for hours and beating my head against the wall before  it occurred to me what the login page was telling me.  It wants www-data  to own the* entire mount/location*.  In my case, I created a new mount  called /owncloud which is my usb drive.  Once I performed the above *as  root*# chown www-data:www-data /owncloud everything started working  again.



Kanns leider nicht ausprobieren, mein owncloud läuft im Netz, da tue ich mich mit USB-Platten anstöpseln etwas schwer


----------



## Jimini (6. Februar 2015)

Kusanar schrieb:


> Am besten wäre allerdings, wenn du dich mal an diese Anleitung zum Ändern des Directory-Pfads hältst, dann sollte das auch klappen: ownCloud Forums ? View topic - How to set/change data directory


Korrekt, genau da würde ich mal reinschauen. Oder, falls es auf deutsch sein soll: https://www.google.de/search?q=owncloud+datenverzeichnis+ändern

MfG Jimini


----------

