Moodle este o platformă de învățare open-source sau un sistem de management al cursurilor (CMS) - un pachet software gratuit Open Source conceput pentru a ajuta educatorii să creeze cursuri online eficiente.
Acest tutorial va acoperi procesul de instalare a celei mai recente versiuni stabile a Moodle, Moodle 3.3.2+, pe un server CentOS 7.
Cerințe preliminare
- O instanță de server CentOS 7 x64 cu cel puțin 2 GB RAM (recomandat sau mai mult de 4 GB).
- Un utilizator sudo .
- Depozitul EPEL yum.
Pasul 1: Actualizați sistemul
Conectați-vă la serverul dvs. prin SSH cu ajutorul utilizatorului sudo pentru instalare epel, actualizare a sistemului și reporniți pentru a aplica actualizările.
sudo yum install epel-release -y
sudo yum update -y && sudo shutdown -r now
Pasul 2: Instalați Apache 2.4.x
sudo yum install httpd -y
În producție, ar trebui să eliminați pagina de bun venit prestabilită Apache:
sudo sed -i 's/^/#&/g' /etc/httpd/conf.d/welcome.conf
Împiedicați Apache să afișeze fișierele directorilor web către vizitatori:
sudo sed -i "s/Options Indexes FollowSymLinks/Options FollowSymLinks/" /etc/httpd/conf/httpd.conf
Porniți serviciul Apache și permiteți-l să pornească automat la pornire
sudo systemctl start httpd.service
sudo systemctl enable httpd.service
Pasul 3: Instalați MariaDB 10.2.x
Moodle stochează toate datele sale într-o bază de date MySQL. MariaDB este un înlocuitor pentru MySQL și vom instala cea mai recentă versiune stabilă, MariaDB 10.2.x.
3.1 Instalați și porniți MariaDB 10.2.x
curl -sS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | sudo bash
sudo yum install MariaDB-server MariaDB-client -y
sudo systemctl start mariadb.service
sudo systemctl enable mariadb.service
3.2 Asigurați-vă instalarea MariaDB
sudo /usr/bin/mysql_secure_installation
Răspundeți la întrebările de mai jos și asigurați-vă că utilizați o parolă rădăcină MariaDB puternică în loc de cea prezentată mai jos:
- Introduceți parola curentă pentru root (nu introduceți nimic): Apăsați
Enterbutonul
- Setați parola root? [Y / n]:
Y
- Parolă Nouă:
your-root-password
- Reintroduceți parola nouă:
your-root-password
- Ștergeți utilizatorii anonimi? [Y / n]:
Y
- Înlăturați conectarea root la distanță? [Y / n]:
Y
- Ștergeți baza de date de testare și accesați-o? [Y / n]:
Y
- Reîncărcați tabelele de privilegii acum? [Y / n]:
Y
3.3 Creați o bază de date MariaDB pentru Moodle
Conectați-vă la shell-ul MySQL ca root:
mysql -u root -p
Introduceți parola rădăcină MariaDB pe care ați setat-o mai devreme când vi se solicită.
În shell-ul MySQL, creați o bază de date moodle, un utilizator moodleuseral bazei de date, parola utilizatorului bazei de date yourpassworddupă cum urmează.
Notă: În scopuri de securitate, ar trebui să înlocuiți parola de probă yourpasswordmenționată mai sus cu cele proprii.
CREATE DATABASE moodle DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'moodleuser'@'localhost' IDENTIFIED BY 'yourpassword';
GRANT ALL PRIVILEGES ON moodle.* TO 'moodleuser'@'localhost' IDENTIFIED BY 'yourpassword' WITH GRANT OPTION;
FLUSH PRIVILEGES;
EXIT;
Pasul 4: Instalați PHP 7.1 și extensiile necesare PHP 7.1
PHP este, de asemenea, solicitat de Moodle. Pentru a obține performanțe mai bune, puteți instala PHP 7.1 și mai multe extensii PHP 7.1 după cum urmează:
sudo rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
sudo yum install mod_php71w php71w-common php71w-mbstring php71w-xmlrpc php71w-soap php71w-gd php71w-xml php71w-intl php71w-mysqlnd php71w-cli php71w-mcrypt php71w-ldap -y
Pasul 5: Instalează Moodle 3.3.2+
5.1 Pregătiți fișierele programului Moodle
În momentul scrierii, cea mai recentă versiune stabilă a Moodle este Moodle 3.3.2+. Descărcați și dezarhivați Moodle 3.3.2+arhiva după cum urmează:
Notă: Puteți obține întotdeauna adresa URL de descărcare a celei mai recente versiuni stabile de Moodle de pe pagina sa oficială de descărcare .
cd
yum install -y wget
wget https://download.moodle.org/download.php/direct/stable33/moodle-latest-33.tgz
sudo tar -zxvf moodle-latest-33.tgz -C /var/www/html
sudo chown -R root:root /var/www/html/moodle
5.2 Configurarea unui director de date dedicat pentru Moodle
În scopuri de securitate, acest director de date ar trebui să se afle în afara directorului rădăcină web:
sudo mkdir /var/moodledata
sudo chown -R apache:apache /var/moodledata
sudo chmod -R 755 /var/moodledata
5.3 Configurați o gazdă virtuală pentru Moodle
Notă: Nu uitați să înlocuiți valorile ServerAdmin, ServerName, ServerAlias, Errorlog, și CustomLogcu cele proprii.
cat <<EOF | sudo tee -a /etc/httpd/conf.d/moodle.conf
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot /var/www/html/moodle/
ServerName moodle.example.com
ServerAlias www.moodle.example.com
<Directory /var/www/html/moodle/>
Options FollowSymLinks
AllowOverride All
Order allow,deny
allow from all
</Directory>
ErrorLog /var/log/httpd/moodle.example.com-error_log
CustomLog /var/log/httpd/moodle.example.com-access_log common
</VirtualHost>
EOF
5.4 Configurare SELinux
Pe instanța de server Vultr CentOS 7 pe care o folosesc, SELinux este dezactivat implicit. Este o politică de securitate probabil mai puțin sigură, dar mai ușoară. Dacă vă aflați în aceeași stare și doriți să o mențineți în acest fel, ignorați pur și simplu instrucțiunile din această secțiune și mergeți la secțiunea următoare.
Dacă utilizați o instanță de server cu SELinux activat în modul de aplicare, trebuie să configurați SELinux după cum urmează.
Afișează starea SELinux:
sestatus
Pe o nouă instanță de server CentOS 7 Minimal x64 1708, rezultatul este:
SELinux status: enabled
SELinuxfs mount: /sys/fs/selinux
SELinux root directory: /etc/selinux
Loaded policy name: targeted
Current mode: enforcing
Mode from config file: enforcing
Policy MLS status: enabled
Policy deny_unknown status: allowed
Max kernel policy version: 28
Instalați instrumentele de gestionare SELinux necesare:
sudo yum install -y policycoreutils policycoreutils-python
Configurați contextele SELinux ale fișierelor Moodle ca mai jos:
sudo semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/moodle(/.*)?'
sudo restorecon -Rv '/var/www/html/moodle/'
sudo semanage fcontext -a -t httpd_sys_rw_content_t '/var/moodledata(/.*)?'
sudo restorecon -Rv '/var/moodledata/'
5.5 Instalați Moodle de la CLI
sudo /usr/bin/php /var/www/html/moodle/admin/cli/install.php
Când vi se solicită, furnizați informațiile necesare în conformitate cu setările specifice pentru configurarea dvs. Informațiile sumare sunt enumerate mai jos:
== Choose a language ==
en - English (en)
? - Available language packs
type value, press Enter to use default value (en)
: en
-------------------------------------------------------------------------------
== Data directories permission ==
type value, press Enter to use default value (2777)
: 2777
-------------------------------------------------------------------------------
== Web address ==
type value
: http://203.0.113.1
-------------------------------------------------------------------------------
== Data directory ==
type value, press Enter to use default value (/var/www/html/moodledata)
: /var/moodledata
-------------------------------------------------------------------------------
== Choose database driver ==
mysqli
mariadb
type value, press Enter to use default value (mysqli)
: mariadb
-------------------------------------------------------------------------------
== Database host ==
type value, press Enter to use default value (localhost)
: localhost
-------------------------------------------------------------------------------
== Database name ==
type value, press Enter to use default value (moodle)
: moodle
-------------------------------------------------------------------------------
== Tables prefix ==
type value, press Enter to use default value (mdl_)
: mdl_
-------------------------------------------------------------------------------
== Database port ==
type value, press Enter to use default value ()
:
-------------------------------------------------------------------------------
== Unix socket ==
type value, press Enter to use default value ()
:
-------------------------------------------------------------------------------
== Database user ==
type value, press Enter to use default value (root)
: moodleuser
-------------------------------------------------------------------------------
== Database password ==
type value
: yourpassword
-------------------------------------------------------------------------------
== Full site name ==
type value
: My Moodle Site
-------------------------------------------------------------------------------
== Short name for site (eg single word) ==
type value
: moodle
-------------------------------------------------------------------------------
== Admin account username ==
type value, press Enter to use default value (admin)
: admin
-------------------------------------------------------------------------------
== New admin user password ==
type value
: your-admin-password
-------------------------------------------------------------------------------
== New admin user email address ==
type value, press Enter to use default value ()
: [email protected]
-------------------------------------------------------------------------------
== Upgrade key (leave empty to not set it) ==
type value
:
-------------------------------------------------------------------------------
Have you read these conditions and understood them?
type y (means yes) or n (means no)
: y
5.6 Modificați permisiunile la /var/www/html/config.php
După instalarea cu succes a Moodle, trebuie să permiteți apacheutilizatorului să citească configurațiile Moodle modificând permisiunile /var/www/html/config.phpdupă cum urmează:
sudo chmod o+r /var/www/html/moodle/config.php
5.7 Configurarea unei lucrări cron
În plus, trebuie să configurați o lucrare cron pentru ca Moodle să funcționeze corect:
sudo crontab -u apache -e
Populați fișierul cron cu:
* * * * * /usr/bin/php /var/www/html/moodle/admin/cli/cron.php >/dev/null
Salvează și închide:
:wq!
5.8 Reporniți Apache
Reporniți Apache pentru a aplica toate modificările:
sudo systemctl restart httpd.service
5.9 Modificați regulile firewallului pentru a permite accesul HTTP
sudo firewall-cmd --zone=public --permanent --add-service=http
sudo firewall-cmd --reload
În cele din urmă, indicați browserul dvs. web pentru http://203.0.113.1a vizita site-ul Moodle. Utilizați numele de utilizator și parola de administrare pe care le-ați configurat mai devreme pentru a vă autentifica.
Acest lucru încheie tutorialul nostru. Mulțumesc pentru citit.