Hallo,
ich habe schon gefühlt hundert Seiten aufgesucht und leider bekomme ich mein Problem nicht gelöst, weshalb ich jetzt euch bitte mir zu helfen.
Nach der Anleitung bin ich vorgegangen: How to Setup a Raspberry Pi Nextcloud Server - Pi My Life Up
Was möchte ich
- Nextcloud hinter Apache reverse proxy
- vorerst unverschlüsselt um die grundlegende Funktion zu verstehen und nicht zu viele Parameter, die ich noch nicht verstehe, in den Konfigurationsdateien zu haben.
- Nextcloud über 192.168.178.27/nextcloud erreichbar machen
- 403 forbidden zurückgeben wenn nur 192.168.178.27 eingeben wird
- 403 forbidden zurückgeben wenn nur 192.168.178.27/irgendwas eingeben wird
- Warum über Pfad erreichbar machen? Weil ich später IP/nextcloud und IP/homeassitant haben möchte.
Was funktioniert derzeit
- Wenn ich 192.168.178.27 eingebe, dann gelange ich auf 192.168.178.27/nextcloud/login
- Wenn ich 192.168.178.27/nextcloud eingebe, auch
- Wenn ich 192.168.178.27/irgendwas eingebe, dann bekomme ich im Browser von Nextcloud “Seite nicht gefunden” zurück
Ich habe in der nextcloud.conf mal mit dem rewrite herumprobiert und es hat mich dann noch mehr verwirrt. Denn, wenn die rewriteregel drin ist, dann bekomme ich immer eine 403 zurück. Wenn sie nicht drin ist, dann funktioniert es zwar aber ich lande auch auf Nextcloud wenn ich nur die IP eingebe (ohne /nextcloud).
Falls ich in diesem Forum zu Apache-spezifische Fragen stelle, kann mir dann wenigstens jemand beantworten, warum nextcloud auch nur über die IP erreichbar ist? Overwritewebroot müsste das doch garnicht erst möglich machen(?). Oder kann ich in Nextcloud eine Einstellung vornehmen, dass Nextcloud nur über IP/nextcloud erreichbar ist?
Setup:
- Raspberry Pi3, bullseye ohne Desktop
- Nextcloud 28.0.2.5
- Apache 2.4 (mod_proxy, mod_httpd, mod_rewrite enabled)
- PHP 8.2
- Fritzbox Port Forwarding 80, 443
- 000-default.conf disabled
Config.php in /var/www/nextcloud/config
<?php
$CONFIG = array (
'instanceid' => 'removed for forum',
'passwordsalt' => 'removed for forum',
'secret' => 'removed for forum',
'trusted_domains' =>
array (
0 => '192.168.178.27',
),
'datadirectory' => '/media/external_storage_sd/var/nextcloud/data',
'dbtype' => 'mysql',
'version' => '28.0.2.5',
'overwritehost' => '192.168.178.27',
'overwritewebroot' => '/nextcloud',
'overwrite.cli.url' => 'http://192.168.178.27/nextcloud',
'htaccess.RewriteBase' => '/nextcloud',
'forwarded_for_headers' =>
array (
0 => 'HTTP_X_FORWARDED',
1 => 'HTTP_FORWARDED_FOR',
),
'trusted_proxies' =>
array (
0 => '192.168.178.27',
),
'dbname' => 'nextclouddb',
'dbhost' => 'localhost:5432',
'dbport' => '',
'dbtableprefix' => 'oc_',
'mysql.utf8mb4' => true,
'dbuser' => 'removed for forum',
'dbpassword' => 'removed for forum',
'installed' => true,
);
nextcloud.conf in /etc/apache2/sites-available
<VirtualHost *:80>
DocumentRoot /var/www/nextcloud/
<Directory /var/www/nextcloud/>
Require all granted
AllowOverride All
Options FollowSymLinks MultiViews
<IfModule mod_dav.c>
Dav off
</IfModule>
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
#RewriteEngine On
#RewriteCond "%{REQUEST_URI}" "^/$"
#RewriteCond "%{REQUEST_URI}" "!^nextcloud"
#RewriteRule "^(.*)$" - [F]
<Location /nextcloud>
ProxyPass http://192.168.178.27/
</Location>
</VirtualHost>
Vielen vielen Dank vorab für eure Zeit und Hilfe.
Grüße
Frank