Fortsetzen nach einer Moodle-MigrationHow to follow up after a Moodle migration

Aufgaben nach der MigrationPost-migration tasks

Nach der Migration von Moodle müssen Sie einige Aufgaben durchführen, um die Konfiguration zu vervollständigen.After migrating Moodle, you need to take care of some post-migration tasks to complete your configuration. Diese Aufgaben sind unter anderem:These tasks include:

  • Aktualisieren von Protokollpfaden in VM-Skalierungsgruppeninstanzen.Updating log paths in virtual machine scale set instances.
  • Neustarten von Servern in VM-Skalierungsgruppeninstanzen.Restarting servers in virtual machine scale set instances.
  • Aktualisieren von Zertifikaten.Updating certificates.
  • Aktualisieren von Zertifikatspeicherorten.Updating certificate locations.
  • Aktualisieren der lokalen HTML-Kopie.Updating the HTML local copy.
  • Neustarten der PHP- und NGINX-Server.Restarting the PHP and NGINX servers.
  • Zuordnen des DNS-Namens zur Azure Load Balancer-IP-Adresse.Mapping the DNS name to the Azure Load Balancer IP address.

VM-Skalierungsgruppe des ControllersController virtual machine scale set

Führen Sie die folgenden Schritte aus, um die Konfiguration der VM-Skalierungsgruppe abzuschließen.Take the following steps to finish configuring your virtual machine scale set. Sie müssen unter Verwendung der privaten IP-Adresse eine SSH-Verbindung mit der VM-Skalierungsgruppe herstellen, wie unter Zugreifen auf die VM-Skalierungsgruppe beschrieben.You will need to SSH to your virtual machine scale set instance by using the private IP address, as described in Access the virtual machine scale set.

Aktualisieren der ProtokollpfadeUpdate log paths

Protokolldateien werden in Ihrer lokalen Umgebung und in Azure möglicherweise an verschiedenen Speicherorten gespeichert.Your on-premises environment and Azure might store log files in different locations. Beispielsweise müssen Sie die folgenden Protokollpfade aktualisieren:For example, you might need to update these log paths:

  • /var/log/syslogs/moodle/access.log
  • /var/log/syslogs/moodle/error.log

Führen Sie diese Schritte aus, um die Speicherorte der Protokolldateien zu aktualisieren:Follow these steps to update the log file locations:

  1. Geben Sie diesen Befehl ein, um die Konfigurationsdatei zu öffnen:Enter this command to open the configuration file:

    nano /etc/nginx/nginx.conf
    
  2. Suchen Sie nach access_log und error_log, und aktualisieren Sie die Protokollpfade.Find access_log and error_log, and update the log paths.

  3. Drücken Sie STRG+O zum Speichern der Änderungen und STRG+X, um die Datei zu schließen.Press Ctrl+O to save the changes and Ctrl+X to close the file.

Neustarten von ServernRestart servers

Geben Sie die folgenden Befehle ein, um die nginx- und php-fpm-Server neu zu starten:Enter these commands to restart the nginx and php-fpm servers:

sudo systemctl restart nginx
sudo systemctl restart php<php version>-fpm

Virtueller ControllercomputerController virtual machine

Führen Sie diese Schritte aus, um die Konfiguration der Controller-VM abzuschließen.Take these steps to complete the controller virtual machine configuration.

Aktualisieren der SicherheitszertifikateUpdate security certificates

  1. Melden Sie sich bei der Controller-VM an.Sign in to the controller virtual machine. Die Zertifikate für Ihre Moodle-Anwendung befinden sich im Ordner /moodle/certs.You can find the certificates for your Moodle application in the /moodle/certs folder.

  2. Kopieren Sie die .crt- und .key-Dateien nach /moodle/certs/.Copy the .crt and .key files to /moodle/certs/. Ändern Sie die Dateinamen in nginx.crt bzw. nginx.key, damit sie von den konfigurierten NGINX-Servern erkannt werden.Change the file names to nginx.crt and nginx.key, respectively, so that the configured NGINX servers recognize them. Wenn Ihre lokale Umgebung das Hilfsprogramm SCP oder ein Tool wie WinSCP unterstützt, können Sie diese Dateien damit auf die Controller-VM kopieren.If your local environment supports the SCP utility or a tool like WinSCP, you can use these tools to copy these files to the controller virtual machine. Verwenden Sie andernfalls die folgenden Befehle:Otherwise, use these commands:

    cd /<path to certs location>
    mv /<path to certs location>/*.key /moodle/certs/nginx.key
    mv /<path to certs location>/*.crt /moodle/certs/nginx.crt
    

    Statt die Dateien zu kopieren, können Sie auch mithilfe der folgenden Befehle ein selbstsigniertes Zertifikat generieren:As an alternative to copying the files, use these commands to generate a self-signed certificate:

    openssl req -x509 -nodes -days 365 -newkey rsa:2048 \
    -keyout /moodle/certs/nginx.key \
    -out /moodle/certs/nginx.crt \
    -subj "/C=US/ST=WA/L=Redmond/O=IT/CN=mydomain.com"
    

    Ein selbstsigniertes Zertifikat kann nur zum Testen verwendet werden.You can only use a self-signed certificate for testing.

  3. Es wird empfohlen, www-data:www-data als Besitzer der Zertifikatsdateien festzulegen und diesem schreibgeschützten Zugriff zu gewähren.It's recommended that the certificate files are owned by www-data:www-data and are read-only to the owner. Geben Sie die folgenden Befehle ein, um diese Änderungen vorzunehmen:Enter these commands to make those changes:

    chown www-data:www-data /moodle/certs/nginx.*
    chmod 400 /moodle/certs/nginx.*
    
  4. Aktualisieren Sie den Speicherort des Zertifikats, indem Sie folgende Schritte ausführen:Update the certificate location by taking these steps:

    1. Geben Sie diesen Befehl ein, um die Konfigurationsdatei zu öffnen:Enter this command to open the configuration file:

      nano /etc/nginx/sites-enabled/*.conf
      
    2. Suchen Sie in der Datei nach ssl_certificate.Find ssl_certificate in the file.

    3. Ersetzen Sie die Pfade des Zertifikats durch die folgenden Werte:Replace the certificate's paths with these values:

      /moodle/certs/moodle/certs/nginx.crt;
      /moodle/certs/nginx.key;
      
    4. Drücken Sie STRG+O zum Speichern der Änderungen und STRG+X, um die Datei zu schließen.Press Ctrl+O to save your changes and Ctrl+X to close the file.

Aktualisieren der lokalen HTML-KopieUpdate local HTML copy

Die lokale Kopie des Inhalts der Moodle-HTML-Website /moodle/html/moodle wird in der VM-Skalierungsgruppe im folgenden Ordner erstellt: /var/www/html/moodle.The local copy of the Moodle HTML site content, /moodle/html/moodle, is created in the virtual machine scale set in this folder: /var/www/html/moodle. Die lokale Kopie wird nur aktualisiert, wenn der Zeitstempel geändert wird.The local copy is updated only when the time stamp changes. Geben Sie den folgenden Befehl auf der Controller-VM ein, um den Zeitstempel zu aktualisieren:Enter this command in the controller virtual machine to update the time stamp:

sudo -s
/usr/local/bin/update_last_modified_time.moodle_on_azure.sh

Die Datei für den Zeitstempel der letzten Änderung /moodle/html/moodle/last_modified_time.moodle_on_azure enthält ein Skript.The last-modified time stamp file, /moodle/html/moodle/last_modified_time.moodle_on_azure, contains a script. Jedes Mal, wenn das Skript ausgeführt wird, wird der Inhalt des Verzeichnisses /moodle/html/moodle in der lokalen Kopie /var/www/html aktualisiert.Every time that the script runs, the /moodle/html/moodle directory content is updated in the local copy, /var/www/html.

Neustarten von ServernRestart servers

Geben Sie die folgenden Befehle ein, um die nginx- und php-fpm-Server neu zu starten:Enter these commands to restart the nginx and php-fpm servers:

sudo systemctl restart nginx
sudo systemctl restart php<php version>-fpm

Zuordnen des DNS-Namens zur Azure Load Balancer-IP-AdresseMap the DNS name to the Azure Load Balancer IP address

Führen Sie die folgenden Schritte auf Ebene des Hostinganbieters aus, um den DNS-Namen der Azure Load Balancer-IP-Adresse zuzuordnen:Follow these steps at the hosting-provider level to map the DNS name to the Azure Load Balancer IP:

  1. Geben Sie den folgenden Befehl auf der Controller-VM ein, um den Wartungsmodus für die Moodle-Website zu deaktivieren:Enter the following command in the controller virtual machine to turn off maintenance mode on the Moodle website:

    sudo /usr/bin/php admin/cli/maintenance.php --disable
    
  2. Geben Sie den folgenden Befehl ein, um den Status der Moodle-Website zu überprüfen:Enter this command to check the status of the Moodle site:

    sudo /usr/bin/php admin/cli/maintenance.php
    
  3. Rufen Sie den DNS-Namen auf, um die migrierte Moodle-Webseite anzuzeigen.Go to the DNS name to see the migrated Moodle web page.

Häufig gestellte Fragen und ProblembehandlungFrequently asked questions and troubleshooting

Lesen Sie die folgenden Informationen, wenn Sie Fragen zur Moodle-Migration haben.Refer to the following information when you have questions about your Moodle migration. Bei der Problembehandlung können Sie auch die folgenden Protokolldateien hinzuziehen:These log files can also help you troubleshoot problems:

  • Syslog-Dateien:Syslog files:

    • Wenn ein Benutzer Ihre Webseite aufruft, wird vom System entweder ein Fehlerprotokoll oder ein Zugriffsprotokoll generiert.Whenever a user goes to your webpage, the system generates either an error log or an access log.
    • Diese finden Sie im folgenden Ordner: /var/log/nginx/.You can find them in this folder: /var/log/nginx/.
  • Cron-Protokolldatei:Cron log file:

    • Wenn ein Cron-Auftrag ausgeführt wird, wird die lokale Kopie der Protokolldatei aktualisiert.When a cron job runs, it updates the local copy of the log file.
    • Diese Datei finden Sie im folgenden Ordner: /var/log/sitelogs/moodle/cron.log.You can find the file in this folder: /var/log/sitelogs/moodle/cron.log.

DatenbankverbindungsfehlerDatabase connection failure

Im Folgenden finden Sie mögliche Ursachen und Lösungen für Fehler wie Fehler beim Öffnen der Datenbankverbindung oder Es konnte keine Verbindung mit der angegebenen Datenbank hergestellt werden:For errors like database connection failed or could not connect to the database you specified, here are some potential reasons and solutions:

  • Ihr Datenbankserver ist nicht installiert oder wird nicht ausgeführt.Your database server isn't installed or running. Um diese Bedingung in MySQL zu überprüfen, geben Sie den folgenden Befehl ein:To check for this condition in MySQL, enter the following command:

    $telnet database_host_name 3306
    

    Wenn die Datenbank ausgeführt wird, sollten Sie eine Antwort erhalten, die die Versionsnummer des MySQL-Servers enthält.If your database is running, you should get a response that includes the version number of the MySQL server.

  • Die Hostadresse ist nicht ordnungsgemäß konfiguriert.The host address is configured incorrectly. Wenn Sie zwei Instanzen von Moodle an unterschiedlichen Ports ausführen, verwenden Sie die IP-Adresse des Hosts und nicht localhost in der Einstellung $CFG->dbhost.If you're running two instances of Moodle on different ports, use the IP address of the host, not localhost, in the $CFG->dbhost setting. Verwenden Sie z.B. Folgendes:For example, use:

    $CFG->dbhost = 127.0.0.1:3308

  • Sie haben keine Moodle-Datenbank erstellt.You haven't created a Moodle database. Oder Sie haben keine ausreichenden Berechtigungen für den Zugriff auf die Datenbank zugewiesen.Or you haven't assigned adequate permissions for accessing the database. Überprüfen Sie die Datenbank und die Berechtigungen, die Sie erteilt haben.Check the database and the permissions that you granted.

  • Die Moodle-Datenbankeinstellungen sind nicht richtig.The Moodle database settings aren't correct. Beispielsweise kann der Datenbankname, der Benutzername oder das Kennwort in der Moodle-Konfigurationsdatei config.php falsch sein.For instance, the database name, username, or password in your Moodle configuration file, config.php, isn't correct. Stellen Sie sicher, dass der Benutzername und das Kennwort für MySQL keine Apostrophen und nur alphanumerische Zeichen enthalten.Make sure your MySQL username and password don't contain apostrophes or non-alphanumeric characters.

Interner ServerfehlerInternal server error

Dieser Fehler kann verschiedene Ursachen haben: 500: Interner Serverfehler.There are several possible causes for this error: 500: Internal Server Error. Überprüfen Sie zunächst das Fehlerprotokoll Ihres Webservers, in dem Sie eine ausführliche Erläuterung finden sollten.Start by checking your web server error log, which should contain a detailed explanation. Einige mögliche Ursachen:Here are some possibilities:

  • Die Datei .htaccess oder httpd.conf enthält einen Syntaxfehler.There's a syntax error in your .htaccess or httpd.conf file. Die richtige Syntax für Direktiven hängt von der Datei ab, die Sie verwenden.The correct syntax for directives differs depending on which file you're using. Verwenden Sie den folgenden Befehl, um Ihre NGINX-Dateien auf Konfigurationsfehler zu testen:Use the following command to test for configuration errors in your NGINX files:

    `nginx -t`
    
  • Der Webserver wird unter Ihrem eigenen Benutzernamen ausgeführt, und die Zugriffsberechtigungen sind falsch.The web server runs under your own user name, and the access permissions are incorrect. In diesem Fall ist für alle Dateien die maximale Berechtigungsebene 755 erforderlich.In this case, all files need a maximum permission level of 755. Überprüfen Sie in der Systemsteuerung, ob diese Ebene für Ihr Moodle-Verzeichnis festgelegt ist.Check that this level is set for your Moodle directory in your control panel. Sie können auch den folgenden Befehl verwenden, um die Ebene festzulegen, wenn Sie Zugriff auf die Shell haben:Or use this command to set the level if you have access to the shell:

    chmod -R 755 moodle
    

ArbeitsspeicherlimitfehlerMemory limit error

Wenn der Fehler 403: Verboten auftritt, ist der PHP-Wert memory_limit für das PHP-Skript zu klein.When a 403: Forbidden error occurs, the PHP memory_limit value isn't large enough for the PHP script. Der Wert memory_limit gibt die zulässige Arbeitsspeichergröße an.The memory_limit value is the allowed memory size. Erhöhen Sie den PHP-Wert memory_limit in kleinen Schritten, bis die Meldung nicht mehr angezeigt wird.Increase the PHP memory_limit value by small amounts until the message disappears. Verwenden Sie eine der folgenden Methoden:Use one of these methods:

  • Bei einer gehosteten Installation fragen Sie den Support Ihres Hosts, wie Sie den Wert erhöhen sollten.For a hosted installation, ask your host's support how to increase the value. In vielen Umgebungen werden .htaccess-Dateien verwendet.Many environments use .htaccess files. Wenn dies bei Ihrer Installation der Fall ist, fügen Sie die folgende Zeile Ihrer .htaccess-Datei hinzu:If your installation does, add the following line to your .htaccess file:

    php_value memory_limit <value>M
    

    Um den Wert z. B. auf 40 MB zu erhöhen, geben Sie Folgendes ein:For example, to increase the value to 40 megabytes, enter:

    php_value memory_limit 40M

    Wenn keine .htaccess-Datei vorhanden ist, erstellen Sie eine Datei mit dieser Zeile im Moodle-Verzeichnis.If no .htaccess file exists, create one in the Moodle directory with that line.

  • Wenn Sie über einen eigenen Server mit Shellzugriff verfügen, bearbeiten Sie Ihre Datei php.ini.If you have your own server with shell access, edit your php.ini file. Starten Sie den Webserver dann neu, um die Änderungen zu übernehmen, die Sie in php.ini vorgenommen haben.Then restart your web server to apply the changes that you made in php.ini. Um sicherzustellen, dass Sie den Wert ordnungsgemäß aktualisiert haben, geben Sie den folgenden Befehl ein:To make sure you've updated the value correctly, enter this command:

    `phpinfo`
    

    Die Ausgabe von phpinfo sollte eine Zeile wie die folgende enthalten:The output from phpinfo should contain a line similar to this one:

    memory_limit <value>M
    

    Beispielsweise könnte die folgende Zeile enthalten sein:For example, it might contain this line:

    memory_limit 40M

Statt den Wert memory_limit zu erhöhen, können Sie auch das Speicherlimit deaktivieren, indem Sie den folgenden Befehl eingeben:An alternative to increasing the memory_limit value is to turn off the memory limit by entering this command:

memory_limit 0

AnmeldefehlerSign-in errors

In bestimmten Fällen ist eine Anmeldung nicht möglich, oder es wird eine der folgenden Meldungen angezeigt:Sometimes you can't sign in, or you see one of these messages:

  • Your session has timed out. Please log in again.

  • A server error that affects your login session was detected. Please log in again or restart your browser.

Möglicherweise liegt ein Problem mit Ihrer Authentifizierungsmethode vor, insbesondere dann, wenn Sie eine externe Methode wie LDAP für die Benutzerauthentifizierung verwenden.There might be a problem with your authentication method, especially if you use an external method like LDAP to authenticate users. Versuchen Sie, sich bei einem anderen manuellen Konto (z. B. Ihrem Hauptadministratorkonto) anzumelden.Try to sign in to another manual account, such as your main admin account. Wenn Sie sich nicht anmelden können, überprüfen Sie die Authentifizierung.If you can't sign in, check your authentication. Wenn Sie sich beim anderen Konto anmelden können, finden Sie hier mögliche Gründe und Lösungen für das Problem mit der Moodle-Anmeldung:If you can sign in to the other account, here are possible reasons and solutions for the Moodle sign-in problem:

  • Die Festplatte ist möglicherweise voll.Your hard disk might be full. In diesem Fall kann Moodle keine neuen Sitzungen erstellen, und Benutzer können sich nicht anmelden.In this situation, Moodle can't create new sessions, and users can't sign in. Überprüfen Sie, ob Ihre Festplatte nicht voll ist, dass Ihr Server freigegeben gehostet wird und dass Sie Ihr Speicherplatzkontingent nicht erreicht haben.Check that your hard disk isn't full, that your server is on shared hosting, and that you haven't reached your disk space quota.

  • Der Webserver kann nicht in das Unterverzeichnis sessions schreiben.The web server can't write to the sessions subdirectory. Überprüfen Sie sorgfältig die Berechtigungen in Ihrem moodledata-Bereich.Carefully check the permissions in your moodledata area.

Schwerwiegende FehlerFatal errors

Die Berechtigungen für Moodle und „moodledata“ sind möglicherweise falsch, wenn der folgende Fehler angezeigt wird: fatal error: $cfg->dataroot is not writable. The admin has to fix directory permissions! Exiting.The Moodle and moodledata permissions might be incorrect if you see this error: fatal error: $cfg->dataroot is not writable. The admin has to fix directory permissions! Exiting.

Vergewissern Sie sich, dass diese Berechtigungen nur für www-data:www-data gelten.Check that these permissions are www-data:www-data only. Wenn die Berechtigungen auf einer anderen Ebene angewendet werden, verwenden Sie den folgenden Befehl, um die Gruppen- und Besitzberechtigungen zu ändern:If the permissions are at a different level, use this command to change the group and ownership permissions:

sudo chown -R /moodle/moodledata

Fehler beim Kurs der obersten EbeneTop-level course errors

Wenn Sie direkt nach der Installation von Moodle keinen Kurs der obersten Ebene vorfinden, wurde die Installation wahrscheinlich nicht vollständig durchgeführt.If you can't find a top-level course right after you install Moodle, the installation probably didn't finish. Direkt vor Abschluss einer vollständigen Installation werden Sie von Moodle aufgefordert, das Administratorprofil und einen Namen für die Website anzugeben.Right before the end of a complete installation, Moodle asks you for the administrator profile and prompts you to name the site. Wenn diese Schritte fehlten, sehen Sie in den Protokollen nach, ob Fehler aufgetreten sind.If these steps were missing, check your logs for errors. Starten Sie die Datenbank dann neu.Then restart the database. Wenn Sie das webbasierte Installationsprogramm verwendet haben, installieren Sie Moodle erneut über die Befehlszeile.If you used the web-based installer, install Moodle again by using the command line.

Wenn nach der Anmeldung eine uneingeschränkte Navigation in Moodle nicht möglich ist, ist die URL-Konfiguration möglicherweise falsch.If you can't navigate freely in Moodle after you sign in, your URL configuration might be incorrect. Stellen Sie sicher, dass die URL in der Einstellung $CFG->wwwroot mit der URL übereinstimmt, die Sie für den Zugriff auf die Website verwenden.Make sure that the URL in your $CFG->wwwroot setting is the same one that you use to access the site.

Fehler bei Hochladen von DateienFile upload errors

Wenn beim Hochladen einer Datei der Fehler Datei nicht gefunden angezeigt wird, sind Argumente mit Schrägstrichen auf Ihrem Webserver möglicherweise nicht aktiviert.If you see a File not found error when uploading a file, your web server might not have turned on slash arguments.

  • Wenn Ihr Webserver Argumente mit Schrägstrichen unterstützt, aktivieren Sie sie.If your web server supports slash arguments, turn them on.

  • Wenn Ihr Webserver keine Argumente mit Schrägstrichen unterstützt, deaktivieren Sie sie in Moodle, indem Sie das Kontrollkästchen Slash-Parameter benutzen unter Administration > Website-Administration > Server > HTTP deaktivieren.If your web server doesn't support slash arguments, turn them off in Moodle by clearing the Use slash arguments check box in Administration > Site administration > Server > HTTP. Möglicherweise wird die folgende Meldung angezeigt:You may see this message.

    Warnung

    Das Deaktivieren von Argumenten mit Schrägstrichen führt dazu, dass SCORM-Pakete nicht funktionieren und dass Warnungen mit wegen Argumenten mit Schrägstrichen angezeigt werden.Disabling slash arguments will result in SCORM packages not working and slash arguments warnings being displayed!

WartungsmodusfehlerMaintenance mode errors

Wenn sich Moodle im Wartungsmodus befindet und Sie versuchen, diesen Modus zu verlassen, wird manchmal die folgende Meldung angezeigt: Die Website wird gewartet und ist zurzeit nicht verfügbar.When Moodle is in maintenance mode and you try to leave that mode, sometimes you see this message: This site is undergoing maintenance and is currently unavailable. Dieser Fall tritt bei einem Problem mit der Datei maintenance.html auf, die von Moodle im Ordner moodledata erstellt wird, wenn zum Wartungsmodus gewechselt wird.This situation comes up when there's a problem with the maintenance.html file that Moodle creates in the moodledata folder when it goes into maintenance mode. Führen Sie in diesem Fall die folgenden Schritte aus:In this case, take these steps:

  • Überprüfen Sie, ob der Webserverbenutzer über Schreibberechtigungen für das Verzeichnis moodledata verfügt.Check that the web server user has write permissions in the moodledata directory.
  • Löschen Sie die Datei maintenance.html manuell.Manually delete the maintenance.html file.

Nächste SchritteNext steps