linux sysadmin installs moodle lms on ubuntu server

So installieren Sie Moodle auf dem Ubuntu-Server 22.04 | 20.04

Moodle is one of the best learning management systems available. It’s an open software, released under the open source ‘GNU General Public License’ which makes it highly flexible and customizable. In this guide you will learn how to install Moodle on Ubuntu server 20.04/22.04.

We are installing Moodle on a brand new, clean Ubuntu server with no software or data on it. If your server has data on it - make data backup first. Author is not responsible for possible data loss.

Bevor Sie beginnen

Schauen Sie sich unsere an Hosting-Service für Moodle Community-Ausgabe. Sie können das LMS nutzen, ohne es installieren zu müssen!

Voraussetzungen

  • Installieren Sie a VPS-Server mit Ubuntu 22.04 darauf
  • Holen Sie sich einen vollqualifizierten Domainname pointing to your server’s IP address, such as “moodle.example.org”

Für Beispiele in diesem Handbuch verwenden wir „domain“. Moodle.example.org, ändern Sie ihn in Ihren eigenen Domainnamen.

Vorbereiten des Ubuntu-Servers für die Moodle-Installation

Aktualisieren Sie das System

First thing first – updating the system. To get started connect to your server via SSH. Then run “apt update” and “apt upgrade” commands to update system packages to the latest version.

$ sudo apt update && apt upgrade -y

executing apt update and apt upgrade commands to update Ubuntu server before proceed to moodle installation

Installieren Sie den Apache-, PHP-8.1- und MariaDB-MySQL-Server

Als nächstes installieren Sie die Moodle-Abhängigkeiten. Wir müssen den Apache-Webserver, PHP 8.1, den MariaDB-SQL-Server, den Mailserver und eine Liste der für Moodle erforderlichen PHP-Erweiterungen installieren.

$ sudo apt install apache2 php8.1 mariadb-server postfix 
$ sudo apt install php8.1-mysql php8.1-fpm php8.1-iconv php8.1-mbstring php8.1-curl php8.1-tokenizer php8.1-xmlrpc php8.1-soap php8.1-ctype php8.1-zip php8.1-gd php8.1-simplexml php8.1-xml php8.1-intl

Wenn die Installation abgeschlossen ist, starten Sie den Apache-Webserver.

$ sudo systemctl start apache2 
$ sudo systemctl enable apache2

Konfigurieren Sie Apache VirtualHost und PHP-FPM

Wir werden Moodle 4.2 auf Apache und PHP-FPM ausführen. Im nächsten Schritt konfigurieren wir PHP-FPM für Apache.

1. Starten Sie den PHP-FPM-Dienst und aktivieren Sie ihn beim Booten.

$ sudo systemctl start php8.1-fpm
$ sudo systemctl enable php8.1-fpm

2. Um PHP-FPM mit Apache verwenden zu können, müssen wir die Module „proxy_fcgi“ und „proxy“ aktivieren.

sudo a2enmod proxy_fcgi proxy

3. Erstellen Sie eine Apache-Konfigurationsdatei für Moodle.

$ sudo nano /etc/apache2/sites-available/moodle.conf

Geben Sie die folgende Konfiguration in die Moodle.conf ein. Ersetzen Servername, DocumentRoot, Verzeichnis mit deinen Werten.

<VirtualHost *:80>
ServerName Moodle.example.org
ServerAlias www.Moodle.example.org
DocumentRoot /home/moodle/public_html

<Directory /home/moodle/public_html>
Options -Indexes +FollowSymLinks +MultiViews
AllowOverride All
Require all granted
</Directory>

<FilesMatch \.php$>
SetHandler "proxy:unix:/run/php/php8.1-fpm.sock|fcgi://localhost/"
</FilesMatch>

ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Speichern und schließen Sie die Datei mit STRG X, dann Y und dann Enter.

4. Aktivieren Sie den neuen virtuellen Host und laden Sie den Apache-Webserver neu.

$ a2ensite moodle
$ systemctl reload apache2

5. Also it’s nice to have a rewrite and SSL modules enabled

# a2enmod rewrite
# a2enmod ssl
# systemctl restart apache2

Erstellen Sie eine Datenbank und einen Datenbankbenutzer

1. Starten und aktivieren Sie den MariaDB-SQL-Server

root@moodle-lms-install:~# systemctl start mariadb 
root@moodle-lms-install:~# systemctl enable mariadb

2. Erstellen Sie einen MySQL-Benutzer und eine MySQL-Datenbank

root@moodle-lms-install:~# mysql
MariaDB [(none)]> create database moodle_dev;
MariaDB [(none)]> grant all privileges on moodle_dev.* to moodle_user@localhost identified by 'Change_to_Strong_SQL_Password';
MariaDB [(none)]> flush privileges;

Sobald wir Apache, PHP und MySQL konfiguriert haben, können wir mit der Installation des Moodle-Codes fortfahren.

Installieren Sie Moodle-Code

1. Erstellen Sie ein Home-Verzeichnis für die Moodle-Site und ein öffentliches Verzeichnis

$ useradd --create-home -s /bin/sh moodle
$ mkdir -p /home/moodle/public_html
$ chmod 711 /home/moodle

2. Laden Sie den neuesten Moodle-Code herunter und extrahieren Sie ihn in das öffentliche Verzeichnis.

Sie können das neueste Moodle unter herunterladen https://download.moodle.org/releases/latest/. Get the code and upload it into the public directory. In our case the directory is “/home/moodle/public_html”

Führen Sie die Installation im Browser aus

Bevor Sie mit diesem letzten Schritt fortfahren, müssen Sie Ihren Domainnamen auf die IP-Adresse Ihres Servers verweisen. Wenn DNS konfiguriert ist, können Sie die Moodle-Installation in einem Browser ausführen.

1. Open your browser and navigate to your Moodle’s site domain/sub-domain. You should see Moodle Installation page.

2. Choose website’s language. We will keep English.

choosing a language of moodle during installation
Auswahl einer Moodle-Sprache während der Installation

 

3. Bestätigen Sie die Pfade

Bestätigen Sie im nächsten Schritt, dass Webadresse, Moodle-Verzeichnis und Datenverzeichnis korrekt sind. Das Datenverzeichnis fehlte in unserer Installation, daher haben wir es in diesem Schritt erstellt.

# mkdir /home/moodle/moodledata
# chown www-data:www-data /home/moodle/moodledata

confirm web address, moodle directory, data directory

4. Wählen Sie einen Datenbankserver

Für diesen Leitfaden verwenden wir MariaDB. Wählen Sie MariaDB aus dem Dropdown-Menü aus.

choose MariaDB from dropdown

5. Geben Sie die Datenbankeinstellungen ein

Geben Sie den Datenbanknamen, den Datenbankbenutzer und das Passwort ein, die wir zuvor erstellt haben.

input database settings

6. Erstellen Sie die Datei config.php

After entering database settings and clicking “Next” a config.php file will be generated. Copy content of the file and create “config.php” in the root moodle directory (/home/moodle/public_html in this example).

7. Akzeptieren Sie die Lizenz

In diesem Schritt müssen Sie die Moodle-Lizenzvereinbarung lesen und akzeptieren.

8. Bestehen Sie die Serverprüfungen

Most of the checks passed in our installation. We only had to change “max_input_vars” from its default value to 5000.

$ nano /etc/php/8.1/fpm/php.ini
$ systemctl reload php8.1-fpm

fix max_input_vars error during moodle installation

9. Konfigurieren Sie Ihr Hauptadministratorkonto

In diesem Schritt sollten Sie das Administratorkonto konfigurieren. Geben Sie den Administrator-Benutzernamen, das Passwort und andere erforderliche Details ein.

10. Geben Sie die Home-Einstellungen der Site ein

Konfigurieren Sie den Site-Namen, den Kurznamen für die Site, die Site-Home-Zusammenfassung und andere Informationen.

 

configure moodle site settings

Erstellen Sie Ihren ersten Kurs!

After few final clicks you will see the LMS dashboard and Calendar. Proceed to “My Courses” tab and create your first Moodle course! Well done!

my courses tab in fresh installed moodle site