วิธีการติดตั้ง Moodle 3.3.x บน CentOS 7

Moodle เป็นแพลตฟอร์มการเรียนรู้โอเพนซอร์ซหรือระบบการจัดการหลักสูตร (CMS) - ชุดซอฟต์แวร์โอเพ่นซอร์สฟรีที่ออกแบบมาเพื่อช่วยผู้สอนสร้างหลักสูตรออนไลน์ที่มีประสิทธิภาพ

บทช่วยสอนนี้จะครอบคลุมกระบวนการติดตั้ง Moodle, Moodle 3.3.2+ ที่เสถียรล่าสุดบนเซิร์ฟเวอร์ CentOS 7

ข้อกำหนดเบื้องต้น

  • อินสแตนซ์เซิร์ฟเวอร์ CentOS 7 x64 ที่มี RAM อย่างน้อย 2GB (แนะนำ 4GB หรือมากกว่า)
  • sudo ผู้ใช้
  • ที่เก็บ EPEL yum

ขั้นตอนที่ 1: อัปเดตระบบ

ล็อกอินเข้าสู่เซิร์ฟเวอร์ของคุณผ่าน SSH โดยใช้ผู้ใช้ sudo เพื่อติดตั้งepelอัปเดตระบบและรีสตาร์ทเพื่อใช้การอัปเดต

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

ขั้นตอนที่ 2: ติดตั้ง Apache 2.4.x

sudo yum install httpd -y

ในการผลิตคุณควรลบหน้าต้อนรับ Apache ที่ตั้งค่าไว้ล่วงหน้า:

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

ป้องกัน Apache ไม่ให้แสดงรายชื่อไฟล์สารบบเว็บกับผู้เยี่ยมชม:

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

เริ่มบริการ Apache และเปิดใช้งานให้เริ่มโดยอัตโนมัติเมื่อบูต

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

ขั้นตอนที่ 3: ติดตั้ง MariaDB 10.2.x

Moodle เก็บข้อมูลทั้งหมดไว้ในฐานข้อมูล MySQL MariaDB เป็นตัวแทนที่สำหรับ MySQL และเราจะทำการติดตั้ง MariaDB เวอร์ชัน 10.2.x ที่เสถียรล่าสุด

3.1 ติดตั้งและเริ่ม 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 รักษาความปลอดภัยการติดตั้ง MariaDB
sudo /usr/bin/mysql_secure_installation

ตอบคำถามดังต่อไปนี้และตรวจสอบให้แน่ใจว่าใช้รหัสผ่าน root ของ MariaDB ที่แข็งแกร่งแทนตัวอย่างที่แสดงด้านล่าง:

  • ป้อนรหัสผ่านปัจจุบันสำหรับรูท (ป้อนเพื่อไม่ใช้): เพียงกดEnterปุ่ม
  • ตั้งรหัสผ่านรูท? [Y / N]:Y
  • รหัสผ่านใหม่: your-root-password
  • ป้อนรหัสผ่านใหม่: your-root-password
  • ลบผู้ใช้ที่ไม่ระบุชื่อหรือไม่ [Y / N]:Y
  • ไม่อนุญาตให้ล็อกอินรูทจากระยะไกล [Y / N]:Y
  • ลบฐานข้อมูลทดสอบและเข้าถึงหรือไม่ [Y / N]:Y
  • โหลดตารางสิทธิ์เดี๋ยวนี้หรือไม่ [Y / N]:Y
3.3 สร้างฐานข้อมูล MariaDB สำหรับ Moodle

เข้าสู่ระบบ MySQL shell เป็นroot:

mysql -u root -p

พิมพ์รหัสผ่านรูท MariaDB ที่คุณตั้งไว้ก่อนหน้านี้เมื่อได้รับแจ้ง

ใน MySQL shell สร้างฐานmoodleข้อมูลผู้ใช้moodleuserฐานข้อมูลรหัสผ่านผู้��ช้ฐาน��้อมูลyourpasswordดังนี้

หมายเหตุ: เพื่อความปลอดภัยคุณควรเปลี่ยนรหัสผ่านตัวอย่างที่yourpasswordกล่าวถึงข้างต้นด้วยรหัสผ่านของคุณเอง

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;

ขั้นตอนที่ 4: ติดตั้ง PHP 7.1 และส่วนขยาย PHP 7.1 ที่จำเป็น

Moodle ต้องการ PHP ด้วย เพื่อให้ได้ประสิทธิภาพที่ดีขึ้นคุณสามารถติดตั้ง PHP 7.1 และส่วนขยาย PHP 7.1 หลายอย่างดังนี้:

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

ขั้นตอนที่ 5: ติดตั้ง Moodle 3.3.2+

5.1 เตรียมไฟล์โปรแกรม Moodle

ในช่วงเวลาของการเขียน, รุ่นเสถียรล่าสุด Moodle Moodle 3.3.2+คือ ดาวน์โหลดและแตกMoodle 3.3.2+ไฟล์ zip ดังต่อไปนี้:

หมายเหตุ: คุณสามารถได้รับ URL ที่ดาวน์โหลดของรุ่นเสถียรล่าสุด Moodle ได้จากหน้าดาวน์โหลดอย่างเป็นทางการ

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 ตั้งค่าไดเรกทอรีข้อมูลเฉพาะสำหรับ Moodle

เพื่อความปลอดภัยไดเรกทอรีข้อมูลนี้ควรอยู่นอกไดเรกทอรีเว็บรูท:

sudo mkdir /var/moodledata
sudo chown -R apache:apache /var/moodledata
sudo chmod -R 755 /var/moodledata
5.3 การติดตั้งโฮสต์เสมือนสำหรับ Moodle

หมายเหตุ: อย่าลืมที่จะเปลี่ยนค่าของServerAdmin, ServerName, ServerAlias, ErrorlogและCustomLogกับคนที่คุณเอง

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 การติดตั้ง SELinux

บนอินสแตนซ์เซิร์ฟเวอร์ Vultr CentOS 7 ที่ฉันใช้ SELinux จะถูกปิดใช้งานตามค่าเริ่มต้น มันเป็นนโยบายความปลอดภัยที่น้อยกว่า แต่ง่ายกว่า หากคุณอยู่ในสภาพเดียวกันและต้องการให้เป็นเช่นนั้นเพียงเพิกเฉยคำแนะนำในส่วนนี้และไปที่หัวข้อถัดไป

หากคุณใช้เซิร์ฟเวอร์อินสแตนซ์ที่เปิดใช้งาน SELinux ในโหมดบังคับใช้คุณต้องตั้งค่า SELinux ดังนี้

แสดงสถานะของ SELinux:

sestatus

บนอินสแตนซ์เซิร์ฟเวอร์ CentOS 7 ขั้นต่ำ x64 1708 ใหม่ผลลัพธ์คือ:

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

ติดตั้งเครื่องมือการจัดการ SELinux ที่ต้องการ:

sudo yum install -y policycoreutils policycoreutils-python 

ตั้งค่าไฟล์ SELINux ของไฟล์ Moodle ดังนี้:

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 ติดตั้ง Moodle จาก CLI
sudo /usr/bin/php /var/www/html/moodle/admin/cli/install.php

เมื่อได้รับแจ้งให้ระบุข้อมูลที่จำเป็นตามการตั้งค่าเฉพาะสำหรับการตั้งค่าของคุณ ข้อมูลสรุปอยู่ด้านล่าง:

== 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 ปรับเปลี่ยนการอนุญาตเป็น /var/www/html/config.php

เมื่อติดตั้ง Moodle สำเร็จคุณต้องอนุญาตให้apacheผู้ใช้อ่านการกำหนดค่า Moodle ได้โดยการแก้ไขการอนุญาต/var/www/html/config.phpดังต่อไปนี้:

sudo chmod o+r /var/www/html/moodle/config.php
5.7 การติดตั้งงาน cron

นอกจากนี้คุณต้องตั้งค่างาน cron เพื่อให้ Moodle ทำงานอย่างถูกต้อง:

sudo crontab -u apache -e

เติมไฟล์ cron ด้วย:

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

บันทึกและออก:

:wq!
5.8 เริ่ม Apache ใหม่

รีสตาร์ท Apache เพื่อใช้การปรับเปลี่ยนทั้งหมดของคุณ:

sudo systemctl restart httpd.service
5.9 ปรับเปลี่ยนกฎไฟร์วอลล์เพื่ออนุญาตการเข้าถึง HTTP
sudo firewall-cmd --zone=public --permanent --add-service=http
sudo firewall-cmd --reload

ขั้นตอนสุดท้ายชี้เว็บเบราว์เซอร์ของคุณhttp://203.0.113.1ไปที่เว็บไซต์ Moodle ใช้ชื่อผู้ใช้และรหัสผ่านของผู้ดูแลระบบที่คุณตั้งค่าไว้ก่อนหน้านี้เพื่อเข้าสู่ระบบ

นี่เป็นการสรุปบทเรียนของเรา ขอบคุณที่อ่าน.

ฝากความเห็น

วิธีการติดตั้ง Directus 6.4 CMS บน CentOS 7 LAMP VPS

วิธีการติดตั้ง Directus 6.4 CMS บน CentOS 7 LAMP VPS

เรียนรู้วิธีการติดตั้ง Directus 6.4 CMS บน CentOS 7; ระบบการจัดการเนื้อหา Headless ที่มีความยืดหยุ่นสูงและปลอดภัย

ตั้งค่า Nginx บน Ubuntu เพื่อสตรีมวิดีโอสด HLS

ตั้งค่า Nginx บน Ubuntu เพื่อสตรีมวิดีโอสด HLS

เรียนรู้วิธีการตั้งค่า Nginx บน Ubuntu สำหรับการสตรีมวิดีโอสด HLS ด้วยคำแนะนำที่ชัดเจนและเป็นประโยชน์

การสำรองข้อมูลยอดนิยมด้วย Percona XtraBackup บนแอพ WordPress แบบคลิกเดียว

การสำรองข้อมูลยอดนิยมด้วย Percona XtraBackup บนแอพ WordPress แบบคลิกเดียว

เรียนรู้การใช้ Percona XtraBackup สำหรับการสำรองข้อมูลด้วยวิธีที่เป็นระบบและง่ายดายบน WordPress ออนไลน์ของคุณ

ReactOS: นี่คืออนาคตของ Windows หรือไม่?

ReactOS: นี่คืออนาคตของ Windows หรือไม่?

ReactOS ซึ่งเป็นโอเพ่นซอร์สและระบบปฏิบัติการฟรีพร้อมเวอร์ชันล่าสุดแล้ว สามารถตอบสนองความต้องการของผู้ใช้ Windows ยุคใหม่และล้ม Microsoft ได้หรือไม่? มาหาข้อมูลเพิ่มเติมเกี่ยวกับรูปแบบเก่านี้ แต่เป็นประสบการณ์ OS ที่ใหม่กว่ากัน

AI สามารถต่อสู้กับการโจมตีของแรนซัมแวร์ที่เพิ่มขึ้นได้หรือไม่

AI สามารถต่อสู้กับการโจมตีของแรนซัมแวร์ที่เพิ่มขึ้นได้หรือไม่

การโจมตีของ Ransomware กำลังเพิ่มขึ้น แต่ AI สามารถช่วยจัดการกับไวรัสคอมพิวเตอร์ตัวล่าสุดได้หรือไม่? AI คือคำตอบ? อ่านที่นี่รู้ว่า AI boone หรือ bane

เชื่อมต่อผ่าน WhatsApp Desktop App 24*7

เชื่อมต่อผ่าน WhatsApp Desktop App 24*7

ในที่สุด Whatsapp ก็เปิดตัวแอพเดสก์ท็อปสำหรับผู้ใช้ Mac และ Windows ตอนนี้คุณสามารถเข้าถึง Whatsapp จาก Windows หรือ Mac ได้อย่างง่ายดาย ใช้ได้กับ Windows 8+ และ Mac OS 10.9+

AI จะนำกระบวนการอัตโนมัติไปสู่อีกระดับได้อย่างไร

AI จะนำกระบวนการอัตโนมัติไปสู่อีกระดับได้อย่างไร

อ่านข้อมูลนี้เพื่อทราบว่าปัญญาประดิษฐ์กำลังได้รับความนิยมในหมู่บริษัทขนาดเล็กอย่างไร และเพิ่มโอกาสในการทำให้พวกเขาเติบโตและทำให้คู่แข่งได้เปรียบ

การอัปเดตเสริม macOS Catalina 10.15.4 ทำให้เกิดปัญหามากกว่าการแก้ปัญหา

การอัปเดตเสริม macOS Catalina 10.15.4 ทำให้เกิดปัญหามากกว่าการแก้ปัญหา

เมื่อเร็ว ๆ นี้ Apple เปิดตัว macOS Catalina 10.15.4 การอัปเดตเสริมเพื่อแก้ไขปัญหา แต่ดูเหมือนว่าการอัปเดตทำให้เกิดปัญหามากขึ้นที่นำไปสู่การสร้างเครื่อง Mac อ่านบทความนี้เพื่อเรียนรู้เพิ่มเติม

13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data

13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data

13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data

ระบบไฟล์บันทึกคืออะไรและทำงานอย่างไร

ระบบไฟล์บันทึกคืออะไรและทำงานอย่างไร

คอมพิวเตอร์ของเราจัดเก็บข้อมูลทั้งหมดในลักษณะที่เรียกว่าระบบไฟล์บันทึก เป็นวิธีการที่มีประสิทธิภาพที่ช่วยให้คอมพิวเตอร์สามารถค้นหาและแสดงไฟล์ได้ทันทีที่คุณกดค้นหาhttps://wethegeek.com/?p=94116&preview=true