Nach setzen eines zweiten benutzers auf unbegrenzte Speichernutung ist der Server nicht mehr erreichbar

Moin moin,

Bevor ich mich ins englische Forum begeben, wollte ich erstmal hier rücksprache halten.
Es geht darum, dass ich einen Benutzer unbegrenzte Datenspeicherung erlauben wollte.
Seitdem ich dies besätigt hatte, startet nextcloud nicht mehr/ist nicht mehr zu erreichen.

Zum System:
Rasp. 4 4GB Ram
2 1TB Festplatten als Datenspeicher
Snap-Installation (Aktuellste)
Das Pihole, was Nebenher läuft funktioniert und ist über den Browser erreichbar, die Cloud nicht.
(SSH funktioniert auch)

Nun zur Idee: ich suche verzweifelt die Datei, in der Festgeschrieben wird, wieviel speicher jeder Benutzer hat. Hier würde ich dann von Unlimitet auf eine Wert festlegen.
Ist das möglich? Wo würde ich die Datei finden?

Oder habt ihr eine andere Idee, warum weder die Apps noch der Browser eine Verbindung aufbauen kann?

MFG

Ich denke nicht, dass es daran liegt. Wie ist denn die Fehlermeldung? Du kannst mal im Browser F12 drücken und dann auf Netzwerkanalyse schauen. Was wird denn überhaupt noch beim Aufruf deiner Nextcloud geladen?

Da ich nicht genau weiß, welche infos du benötigst, gebe ich euch mal die Adresse des Servers. Mit zarri.sytes.net wirst du auf den Pi geleitet.

Ich sehe nur die Debian-Standardkonfiguration. Scheinbar ist dein Apache2 fehlerhaft konfiguriert. Hast du irgendwo unterhalb von /etc/apache2 was angepasst? Vielleicht kanst du Teile der Konfiguration hier posten und zudem schauen ob evtl. dort verwiesene Ordner zur Nextcloud auch tatsächlich (noch) vorhanden sind.

Prinzipel habe ich dort nichts geändert. Was mich denn auch wundern würde, denn vor der Setzung des Limetes hat ja alles funktioniert.

Aber gut, welche Teile der Apache2.conf möchtest du denn haben?

Einstellungen, wie du deine Nextcloud konfiguriert hast. Leider kenne ich mit Pi und Snap nicht aus. Es sollte dort wahrscheinlich ein virtueller Webserver definiert sein und auf das entsprechende Unterverzeichnis verweisen. Such nach diesen Einstellungen.

Nextcloud.conf
<?php                                                                                                                                 $CONFIG = array (
  'apps_paths' =>
  array (
    0 =>
    array (
      'path' => '/snap/nextcloud/current/htdocs/apps',
      'url' => '/apps',
      'writable' => false,
    ),
    1 =>
    array (
      'path' => '/var/snap/nextcloud/current/nextcloud/extra-apps',
      'url' => '/extra-apps',
      'writable' => true,
    ),
  ),
  'supportedDatabases' =>
  array (
    0 => 'mysql',
  ),
  'memcache.locking' => '\\OC\\Memcache\\Redis',
  'memcache.local' => '\\OC\\Memcache\\Redis',
  'redis' =>
  array (
    'host' => '/tmp/sockets/redis.sock',
    'port' => 0,
  ),
  'instanceid' => 'XXX',
  'passwordsalt' => 'XXX',
  'secret' => 'XXX',
  'trusted_domains' =>
  array (
    0 => '192.168.178.23',
    2 => 'zarri.sytes.net',
  ),
  'datadirectory' => '/media/raid/',
  'dbtype' => 'mysql',
  'version' => '17.0.3.1',
  'overwrite.cli.url' => 'http://192.168.178.23',
  'dbname' => 'nextcloud',
  'dbhost' => 'localhost:/tmp/sockets/mysql.sock',
  'dbport' => '',
  'dbtableprefix' => 'oc_',
  'mysql.utf8mb4' => true,
  'dbuser' => 'nextcloud',
  'dbpassword' => 'XXX',
  'installed' => true,
  'maintenance' => false,
  'theme' => '',
  'loglevel' => 2,
);

Wahrscheinlich das Apachi2 Modul in der Nextcloud.

# ServerRoot: The top of the directory tree under which the server's                                                                  # configuration, error, and log files are kept.                                                                                       
#                                                                                                                                     
# Do not add a slash at the end of the directory path.  If you point                                                                  
# ServerRoot at a non-local disk, be sure to specify a local disk on the                                                              
# Mutex directive, if file-based mutexes are used.  If you wish to share the                                                          
# same ServerRoot for multiple httpd daemons, you will need to change at                                                              
# least PidFile.                                                                                                                      
#                                                                                                                                     
ServerRoot "${SNAP}"                                                                                                                                                                                                                                                        
#                                                                                                                                     

# Listen: Allows you to bind Apache to specific IP addresses and/or                                                                   
# ports, instead of the default. See also the <VirtualHost>                                                                           
# directive.                                                                                                                          

#                                                                                                                                     

# Change this to Listen on specific IP addresses as shown below to                                                                    
# prevent Apache from glomming onto all bound IP addresses.                                                                           
#                                                                                                                                     

#Listen 12.34.56.78:80                                                                                                                
   
 Listen ${HTTP_PORT}                                                                                                                                                                                                                                                         
#                                                                                                                                    
   
 # Mutex: Allows you to set the mutex mechanism and mutex file directory                                                               
# for individual mutexes, or change the global defaults                                                                               
#                                                                                                                                     

# Using pthread here, since Apache tries to chown the file-based mutex
   
 # which isn't allowed in Snappy, and Ubuntu supports robust pthread                                                                   
# mutexes that can be recovered if the child process terminates

# abnormally.                                                                                                                         
   
 #                                                                                                                                     
   
 Mutex pthread                                                                                                                                                                                                                                                               
#                                                                                                                                     

# PidFile: Allows you to place the pidfile in a specific location.                                                                    
PidFile "${APACHE_PIDFILE}"                                                                                                                                                                                                                                                 
#                                                                                                                                     

# Dynamic Shared Object (DSO) Support                                                                                                 

#                                                                                                                                     
   
 # To be able to use the functionality of a module which was built as a DSO you                                                        
# have to place corresponding `LoadModule' lines at this location so the                                                              
# directives contained in it are actually available _before_ they are used.                                                           
# Statically compiled modules (those listed by `httpd -l') do not need                                                                
# to be loaded here.                                                                                                                  

#                                                                                                                                     

# Example:                                                                                                                            

# LoadModule foo_module modules/mod_foo.so                                                                                            
#                                                                                                                                     

LoadModule authz_core_module modules/mod_authz_core.so                                                                                
LoadModule mime_module modules/mod_mime.so                                                                                            
LoadModule env_module modules/mod_env.so                                                                                              
LoadModule headers_module modules/mod_headers.so                                                                                      
LoadModule setenvif_module modules/mod_setenvif.so                                                                                    
LoadModule proxy_module modules/mod_proxy.so                                                                                          
LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so                                                                                
LoadModule unixd_module modules/mod_unixd.so                                                                                          
LoadModule dir_module modules/mod_dir.so                                                                                              
LoadModule alias_module modules/mod_alias.so                                                                                          
LoadModule rewrite_module modules/mod_rewrite.so                                                                                      
LoadModule socache_shmcb_module modules/mod_socache_shmcb.so

                                                                                                                                      

# 'Main' server configuration                                                                                                         

#                                                                                                                                     

# The directives in this section set up the values used by the 'main'                                                                 
# server, which responds to any requests that aren't handled by a                                                                     
# <VirtualHost> definition.  These values also provide defaults for

# any <VirtualHost> containers you may define later in the file.                                                                      
#                                                                                                                                     

# All of these directives may appear inside <VirtualHost> containers,                                                                 
# in which case these default settings will be overridden for the                                                                     
# virtual host being defined.                                                                                                         

#                                                                                                                                                                                                                                                                           
#                                                                                                                                     

# Deny access to the entirety of your server's filesystem. You must                                                                   
# explicitly permit access to web content directories in other                                                                        
# <Directory> blocks below.                                                                                                           

#                                                                                                                                     

<Directory />                                                                                                                             

AllowOverride none                                                                                                                    

Require all denied                                                                                                                

</Directory>                                                                                                                                                                                                                                                                
#                                                                                                                                     

# Note that from this point forward you must specifically allow                                                                       
# particular features to be enabled - so if something's not working as                                                                
# you might expect, make sure that you have specifically enabled it                                                                   
# below.                                                                                                                              

#                                                                                                                                                                                                                                                                           
#                                                                                                                                     

# DocumentRoot: The directory out of which you will serve your                                                                        
# documents. By default, all requests are taken from this directory, but                                                              
# symbolic links and aliases may be used to point to other locations.

#                                                                                                                                     

DocumentRoot "${SNAP}/htdocs"

<Directory "${SNAP}/htdocs">                                                                                                              

#                                                                                                                                     

# Possible values for the Options directive are "None", "All",                                                                        
# or any combination of:                            

    #   Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews                                                           
#                                                                                                                                     

# Note that "MultiViews" must be named *explicitly* --- "Options All"                                                                 
# doesn't give it to you.                                                                                                             

#                                                                                                                                     

# The Options directive is both complicated and important.  Please see                                                                
# http://httpd.apache.org/docs/2.4/mod/core.html#options                                                                              
# for more information.                                                                                                               

#                                                                                                                                     

Options FollowSymLinks                                                                                                                                                                                                                                                      
#                                                                                                                                     

# AllowOverride controls what directives may be placed in .htaccess files.                                                            
# It can be "All", "None", or any combination of the keywords:                                                                        
#   AllowOverride FileInfo AuthConfig Limit                                                                                           

#                                                                                                                                     

AllowOverride None                                                                                                                                                                                                                                                          
#                                                                                                                                     

# Controls who can get stuff from this server.                                                                                       

 #                                                                                                                                     

Require all granted                                                                                                                                                                                                                                                         
# Include Nextcloud's .htaccess file directly. In a typical setup this would                                                          
# be dangerous since it increases the capability of the .htaccess file in                                                             
# case an attacker was able to modify it, but that's not actually possible                                                            
# on Snappy (since the .htaccess file is read-only) so we'll do it here so                                                            
# as to avoid manually copying it in and needing to maintain it.

    Include ${SNAP}/htdocs/.htaccess                                                                                                  
</Directory>                                                                                                                                                                                                                                                                
# Serve static assets for apps in a writable location.                                                                                
Alias "/extra-apps" "${SNAP_DATA}/nextcloud/extra-apps"                                                                               

<Directory "${SNAP_DATA}/nextcloud/extra-apps">  
   AllowOverride None                                                                                                               
 Require all granted                                                                                                               
</Directory>                                                                                                                                                                                                                                                                # Serve ACME authentication data (Let's Encrypt).                                                                                     Alias "/.well-known/acme-challenge" "${SNAP_DATA}/certs/certbot/.well-known/acme-challenge"                                           <Directory "${SNAP_DATA}/certs/certbot/.well-known/acme-challenge">                                                                       AllowOverride None                                                                                                                    
Require all granted                                                                                                               
</Directory>                                                                                                                                                                                                                                                                
#                                                                                                                                     
# The following lines prevent .htaccess and .htpasswd files from being                                                                
# viewed by Web clients.                                                                                                             
#                                                                                                                                     
<Files ".ht*">                                                                                                                            
Require all denied                                                                                                                
</Files>                                                                                                                                                                                                                                                                    
# Setup the proxy to PHP-FPM                                                                                                          
ProxyTimeout 3600                                                                                                                     
ProxyFCGIBackendType GENERIC                                                                                                          
<FilesMatch \.php$>                                                                                                                       
SetHandler 
"proxy:unix:${PHP_FPM_SOCKET}|fcgi://localhost/"                                                                       
</FilesMatch>                                                                                                                                                                                                                                                               
<Proxy "fcgi://localhost/">                                                                                                           
</Proxy>
                                                                                                                                  
#

# Default log location. If you define an error logfile for a <VirtualHost>                                                            
# container, that host's errors will be logged there and not here.                                                                    
#                                                                                                                                     
ErrorLog "${SNAP_DATA}/apache/logs/error_log"    

#                                                                                                                                     
# LogLevel: Control the number of messages logged to the error_log.                                                                   
# Possible values include: debug, info, notice, warn, error, crit,                                                                    
# alert, emerg.                                                                                                                      
#
                                                                                                                               
LogLevel warn                                                                                                                                                                                                                                                               
#                                                                                                                                     
# TypesConfig points to the file containing the list of mappings from                                                                 
# filename extension to MIME-type.                                                                                                    
#                                                                                                                                     
TypesConfig conf/mime.types                                                                                                                                                                                                                                                 
# Disable HTTP TRACE method.                                                                                                          
TraceEnable off                                                                                                                                                                                                                                                             
# Disable HTTP TRACK method.                                                                                                          
RewriteEngine On                                                                                                                      
RewriteCond %{REQUEST_METHOD} ^TRACK                                                                                                  
RewriteRule .* - [R=405,L]                                                                                                                                                                                                                                                  
# Disable debug tokens and signature unless debug mode is requested                                                                   
ServerTokens Prod                                                                                                                     
ServerSignature Off                                                                                                                   
<IfDefine Debug>                                                                                                                          
ServerTokens Full                                                                                                                     
ServerSignature On                                                                                                                
</IfDefine>
                                                                                                                                  
# Only enable SSL if requested
<IfDefine EnableHTTPS>                                                                                                                    
Include ${SNAP}/conf/ssl.conf                                                                                                     
</IfDefine>

Alle angeben ohne Gewähr das es die Richtigen sind. Ein Freund und ich suchen gerade nach dem Apachi2 Modul in der Snap insatlation und schauen genauer was da los ist. Wenn du möchtest, lade ich dich zu einen Discord ein, über denen wir das per Gespräch lösen können. Die Lösung würde ich dann der Vollständigkeitshalber später hier nachtragen.

Lösung:

Ja in Apachi ist etwas zerschossen. Er lässt auf einen schlag die Ports 80 und 443 nicht mehr zu. Nachdem ich das auf dem PI auf andere Ports geändert habe, funktioniert das wieder.

1 Like

Vielleicht noch eine kurze Anmerkung:
Natürlich mag es auf den ersten Schritt einfacher sein seine Nextcloud mit Snap oder einen anderen fertigen Image wie NextcloudPi hochzuziehen. Falls du jedoch etwas dabei lernen willst wäre es vielleicht besser ein minimales Debian oder Ubuntu zu verwenden und darauf dann Apache2, MariaDB, Lets Encrypt und Nextcloud aufzusetzen.
Folgende Anleitung beschreibt es ungefähr und mag bei einen Pi etwas abweichen: