Wo finde ich bei Nextcloud die Datei vom Wartungsmodus?

2 Antworten

Ich habe gerade einfach mal nach "system in maintenance mode" gesucht. Ich fand

apps/dav/lib/Connector/Sabre/MaintenancePlugin.php

Dort ist aber natürlich die englische Version. Möglicherweise ist es einfacher, die Übersetzungsdatei zu ändern:

apps/dav/l10n/de_DE.js

apps/dav/l10n/de_DE.json

apps/dav/l10n/de.js

apps/dav/l10n/de.json

Wenn Du dort etwas änderst, geht das beim nächsten Upgrade wieder verloren. Ich bin mir nicht sicher, ob man das über Themes abbilden kann.

r3tzhrt 
Fragesteller
 27.11.2020, 15:57

Hmm da muss ich dann gucken wegen den updates ob ich das irgendwie ausschalten kann

0
r3tzhrt 
Fragesteller
 27.11.2020, 16:01

in den datein hab ich jetzt leider nichts gefunden zum ändern

0
franzhartwig  27.11.2020, 16:06
@r3tzhrt
Hmm da muss ich dann gucken wegen den updates ob ich das irgendwie ausschalten kann

Updates werden manuell gemacht, nicht automatisch. Es ist aber ganz schlecht, wenn man diese nicht macht.

in den datein hab ich jetzt leider nichts gefunden zum ändern

Das sind einfache Textdateien, in denen der englische Original-Text und die entsprechende deutsche Übersetzung steht:

grep -ir 'Wartungs' apps/dav/l10n/*
apps/dav/l10n/de_DE.js:   "System in maintenance mode." : "Das System befindet sich im Wartungsmodus.",
apps/dav/l10n/de_DE.json:   "System in maintenance mode." : "Das System befindet sich im Wartungsmodus.",
apps/dav/l10n/de.js:   "System in maintenance mode." : "Das System befindet sich im Wartungsmodus.",
apps/dav/l10n/de.json:   "System in maintenance mode." : "Das System befindet sich im Wartungsmodus.",

Wenn Du dort "Das System befindet sich im Wartungsmodus." durch "Karlheinz trinkt Kaffee." änderst, wird es beim nächsten Mal im Wartungsmodus Erstaunen auslösen.

0
r3tzhrt 
Fragesteller
 27.11.2020, 16:12
@franzhartwig

Kann man da nur den satz "Das System befindet sich im Wartungsmodus." ändern?

0
franzhartwig  27.11.2020, 16:30
@r3tzhrt

An dieser Stelle: ja. Das ist die Übersetzungsdatei. Je nach eingestellter Sprache werden die entsprechenden Strings aus dem PHP-Code übersetzt.

Die von mir genannte Datei apps/dav/lib/Connector/Sabre/MaintenancePlugin.php enthält wohl nur die Funktion, um zu prüfen, ob das System im Wartungsmodus ist. Diese Funktion wird in mehreren Dateien aufgerufen:

grep -ir checkMaintenanceMode 
lib/base.php:   public static function checkMaintenanceMode() {
lib/base.php:         self::checkMaintenanceMode();
apps/dav/lib/Connector/Sabre/MaintenancePlugin.php:      $this->server->on('beforeMethod:*', [$this, 'checkMaintenanceMode'], 1);
apps/dav/lib/Connector/Sabre/MaintenancePlugin.php:   public function checkMaintenanceMode() {
public.php:   OC::checkMaintenanceMode();

Schau Dir diese Dateien an und prüfe, wo Du die gewünschten Modifikationen platzieren kannst.

0
r3tzhrt 
Fragesteller
 27.11.2020, 17:00
@franzhartwig

Z.b. man müsste ja eig. auch den hintergrund ändern können wo kann man sowas denn z.b. machen oder den titel der website momentan steht da einfach nur Nextcloud

0
franzhartwig  27.11.2020, 17:40
@r3tzhrt

Schau doch einfach mal in den Quelltext der Wartungsseite. Dann erkennst Du, wie die aufgebaut ist.

								<header role="banner">
						<div id="header">
							<div class="logo">
								<h1 class="hidden-visually">
									Nextcloud								</h1>
																	<img src="/core/img/logo/logo.svg?v=72789f11de75e72b6715d594c12cbdbb980e55a6"/>
															</div>
						</div>
					</header>
								<main>
					<div class="body-login-container">
	<div class="icon-big icon-error-white"></div>
	<h2>Wartungsmodus</h2>
	<p>Diese Nextcloud-Instanz befindet sich gerade im Wartungsmodus, was eine Weile dauern kann. Diese Seite aktualisiert sich automatisch, sobald Nextcloud wieder verfügbar ist.</p>
	<p>Kontaktiere den Systemadministrator, wenn diese Meldung dauerhaft oder unerwartet erscheint.</p>
</div>
				</main>
			</div>
		</div>
		<footer role="contentinfo">
			<p class="info">
				Footertext			</p>
		</footer>
	</body>
</html>

Hier sieht man relativ leicht, dass Logo und Hintergrundfarbe über die Stylesheets definiert werden. Das kannst Du mit Themes bearbeiten.

Der Text "Diese Instanz befindet sich gerade im Wartungsmodus ..." findet sich übrigens in der Datei core/templates/update.user.php

0
franzhartwig  27.11.2020, 19:57
@r3tzhrt

Wo, bitteschön, liegt Wartungen?

Der in der Fensterleiste/im Tab angezeigte Titel ist für die Wartungsseite kein spezieller Titel. Dieser Titel wird auf allen Seiten von Nextcloud angezeigt.

Ich habe im Verzeichnis themes eine Datei defaults.php angelegt:

#<?php

/**
 * See lib/defaults.php for a list of possible defaults
 */

class OC_Theme {

  private $name_des_themes;
  function __construct() {
     $this->name_des_themes = "Nae";
  }

  public function getLongFooter() {
     return 'Dein Footertext';
  }
  public function getTitle() {
     return 'Seitentitel';
  }
  public function getLogoClaim() {
     return 'Dein LogoClaim';
  }
  public function getSlogan() {
     return 'Dein Slogan';
  }
  public function getShortFooter() {
     return 'Dein Kurzfooter';
  }
  public function getName() {
     return $this->name_des_themes;
  }
  public function getBaseUrl() {
     return 'example.com';
  }
  public function getMailHeaderColor() {
     return '#852f3f';
  }
  public function getScssVariables() {
     return [
       'color-primary' => '#740f0f',
   'color-error' => '#852f3f',
   'color-warning' => '#852f3f',
   'color-success' => '#852f3f',
   'color-body-login' => '#852f3f',
       'image-logo' => 'url(/pfad/zum/logo.svg)',
   'image-login-background' => 'url(/pfad/zum/Hintergrund.svg)',
       ];
  }
}

Hier findest Du ein paar weitere Informationen dazu:

https://help.nextcloud.com/t/howto-individual-themes-per-domain/27585/6

Es gibt auch eine App für das Theming in Nextcloud. Ich weiß aber nicht, was die alles unterstützt.

0
r3tzhrt 
Fragesteller
 28.11.2020, 12:04
@franzhartwig

Hey danke nochmal das du dir soviel zeit nimmst mir zu helfen was muss man bei "LogoClaim", "Kurzfooter" und "example.com" eingeben weil bei footer habe ich halt mein footer angegeben aber was bedeutet kurzfooter? und bei logoclaim ist das das logo welches oben neben dem titel angezeigt wird? und bei example.com soll ich da einfach nur meine domain angeben?

0
franzhartwig  28.11.2020, 12:19
@r3tzhrt
Hey danke nochmal das du dir soviel zeit nimmst mir zu helfen was muss man bei "LogoClaim", "Kurzfooter"

Das sind Freitexte. Trage einfach ein: "Egon hat Schule" und schaue das Ergebnis an. Nötigenfalls gibt es eine Dokumentation, die ich jetzt aber nicht für Dich durchwühlen möchte.

und "example.com" eingeben

Dazu solltest Du die Dokumentation lesen, was die BaseURL ist.

0
r3tzhrt 
Fragesteller
 28.11.2020, 14:59
@franzhartwig

da steht: Verwenden Sie diesen Konfigurationsparameter, um die Basis-URL für alle URLs anzugeben, die in Nextcloud mit beliebigen Befehlszeilentools (cron oder occ) generiert werden. Der Wert sollte die vollständige Basis-URL enthalten: 

https://www.example.com/nextcloud

Also muss ich da einfach nur meine domain eintragen? also http://DOMAIN oder?

0
franzhartwig  28.11.2020, 16:12
@r3tzhrt

http:// ist schon mal schlecht. Du solltest unbedingt https verwenden (vorher natürlich richtig einrichten.

Ich gebe Dir einen Tipp: Probiere es einfach aus. Ich kenne Deine Installation nicht, also weiß ich nicht, was bei Dir der Basis-URL ist. Ich habe zwei Nextcloud-Installationen in Gebrauch. Bei der einen ist der Basis-URL https://sub.domain.tld und bei der anderen ist es https://domain.tld/nextcloud.

Und noch ein Tipp: Der von mir gebrachte Code für die defaults.php ist ein Beispiel-Code. Du musst nicht jede Funktion nutzen. Was Du nicht nutzen möchtest, lösche einfach raus.

0
r3tzhrt 
Fragesteller
 28.11.2020, 16:49
@franzhartwig
http://  ist schon mal schlecht. Du solltest unbedingt https verwenden (vorher natürlich richtig einrichten.

Hatte vorher auch immer https hatte nur mein Server neuinstalliert aber ich werde es wieder einrichten.

Ich gebe Dir einen Tipp: Probiere es einfach aus. Ich kenne Deine Installation nicht, also weiß ich nicht, was bei Dir der Basis-URL ist. Ich habe zwei Nextcloud-Installationen in Gebrauch. Bei der einen ist der Basis-URL  https://sub.domain.tld und bei der anderen ist es  https://domain.tld/nextcloud.

Okay ich probier es einfach mit nur der domain glaub nicht das ich domain/nextcloud gemacht habe.

Und noch ein Tipp: Der von mir gebrachte Code für die defaults.php ist ein Beispiel-Code. Du musst nicht jede Funktion nutzen. Was Du nicht nutzen möchtest, lösche einfach raus.

Mach ich aber danke nochmal dafür!

Eine frage hab ich dennoch ich habe die icons und das favicon geändert das kann man ja im /var/www/nextcloud/themes/example/core/img ordner machen nur ich habe alles geändert habe selbst auf die größe geachtet nur bei den .svg datein weiß ich nicht wie ich das mache die ganzen converter die es zu einer svg datei machen funktionieren aber nicht und ich habe halt alles außer die svg datein gewechselt aber funktioniert halt nicht also die bilde werden nicht ausgewechselt ich glaube das liegt halt daran das ich die svg datein nicht ausgewechselt habe weiß du zufällig wie ich das machen kann?

0
franzhartwig  28.11.2020, 18:03
@r3tzhrt

nur bei den .svg datein weiß ich nicht wie ich das mache die ganzen converter die es zu einer svg datei machen funktionieren aber nicht

Es wäre schön, wenn Du Deine Sätze mal strukturieren würdest. Dann wären sie nämlich lesbar und leichter verständlich. svg ist kein Bitmap-Format, sondern ein Vektor-Format. Diese Dateien sind stufenlos skalierbar bei wenig Speicherbedarf.

Ich habe svg-Dateien mal mit Inkskape gemacht.

Das Theme musst Du in der Datei config/config.php im Nextcloud-Verzeichnis angeben:

'theme' => 'Name_des_Themes',

0
r3tzhrt 
Fragesteller
 28.11.2020, 18:49
@franzhartwig

in der config.php gibt es den punkt theme nicht aber in der config.sample.php aber das ist ja die datei wo ich das eintragen soll oder?

0
franzhartwig  28.11.2020, 19:44
@r3tzhrt

Die config.sample.php ist, wie der Name schon sagt, nur ein Beispiel. Da stehen mögliche Parameter drin. Wenn etwas in der config.php nicht drinsteht, schreibe es halt rein. Die Reihenfolge ist egal. Die allgemeine Struktur ist

<?php
$CONFIG = array (
'parameter' => 'Wert',
);
0
r3tzhrt 
Fragesteller
 28.11.2020, 22:12
@franzhartwig

Also soll ich vor der ); klammer folgendes hinschreiben:

Ist das so richtig?

$CONFIG = array (
'theme' => 'Meine domain',
),
0
franzhartwig  28.11.2020, 22:21
@r3tzhrt

Nein. Da muss der Name Deines Themes hin. Wenn das Theme in

themes/name

liegt:

$CONFIG = array (
'theme' => 'name',
),
0

Wahrscheinlich irgendwo im Bereich OCC.

r3tzhrt 
Fragesteller
 27.11.2020, 15:41

es gibt kein ordner namens occ

0
OsamasInPyjamas  27.11.2020, 15:45
@r3tzhrt

/var/www/nextcloud

Da liegt der OCC Befehl. Sorry, war mein Fehler und hilft dir nicht.

Was möchtest du denn erreichen?

0
r3tzhrt 
Fragesteller
 27.11.2020, 15:47
@OsamasInPyjamas

Die datei hab ich gerad auch gefunden steht aber nichts drin ich wollte wissen wo ich die datei von dem wartungsmodus finde also wo ich ändern kann wenn man z.b. den wartungsmodus an hat und auf die seite geht wird da ja wartungsmodus angezeigt ich meine halt wo ich den text dann ändern kann halt in der datei wo ich die datei finde wo das drin steht

0
OsamasInPyjamas  27.11.2020, 15:53
@r3tzhrt

Puhh, gute Frage. Also ob der Wartungsmodus an oder aus ist steht in der /var/www/nextcloud/config/config.php Da gibts dann halt den Punkt "maintenance" => true oder halt false.

Eventuell findest du da weitere Hinweise auf eine weitere Config Datei, wie sich die Nextcloud dann verhalten soll.

Ansonsten einfach mal im Nextcloud Forum fragen. Die meisten Leute sind da echt hilfsbereit.

0