Chamilo เป็นระบบการจัดการเรียนรู้แบบโอเพ่นซอร์ส (LMS) ที่ใช้กันอย่างแพร่หลายสำหรับการศึกษาออนไลน์และการทำงานร่วมกันเป็นทีมทั่วโลก
ในบทความนี้ฉันจะแสดงวิธีปรับใช้ Chamilo รุ่นเสถียรล่าสุดบนเซิร์ฟเวอร์ Ubuntu 18.04 LTS
ข้อกำหนดเบื้องต้น
- Vultr Ubuntu 18.04 LTS x64 เซิร์ฟเวอร์อินสแตนซ์ใหม่ที่มีหน่วยความจำเพียงพอแนะนำให้ใช้ 8GB หรือมากกว่า บอกว่าอยู่ IPv4
203.0.113.1
ของมันคือ
- sudo ผู้ใช้
- อินสแตนซ์ของเซิร์ฟเวอร์ได้รับการอัปเดตเป็นสถานะคงที่ล่าสุด ดูรายละเอียดที่นี่
- โดเมน
chamilo.example.com
ที่ชี้ไปยังอินสแตนซ์ของเซิร์ฟเวอร์ที่กล่าวถึงข้างต้น
ปรับเปลี่ยนกฎไฟร์วอลล์ UFW
ในการผลิตคุณจะต้องแก้ไขกฎไฟร์วอลล์ UFW เพื่ออนุญาตการรับส่งข้อมูล TCP ขาเข้าบนพอร์ต SSH, HTTP และ HTTPS เท่านั้น:
sudo ufw allow in ssh
sudo ufw allow in http
sudo ufw allow in https
sudo ufw enable
ติดตั้ง Apache 2.4
บน Ubuntu 18.04 LTS คุณสามารถใช้ APT เพื่อติดตั้ง Apache รุ่นเสถียรล่าสุดดังนี้:
sudo apt install -y apache2
ลบหน้ายินดีต้อนรับ Apache ที่ตั้งไว้ล่วงหน้า:
sudo mv /var/www/html/index.html /var/www/html/index.html.old
ห้ามมิให้ Apache เปิดเผยไฟล์และไดเรกทอรีภายในสารบบเว็บรู/var/www/html
ทไปยังผู้เยี่ยมชม:
sudo cp /etc/apache2/apache2.conf /etc/apache2/apache2.conf.bak
sudo sed -i "s/Options Indexes FollowSymLinks/Options FollowSymLinks/" /etc/apache2/apache2.conf
เปิดใช้งานโมดูล Apache Rewrite:
sudo a2enmod rewrite
เริ่มบริการ Apache และทำให้เริ่มอัตโนมัติทุกครั้งที่ระบบบู๊ต:
sudo systemctl start apache2.service
sudo systemctl enable apache2.service
ติดตั้งและรักษาความปลอดภัยชุด MariaDB 10.3
ติดตั้ง MariaDB รุ่นเสถียรล่าสุด:
sudo apt install -y software-properties-common
sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8
sudo add-apt-repository 'deb [arch=amd64,arm64,ppc64el] http://mirrors.accretive-networks.net/mariadb/repo/10.3/ubuntu bionic main'
sudo apt update
sudo apt install -y mariadb-server
ในระหว่างการติดตั้งคุณจะได้รับแจ้งให้ตั้งค่ารหัสผ่านใหม่สำหรับroot
ผู้ใช้MariaDB เพื่อความปลอดภัยตรวจสอบให้แน่ใจว่าได้ป้อนรหัสผ่านที่คาดเดายากที่นี่
เริ่มบริการ MariaDB และทำให้เริ่มอัตโนมัติทุกครั้งที่ระบบบู๊ต:
sudo systemctl start mariadb.service
sudo systemctl enable mariadb.service
Secure MariaDB:
sudo /usr/bin/mysql_secure_installation
เมื่อได้รับแจ้งให้ตอบคำถามแต่ละข้อบนหน้าจอดังนี้:
Enter current password for root (enter for none): your-MariaDB-root-password
Change the root password? [Y/n]: n
Remove anonymous users? [Y/n]: y
Disallow root login remotely? [Y/n]: y
Remove test database and access to it? [Y/n]: y
Reload privilege tables now? [Y/n]: y
ติดตั้งแพคเกจ PHP 7.2 ที่จำเป็น
เพื่อให้ได้ประสิทธิภาพที่ดีขึ้นบนไซต์ Chamilo แนะนำให้ติดตั้งแพ็คเกจ PHP 7.2 ล่าสุดแทนที่จะเป็นแพ็คเกจ PHP 5.x รุ่นเก่า ปัจจุบันคุณสามารถใช้ repo PPA ของบุคคลที่สามเพื่อติดตั้งแพ็คเกจ PHP 7.2 ที่จำเป็นดังต่อไปนี้
ติดตั้งondrej/php
PPA repo แล้วอัปเดตระบบ:
sudo add-apt-repository -y ppa:ondrej/php
sudo apt update
sudo apt upgrade -y
sudo apt autoremove -y
ติดตั้งแพ็คเกจ 7.2 ที่จำเป็นของ PHP:
sudo apt install -y php7.2 php7.2-opcache php7.2-cli php7.2-curl php7.2-common php7.2-gd php7.2-intl php7.2-mbstring php7.2-mysql libapache2-mod-php7.2 php7.2-soap php7.2-xml php7.2-xmlrpc php7.2-zip php7.2-ldap php-apcu-bc
สำรองและแก้ไขไฟล์กำหนดค่า Apache-oriented PHP:
sudo cp /etc/php/7.2/apache2/php.ini /etc/php/7.2/apache2/php.ini.bak
sudo sed -i 's#;date.timezone =#date.timezone = America/Los_Angeles#' /etc/php/7.2/apache2/php.ini
หมายเหตุ: เมื่อทำงานกับอินสแตนซ์เซิร์ฟเวอร์ของคุณเองตรวจสอบให้แน่ใจว่าได้แทนที่ค่าเขตเวลาตัวอย่างAmerica/Los_Angeles
ด้วยค่าของคุณเอง คุณสามารถค้นหาทั้งหมดของค่าเขตเวลาได้รับการสนับสนุนที่นี่
ติดตั้ง Chamilo
เมื่อมี LAMP stack แล้วถึงเวลาที่จะปรับใช้ Chamilo LMS คุณจะต้องตั้งค่าฐานข้อมูล MariaDB เฉพาะสำหรับ Chamilo, เตรียมไฟล์ Chamilo LMS, ปรับแต่งการตั้งค่า PHP 7.2 ให้ดี, ติดตั้ง Apache virtual server, เสร็จสิ้นการติดตั้งในเว็บเบราว์เซอร์และดำเนินมาตรการความปลอดภัยหลังการติดตั้ง
เข้าสู่เปลือก MariaDB เป็นroot
:
mysql -u root -p
ในเปลือก MariaDB ให้ป้อนคำสั่งต่อไปนี้:
CREATE DATABASE chamilo;
CREATE USER 'chamilouser'@'localhost' IDENTIFIED BY 'yourpassword';
GRANT ALL PRIVILEGES ON chamilo.* TO 'chamilouser'@'localhost' IDENTIFIED BY 'yourpassword' WITH GRANT OPTION;
FLUSH PRIVILEGES;
EXIT;
หมายเหตุ: เพื่อความปลอดภัยโปรดเปลี่ยนชื่อchamilo
ฐานข้อมูลชื่อผู้ใช้ฐานข้อมูลchamilouser
และรหัสผ่านyourpassword
ด้วยชื่อของคุณเอง
เตรียมไฟล์ Chamilo LMS
ดาวน์โหลด Chamilo รุ่นล่าสุดที่เสถียรจาก repo Chamilo GitHub อย่าลืมเลือกรุ่นที่วางจำหน่ายใน PHP 7.x:
cd
wget https://github.com/chamilo/chamilo-lms/releases/download/v1.11.8/chamilo-1.11.8-php7.tar.gz
แยกไฟล์ Chamilo ทั้งหมดไปยัง/opt
ไดเรกทอรี:
sudo tar -zxvf chamilo-1.11.8-php7.tar.gz -C /opt
เพื่ออำนวยความสะดวกในการใช้ชีวิตประจำวันและการอัพเดทที่อาจเกิดขึ้นให้สร้างลิงค์สัญลักษณ์ซึ่งชี้ไปที่/opt/chamilo-1.11.8-php7
ไดเรกทอรีในไดเรกทอรีเว็บรูตของ Apache /var/www/html
:
sudo ln -s /opt/chamilo-1.11.8-php7 /var/www/html/chamilo
ปรับเปลี่ยนความเป็นเจ้าของของไฟล์ Chamilo ทั้งหมดให้กับwww-data
ผู้ใช้และwww-data
กลุ่ม:
sudo chown -R www-data:www-data /opt/chamilo-1.11.8-php7
ปรับการตั้งค่า PHP 7.2 อย่างละเอียดสำหรับ Chamilo
ใช้vi
เครื่องมือแก้ไขเพื่อเปิดไฟล์กำหนดค่า PHP เดียวกันกับที่เราแก้ไขก่อนหน้านี้:
sudo vi /etc/php/7.2/apache2/php.ini
ค้นหาบรรทัดต่อไปนี้ตามลำดับ:
session.cookie_httponly =
upload_max_filesize = 2M
post_max_size = 8M
แทนที่ด้วยสิ่งต่อไปนี้:
session.cookie_httponly = 1
upload_max_filesize = 100M
post_max_size = 100M
บันทึกและออก:
:wq!
ติดตั้งเซิร์ฟเวอร์เสมือน Apache สำหรับ Chamilo LMS
ใช้คำสั่งต่อไปนี้เพื่อตั้งค่าโฮสต์เสมือน Apache สำหรับไซต์ Chamilo LMS ของคุณ:
cat <<EOF | sudo tee /etc/apache2/sites-available/chamilo.conf
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot /var/www/html/chamilo
ServerName chamilo.example.com
ServerAlias example.com
<Directory />
AllowOverride All
Require all granted
</Directory>
<Directory /var/www/html/chamilo>
Options FollowSymLinks
AllowOverride All
Require all granted
</Directory>
ErrorLog /var/log/apache2/chamilo.example.com-error_log
CustomLog /var/log/apache2/chamilo.example.com-access_log common
</VirtualHost>
EOF
หมายเหตุ: โปรดแทนที่example.com
โดเมนทั้งหมดของคุณด้วย
ใช้ลิงก์สัญลักษณ์ใหม่เพื่อแทนที่ไฟล์ลิงค์เริ่มต้นใน/etc/apache2/sites-enabled
ไดเรกทอรี:
sudo rm /etc/apache2/sites-enabled/000-default.conf
sudo ln -s /etc/apache2/sites-available/chamilo.conf /etc/apache2/sites-enabled/
เริ่มบริการ Apache เพื่อให้การปรับเปลี่ยนทั้งหมดของคุณมีผล:
sudo systemctl restart apache2.service
เสร็จสิ้นการติดตั้งในเว็บเบราว์เซอร์
ชี้เว็บเบราว์เซอร์ที่คุณชื่นชอบไปที่http://chamilo.example.com
และคุณจะเข้าสู่ตัวช่วยสร้างการติดตั้ง Chamilo คลิกที่Install Chamilo
ปุ่มเพื่อไปต่อ ส่วนต่อไปนี้จะแนะนำคุณตลอดกระบวนการติดตั้ง:
Step 1 - Installation Language
: เลือกภาษาที่คุณต้องการใช้เช่นEnglish
จากนั้นคลิกNext
ปุ่ม
Step 2 – Requirements
: ตรวจสอบให้แน่ใจว่าได้ปฏิบัติตามข้อกำหนดที่จำเป็นทั้งหมดแล้วคลิกNew installation
ปุ่ม
Step 3 – Licence
: คุณต้องตรวจสอบ GNU General Public License (GPL) เลือกช่องทำเครื่องหมายถัดจากI agree
ประโยคกรอกข้อมูลที่อยู่ติดต่อทั้งหมดแล้วคลิกNext
ปุ่มเพื่อดำเนินการต่อ
Step 4 – MySQL database settings
: ป้อนข้อมูลรับรองฐานข้อมูลที่เราตั้งค่าไว้ก่อนหน้านี้จากนั้นคลิกCheck database connection
ปุ่มเพื่อยืนยันข้อมูล คลิกที่Next
ปุ่มเพื่อไปต่อ
Step 5 – Config settings
: ตรวจสอบให้แน่ใจว่าได้แก้ไขรหัสผ่านผู้ดูแลระบบที่กำหนดไว้ล่วงหน้ากรอกข้อมูลในฟิลด์อื่นตามแผนธุรกิจของคุณแล้วคลิกNext
ปุ่มเพื่อดำเนินการต่อ
Step 6 – Last check before install
: ตรวจสอบการตั้งค่าทั้งหมดแล้วคลิกInstall Chamilo
ปุ่มเพื่อเริ่มการติดตั้งเว็บ
Step 7 – Installation process execution
: เมื่อติดตั้ง Chamilo สำเร็จแล้วให้คลิกที่Go to your newly created portal.
ปุ่มเพื่อสิ้นสุดตัวช่วยสร้างการติดตั้งเว็บ
ดำเนินการมาตรการความปลอดภัยหลังการติดตั้ง
นอกจากนี้มาตรการความปลอดภัยหลังการติดตั้งสองประการที่คุณต้องดำเนินการมีดังนี้:
sudo chmod -R 0555 /var/www/html/chamilo/app/config
sudo rm -rf /var/www/html/chamilo/main/install