Kein Zugriff auf OwnCloud von ausserhalb

Schwachkopp

Lt. Junior Grade
Registriert
Jan. 2016
Beiträge
314
Hallo,

ich versuche seit Stunden einen Owncloud-Server unter Fedora 23 einzurichten, nur leider schaffe ich es einfach nicht, dass sich die Clienten verbinden koennen. Vorgegangen bin ich nach dieser Anleitung:
http://www.itzgeek.com/how-tos/linux/fedora-how-tos/install-owncloud-7-on-fedora-21.html

Alles scheint zu funktionieren. Ich habe innerhalb des WAN Zugriff auf http://localhost/owncloud (https ist noch nicht aktiviert) und die Anleitung oben, konnte ich vollstaendig abarbeiten.
Von ausserhalb komme ich im Browser mit http://"IP:8080"/ auf die Fedora Test Page, was wohl heisst, das es kein Portforwarding Problem ist, oder?

Normalerweise sollte man http://"IP:8080"/owncloud/index.html aufrufen koennen, aber das ruft nur einen 403 Forbidden error hervor.
Clienten, die sich verbinden wollen bekommen diese Fehlermeldung:
Die Verbindung zu ownCloud auf http://IP:8080/owncloud/status.php:
Error downloading http://IP:8080/owncloud/status.php - server replied: Forbidden
konnte nicht hergestellt werden

Ich habe schon ziemlich viel herumprobiert, kann mich schon gar nicht mehr genau errinnern was ich alles versucht habe.
Nichts hat geholfen. Kann mir vielleicht hier jemand helfen, bin einfach zu bloed fuer soetwas? :(

Gruesse
Schwachkopp
 
Zuletzt bearbeitet:
Hi,

ich nehm an du meinst mit "Ich habe innerhalb des WAN Zugriff", dass du von dem Rechner selbst darauf zugreifen kannst. Geht es auch aus dem LAN? Von extern versuchst du es aber auf Port 8080, nicht wie intern auf 80, hast du extern 8080 auf diesen Server Port80 weitergeleitet?

Gruß,
Daniel
 
Nein, oben im ersten Beitrag hab ich mich falsch ausgedrueckt. Vom Lan ist auch kein Zugriff moeglich (also z.b. ueber 192.168.0.3/owncloud) d.h. ich sehe genau wie von aussen nur die Test Page (mit 192.168.0.3). Nur direkt auf dem Server kann ich auf den owncloud Ordner zugreifen.

Bei Portforwarding ist im Router folgendes eingetragen:
Lokale IP: 192.168.0.3 (Die interne IP des Servers)
Lokaler Startport: 80
Lokaler Endport: 80
Externer Startport: 8080
Externer Endport: 8080
Protokoll: UCP/TCP

Gruesse,
Schwachkopp
 
Zuletzt bearbeitet:
Ich kenne Deine Konfiguration nicht und ich bin kein Fedora-Nutzer. Aber falls nur der Zugriff von 127.0.0.1 (dem Lokal-Horst) aus funktioniert, spricht viel dafür, dass der Webserver nicht dafür konfiguriert ist, Zugriffe "von außen" zu erlauben. Das Forwarding sähe ansonsten gut aus. Aber: Schalte das bitte erstmal ab, bis Du die SSL-Variante (https) sauber im lokalen Netz am Laufen hast.

Wichtige Fragen daher:
1) Mit welchem Zugriffsweg GENAU hast Du Zugriff auf die OwnCloud-Instanz?
2) Was passiert, wenn Du http://192.168.0.3:80 (falls das die IP des OwnCloud-Servers im lokalen Netz ist) lokal (auf dem Server) und im lokalen Netz aufrufst?
3) Warum nimmst Du das "alte" Fedora und nicht etwas moderneres?
4) Sollte es nicht vielleicht sogar mit aktuellem Fedora ein (halbwegs) aktuelles OwnCloud-Paket in den Repositories geben?
5) Wo wird das Port-Forwarding umgesetzt? Sinn macht das Ding nur auf dem Router. Und dann wäre es seltsam, die LOKALE IP angeben zu müssen... Die kennt der Router besser als Du. Üblicherweise gibt man dort die Ziel-IP an. (Falls Du das auf dem OwnCloud-Server nutzt, ist es klar, dass das nicht "tut". Du schaltest Dir selber den Zugriff vom OC-Server ab, indem Du den Port 80, auf dem der Webserver "wohnt", ins virtuelle Nirvana - auf 8080 lauscht lokal keiner - routest.

Ohne Leute zu Migrationen zu bewegen: Wenn Du noch nicht vollumfänglich ver-Fedora'd bist, probier doch mal ein 14.04er Ubuntu-Setup mit dieser Konfiguration für die OwnCloud-Instanz:
https://wiki.ubuntuusers.de/ownCloud/

Ich gebe zu, dass manche Lösungsansätze etwas verwirrend sind und Du mitunter sogar gegensätzliches schreibst. Aber so ergibt viel geschriebenes für mich keinen Sinn...

Regards, Bigfoot29
 
Mach doch einfach mal:

Code:
tail -f /var/log/apache2/error.log

Und gehe danach noch mal auf von einem Rechner aus dem LAN auf deine OwnCloud-Instanz.

Ich gehe schwer davon aus, dass du irgendwelche Rechte falsch gesetzt hast.
 
Hi,

erst einmal danke fuer eure Hilfe!

@Bigfoot29

Zu 1)

Ich bin mir nicht sicher, ob ich diese Frage richtig verstehe. Vom Server aus auf welchem OwnCloud installiert ist, habe ich Zugriff ueber den Konquerer Web Browser. Dort gebe ich dann http://localhost/owncloud ein und bekomm das Login-Fenster.
(http://4.bp.blogspot.com/-JFPPEmJ8eFs/TfMChJwOc2I/AAAAAAAAAX0/2oX_NTwncyc/s1600/snapshot1.png)

Zu 2)

Ich lande auf der Fedora Test Page. Sieht so aehnlich aus wie diese:
https://fedoraproject.org/w/uploads/8/86/ServerTestPage_httpd_test_page.png

Zu 3) und 4)

Findest du Fedora generell veraltet (Arch user?) oder meinst du nur speziell meine Fedora Version. Soweit mir bekannt, ist mein Fedora 23 schon das aktuellste. Es gibt tatsaechlich ein OwnCloud-Paket in den Repositories, welches das ist was bei mir installiert ist.

5)
Ja, es ist so im Router eingestellt wie oben geschrieben. Die Bezeichnung Ziel-IP gibt es im Router (Tele Columbus WLAN Kabelbox) nicht, nur die oben verwendeten Bezeichnungen.


Ich weiss nicht wie weit ich ver-Fedora'd bin :). Wahrscheinlich nicht genug. Wenn sich bis Ende der Woche kein Erfolg eingestellt hat, koennte ich mal mein Glueck auf einem anderen PC mit Ubuntu versuchen.



@blablub1212
Bei mir heisst die Datei /var/log/httpd/error_log. Beim Einloggen gibts aus der error_log die Fehlermeldung "directory index forbidden by options directive". Angeblich ist das leicht zu beheben in dem man in der Datei httpd.conf oder .htaccess aus der Zeile "Options -Indexes" die Zeile "Options +Indexes" macht.
(Siehe http://stackoverflow.com/questions/5301776/directory-index-forbidden-by-options-directive).

Sobald ich wieder zuhause bin, versuch ich das mal.
 
Zuletzt bearbeitet:
Ich würde das erst mal über einen Vhost machen und nicht direkt in der apache conf

Vhosts legst du unter Ubuntu unter /etc/apache2/sites-available/ an, bspw: /etc/apache2/sites-available/owncloud.conf

Für Owncloud sieht der hier so aus:

Code:
<VirtualHost *:80>
   ServerName DynDNS
   Redirect permanent / https://DynDNS
</VirtualHost>

<VirtualHost *:443>

    ServerName DynDNS
    
    SSLEngine on
    SSLCertificateFile    /etc/letsencrypt/live/DynDNS/cert.pem
    SSLCertificateKeyFile /etc/letsencrypt/live/DynDNS/privkey.pem
    SSLCertificateChainFile /etc/letsencrypt/live/DynDNS/chain.pem

    DocumentRoot /var/www/owncloud

    <IfModule mod_headers.c>
      Header always set Strict-Transport-Security "max-age=15768000; includeSubDomains; preload"
    </IfModule>
        
    <Directory />
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        Order allow,deny
        Allow from all
        Satisfy Any
    </Directory>
</VirtualHost>

die .htaccess im OwnCloud-Verzeichnis sieht wie folgt aus:

Code:
# Version: 8.2.0
<IfModule mod_headers.c>
  <IfModule mod_fcgid.c>
    <IfModule mod_setenvif.c>
       SetEnvIfNoCase ^Authorization$ "(.+)" XAUTHORIZATION=$1
       RequestHeader set XAuthorization %{XAUTHORIZATION}e env=XAUTHORIZATION
    </IfModule>
  </IfModule>

  <IfModule mod_env.c>
    # Add security and privacy related headers
    Header set X-Content-Type-Options "nosniff"
    Header set X-XSS-Protection "1; mode=block"
    Header set X-Robots-Tag "none"
    Header set X-Frame-Options "SAMEORIGIN"
    SetEnv modHeadersAvailable true
  </IfModule>

  # Add cache control for CSS and JS files
  <FilesMatch "\.(css|js)$">
    Header set Cache-Control "max-age=7200, public"
  </FilesMatch>
</IfModule>
<IfModule mod_php5.c>
  php_value upload_max_filesize 513M
  php_value post_max_size 513M
  php_value memory_limit 512M
  php_value mbstring.func_overload 0
  php_value always_populate_raw_post_data -1
  php_value default_charset 'UTF-8'
  php_value output_buffering 0
  <IfModule mod_env.c>
    SetEnv htaccessWorking true
  </IfModule>
</IfModule>
<IfModule mod_rewrite.c>
  RewriteEngine on
  RewriteRule .* - [env=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
  RewriteRule ^\.well-known/host-meta /public.php?service=host-meta [QSA,L]
  RewriteRule ^\.well-known/host-meta\.json /public.php?service=host-meta-json [QSA,L]
  RewriteRule ^\.well-known/carddav /remote.php/carddav/ [R=301,L]
  RewriteRule ^\.well-known/caldav /remote.php/caldav/ [R=301,L]
  RewriteRule ^apps/calendar/caldav\.php remote.php/caldav/ [QSA,L]
  RewriteRule ^apps/contacts/carddav\.php remote.php/carddav/ [QSA,L]
  RewriteRule ^remote/(.*) remote.php [QSA,L]
  RewriteRule ^(build|tests|config|lib|3rdparty|templates)/.* - [R=404,L]
  RewriteRule ^(\.|autotest|occ|issue|indie|db_|console).* - [R=404,L]
</IfModule>
<IfModule mod_mime.c>
  AddType image/svg+xml svg svgz
  AddEncoding gzip svgz
</IfModule>
<IfModule mod_dir.c>
  DirectoryIndex index.php index.html
</IfModule>
AddDefaultCharset utf-8
Options -Indexes
<IfModule pagespeed_module>
  ModPagespeed Off
</IfModule>

danach musst du die Seite eigentlich nur noch aktivieren: sudo a2ensite owncloud.conf und den apache kurz neustarten. Bzgl. den Zertifikaten für SSL, die bekommst du über letsencrypt.org umsonst :)
 
So es scheint nun fast alles zu funktionieren, d.h. ich konnte mich ueber einen OwnCloud-Clienten von ausserhalb einloggen. Jetzt seh ich aber keine Dateien. Laut Fehlermeldung aus der error_log ist irgendwo der falsche Pfad angegeben, die status.php und die anderen Dateien aus dem Owncloud Ordner werden wohl nicht in /var/www/owncloud/status.php gesucht sondern in /var/www/html/status.php.

Bin mir unsicher, was ich dagegen tun soll.

Edit:
Nach einer laengeren Pause wollte ich Owncloud auf Ubuntu nochmal eine Chance geben, doch leider funktioniert es nach wie vor nicht. Ich sehe keine Fehlermeldungen mehr in der Error.log, trotzdem koennen sich die Clienten nicht verbinden.
Fehlermeldung bei den Clienten:
Sichere Verbindung zur Server-Adresse https://MeineExterneip fehlgeschlagen

Benutzt wird ein selbsterstelltes Zertifikat, also keines von letsencrypt.org. Koennte das die Ursache sein?
 
Zuletzt bearbeitet:
Schwachkopp schrieb:
So es scheint nun fast alles zu funktionieren, d.h. ich konnte mich ueber einen OwnCloud-Clienten von ausserhalb einloggen. Jetzt seh ich aber keine Dateien. Laut Fehlermeldung aus der error_log ist irgendwo der falsche Pfad angegeben, die status.php und die anderen Dateien aus dem Owncloud Ordner werden wohl nicht in /var/www/owncloud/status.php gesucht sondern in /var/www/html/status.php.

Bin mir unsicher, was ich dagegen tun soll.
Afaik ist in der httpd.conf in Fedora standardmäßig /var/www/html als DocumentRoot eingetragen. Vielleicht kommt das Problem daher.
 
Das haette ich auch fast vermutet. Aber auch nach Anpassung des DocumentRoot gab es noch aehnliche Probleme. Mittlerweile bin ich auf Ubuntu umgeschwenkt. Da siehts jedoch nicht viel besser aus. Ich glaub ich werd' zu alt fuer diesen Scheiss. :(

Gibst denn keine idiotensichere Anleitung fuer ein frisch installiertes Ubuntu 14?
 
Das klingt schon alles sehr seltsam. Meine ownCloud läuft aktuell auf Debian und das ziemlich problemlos. Ich habe eigentlich nur das Community-Repo eingebunden und dann einfach ownCloud installiert. Dann lief das. Ein selbst signiertes Zertifikat nutze ich auch und hatte damit nie Probleme.
 
Immerhin weiss ich jetzt, dass es wahrscheinlich nicht am Zertifikat liegt. IP6 ist von mir inzwischen auch deaktiviert worden, kommen also vermutlich nicht mehr viele Ursachen in Frage.

Edit:
Ich hatte nur einen Tippfehler unter trusted_domain in config.php. :rolleyes:
Was vor ein paar Tagen unter Fedora los war, weiss ich allerdings immer noch nicht.
Egal, danke fuer Eure Hilfe!
 
Zuletzt bearbeitet:
Zurück
Oben