linux sysadmin installs moodle lms on ubuntu server

Jak nainstalovat Moodle na server Ubuntu 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.

Než začnete

Podívejte se na naše hostingové služby pro Moodle komunitní vydání. LMS můžete začít používat, aniž byste jej museli instalovat!

Předběžné požadavky

  • Nainstalujte a VPS server s Ubuntu 22.04 na něm
  • Získejte plnou kvalifikaci název domény pointing to your server’s IP address, such as “moodle.example.org”

Pro příklady v této příručce budeme používat doménu moodle.example.org, změňte jej na svůj vlastní název domény.

Příprava serveru Ubuntu pro instalaci Moodle

Aktualizujte systém

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

Nainstalujte Apache, PHP-8.1, MariaDB MySQL server

Dále nainstalujte závislosti Moodle. Potřebujeme nainstalovat webový server Apache, PHP 8.1, MariaDB SQL server, poštovní server a seznam PHP rozšíření požadovaných Moodle.

$ 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

Po dokončení instalace spusťte webový server apache.

$ sudo systemctl start apache2 
$ sudo systemctl enable apache2

Nakonfigurujte Apache VirtualHost a PHP-FPM

Budeme provozovat Moodle 4.2 na Apache a PHP-FPM. V dalším kroku nakonfigurujeme PHP-FPM pro Apache.

1. Spusťte službu PHP-FPM a povolte ji při spuštění.

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

2. Chcete-li používat PHP-FPM s Apache, musíme povolit proxy_fcgi a proxy moduly.

sudo a2enmod proxy_fcgi proxy

3. Vytvořte konfigurační soubor Apache pro Moodle.

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

Zadejte následující konfiguraci do moodle.conf. Vyměňte ServerName, DocumentRoot, Directory se svými hodnotami.

<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>

Uložte a zavřete soubor pomocí CTRL X, poté Y a poté Enter.

4. Povolte nový virtuální hostitel a znovu načtěte webový server Apache.

$ 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

Vytvořte databázi a uživatele databáze

1. Spusťte a povolte server MariaDB SQL

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

2. Vytvořte MySQL uživatele a databázi

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;

Jakmile máme nakonfigurované Apache, PHP a MySQL, můžeme pokračovat v instalaci kódu Moody.

Nainstalujte kód Moodle

1. Vytvořte domovský adresář pro web Moodle a veřejný adresář

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

2. Stáhněte si nejnovější kód Moodle a rozbalte jej do veřejného adresáře.

Nejnovější moodle si můžete stáhnout z 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”

Spusťte instalaci v prohlížeči

Než přistoupíte k tomuto poslednímu kroku, musíte nasměrovat název své domény na IP adresu vašeho serveru. Po nakonfigurování DNS můžete spustit instalaci Moodle v prohlížeči.

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
výběr jazyka Moodle během instalace

 

3. Potvrďte cesty

V dalším kroku potvrďte, že webová adresa, adresář moodle a adresář dat jsou správné. V naší instalaci chyběl datový adresář, proto jsme jej vytvořili v tomto kroku.

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

confirm web address, moodle directory, data directory

4. Vyberte databázový server

Pro tuto příručku používáme MariaDB. Z rozbalovací nabídky vyberte MariaDB.

choose MariaDB from dropdown

5. Zadejte nastavení databáze

Zadejte název databáze, uživatele databáze a heslo, které jsme vytvořili dříve.

input database settings

6. Vytvořte soubor 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. Přijměte licenci

V tomto kroku si musíte přečíst a přijmout licenční smlouvu Moodle.

8. Projděte kontrolou serveru

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. Nakonfigurujte svůj hlavní administrátorský účet

V tomto kroku byste měli nakonfigurovat účet správce. Zadejte uživatelské jméno správce, heslo a další požadované údaje.

10. Zadejte domovská nastavení webu

Nakonfigurujte název webu, krátký název webu, shrnutí domovské stránky webu a další informace.

 

configure moodle site settings

Vytvořte si svůj první kurz!

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