Wo finde ich bei Nextcloud die Datei vom Wartungsmodus?
Damit meine ich wo ich im ordner von Nextcloud die datei finde wo ich den code vom wartungsmodus verändern kann
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.
Hmm da muss ich dann gucken wegen den updates ob ich das irgendwie ausschalten kann
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.
Kann man da nur den satz "Das System befindet sich im Wartungsmodus." ändern?
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.
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
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
https://workupload.com/file/c7QsaPT7Dad hab es jetzt ein wenig umgeändert aber wie könnte man z.b. den titel der website von Nextcloud zu irgendwas anderem ändern?
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.
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?
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.
Ok wo finde ich die beiden Dokumentation denn?
Ob dort aber Footer, ShortFooter etc. erwähnt sind, musst Du suchen. Ansonsten einfach ausprobieren, es kann ja nichts kaputt gehen. Oder aber die Quelltexte studieren.
Zum Thema BaseUrl schaue Dir
an, und zwar das, was zum Parameter 'overwrite.cli.url' dort steht.
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?
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.
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?
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',
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?
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',
);
Also soll ich vor der ); klammer folgendes hinschreiben:
Ist das so richtig?
$CONFIG = array (
'theme' => 'Meine domain',
),
Nein. Da muss der Name Deines Themes hin. Wenn das Theme in
themes/name
liegt:
$CONFIG = array (
'theme' => 'name',
),
achso sorry hab theme mit domain verwechselt sry
Wahrscheinlich irgendwo im Bereich OCC.
/var/www/nextcloud
Da liegt der OCC Befehl. Sorry, war mein Fehler und hilft dir nicht.
Was möchtest du denn erreichen?
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
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.
in den datein hab ich jetzt leider nichts gefunden zum ändern