2024-11-06 15:55:54 +01:00
<!DOCTYPE html>
< html lang = "de" dir = "ltr" >
2024-11-06 17:57:18 +01:00
< head >
2024-11-06 15:55:54 +01:00
< title > Moodle Server mit Ubuntu 20 LTS und Iomad :: Jörg Lohrer - Example site for hugo-theme-tailwind< / title >
< meta http-equiv = "content-type" content = "text/html; charset=utf-8" / >
< meta name = "viewport" content = "width=device-width, initial-scale=1.0" / >
< meta
name="description"
content="Moodle Server mit Ubuntu 20 LTS und Iomad Ubuntu Server-Image herunterladen https://releases.ubuntu.com/20.04/ Virtualbox mit dem Ubuntu Image einrichten Netzwerkbrücke aktivieren IP-Adresse ermitteln ifconfig -> 192.168.178.132
Auf dem Mac (oder PC) die Auflösung des Hosts verknüpfen auf dem Mac sudo nano /etc/hosts die IP eintragen und moodle.local zuweisen: "
/>
< meta
name="keywords"
content="hugo, tailwind, tailwindcss, hugo theme, hugo theme tailwind"
/>
2024-11-06 17:57:18 +01:00
< meta name = "robots" content = "noodp" / > < link rel = "manifest" href = "/manifest.json" / > < meta property = "og:url" content = "https://joerg-lohrer.de/2022/02/16/moodle-iomad-linux.html/" >
2024-11-06 15:55:54 +01:00
< meta property = "og:site_name" content = "Jörg Lohrer" >
< meta property = "og:title" content = "Moodle Server mit Ubuntu 20 LTS und Iomad" >
< meta property = "og:description" content = "Installation von Iomad zur Moodle-Instanz-Verwaltung" >
< meta property = "og:locale" content = "de" >
< meta property = "og:type" content = "article" >
< meta property = "article:section" content = "posts" >
< meta property = "article:published_time" content = "2022-02-16T00:00:00+00:00" >
< meta property = "article:modified_time" content = "2022-02-16T00:00:00+00:00" >
< meta name = "twitter:card" content = "summary" >
< meta name = "twitter:title" content = "Moodle Server mit Ubuntu 20 LTS und Iomad" >
< meta name = "twitter:description" content = "Installation von Iomad zur Moodle-Instanz-Verwaltung" >
2024-11-06 17:57:18 +01:00
< link rel = "canonical" href = "https://joerg-lohrer.de/2022/02/16/moodle-iomad-linux.html/" / >
2024-11-06 15:55:54 +01:00
< link rel = "shortcut icon" href = "/favicon.ico" / >
2024-11-06 17:57:18 +01:00
< link rel = "stylesheet" href = "/css/index.min.c860e17f20d9f258820c02bf7ab3f57c9595d0bc21dede7eda08ccd63ba3f4cc.css" >
2024-11-06 15:55:54 +01:00
2024-12-03 17:02:00 +01:00
< script type = "application/ld+json" >
{"@context":"https://schema.org","@type":"Article","author":{"@type":"Person","name":"Jörg Lohrer"},"dateModified":"2022-02-16T00:00:00Z","datePublished":"2022-02-16T00:00:00Z","description":"Moodle Server mit Ubuntu 20 LTS und Iomad Ubuntu Server-Image herunterladen https://releases.ubuntu.com/20.04/ Virtualbox mit dem Ubuntu Image einrichten Netzwerkbrücke aktivieren IP-Adresse ermitteln ifconfig -\u0026gt; 192.168.178.132\nAuf dem Mac (oder PC) die Auflösung des Hosts verknüpfen auf dem Mac sudo nano /etc/hosts die IP eintragen und moodle.local zuweisen: ","image":"https://joerg-lohrer.de/2022/02/16/moodle-iomad-linux.html/title-gif.gif","name":"Moodle Server mit Ubuntu 20 LTS und Iomad","url":"https://joerg-lohrer.de/2022/02/16/moodle-iomad-linux.html/"}
< / script >
2024-11-06 15:55:54 +01:00
< / head >
2024-11-06 17:57:18 +01:00
< body class = "flex flex-col min-h-screen w-full bg-slate-50 dark:bg-gray-800" > < header class = "flex flex-none justify-center z-10" >
2024-11-06 15:55:54 +01:00
< div class = "flex flex-row gap justify-between w-full max-w-4xl lg:max-w-5xl h-12 mt-3" >
< div class = "flex-none ml-2 md:ml-0" >
< a href = "/" class = "" >
< img class = "h-12 w-12 rounded-full object-cover bg-gray-100" src = "/joerg-profil-2024.webp" alt = "logo" >
< / a >
< / div >
< div class = "flex-1" > < / div >
< div class = "flex-none" >
< nav class = "h-full static" >
< button id = "navbar-menu-toggle" type = "button" class = "inline-flex items-center p-2 text-sm text-slate-800 dark:text-slate-200 rounded-lg md:hidden" aria-controls = "navbar-menu" aria-expanded = "false" >
< span class = "sr-only" > Hauptmenü öffnen< / span >
< i class = "w-8 h-8" >
< svg xmlns = "http://www.w3.org/2000/svg" class = "icon icon-tabler icon-tabler-menu-2" viewBox = "0 0 24 24" stroke-width = "2" stroke = "currentColor" fill = "none" stroke-linecap = "round" stroke-linejoin = "round" >
< path stroke = "none" d = "M0 0h24v24H0z" fill = "none" / >
< path d = "M4 6l16 0" / >
< path d = "M4 12l16 0" / >
< path d = "M4 18l16 0" / >
< / svg >
< / i >
< / button >
< div class = "absolute md:static top-16 left-0 right-0 z-50 hidden w-full md:block md:w-auto" id = "navbar-menu" >
< ul class = "flex flex-col mx-2 md:mx-0 md:flex-row md:border-0 rounded-sm md:rounded-full px-3 text-base font-medium text-slate-800 dark:text-slate-200 shadow-lg bg-white dark:bg-gray-600 shadow-slate-800/5 dark:shadow-slate-200/5 ring-1 ring-slate-900/5 dark:ring-slate-100/5" >
< li id = "" class = "" >
< a class = "block px-3 py-3 hover:text-emerald-600"
href="/" title="Home">Home< / a >
< / li >
< li id = "" class = "" >
< a class = "block px-3 py-3 hover:text-emerald-600"
2024-12-03 17:02:00 +01:00
href="" title="Schlagworte">Schlagworte< / a >
2024-11-06 15:55:54 +01:00
< / li >
< li id = "" class = "" >
< a class = "block px-3 py-3 hover:text-emerald-600"
href="/impressum/" title="Impressum">Impressum< / a >
< / li >
< li id = "" class = "" >
< a class = "block px-3 py-3 hover:text-emerald-600"
href="https://reliverse.social/@joerglohrer" title="Mastodon">Mastodon< / a >
< / li >
< / ul >
< / div >
< / nav >
< / div >
< div class = "flex-none mx-1" > < / div >
< div class = "flex-none md:hidden" >
< a href = /search/ class = "inline-flex items-center p-2 text-sm text-slate-800 dark:text-slate-200 rounded-lg" aria-controls = "navbar-menu" aria-expanded = "false" >
< span class = "sr-only" > Suche< / span >
< i class = "w-8 h-8" >
< svg xmlns = "http://www.w3.org/2000/svg" class = "icon icon-tabler icon-tabler-search" viewBox = "0 0 24 24" stroke-width = "2" stroke = "currentColor" fill = "none" stroke-linecap = "round" stroke-linejoin = "round" >
< path stroke = "none" d = "M0 0h24v24H0z" fill = "none" / >
< path d = "M10 10m-7 0a7 7 0 1 0 14 0a7 7 0 1 0 -14 0" / >
< path d = "M21 21l-6 -6" / >
< / svg >
< / i >
< / a >
< / div >
< div class = "darkmode-toggle flex flex-none mr-2 md:mr-0" >
< label for = "darkmode-toggle" class = "flex items-center px-3 cursor-pointer rounded-full bg-gray-100 dark:bg-gray-600" title = "Dark Mode umschalten" >
< input name = "darkmode-toggle" id = "darkmode-toggle" type = "checkbox" class = "sr-only peer" aria-label = "Dark Mode umschalten" >
< div class = "group flex flex-row gap-1 justify-center h-8 px-1 rounded-full bg-white dark:bg-gray-700" >
< i class = "h-6 w-6 flex-none rounded-full bg-yellow-400 place-self-center peer-checked:group-[]:invisible" >
< svg xmlns = "http://www.w3.org/2000/svg" class = "icon icon-tabler icon-tabler-brightness-down" viewBox = "0 0 24 24" stroke-width = "2" stroke = "currentColor" fill = "none" stroke-linecap = "round" stroke-linejoin = "round" >
< path stroke = "none" d = "M0 0h24v24H0z" fill = "none" > < / path >
< path d = "M12 12m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0" > < / path >
< path d = "M12 5l0 .01" > < / path >
< path d = "M17 7l0 .01" > < / path >
< path d = "M19 12l0 .01" > < / path >
< path d = "M17 17l0 .01" > < / path >
< path d = "M12 19l0 .01" > < / path >
< path d = "M7 17l0 .01" > < / path >
< path d = "M5 12l0 .01" > < / path >
< path d = "M7 7l0 .01" > < / path >
< / svg >
< / i >
< i class = "h-6 w-6 flex-none rounded-full place-self-center invisible peer-checked:group-[]:visible" >
< svg xmlns = "http://www.w3.org/2000/svg" class = "icon icon-tabler icon-tabler-moon-stars" viewBox = "0 0 24 24" stroke-width = "2" stroke = "currentColor" fill = "none" stroke-linecap = "round" stroke-linejoin = "round" >
< path stroke = "none" d = "M0 0h24v24H0z" fill = "none" > < / path >
< path d = "M12 3c.132 0 .263 0 .393 0a7.5 7.5 0 0 0 7.92 12.446a9 9 0 1 1 -8.313 -12.454z" > < / path >
< path d = "M17 4a2 2 0 0 0 2 2a2 2 0 0 0 -2 2a2 2 0 0 0 -2 -2a2 2 0 0 0 2 -2" > < / path >
< path d = "M19 11h2m-1 -1v2" > < / path >
< / svg >
< / i >
< / div >
< / label >
< / div >
< / div >
< / header >
< main class = "flex flex-auto justify-center" >
< div class = "w-full max-w-4xl lg:max-w-5xl" >
< div class = "flex flex-col mt-6 mx-2 md:mx-0 rounded-lg overflow-hidden shadow-md bg-white dark:bg-gray-700" >
< div >
< a href = "/2022/02/16/moodle-iomad-linux.html/" >
< picture >
< source type = "image/webp" srcset = "/2022/02/16/moodle-iomad-linux.html/title-gif_hu3623969665034820503.webp 960w" sizes = "(min-width: 1024px) 100vw, 50vw" / >
< source type = "image/jpeg" srcset = "/2022/02/16/moodle-iomad-linux.html/title-gif_hu17894921011820061086.jpg 960w" sizes = "(min-width: 1024px) 100vw, 50vw" / >
< img class = "w-full object-cover h-36 md:h-48 xl:h-60" src = "/2022/02/16/moodle-iomad-linux.html/title-gif_hu3721531138749118599.jpg" width = "1440" height = "810" alt = "Moodle Server mit Ubuntu 20 LTS und Iomad" title = "Moodle Server mit Ubuntu 20 LTS und Iomad" loading = "lazy" / >
< / picture >
< / a >
< / div >
< div class = "flex flex-col gap-y-3 p-6" >
< h1 class = "text-4xl font-semibold text-slate-800 dark:text-slate-100" >
< a href = "/2022/02/16/moodle-iomad-linux.html/" > Moodle Server mit Ubuntu 20 LTS und Iomad< / a >
< / h1 >
< h2 class = "my-4 text-large text-slate-600 dark:text-slate-300" >
Installation von Iomad zur Moodle-Instanz-Verwaltung
< / h2 >
< ul class = "flex flex-row flex-wrap text-slate-500 dark:text-slate-300" >
< / ul >
< div class = "flex flex-col gap-y-1 md:flex-row md:gap-y-0 md:gap-x-4 text-slate-500 dark:text-slate-300" >
< div class = "flex flex-row text-base gap-x-1" >
< i class = "h-6 w-6 flex-none" >
< svg xmlns = "http://www.w3.org/2000/svg" class = "icon icon-tabler icon-tabler-calendar" viewBox = "0 0 24 24" stroke-width = "2" stroke = "currentColor" fill = "none" stroke-linecap = "round" stroke-linejoin = "round" >
< path stroke = "none" d = "M0 0h24v24H0z" fill = "none" > < / path >
< path d = "M4 7a2 2 0 0 1 2 -2h12a2 2 0 0 1 2 2v12a2 2 0 0 1 -2 2h-12a2 2 0 0 1 -2 -2v-12z" > < / path >
< path d = "M16 3v4" > < / path >
< path d = "M8 3v4" > < / path >
< path d = "M4 11h16" > < / path >
< path d = "M11 15h1" > < / path >
< path d = "M12 15v3" > < / path >
< / svg >
< / i >
< time datetime = "2022-02-16T00:00:00+00:00" >
2022-02-16
< / time >
< / div >
< div class = "flex flex-row text-base gap-x-1" >
< i class = "h-6 w-6 flex-none" >
< svg xmlns = "http://www.w3.org/2000/svg" class = "icon icon-tabler icon-tabler-hourglass-high" viewBox = "0 0 24 24" stroke-width = "2" stroke = "currentColor" fill = "none" stroke-linecap = "round" stroke-linejoin = "round" >
< path stroke = "none" d = "M0 0h24v24H0z" fill = "none" > < / path >
< path d = "M6.5 7h11" > < / path >
< path d = "M6 20v-2a6 6 0 1 1 12 0v2a1 1 0 0 1 -1 1h-10a1 1 0 0 1 -1 -1z" > < / path >
< path d = "M6 4v2a6 6 0 1 0 12 0v-2a1 1 0 0 0 -1 -1h-10a1 1 0 0 0 -1 1z" > < / path >
< / svg >
< / i >
< span >
Lesezeit 2 Minuten
< / span >
< / div >
< / div >
< section class = "prose prose-slate dark:prose-invert w-full max-w-4xl lg:max-w-5xl mt-6" >
< h2 > Inhaltsverzeichnis< / h2 >
< aside > < nav id = "TableOfContents" >
< ul >
< li > < a href = "#ubuntu-server-image-herunterladen" > Ubuntu Server-Image herunterladen< / a > < / li >
< li > < a href = "#virtualbox-mit-dem-ubuntu-image-einrichten" > Virtualbox mit dem Ubuntu Image einrichten< / a >
< ul >
< li > < a href = "#netzwerkbrücke-aktivieren" > Netzwerkbrücke aktivieren< / a > < / li >
< li > < a href = "#ip-adresse-ermitteln" > IP-Adresse ermitteln< / a > < / li >
< li > < a href = "#auf-dem-mac-oder-pc-die-auflösung-des-hosts-verknüpfen" > Auf dem Mac (oder PC) die Auflösung des Hosts verknüpfen< / a > < / li >
< / ul >
< / li >
< li > < a href = "#moodle-server-auf-virtualbox-vorbereiten" > Moodle Server auf Virtualbox vorbereiten< / a >
< ul >
< li > < a href = "#ssh-zugriff-ermöglichen" > SSH Zugriff ermöglichen< / a > < / li >
< li > < a href = "#shellbefehle-zur-installation" > Shellbefehle zur Installation:< / a > < / li >
< li > < a href = "#anlegen-etcapache2sites-availablemoodleconf" > anlegen: /etc/apache2/sites-available/moodle.conf< / a > < / li >
< li > < a href = "#weitere-shellbefehle-zur-installation" > Weitere Shellbefehle zur Installation:< / a > < / li >
< li > < a href = "#host-eintrag-hinzufügen-192168178xxx-moodlelocal" > host eintrag hinzufügen: “ 192.168.178.xxx moodle.local” < / a > < / li >
< li > < a href = "#im-browser-öffnen-httpmoodlelocalinfophp" > im Browser öffnen: < a href = "http://moodle.local/info.php" > http://moodle.local/info.php< / a > < / a > < / li >
< li > < a href = "#maschine-speichern-und-klonen" > maschine speichern und klonen< / a > < / li >
< / ul >
< / li >
< li > < a href = "#anschließend-iomad-moodle-installieren" > Anschließend IOMAD moodle installieren:< / a >
< ul >
< li > < a href = "#datenbank-für-moodle-erzeugen-via-ssh" > Datenbank für moodle erzeugen via SSH:< / a > < / li >
< li > < a href = "#installation-iomad" > Installation iomad< / a > < / li >
< li > < a href = "#httpmoodlelocal-aufrufen-und-configphp-datei-mit-hilfe-des-assistenten-generieren-lassen" > < a href = "http://moodle.local" > http://moodle.local< / a > aufrufen und config.php Datei mit Hilfe des Assistenten generieren lassen< / a > < / li >
< li > < a href = "#configphp" > config.php< / a > < / li >
< / ul >
< / li >
< / ul >
< / nav > < / aside >
< / section >
< article class = "mt-6 w-full max-w-4xl lg:max-w-5xl prose prose-slate dark:prose-invert prose-quoteless post-content" >
< h1 id = "moodle-server-mit-ubuntu-20-lts-und-iomad" > Moodle Server mit Ubuntu 20 LTS und Iomad< / h1 >
< h2 id = "ubuntu-server-image-herunterladen" > Ubuntu Server-Image herunterladen< / h2 >
< p > < a href = "https://releases.ubuntu.com/20.04/" target = "_blank" rel = "noopener" > https://releases.ubuntu.com/20.04/< / a >
< / p >
< h2 id = "virtualbox-mit-dem-ubuntu-image-einrichten" > Virtualbox mit dem Ubuntu Image einrichten< / h2 >
< h3 id = "netzwerkbrücke-aktivieren" > Netzwerkbrücke aktivieren< / h3 >
< p > < div class = "not-prose" >
< picture >
< source type = "image/webp" srcset = "/2022/02/16/moodle-iomad-linux.html/01-netzwerkbruecke_hu16852899275597617734.webp 320w, /2022/02/16/moodle-iomad-linux.html/01-netzwerkbruecke_hu9409710355968461671.webp 640w, /2022/02/16/moodle-iomad-linux.html/01-netzwerkbruecke_hu2050422444914045510.webp 960w, /2022/02/16/moodle-iomad-linux.html/01-netzwerkbruecke_hu5349805855501300020.webp 1280w" sizes = "(min-width: 1024px) 100vw, 50vw" / >
< source type = "image/jpeg" srcset = "/2022/02/16/moodle-iomad-linux.html/01-netzwerkbruecke_hu17647642909661686562.jpg 320w, /2022/02/16/moodle-iomad-linux.html/01-netzwerkbruecke_hu5042484230805009626.jpg 640w, /2022/02/16/moodle-iomad-linux.html/01-netzwerkbruecke_hu8139939129482603142.jpg 960w, /2022/02/16/moodle-iomad-linux.html/01-netzwerkbruecke_hu7635719699381927071.jpg 1280w" sizes = "(min-width: 1024px) 100vw, 50vw" / >
< img class = "h-auto max-w-full rounded-lg" src = "/2022/02/16/moodle-iomad-linux.html/01-netzwerkbruecke_hu5042484230805009626.jpg" width = "1350" height = "984" alt = "" title = "" loading = "lazy" / >
< / picture >
< / div >
< / p >
< h3 id = "ip-adresse-ermitteln" > IP-Adresse ermitteln< / h3 >
< p > < code > ifconfig < / code > -> 192.168.178.132< / p >
< h3 id = "auf-dem-mac-oder-pc-die-auflösung-des-hosts-verknüpfen" > Auf dem Mac (oder PC) die Auflösung des Hosts verknüpfen< / h3 >
< p > auf dem Mac < code > sudo nano /etc/hosts< / code > die IP eintragen und moodle.local zuweisen:
< div class = "not-prose" >
< picture >
< source type = "image/webp" srcset = "/2022/02/16/moodle-iomad-linux.html/02-hosts-eintragen_hu1219182166375429365.webp 320w, /2022/02/16/moodle-iomad-linux.html/02-hosts-eintragen_hu6647259199079463737.webp 640w, /2022/02/16/moodle-iomad-linux.html/02-hosts-eintragen_hu12518742203076258003.webp 960w" sizes = "(min-width: 1024px) 100vw, 50vw" / >
< source type = "image/jpeg" srcset = "/2022/02/16/moodle-iomad-linux.html/02-hosts-eintragen_hu9393402586358471159.jpg 320w, /2022/02/16/moodle-iomad-linux.html/02-hosts-eintragen_hu15905914641083743300.jpg 640w, /2022/02/16/moodle-iomad-linux.html/02-hosts-eintragen_hu17948746361618212520.jpg 960w" sizes = "(min-width: 1024px) 100vw, 50vw" / >
< img class = "h-auto max-w-full rounded-lg" src = "/2022/02/16/moodle-iomad-linux.html/02-hosts-eintragen_hu15905914641083743300.jpg" width = "1064" height = "272" alt = "" title = "" loading = "lazy" / >
< / picture >
< / div >
< / p >
< h2 id = "moodle-server-auf-virtualbox-vorbereiten" > Moodle Server auf Virtualbox vorbereiten< / h2 >
< p > < code > sudo -i< / code > wechselt auf root< / p >
< h3 id = "ssh-zugriff-ermöglichen" > SSH Zugriff ermöglichen< / h3 >
< p > < a href = "https://linuxconfig.org/allow-ssh-root-login-on-ubuntu-20-04-focal-fossa-linux" target = "_blank" rel = "noopener" > Allow SSH root login on Ubuntu 20.04 Focal Fossa Linux< / a >
< / p >
< h3 id = "shellbefehle-zur-installation" > Shellbefehle zur Installation:< / h3 >
< pre tabindex = "0" > < code class = "language-shell=" data-lang = "shell=" > sudo apt update & & apt upgrade -y
apt install mariadb-server
sudo apt install apache2 libapache2-mod-fcgid
sudo apt install php php-cli php-fpm php-json php-common php-mysql php-zip php-gd php-mbstring php-curl php-xml php-pear php-bcmath php-intl php-xmlrpc php-soap
a2enconf php7.4-fpm
sudo a2enmod actions fcgid alias proxy_fcgi setenvif
a2dismod php7.4
a2dismod mpm_prefork
a2dismod mpm_worker
a2enmod mpm_event
systemctl restart php7.4-fpm apache2
< / code > < / pre > < h3 id = "anlegen-etcapache2sites-availablemoodleconf" > anlegen: /etc/apache2/sites-available/moodle.conf< / h3 >
< pre tabindex = "0" > < code class = "language-shell=" data-lang = "shell=" > ############################
< VirtualHost *:80>
ServerName moodle.local
ServerAdmin webmaster@localhost
DocumentRoot /var/www/moodle
< FilesMatch \.php$>
SetHandler " proxy:unix:/var/run/php/php7.4-fpm.sock|fcgi://localhost/"
< /FilesMatch>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
< /VirtualHost>
####################################################################
< / code > < / pre > < h3 id = "weitere-shellbefehle-zur-installation" > Weitere Shellbefehle zur Installation:< / h3 >
< pre tabindex = "0" > < code class = "language-shell=" data-lang = "shell=" > a2ensite moodle.conf
systemctl reload apache2
mkdir /var/www/moodle
echo ' < ?php phpinfo(); ?> ' > /var/www/moodle/info.php
< / code > < / pre > < h3 id = "host-eintrag-hinzufügen-192168178xxx-moodlelocal" > host eintrag hinzufügen: “ 192.168.178.xxx moodle.local” < / h3 >
< p > 192.168.178.xxx moodle.local
192.168.178.xxx < a href = "https://www.moodle.local" target = "_blank" rel = "noopener" > www.moodle.local< / a >
< / p >
< h3 id = "im-browser-öffnen-httpmoodlelocalinfophp" > im Browser öffnen: < a href = "http://moodle.local/info.php" target = "_blank" rel = "noopener" > http://moodle.local/info.php< / a >
< / h3 >
< h3 id = "maschine-speichern-und-klonen" > maschine speichern und klonen< / h3 >
< h2 id = "anschließend-iomad-moodle-installieren" > Anschließend IOMAD moodle installieren:< / h2 >
< p > < a href = "https://www.iomad.org/wp-content/uploads/2021/03/Iomad-Installation-Guide.pdf" target = "_blank" rel = "noopener" > https://www.iomad.org/wp-content/uploads/2021/03/Iomad-Installation-Guide.pdf< / a >
< / p >
< h3 id = "datenbank-für-moodle-erzeugen-via-ssh" > Datenbank für moodle erzeugen via SSH:< / h3 >
< pre tabindex = "0" > < code class = "language-shell=" data-lang = "shell=" >
mysql
CREATE DATABASE moodledb;
CREATE USER ' moodleowner' @' localhost' IDENTIFIED BY ' $mdb2passwd' ;
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, INDEX, DROP, ALTER, CREATE TEMPORARY TABLES, LOCK TABLES ON moodledb.* TO ' moodleowner' @' localhost' ;
GRANT FILE ON *.* TO ' moodleowner' @' localhost' ;
quit
< / code > < / pre > < h3 id = "installation-iomad" > Installation iomad< / h3 >
< pre tabindex = "0" > < code class = "language-shell=" data-lang = "shell=" > cd /var/www/moodle
git clone https://github.com/iomad/iomad.git
cd iomad
git checkout -b myiomad origin/IOMAD_310_STABLE
mkdir /var/www/moodledata & & chmod 777 /var/www/moodledata
< / code > < / pre > < p > < strong > ändern!!!< / strong > : < code > /etc/apache2/sites-available/moodle.conf -> DocumentRoot /var/www/moodle/iomad< / code > < / p >
< p > < code > systemctl restart php7.4-fpm apache2< / code > < / p >
< h3 id = "httpmoodlelocal-aufrufen-und-configphp-datei-mit-hilfe-des-assistenten-generieren-lassen" > < a href = "http://moodle.local" target = "_blank" rel = "noopener" > http://moodle.local< / a >
aufrufen und config.php Datei mit Hilfe des Assistenten generieren lassen< / h3 >
< p > < / p >
< p > < strong > ändern!!!< / strong > : < code > /moodle< / code > entfernen< / p >
< h3 id = "configphp" > config.php< / h3 >
< pre tabindex = "0" > < code class = "language-shell=" data-lang = "shell=" > < ?php // Moodle configuration file
unset($CFG);
global $CFG;
$CFG = new stdClass();
$CFG-> dbtype = ' mariadb' ;
$CFG-> dblibrary = ' native' ;
$CFG-> dbhost = ' localhost' ;
$CFG-> dbname = ' moodledb' ;
$CFG-> dbuser = ' moodleowner' ;
$CFG-> dbpass = ' $mdb2passwd' ;
$CFG-> prefix = ' mdl_' ;
$CFG-> dboptions = array (
' dbpersist' => 0,
' dbport' => ' ' ,
' dbsocket' => ' ' ,
' dbcollation' => ' utf8mb4_general_ci' ,
);
$CFG-> wwwroot = ' http://moodle.local' ;
$CFG-> dataroot = ' /var/www/moodledata' ;
$CFG-> admin = ' admin' ;
$CFG-> directorypermissions = 0777;
require_once(__DIR__ . ' /lib/setup.php' );
// There is no php closing tag in this file,
// it is intentional because it prevents trailing whitespace problems!
< / code > < / pre >
< / article >
< / div >
< / div >
< / div >
< / main >
< footer class = "flex flex-none justify-center" >
< section class = "flex flex-col md:flex-row mx-2 md:mx-0 gap-2 md:gap-0 justify-between w-full max-w-4xl lg:max-w-5xl py-6 text-slate-500 dark:text-slate-300" >
< div class = "flex flex-row" >
< a href = "https://reliverse.social/@joerglohrer" target = "_blank" title = "Mastodon" class = "flex flex-row mr-2" >
< span class = "hidden" > Mastodon< / span >
< i class = "h-6 w-6 flex-none" > < svg xmlns = "http://www.w3.org/2000/svg" viewBox = "0 0 24 24" fill = "none" stroke = "currentColor" stroke-width = "2" stroke-linecap = "round" stroke-linejoin = "round" class = "icon icon-tabler icons-tabler-outline icon-tabler-brand-mastodon" > < path stroke = "none" d = "M0 0h24v24H0z" fill = "none" / > < path d = "M18.648 15.254c-1.816 1.763 -6.648 1.626 -6.648 1.626a18.262 18.262 0 0 1 -3.288 -.256c1.127 1.985 4.12 2.81 8.982 2.475c-1.945 2.013 -13.598 5.257 -13.668 -7.636l-.026 -1.154c0 -3.036 .023 -4.115 1.352 -5.633c1.671 -1.91 6.648 -1.666 6.648 -1.666s4.977 -.243 6.648 1.667c1.329 1.518 1.352 2.597 1.352 5.633s-.456 4.074 -1.352 4.944z" / > < path d = "M12 11.204v-2.926c0 -1.258 -.895 -2.278 -2 -2.278s-2 1.02 -2 2.278v4.722m4 -4.722c0 -1.258 .895 -2.278 2 -2.278s2 1.02 2 2.278v4.722" / > < / svg > < / i >
< / a >
2024-12-03 17:02:00 +01:00
< a href = "https://nostter.app/npub1f7jar3qnu269uyx5p0e4v24hqxjnxysxudvujza2ur5ehltvdeqsly2fx9" target = "_blank" title = "nostr" class = "flex flex-row mr-2" >
2024-11-06 15:55:54 +01:00
< span class = "hidden" > nostr< / span >
2024-11-06 17:57:18 +01:00
< i class = "h-6 w-6 flex-none" > < svg xmlns = "http://www.w3.org/2000/svg" viewBox = "0 0 24 24" >
< path
class="nostro"
d="m 21.219688,10.632199 v 9.782376 c 0,0.36788 -0.298537,0.666422 -0.666421,0.666422 h -7.997031 c -0.367884,0 -0.666422,-0.298542 -0.666422,-0.666422 v -1.82178 c 0.03645,-2.233152 0.272682,-4.372276 0.768675,-5.34546 0.297363,-0.58532 0.78748,-0.903839 1.350469,-1.074263 1.063686,-0.319694 2.93013,-0.10108 3.722312,-0.138691 0,0 2.392997,0.09521 2.392997,-1.259967 0,-1.0907187 -1.069562,-1.0049187 -1.069562,-1.0049187 -1.178867,0.03055 -2.076831,-0.04937 -2.658626,-0.278557 C 15.421721,9.1077763 15.388811,8.4049219 15.385285,8.1698534 15.337094,5.4548117 11.333878,5.1292411 7.8066742,5.8027121 3.9503743,6.536127 7.8489842,12.063765 7.8489842,19.44257 v 0.984936 c -0.00706,0.362004 -0.299712,0.654662 -0.6640682,0.654662 h -3.95973 c -0.3678829,0 -0.6664195,-0.298534 -0.6664195,-0.666415 V 3.4966903 c 0,-0.3678822 0.2985366,-0.6664194 0.6664195,-0.6664194 h 3.7223109 c 0.3678822,0 0.6664189,0.2985372 0.6664189,0.6664194 0,0.546534 0.6147044,0.8509478 1.0589839,0.5324305 1.3387143,-0.9590801 3.0570663,-1.4703543 4.9799263,-1.4703543 4.307633,0 7.564508,2.5105327 7.564508,8.0734325 z M 14.068901,8.6470424 c 0,-0.7874805 -0.638211,-1.4256909 -1.425691,-1.4256909 -0.787479,0 -1.425692,0.6382104 -1.425692,1.4256909 0,0.7874809 0.638213,1.4256916 1.425692,1.4256916 0.78748,0 1.425691,-0.6382107 1.425691,-1.4256916 z"
id="nostr"
style="fill:currentColor;fill-opacity:1;stroke-width:0.5" />
< / svg >
< / i >
2024-11-06 15:55:54 +01:00
< / a >
< a href = "https://bsky.app/profile/joerglohrer.bsky.social" target = "_blank" title = "Bluesky" class = "flex flex-row mr-2" >
< span class = "hidden" > Bluesky< / span >
< i class = "h-6 w-6 flex-none" > < svg xmlns = "http://www.w3.org/2000/svg" viewBox = "0 0 24 24" fill = "none" stroke = "currentColor" stroke-width = "2" stroke-linecap = "round" stroke-linejoin = "round" class = "icon icon-tabler icons-tabler-outline icon-tabler-brand-bluesky" > < path stroke = "none" d = "M0 0h24v24H0z" fill = "none" / > < path d = "M6.335 5.144c-1.654 -1.199 -4.335 -2.127 -4.335 .826c0 .59 .35 4.953 .556 5.661c.713 2.463 3.13 2.75 5.444 2.369c-4.045 .665 -4.889 3.208 -2.667 5.41c1.03 1.018 1.913 1.59 2.667 1.59c2 0 3.134 -2.769 3.5 -3.5c.333 -.667 .5 -1.167 .5 -1.5c0 .333 .167 .833 .5 1.5c.366 .731 1.5 3.5 3.5 3.5c.754 0 1.637 -.571 2.667 -1.59c2.222 -2.203 1.378 -4.746 -2.667 -5.41c2.314 .38 4.73 .094 5.444 -2.369c.206 -.708 .556 -5.072 .556 -5.661c0 -2.953 -2.68 -2.025 -4.335 -.826c-2.293 1.662 -4.76 5.048 -5.665 6.856c-.905 -1.808 -3.372 -5.194 -5.665 -6.856z" / > < / svg > < / i >
< / a >
< a href = "https://www.instagram.com/joerglohrer" target = "_blank" title = "Instagram" class = "flex flex-row mr-2" >
< span class = "hidden" > Instagram< / span >
< i class = "h-6 w-6 flex-none" > < svg xmlns = "http://www.w3.org/2000/svg" class = "icon icon-tabler icon-tabler-brand-instagram" viewBox = "0 0 24 24" stroke-width = "2" stroke = "currentColor" fill = "none" stroke-linecap = "round" stroke-linejoin = "round" >
< path stroke = "none" d = "M0 0h24v24H0z" fill = "none" > < / path >
< path d = "M4 4m0 4a4 4 0 0 1 4 -4h8a4 4 0 0 1 4 4v8a4 4 0 0 1 -4 4h-8a4 4 0 0 1 -4 -4z" > < / path >
< path d = "M12 12m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0" > < / path >
< path d = "M16.5 7.5l0 .01" > < / path >
< / svg >
< / i >
< / a >
< / div >
< div class = "grow" > < / div >
< div class = "flex flex-row" >
< i class = "h-6 w-6 flex-none" > < svg xmlns = "http://www.w3.org/2000/svg" class = "icon icon-tabler icon-tabler-copyright" viewBox = "0 0 24 24" stroke-width = "2" stroke = "currentColor" fill = "none" stroke-linecap = "round" stroke-linejoin = "round" >
< path stroke = "none" d = "M0 0h24v24H0z" fill = "none" > < / path >
< path d = "M12 12m-9 0a9 9 0 1 0 18 0a9 9 0 1 0 -18 0" > < / path >
< path d = "M14 9.75a3.016 3.016 0 0 0 -4.163 .173a2.993 2.993 0 0 0 0 4.154a3.016 3.016 0 0 0 4.163 .173" > < / path >
< / svg >
< / i > 2023 - 2024
< / div >
< div class = "flex flex-row" >
< span class = "ml-0 pl-0 md:ml-2 md:pl-2 border-l-0 md:border-l border-slate-300 dark:border-slate-400" >
Powered by < a href = "https://gohugo.io" target = "_blank" rel = "noopener" class = "underline" > Hugo< / a > < span class = "text-red-600" > ♥ < / span > < a href = "https://github.com/tomowang/hugo-theme-tailwind" target = "_blank" rel = "noopener" class = "underline" > Tailwind< / a >
< / span >
< / div >
< / section >
< / footer >
2024-11-06 17:57:18 +01:00
< script src = "/main.min.65ca5b0808abf278fcec5d424701ebf0b4bc46a737129cd5e57fdb739f463e79.js" > < / script >
2024-11-06 15:55:54 +01:00
< div class = "hidden top-1 right-1" id = "code-copy" >
< i class = "h-6 w-6 block" >
< svg xmlns = "http://www.w3.org/2000/svg" class = "icon icon-tabler icon-tabler-copy" viewBox = "0 0 24 24" stroke-width = "2" stroke = "currentColor" fill = "none" stroke-linecap = "round" stroke-linejoin = "round" >
< path stroke = "none" d = "M0 0h24v24H0z" fill = "none" / >
< path d = "M7 7m0 2.667a2.667 2.667 0 0 1 2.667 -2.667h8.666a2.667 2.667 0 0 1 2.667 2.667v8.666a2.667 2.667 0 0 1 -2.667 2.667h-8.666a2.667 2.667 0 0 1 -2.667 -2.667z" / >
< path d = "M4.012 16.737a2.005 2.005 0 0 1 -1.012 -1.737v-10c0 -1.1 .9 -2 2 -2h10c.75 0 1.158 .385 1.5 1" / >
< / svg >
< / i >
< / div >
< div class = "hidden top-1 right-1" id = "code-copy-done" >
< i class = "h-6 w-6 block" >
< svg xmlns = "http://www.w3.org/2000/svg" class = "icon icon-tabler icon-tabler-check" viewBox = "0 0 24 24" stroke-width = "2" stroke = "currentColor" fill = "none" stroke-linecap = "round" stroke-linejoin = "round" >
< path stroke = "none" d = "M0 0h24v24H0z" fill = "none" / >
< path d = "M5 12l5 5l10 -10" / >
< / svg >
< / i >
2024-11-06 17:57:18 +01:00
< / div > < script src = "/code-copy.min.e7b2a74adef1ed474c335c8bd5e7832b2316b8842b0f9184d65286c5bd64f51a.js" > < / script >
2024-11-06 15:55:54 +01:00
< / body >
< / html >