Effektiv læringsplattform drevet av moderne teknologi for enkel installasjon, vedlikehold og administrasjon.
Denne siden dekker vedlikeholdsrutiner, automatisering av sikkerhetskopier og oppdateringer, samt hvordan man håndterer potensielle katastrofer ved å gjenopprette systemet fra en sikkerhetskopi.
For å beskytte Moodle-dataene og databasen din, bør du sette opp automatiserte sikkerhetskopier. Her er en fremgangsmåte for å bruke mysqldump til å lage sikkerhetskopier av databasen, og rsync for å synkronisere filer.
Bruk mysqldump for å lage en sikkerhetskopi av Moodle-databasen:
mysqldump -u root -prootpassword moodle > /srv/moodle/db-backup.sql
Dette vil lagre en SQL-dump av Moodle-databasen i mappen /srv/moodle.
For å sikkerhetskopiere Moodle-filer (f.eks. kursfiler og opplastede oppgaver), kan du bruke rsync til å kopiere filene til en ekstern lagringsenhet eller backup-server:
rsync -av /srv/moodledata user@backup-server:/path/to/backup/
Denne kommandoen vil sikkerhetskopiere Moodle-dataene til en ekstern server ved bruk av rsync.
For å sikre at sikkerhetskopier kjøres regelmessig, kan du opprette en cron-jobb. Dette vil sikre at både databasen og filene blir sikkerhetskopiert hver natt:
crontab -e
Legg til følgende linjer for å kjøre sikkerhetskopien hver dag klokken 02:00:
0 2 * * * mysqldump -u root -prootpassword moodle > /srv/moodle/db-backup.sql
0 2 * * * rsync -av /srv/moodledata user@backup-server:/path/to/backup/
Nå vil sikkerhetskopien kjøre automatisk hver natt.
For å holde systemet oppdatert og sikkert, anbefales det å automatisere både systemoppdateringer og oppdateringer av Docker-containere.
For å automatisere systemoppdateringer, bruk verktøyet unattended-upgrades som vi allerede har installert under forberedelser:
sudo dpkg-reconfigure --priority=low unattended-upgrades
Dette vil sikre at sikkerhetsoppdateringer blir installert automatisk.
For å oppdatere Docker-containere automatisk, kan du bruke Ansible eller cron-jobber. Her er et eksempel på en Ansible-playbook som kan oppdatere Docker-containere:
---
- hosts: primary
become: yes
tasks:
- name: Oppdater Docker-containere
shell: docker-compose pull && docker-compose up -d
args:
chdir: /srv/moodle/
Kjør denne Ansible-playbooken for å oppdatere Docker-containere manuelt, eller sett opp en cron-jobb som kjører den ukentlig:
0 3 * * 1 ansible-playbook -i "primær-server-ip," update-docker.yml
Denne cron-jobben vil automatisk oppdatere Docker-containere hver mandag klokken 03:00.
Når Moodle er installert via Git, kan du oppdatere til den nyeste versjonen med følgende kommandoer:
cd /srv/moodle
git pull
Denne kommandoen vil hente den nyeste koden fra Moodle's GitHub-repository. Etter oppdateringen må du fullføre oppdateringsprosessen ved å gå til Moodle-nettstedet ditt i en nettleser og følge instruksjonene for databasen.
Hvis noe går galt med Moodle-plattformen din, kan du gjenopprette både databasen og Moodle-filer fra en sikkerhetskopi.
For å gjenopprette databasen fra en sikkerhetskopi, bruk mysql-kommandoen til å importere SQL-dumpen:
mysql -u root -prootpassword moodle < /srv/moodle/db-backup.sql
Bruk rsync til å kopiere Moodle-data tilbake til serveren:
rsync -av user@backup-server:/path/to/backup/ /srv/moodledata
Dette vil gjenopprette filene til Moodle-dataområdet.
For å overvåke Moodle-plattformen din og sikre at alt fungerer optimalt, kan du bruke verktøy som Prometheus og Grafana for å spore ytelse og systemressurser.
Prometheus og Grafana er kraftige verktøy for overvåking av Moodle-tjenestene dine. Prometheus samler inn ytelsesdata fra Docker-containere og andre tjenester, mens Grafana gir deg visuelle dashboards som viser dataene i sanntid.
Følg disse stegene for å installere og konfigurere Prometheus på serveren din.
sudo apt update
sudo useradd --no-create-home --shell /bin/false prometheus
sudo mkdir /etc/prometheus
sudo mkdir /var/lib/prometheus
cd /tmp
curl -LO https://github.com/prometheus/prometheus/releases/download/v2.33.5/prometheus-2.33.5.linux-amd64.tar.gz
tar xvf prometheus-2.33.5.linux-amd64.tar.gz
sudo cp prometheus-2.33.5.linux-amd64/prometheus /usr/local/bin/
sudo cp prometheus-2.33.5.linux-amd64/promtool /usr/local/bin/
sudo cp -r prometheus-2.33.5.linux-amd64/consoles /etc/prometheus
sudo cp -r prometheus-2.33.5.linux-amd64/console_libraries /etc/prometheus
sudo cp prometheus-2.33.5.linux-amd64/prometheus.yml /etc/prometheus/prometheus.yml
Lag en systemd-tjeneste for Prometheus slik at den starter automatisk ved oppstart:
sudo nano /etc/systemd/system/prometheus.service
Lim inn følgende innhold:
[Unit]
Description=Prometheus
Wants=network-online.target
After=network-online.target
[Service]
User=prometheus
ExecStart=/usr/local/bin/prometheus --config.file=/etc/prometheus/prometheus.yml --storage.tsdb.path=/var/lib/prometheus/ --web.console.templates=/etc/prometheus/consoles --web.console.libraries=/etc/prometheus/console_libraries
[Install]
WantedBy=multi-user.target
Start og aktiver Prometheus-tjenesten:
sudo systemctl daemon-reload
sudo systemctl start prometheus
sudo systemctl enable prometheus
Grafana gir deg et kraftig grensesnitt for å visualisere data samlet av Prometheus.
Bruk følgende kommandoer for å installere Grafana på Ubuntu:
sudo apt update
sudo apt install -y software-properties-common
sudo add-apt-repository "deb https://packages.grafana.com/oss/deb stable main"
sudo apt update
sudo apt install grafana
Start Grafana og sørg for at det starter automatisk ved oppstart:
sudo systemctl start grafana-server
sudo systemctl enable grafana-server
Når Grafana kjører, åpne nettleseren og gå til http://server-ip:3000. Logg inn med standard brukernavn (admin) og passord (admin).
Legg til Prometheus som en datakilde:
http://localhost:9090 (eller IP-adressen til serveren din).Du kan nå opprette dine egne dashboards eller bruke ferdige maler for å overvåke ytelsen til Moodle-tjenestene dine.
For å raskt komme i gang med Moodle-overvåking kan du importere et dashboard fra Grafanas bibliotek:
893 for et ferdig Prometheus-overvåkingsdashboard.For å sikre Moodle-plattformen med HTTPS, kan du bruke Let's Encrypt til å få et gratis SSL-sertifikat. Følg disse trinnene:
Kjør følgende kommando for å installere Certbot, som brukes til å administrere SSL-sertifikater:
sudo apt install certbot python3-certbot-apache
Kjør følgende kommando for å få et sertifikat for lms.techne.guru:
sudo certbot --apache -d lms.techne.guru
Følg veiledningen på skjermen for å fullføre installasjonen. Certbot vil automatisk konfigurere Apache til å bruke HTTPS.
Let's Encrypt-sertifikater utløper etter 90 dager. Certbot konfigurerer automatisk fornyelse, men du kan teste det ved å kjøre:
sudo certbot renew --dry-run
For å forbedre Moodle-ytelsen, spesielt hvis du har mange samtidige brukere, kan du bruke Redis som en caching-løsning. Redis hjelper med å redusere belastningen på databasen ved å mellomlagre data som ofte blir hentet.
Kjør følgende kommando for å installere Redis på serveren din:
sudo apt install redis-server
Installer PHP Redis-modulen slik at Moodle kan kommunisere med Redis:
sudo apt install php-redis
Rediger Moodle-konfigurasjonsfilen config.php og legg til følgende linjer for å aktivere Redis-caching:
$CFG->cachestore_redis = array(
'servers' => array(
array(
'host' => '127.0.0.1',
'port' => 6379,
'password' => '',
'database' => 0,
'prefix' => '',
),
),
'prefix' => 'mdl_',
);
Dette vil forbedre ytelsen på plattformen ved å redusere databasens belastning.