Preduvjeti
Korak 1: Ažurirajte sustav
Korak 2: Instalirajte Apache 2.4.x
Korak 3: Instalirajte MariaDB 10.2.x
Korak 4: Instalirajte PHP 7.1 i potrebna PHP 7.1 proširenja
Korak 5: Instalirajte Moodle 3.3.2+
Moodle je platforma za učenje otvorenog koda ili sustav za upravljanje tečajevima (CMS) - besplatni softverski paket otvorenog koda osmišljen da pomogne edukatorima u stvaranju učinkovitih online tečajeva.
Ovaj vodič će pokriti proces instaliranja najnovijeg stabilnog izdanja Moodlea, Moodlea 3.3.2+, na poslužitelju CentOS 7.
Preduvjeti
- Instanca poslužitelja CentOS 7 x64 s najmanje 2 GB RAM-a (preporučeno 4 GB ili više).
- Korisnik sudoa .
- EPEL yum repozitorij.
Korak 1: Ažurirajte sustav
Prijavite se na svoj poslužitelj putem SSH-a koristeći sudo korisnika za instalaciju epel, ažuriranje sustava i ponovno pokretanje kako biste primijenili ažuriranja.
sudo yum install epel-release -y
sudo yum update -y && sudo shutdown -r now
Korak 2: Instalirajte Apache 2.4.x
sudo yum install httpd -y
U proizvodnji biste trebali ukloniti unaprijed postavljenu stranicu dobrodošlice Apachea:
sudo sed -i 's/^/#&/g' /etc/httpd/conf.d/welcome.conf
Spriječite Apacheu da posjetiteljima prikazuje datoteke web direktorija:
sudo sed -i "s/Options Indexes FollowSymLinks/Options FollowSymLinks/" /etc/httpd/conf/httpd.conf
Pokrenite uslugu Apache i omogućite joj automatsko pokretanje pri pokretanju
sudo systemctl start httpd.service
sudo systemctl enable httpd.service
Korak 3: Instalirajte MariaDB 10.2.x
Moodle pohranjuje sve svoje podatke u MySQL bazu podataka. MariaDB je zamjena za MySQL i mi ćemo instalirati najnoviju stabilnu verziju, MariaDB 10.2.x.
3.1 Instalirajte i pokrenite 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 Osigurajte instalaciju MariaDB-a
sudo /usr/bin/mysql_secure_installation
Odgovorite na pitanja kao u nastavku i svakako koristite snažnu MariaDB root lozinku umjesto uzorka prikazanog ispod:
- Unesite trenutnu lozinku za root (unesite za nijednu): Samo pritisnite
Entergumb
- Postaviti root lozinku? [Da/n]:
Y
- Nova lozinka:
your-root-password
- Ponovno unesite novu lozinku:
your-root-password
- Ukloniti anonimne korisnike? [Da/n]:
Y
- Zabraniti root prijavu na daljinu? [Da/n]:
Y
- Ukloniti testnu bazu podataka i pristupiti njoj? [Da/n]:
Y
- Ponovno učitati tablice privilegija sada? [Da/n]:
Y
3.3 Izradite MariaDB bazu podataka za Moodle
Prijavite se u MySQL ljusku kao root:
mysql -u root -p
Upišite MariaDB root lozinku koju ste ranije postavili kada se to od vas zatraži.
U MySQL ljusci stvorite bazu podataka moodle, korisnika moodleuserbaze podataka, lozinku korisnika baze podataka yourpasswordkako slijedi.
Napomena: Iz sigurnosnih razloga trebali biste zamijeniti yourpasswordgore spomenuti uzorak lozinke svojim vlastitim.
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;
Korak 4: Instalirajte PHP 7.1 i potrebna PHP 7.1 proširenja
PHP je također potreban za Moodle. Kako biste postigli bolje performanse, možete instalirati PHP 7.1 i nekoliko PHP 7.1 proširenja kako slijedi:
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
Korak 5: Instalirajte Moodle 3.3.2+
5.1 Pripremite programske datoteke Moodlea
U vrijeme pisanja, najnovije stabilno izdanje Moodlea je Moodle 3.3.2+. Preuzmite i raspakirajte Moodle 3.3.2+arhivu na sljedeći način:
Napomena: URL za preuzimanje najnovijeg stabilnog izdanja Moodlea uvijek možete dobiti s njegove službene stranice za preuzimanje .
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 Postavite namjenski imenik podataka za Moodle
Iz sigurnosnih razloga, ovaj direktorij podataka trebao bi biti izvan korijenskog web-direktorija:
sudo mkdir /var/moodledata
sudo chown -R apache:apache /var/moodledata
sudo chmod -R 755 /var/moodledata
5.3 Postavite virtualni host za Moodle
Napomena: ne zaboravite zamijeniti vrijednosti ServerAdmin, ServerName, ServerAlias, Errorlog, i CustomLogsvojim vlastitim.
cat <<EOF | sudo tee -a /etc/httpd/conf.d/moodle.conf
<VirtualHost *:80>
ServerAdmin admin@example.com
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 Postavljanje SELinuxa
Na instanci poslužitelja Vultr CentOS 7 koju koristim, SELinux je onemogućen prema zadanim postavkama. To je vjerojatno manje sigurna, ali lakša sigurnosna politika. Ako ste u istom stanju i želite da tako i ostane, jednostavno zanemarite upute u ovom odjeljku i prijeđite na sljedeći odjeljak.
Ako koristite instancu poslužitelja s omogućenim SELinuxom u načinu provođenja, morate postaviti SELinux na sljedeći način.
Prikaži status SELinuxa:
sestatus
Na novoj instanci poslužitelja CentOS 7 Minimal x64 1708, izlaz je:
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
Instalirajte potrebne alate za upravljanje SELinuxom:
sudo yum install -y policycoreutils policycoreutils-python
Postavite SELinux kontekste Moodle datoteka na sljedeći način:
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 Instalirajte Moodle iz CLI
sudo /usr/bin/php /var/www/html/moodle/admin/cli/install.php
Kada se to od vas zatraži, navedite potrebne informacije u skladu s posebnim postavkama za vaše postavke. Sažeti podaci navedeni su u nastavku:
== 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 ()
: admin@example.com
-------------------------------------------------------------------------------
== 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 Izmijenite dopuštenja za /var/www/html/config.php
Nakon što je Moodle uspješno instaliran, morate dopustiti apachekorisniku da čita Moodle konfiguracije mijenjanjem dopuštenja na /var/www/html/config.phpsljedeći način:
sudo chmod o+r /var/www/html/moodle/config.php
5.7 Postavite cron posao
Dodatno, morate postaviti cron posao kako bi Moodle ispravno radio:
sudo crontab -u apache -e
Popunite cron datoteku sa:
* * * * * /usr/bin/php /var/www/html/moodle/admin/cli/cron.php >/dev/null
Spremi i zatvori:
:wq!
5.8 Ponovno pokrenite Apache
Ponovo pokrenite Apache kako biste primijenili sve svoje izmjene:
sudo systemctl restart httpd.service
5.9 Izmijenite pravila vatrozida kako biste omogućili HTTP pristup
sudo firewall-cmd --zone=public --permanent --add-service=http
sudo firewall-cmd --reload
Na kraju, usmjerite svoj web preglednik na http://203.0.113.1da biste posjetili Moodle web stranicu. Za prijavu koristite korisničko ime i lozinku administratora koje ste prethodno postavili.
Ovim je naš vodič završen. Hvala na čitanju.