Nie można uzyskać dostępu do collabora po nowej instalacji


16

Mam istniejącą instalację Ubuntu 16.04 z zainstalowaną aplikacją nextcloud /var/www/cloud (wordpress znajduje się w katalogu głównym). Od jakiegoś czasu działa dobrze, ale niedawno odkryłem collabora jako alternatywę dla dokumentów Google i NAPRAWDĘ chcę, żeby to działało. Kiedy próbuję otworzyć dokument, pojawia się błąd „Zabroniony dostęp”. Zainstalowałem collabora zgodnie z instrukcjami tutaj

Sprawdziłem dane wyjściowe lsof -i i widzę, że doker nasłuchuje na 9980, skonfigurowałem adres URL w Nextcloud, i nie mam pojęcia, jak zacząć rozwiązywać ten problem. Gdyby ktokolwiek ze społeczności mógł udzielić mi wskazówek, które byłyby niesamowite. Niektóre dodatkowe informacje są poniżej.

Wpisy z pliku Apache error.log znajdującego się w katalogu / var / log / apache2:

[Mon Jan 02 22:05:30.027625 2017] [authz_core:error] [pid 26396] [client <IPADDRESS>:54120] AH01630: client denied by server configuration: /var/www/html/cloud/data/.ocdata
[Mon Jan 02 22:05:32.314370 2017] [authz_core:error] [pid 3122] [client <IPADDRESS>:54123] AH01630: client denied by server configuration: /var/www/html/cloud/data/.ocdata

Odkażona wersja konfiguracji My Apache dla hosta collabora :

<VirtualHost *:443>
  ServerName sub.domain.com:443

  # SSL configuration, you may want to take the easy route instead and use Lets Encrypt!
  SSLEngine on
  SSLCertificateFile /etc/letsencrypt/live/domain.com/fullchain.pem
  SSLCertificateKeyFile /etc/letsencrypt/live/domain.com/privkey.pem
  SSLProtocol all -SSLv2 -SSLv3
  SSLCipherSuite             ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA$
  SSLHonorCipherOrder on

  # Encoded slashes need to be allowed
  AllowEncodedSlashes     On

  # Container uses a unique non-signed certificate
  SSLProxyEngine On
  SSLProxyVerify None
  SSLProxyCheckPeerCN Off
  SSLProxyCheckPeerName Off

  # keep the host
  ProxyPreserveHost On

  # static html, js, images, etc. served from loolwsd
  # loleaflet is the client part of LibreOffice Online
  ProxyPass /loleaflet https://127.0.0.1:9980/loleaflet retry=0
  ProxyPassReverse           /loleaflet https://127.0.0.1:9980/loleaflet

  # WOPI discovery URL
  ProxyPass    /hosting/discovery https://127.0.0.1:9980/hosting/discovery retry=0
  ProxyPassReverse           /hosting/discovery https://127.0.0.1:9980/hosting/discovery

  # Main websocket
  ProxyPassMatch    "/lool/(.*)/ws$" wss://127.0.0.1:9980/lool/$1/ws

  # Admin Console websocket
  ProxyPass /lool/adminws wss://127.0.0.1:9980/lool/adminws

  # Download as, Fullscreen presentation and Image upload operations
  ProxyPass   /lool https://127.0.0.1:9980/lool
  ProxyPassReverse           /lool https://127.0.0.1:9980/lool
  ServerAlias    sub.domain.com
</VirtualHost>

Adres mojej instancji nextcloud to domain.com/cloud

wyjście lsof -i | grep docker Myślę, że to pokazuje, że kontener docker nasłuchuje ruchu z hosta lokalnego na 9980, aby wysłać do kontenera

docker-pr  1634     root    4u  IPv4  19492      0t0  TCP localhost:9980 (LISTEN)

Teoria : Mam teorię, że prawdopodobnie będę musiał ponownie skonfigurować nextcloud tym razem, gdy nextcloud jest w katalogu głównym, a mój blog znajduje się w folderze wewnątrz katalogu głównego, ponieważ wibracje, które czerpię z dokumentacji, są takie, że oczekuje się, że nextcloud będzie na własnej maszynie z własną nazwą domeny i ta usługa łączy się z subdomeną tej nazwy domeny głównej. więc domena.com/cloud rzuca wszystko na pętlę

jeśli ktoś mógłby dać mi jakieś wskazówki, byłbym bardzo wdzięczny, ponieważ nextcloud to produkt, w który naprawdę jestem zainteresowany inwestowaniem.

Odpowiedzi:


1

Ten post autorstwa Mike'a Griffena dotyczy właśnie tego problemu i wydaje się, że jest to proste rozwiązanie.

Authz_core:error Client Denied by Server Configuration

... mod_authz_core zostało wprowadzone w Apache 2.3. Zmienia to sposób deklarowania kontroli dostępu

od:

Order allow, deny
Allow from all

do:

Require all granted

Oznacza to, że całkowita konfiguracja katalogu jest teraz podobna do:

<Directory /path/to/directory>
     Options FollowSymlinks
     AllowOverride none
     Require all granted
</Directory>

Uruchom ponownie apache, a wszystko będzie ładnie działać.


poprawiona odpowiedź z rozszerzonym wyjaśnieniem, próbowała również zilustrować googlowanie (lub w tym przypadku kaczkę-kaczkę) rzeczywisty komunikat o błędzie „authz_core: error” jeden raz, a wybranie pierwszego wyniku często zapisuje odpowiedź na pytanie pętla tutaj
— Steve Hope

Ludzie nie wiedzą, czy losowy artykuł jest poprawny ... przynajmniej na stronach SE mamy system głosowania (co prawda głosy nie zawsze są wiarygodne!) I zezwalamy wszystkim użytkownikom na edycję w celu wdrożenia pewnego poziomu recenzji, konserwacji itp. Tutaj znajdują się również posty wyszukiwarek. Zapewniając dobre odpowiedzi, zapewniamy dobre wyniki wyszukiwania.
— Zanna,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.