Cara Memasang Moodle 3.3.x di CentOS 7

Moodle adalah Platform Pembelajaran sumber terbuka atau sistem manajemen kursus (CMS) - paket perangkat lunak Sumber Terbuka gratis yang dirancang untuk membantu pendidik menciptakan kursus online yang efektif.

Tutorial ini akan mencakup proses pemasangan rilis stabil terbaru Moodle, Moodle 3.3.2+, pada server CentOS 7.

Prasyarat

  • Contoh server CentOS 7 x64 dengan setidaknya 2GB RAM (direkomendasikan 4GB atau lebih).
  • Seorang pengguna sudo .
  • Repositori EPEL yum.

Langkah 1: Perbarui sistem

Masuk ke server Anda melalui SSH menggunakan pengguna sudo untuk menginstal epel, memperbarui sistem, dan restart untuk menerapkan pembaruan.

sudo yum install epel-release -y
sudo yum update -y && sudo shutdown -r now

Langkah 2: Instal Apache 2.4.x

sudo yum install httpd -y

Dalam produksi, Anda harus menghapus halaman selamat datang Apache yang telah ditetapkan sebelumnya:

sudo sed -i 's/^/#&/g' /etc/httpd/conf.d/welcome.conf

Cegah Apache dari mendaftarkan file direktori web ke pengunjung:

sudo sed -i "s/Options Indexes FollowSymLinks/Options FollowSymLinks/" /etc/httpd/conf/httpd.conf

Mulai layanan Apache dan aktifkan untuk memulai secara otomatis saat boot

sudo systemctl start httpd.service
sudo systemctl enable httpd.service

Langkah 3: Instal MariaDB 10.2.x

Moodle menyimpan semua datanya ke Database MySQL. MariaDB adalah pengganti drop-in untuk MySQL dan kami akan menginstal versi stabil terbaru, MariaDB 10.2.x.

3.1 Pasang dan mulai 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 Amankan instalasi MariaDB
sudo /usr/bin/mysql_secure_installation

Jawab pertanyaan seperti di bawah ini, dan pastikan untuk menggunakan kata sandi root MariaDB yang kuat dan bukan sampel yang ditunjukkan di bawah ini:

  • Masukkan kata sandi saat ini untuk root (masukkan untuk tidak ada): Cukup tekan Entertombol
  • Setel kata sandi root? [Y / n]:Y
  • Kata sandi baru: your-root-password
  • Masukkan kembali kata sandi baru: your-root-password
  • Hapus pengguna anonim? [Y / n]:Y
  • Larang login root dari jarak jauh? [Y / n]:Y
  • Hapus database pengujian dan akses ke sana? [Y / n]:Y
  • Muat ulang tabel privilege sekarang? [Y / n]:Y
3.3 Buat database MariaDB untuk Moodle

Masuk ke shell MySQL sebagai root:

mysql -u root -p

Ketikkan kata sandi root MariaDB yang Anda atur sebelumnya saat diminta.

Di shell MySQL, buat database moodle, pengguna moodleuserbasis data, kata sandi pengguna basis data yourpasswordsebagai berikut.

Catatan: Untuk tujuan keamanan, Anda harus mengganti kata sandi sampel yang yourpassworddisebutkan di atas dengan kata sandi Anda sendiri.

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;

Langkah 4: Instal PHP 7.1 dan ekstensi PHP 7.1 yang diperlukan

PHP juga dibutuhkan oleh Moodle. Untuk mencapai kinerja yang lebih baik, Anda dapat menginstal PHP 7.1 dan beberapa ekstensi PHP 7.1 sebagai berikut:

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

Langkah 5: Instal Moodle 3.3.2+

5.1 Mempersiapkan file program Moodle

Pada saat penulisan, rilis stabil terbaru dari Moodle adalah Moodle 3.3.2+. Unduh dan hapus zip Moodle 3.3.2+arsip sebagai berikut:

Catatan: Anda selalu bisa mendapatkan URL unduhan rilis stabil terbaru dari Moodle dari halaman unduhan resminya .

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 Mengatur direktori data khusus untuk Moodle

Untuk tujuan keamanan, direktori data ini harus berada di luar direktori root web:

sudo mkdir /var/moodledata
sudo chown -R apache:apache /var/moodledata
sudo chmod -R 755 /var/moodledata
5.3 Mengatur host virtual untuk Moodle

Catatan: Jangan lupa untuk mengganti nilai-nilai ServerAdmin, ServerName, ServerAlias, Errorlog, dan CustomLogdengan orang yang Anda sendiri.

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

Pada contoh server Vultr CentOS 7 yang saya gunakan, SELinux dinonaktifkan secara default. Ini mungkin kebijakan keamanan yang kurang aman tetapi lebih mudah. Jika Anda berada dalam kondisi yang sama dan ingin tetap seperti itu, abaikan saja petunjuk di bagian ini dan pergi ke bagian berikutnya.

Jika Anda menggunakan instance server dengan SELinux diaktifkan dalam mode penegakan, Anda perlu mengatur SELinux sebagai berikut.

Tampilkan status SELinux:

sestatus

Pada instance server CentOS 7 Minimal x64 1708, outputnya adalah:

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

Instal alat manajemen SELinux yang diperlukan:

sudo yum install -y policycoreutils policycoreutils-python 

Atur konteks SELinux file Moodle seperti di bawah ini:

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 Pasang Moodle dari CLI
sudo /usr/bin/php /var/www/html/moodle/admin/cli/install.php

Saat diminta, berikan informasi yang diperlukan sesuai dengan pengaturan spesifik untuk pengaturan Anda. Informasi ringkasan tercantum di bawah ini:

== 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 Ubah izin untuk /var/www/html/config.php

Setelah Moodle berhasil diinstal, Anda harus mengizinkan apachepengguna untuk membaca konfigurasi Moodle dengan memodifikasi izin /var/www/html/config.phpseperti di bawah ini:

sudo chmod o+r /var/www/html/moodle/config.php
5.7 Menyiapkan pekerjaan cron

Selain itu, Anda perlu mengatur pekerjaan cron agar Moodle tetap berjalan dengan benar:

sudo crontab -u apache -e

Isi file cron dengan:

* * * * *    /usr/bin/php /var/www/html/moodle/admin/cli/cron.php >/dev/null

Simpan dan keluar:

:wq!
5.8 Mulai ulang Apache

Mulai ulang Apache untuk menerapkan semua modifikasi Anda:

sudo systemctl restart httpd.service
5.9 Memodifikasi aturan firewall untuk memungkinkan akses HTTP
sudo firewall-cmd --zone=public --permanent --add-service=http
sudo firewall-cmd --reload

Terakhir, arahkan browser web Anda ke http://203.0.113.1untuk mengunjungi situs web Moodle. Gunakan nama pengguna dan kata sandi admin yang Anda buat sebelumnya untuk login.

Ini menyimpulkan tutorial kami. Terima kasih sudah membaca.



Leave a Comment

Cara Memasang Panel Kontrol Hosting Mudah di Ubuntu 16.04

Cara Memasang Panel Kontrol Hosting Mudah di Ubuntu 16.04

Pelajari langkah-langkah untuk memasang Panel Kontrol Hosting Mudah (EHCP) di Ubuntu 16.04 dengan panduan ini.

Wawasan tentang 26 Teknik Analisis Data Besar: Bagian 1

Wawasan tentang 26 Teknik Analisis Data Besar: Bagian 1

Wawasan tentang 26 Teknik Analisis Data Besar: Bagian 1

6 Hal yang Sangat Menggila dari Nintendo Switch

6 Hal yang Sangat Menggila dari Nintendo Switch

Banyak dari Anda tahu Switch keluar pada Maret 2017 dan fitur-fitur barunya. Bagi yang belum tahu, kami sudah menyiapkan daftar fitur yang membuat 'Switch' menjadi 'gadget yang wajib dimiliki'.

Janji Teknologi Yang Masih Belum Ditepati

Janji Teknologi Yang Masih Belum Ditepati

Apakah Anda menunggu raksasa teknologi untuk memenuhi janji mereka? periksa apa yang belum terkirim.

Fungsionalitas Lapisan Arsitektur Referensi Big Data

Fungsionalitas Lapisan Arsitektur Referensi Big Data

Baca blog untuk mengetahui berbagai lapisan dalam Arsitektur Big Data dan fungsinya dengan cara yang paling sederhana.

Bagaimana AI Dapat Membawa Otomatisasi Proses ke Tingkat Selanjutnya?

Bagaimana AI Dapat Membawa Otomatisasi Proses ke Tingkat Selanjutnya?

Baca ini untuk mengetahui bagaimana Kecerdasan Buatan menjadi populer di antara perusahaan skala kecil dan bagaimana hal itu meningkatkan kemungkinan untuk membuat mereka tumbuh dan memberi keunggulan pada pesaing mereka.

CAPTCHA: Berapa Lama Itu Bisa Tetap Menjadi Teknik yang Layak Untuk Perbedaan Human-AI?

CAPTCHA: Berapa Lama Itu Bisa Tetap Menjadi Teknik yang Layak Untuk Perbedaan Human-AI?

CAPTCHA telah berkembang cukup sulit bagi pengguna untuk dipecahkan dalam beberapa tahun terakhir. Apakah itu akan tetap efektif dalam deteksi spam dan bot di masa mendatang?

Singularitas Teknologi: Masa Depan Peradaban Manusia yang Jauh?

Singularitas Teknologi: Masa Depan Peradaban Manusia yang Jauh?

Saat Sains Berkembang dengan kecepatan tinggi, mengambil alih banyak upaya kita, risiko menundukkan diri kita pada Singularitas yang tidak dapat dijelaskan juga meningkat. Baca, apa arti singularitas bagi kita.

Telemedicine Dan Perawatan Kesehatan Jarak Jauh: Masa Depan Ada Di Sini

Telemedicine Dan Perawatan Kesehatan Jarak Jauh: Masa Depan Ada Di Sini

Apa itu telemedicine, perawatan kesehatan jarak jauh dan dampaknya terhadap generasi mendatang? Apakah itu tempat yang bagus atau tidak dalam situasi pandemi? Baca blog untuk menemukan tampilan!

Pernahkah Anda Bertanya-tanya Bagaimana Hacker Menghasilkan Uang?

Pernahkah Anda Bertanya-tanya Bagaimana Hacker Menghasilkan Uang?

Anda mungkin pernah mendengar bahwa peretas menghasilkan banyak uang, tetapi pernahkah Anda bertanya-tanya bagaimana cara mereka mendapatkan uang sebanyak itu? mari berdiskusi.