Moodle là một hệ thống quản lý khóa học và nền tảng học trực tuyến mã nguồn mở miễn phí, linh hoạt và mạnh mẽ được viết bằng PHP và thường được triển khai trên Linux dưới máy chủ web Apache/Nginx với hệ thống quản lý cơ sở dữ liệu PHP và MySQL/MariaDB, còn được gọi là ngăn xếp LAMP hoặc LEMP.
Hướng dẫn này sẽ giải thích cách cài đặt và cấu hình phiên bản mới nhất của Moodle trong bản phát hành Debian 9 để tạo nền tảng học trực tuyến tại cơ sở của bạn.
Nền tảng Moodle cung cấp giao diện web trực quan có thể được các nhà giáo dục và đào tạo sử dụng để lưu trữ dữ liệu khóa học và theo dõi học sinh, điểm số và các khóa học trực tuyến. Hầu hết các trường đại học lớn trên toàn thế giới đang triển khai nền tảng học tập điện tử Moodle để giúp sinh viên và giáo viên dễ dàng hơn trong các hoạt động giáo dục.
Tiếp theo, sau khi bạn đã cập nhật phần mềm hệ thống, cấu hình tên cho máy chủ Debian của bạn bằng cách thực hiện các lệnh sau. Đảm bảo bạn thay thế biến hostname để khớp với cài đặt của riêng bạn, như minh họa trong ví dụ bên dưới.
Sau đó, bạn có thể xác minh tên máy chủ và tệp hosts của máy bằng cách phát hành các lệnh bên dưới.
Để áp dụng các bản cập nhật kernel và áp dụng các thay đổi tên máy chủ, hãy phát hành lệnh bên dưới để khởi động lại máy.
Một trong những thành phần LAMP quan trọng nhất để triển khai nền tảng học tập Moodle là cơ sở dữ liệu RDBMS được ứng dụng web sử dụng để lưu trữ các cấu hình khác nhau, chẳng hạn như người dùng, phiên, danh bạ và dữ liệu khác. Trong hướng dẫn này, chúng ta sẽ cấu hình Moodle CMS với cơ sở dữ liệu MariaDB backend với quyền truy cập vòng lặp vào cơ sở dữ liệu MySQL. Điều này có nghĩa là cơ sở dữ liệu chỉ có thể được truy cập thông qua localhost hoặc địa chỉ 127.0.0.1. Không thể tạo kết nối bên ngoài nào đến cơ sở dữ liệu MySQL. Để cài đặt máy chủ và máy khách cơ sở dữ liệu MariaDB trong máy chủ Debian 9, hãy đưa ra lệnh bên dưới.
Sau khi cơ sở dữ liệu MariaDB hoàn tất cài đặt trong máy chủ Debian của bạn, hãy đưa ra lệnh netstat như trong ví dụ bên dưới để kiểm tra xem dịch vụ có đang hoạt động và lắng nghe các kết nối trên localhost, cổng 3306 hay không.
Trong trường hợp tiện ích mạng netstat không được cài đặt theo mặc định trong hệ thống Debian của bạn, hãy thực hiện lệnh bên dưới để cài đặt tiện ích đó.
Tài khoản root MySQL không được bảo mật đúng cách trong Debian 9 tại thời điểm cài đặt. Bạn có thể đăng nhập vào cơ sở dữ liệu mà không cần mật khẩu root. Để bảo mật tài khoản root, hãy đăng nhập vào bảng điều khiển máy chủ MySQL và thực hiện lệnh sau một cách an toàn.
Sau khi bạn đã thực thi đúng tài khoản gốc của cơ sở dữ liệu, hãy thực thi mysql_secure_installation [/b]script, do kho lưu trữ Debian stretch cung cấp trong khi cài đặt cơ sở dữ liệu, để bảo mật cơ sở dữ liệu MySQL hơn nữa. Script sẽ hỏi bạn một loạt câu hỏi được thiết kế để bảo mật cơ sở dữ liệu MariaDB: nếu bạn muốn thay đổi mật khẩu gốc của MySQL, xóa người dùng ẩn danh, vô hiệu hóa đăng nhập gốc từ xa và xóa cơ sở dữ liệu thử nghiệm. Thực thi tập lệnh bằng cách đưa ra lệnh bên dưới và đảm bảo bạn nhập có cho tất cả các câu hỏi, như được hiển thị trong đoạn trích đầu ra của tập lệnh bên dưới:
Cuối cùng, sau khi bạn đã bảo mật daemon MySQL, hãy đăng nhập vào bảng điều khiển cơ sở dữ liệu và không cung cấp mật khẩu cho tài khoản root. Quyền truy cập vào cơ sở dữ liệu sẽ bị từ chối nếu không cung cấp mật khẩu cho tài khoản root, như minh họa trong đoạn trích lệnh bên dưới:
[/b]Bạn sẽ được cấp quyền đăng nhập vào bảng điều khiển cơ sở dữ liệu MySQL nếu bạn cung cấp mật khẩu root, như minh họa trong mẫu lệnh:
[/b]Moodle CMS là một ứng dụng dựa trên web chủ yếu được viết bằng ngôn ngữ lập trình phía máy chủ PHP. Cho đến nay chúng tôi chỉ cài đặt thành phần cơ sở dữ liệu MySQL của LAMP. Để thực thi các tập lệnh tệp PHP của ứng dụng, một máy chủ web, chẳng hạn như máy chủ Apache HTTP và một cổng xử lý PHP phải được cài đặt và vận hành trong hệ thống. Để cài đặt máy chủ web Apache và trình thông dịch PHP cùng với tất cả các mô-đun PHP cần thiết mà ứng dụng cần để chạy đúng cách, hãy đưa ra lệnh sau trong bảng điều khiển máy chủ của bạn.
Hãy đưa ra lệnh sau để xác minh xem tất cả các mô-đun PHP đã cài đặt có được bật trong hệ thống của bạn hay không
Sau khi Apache và PHP đã được cài đặt, hãy kiểm tra xem máy chủ web có đang hoạt động và lắng nghe kết nối mạng trên cổng 80 bằng cách phát lệnh sau với quyền root.
Từ đầu ra lệnh netstat, chúng ta có thể thấy rằng máy chủ web Apache đang lắng nghe các kết nối mạng đến trên cổng 80. Đối với cùng một tác vụ, bạn cũng có thể sử dụng lệnh ss, được cài đặt tự động theo mặc định trong Debian 9.
Trong trường hợp ứng dụng tường lửa UFW được cài đặt và bật trong máy chủ Debian, bạn nên thêm một quy tắc mới để cho phép lưu lượng HTTP đi qua tường lửa bằng cách phát lệnh sau.
hoặc
Trong trường hợp iptables các quy tắc thô được sử dụng bởi quản trị viên hệ thống để quản lý các quy tắc Tường lửa trong máy chủ Debian, hãy thêm các quy tắc sau để cho phép lưu lượng truy cập vào cổng 80 trên tường lửa để khách truy cập có thể duyệt ứng dụng trực tuyến.
Trong trường hợp bạn đang quản lý máy chủ Debian từ xa qua SSH, hãy đảm bảo rằng bạn thêm quy tắc bên dưới để cho phép các kết nối SSH đến máy của bạn.
Bạn cũng có thể cần bật và kích hoạt các mô-đun Apache sau mà ứng dụng Moodle yêu cầu để chạy đúng cách bằng cách đưa ra các lệnh bên dưới.
Cuối cùng, hãy kiểm tra xem trang web mặc định của máy chủ web Apache có thể hiển thị trong trình duyệt của máy khách hay không bằng cách truy cập địa chỉ IP máy Debian hoặc tên miền hoặc FQDN của máy chủ qua giao thức HTTP, như được hiển thị trong hình ảnh bên dưới. Nếu bạn không biết địa chỉ IP của máy, hãy thực hiện lệnh ifconfig hoặc ip a để hiển thị địa chỉ IP của máy chủ.
http://your_domain.tld
Ở bước tiếp theo, hãy chỉnh sửa tệp cấu hình mặc định của PHP để đảm bảo rằng các biến PHP sau được bật và cài đặt múi giờ của PHP được định cấu hình chính xác và khớp với vị trí địa lý của hệ thống. Mở tệp /etc/php/7.0/apache2/php.ini để chỉnh sửa và đảm bảo rằng các dòng sau được thiết lập như sau. Ngoài ra, trước tiên, hãy sao lưu tệp cấu hình PHP.
Tìm kiếm, chỉnh sửa và thay đổi các biến sau trong tệp cấu hình php.ini:
Tăng biến upload_max_file_size[/b] cho phù hợp để hỗ trợ các tệp đính kèm lớn nếu đúng như vậy và thay thế biến date.timezone theo giờ địa lý của bạn bằng cách tham khảo danh sách múi giờ do tài liệu PHP cung cấp tại liên kết sau http://php.net/manual/en/timezones.php
Nếu bạn muốn tăng tốc độ tải các trang web của mình thông qua plugin OPCache có sẵn cho PHP7, hãy thêm các thiết lập OPCache sau vào cuối tệp cấu hình trình thông dịch PHP, bên dưới câu lệnh [opcache], như được mô tả chi tiết bên dưới:
Đóng tệp cấu hình php.ini[/b] và kiểm tra xem có xác minh phần cuối của tệp cấu hình PHP để kiểm tra xem các biến OPCache đã được thêm đúng cách hay chưa bằng cách đưa ra lệnh bên dưới.
Sau khi bạn đã thực hiện tất cả các thay đổi được giải thích ở trên, hãy khởi động lại daemon Apache để áp dụng các thay đổi mới bằng cách đưa ra lệnh sau.
Để truy cập giao diện web Moodle qua giao thức HTTPS sẽ bảo mật lưu lượng truy cập cho máy khách của bạn, hãy đưa ra lệnh sau để bật mô-đun SSL của máy chủ web Apache và tệp cấu hình trang web SSL.
Tiếp theo, hãy mở tệp cấu hình trang web SSL mặc định của Apache bằng trình soạn thảo văn bản và bật các quy tắc ghi đè URL bằng cách thêm các dòng mã sau sau lệnh DocumentRoot, như được hiển thị trong mẫu bên dưới:
Trích đoạn tệp cấu hình trang web SSL:
Ngoài ra, hãy thực hiện thay đổi sau đối với dòng VirtualHost để trông giống như trong đoạn trích bên dưới:
Đóng tệp Apache SSL và mở tệp /etc/apache2/sites-enabled/000-default.conf[/b] để chỉnh sửa và thêm các quy tắc ghi đè URL giống như đối với tệp cấu hình SSL. Chèn các dòng mã sau câu lệnh DocumentRoot như trong ví dụ bên dưới.
Cuối cùng, khởi động lại daemon Apache để áp dụng tất cả các quy tắc đã cấu hình cho đến nay và truy cập miền của bạn qua giao thức HTTP. Vì bạn đang sử dụng cặp chứng chỉ Tự ký tự động do Apache cấp khi cài đặt, nên chứng chỉ không đáng tin cậy đối với trình duyệt, cảnh báo lỗi sẽ hiển thị trong trình duyệt.
[/b]
Chấp nhận cảnh báo để chấp nhận chứng chỉ không đáng tin cậy và tiếp tục được chuyển hướng đến trang web mặc định của Apache.
Trong trường hợp ứng dụng tường lửa UFW chặn các kết nối mạng đến cổng HTTPS, bạn nên thêm một quy tắc mới để cho phép lưu lượng HTTPS đi qua tường lửa bằng cách phát hành lệnh sau.
hoặc
Nếu iptables là ứng dụng tường lửa mặc định được cài đặt để bảo vệ Debian của bạn hệ thống ở cấp độ mạng, thêm quy tắc sau để cho phép lưu lượng truy cập vào cổng 443 trong tường lửa để khách truy cập có thể duyệt tên miền của bạn.
Cuối cùng, để hiển thị tất cả các biến PHP của máy chủ, hãy tạo một tệp thông tin PHP bằng cách thực thi lệnh sau và kiểm tra xem múi giờ PHP đã được định cấu hình chính xác hay chưa bằng cách truy cập tệp tập lệnh thông tin PHP từ trình duyệt tại URL sau, như minh họa trong hình ảnh bên dưới. Cuộn xuống cài đặt ngày để kiểm tra cấu hình múi giờ PHP.
https://domain.tld/info.php?utm_source=diendancongnghe.com
Tiếp theo, trước khi tạo cơ sở dữ liệu mà Moodle yêu cầu để lưu trữ thông tin, trước tiên chúng ta cần thực hiện một số thay đổi đối với máy chủ MariaDB và thiết lập bộ ký tự phù hợp. Mở tệp cấu hình máy khách MariaDB và thêm dòng sau sau lệnh [client], như minh họa trong ví dụ bên dưới:
Tiếp theo, mở tệp mysql.cnf và thêm cùng dòng như trên sau câu lệnh [mysql]:
Trích đoạn tệp mysql.cnf:
Mở để chỉnh sửa tệp cấu hình máy chủ MariaDB và thêm các dòng bên dưới sau câu lệnh [mysqld][/b] để đảm bảo rằng công cụ MySQL innodb sử dụng định dạng tệp Barracuda và bộ ký tự utf8mb4.
Trích đoạn tệp 50-server.cnf:
Để áp dụng tất cả các thay đổi đã thực hiện cho đến nay vào cơ sở dữ liệu, hãy khởi động lại daemon MySQL và xác minh xem dịch vụ có đang chạy hay không bằng cách phát hành các lệnh sau.
Cuối cùng, hãy đăng nhập vào bảng điều khiển cơ sở dữ liệu MariaDB và tạo một cơ sở dữ liệu cho ứng dụng với một người dùng và một mật khẩu sẽ được sử dụng để quản lý cơ sở dữ liệu ứng dụng, bằng cách đưa ra các lệnh sau. Đảm bảo bạn thay thế tên cơ sở dữ liệu, người dùng và mật khẩu cho phù hợp.
Sau khi quá trình tải xuống tệp nén zip hoàn tất, hãy giải nén tệp nén zip Moodle vào thư mục làm việc hiện tại của bạn và liệt kê các tệp đã giải nén bằng cách sử dụng các lệnh bên dưới. Ngoài ra, hãy xóa tệp index.html mặc định được máy chủ web Apache cài đặt vào đường dẫn gốc web và cũng xóa tệp info.php đã tạo trước đó.
Sau đó, sao chép toàn bộ nội dung của thư mục đã giải nén Moodle vào đường dẫn gốc tài liệu máy chủ web của bạn bằng cách sử dụng lệnh sau. Ngoài ra, hãy đảm bảo bạn sao chép các tệp dấu chấm ẩn sau vào đường dẫn webroot.
Tiếp theo, tạo thư mục dữ liệu cho Moodle một cấp lên đến gốc tài liệu máy chủ của bạn và thực hiện các lệnh bên dưới để cấp cho người dùng Apache runtime quyền ghi đầy đủ vào đường dẫn gốc web và thư mục dữ liệu Moodle. Sử dụng lệnh ls[/b] để liệt kê các quyền cho các tệp đã cài đặt của ứng dụng, nằm trong thư mục /var/www/html/.
Bây giờ chúng ta hãy bắt đầu cài đặt Moodle CMS thông qua trình cài đặt giao diện web. Mở trình duyệt và điều hướng đến địa chỉ IP máy chủ hoặc tên miền của bạn thông qua giao thức HTTPS. Trên màn hình cài đặt đầu tiên, chọn ngôn ngữ cài đặt và nhấn nút Tiếp theo để tiếp tục.
Trên màn hình tiếp theo, trình cài đặt sẽ yêu cầu bạn xác nhận địa chỉ máy chủ web, đường dẫn thư mục moodle và đường dẫn thư mục dữ liệu moodle. Để nguyên hai biến đường dẫn đầu tiên theo mặc định và thêm /var/www/moodledata cho đường dẫn thư mục Dữ liệu Moodle, như minh họa trong hình ảnh bên dưới. Nhấn nút Tiếp theo để tiếp tục.
Trên màn hình tiếp theo, chọn MariaDB (native/madiadb) làm trình điều khiển cơ sở dữ liệu và nhấn nút Tiếp theo để tiếp tục quá trình cài đặt.
Tiếp theo, thêm cài đặt Cơ sở dữ liệu của bạn, chẳng hạn như máy chủ cơ sở dữ liệu, tên, người dùng và mật khẩu. Sử dụng tên cơ sở dữ liệu và thông tin xác thực đã định cấu hình trước đó cho cơ sở dữ liệu Moodle.
Máy chủ cơ sở dữ liệu phải được đặt thành localhost. Thêm tiền tố bảng cơ sở dữ liệu của riêng bạn, sử dụng 3306 làm cổng cơ sở dữ liệu và nhấn nút Tiếp theo để hoàn tất bước này và tiếp tục quá trình cài đặt.
Trên màn hình tiếp theo, hãy đọc các điều khoản và điều kiện cấp phép của Moodle và nhấn nút Tiếp tục để xác nhận các điều khoản cấp phép.
Tiếp theo, tập lệnh cài đặt Moodle sẽ thực hiện một loạt các kiểm tra máy chủ để xác định xem tất cả các yêu cầu có đáp ứng để tiếp tục quá trình cài đặt hay không. Kiểm tra xem tất cả các tiện ích mở rộng cơ sở dữ liệu và PHP đã được đặt thành OK chưa, cuộn xuống cuối trang và nhấn nút Tiếp tục để tiếp tục quá trình cài đặt.
Tiếp theo, hãy đợi trong khi trình cài đặt hoàn tất việc cài đặt một loạt các mô-đun và nhấn nút Tiếp tục một lần nữa để chuyển sang bước tiếp theo.
Ở bước tiếp theo, hãy thêm một tài khoản quản trị viên Moodle, chọn một mật khẩu mạnh cho tài khoản này và điền tất cả thông tin tài khoản, chẳng hạn như Tên, Họ, email, Thành phố, Quốc gia, Múi giờ và mô tả. Khi hoàn tất, hãy nhấp vào nút Cập nhật hồ sơ để lưu thông tin tài khoản quản trị.
Tiếp theo, thiết lập tên đầy đủ của trang web, thêm tên trang web ngắn và tóm tắt trang chủ, cuộn xuống và nhấp vào nút Lưu thay đổi để hoàn tất quá trình cài đặt.
Sau khi hoàn tất quá trình cài đặt, bạn sẽ được chuyển hướng đến bảng điều khiển quản trị Moodle. Tại đây, bạn có thể sử dụng biểu mẫu đăng ký để đăng ký ứng dụng với cổng thông tin Moodle.net.
Để truy cập trang giao diện Moodle, hãy mở trình duyệt và điều hướng đến địa chỉ IP máy chủ hoặc tên miền của bạn thông qua giao thức HTTPS.
Cuối cùng, hãy quay lại bảng điều khiển máy chủ Debian và tạo tệp .htaccess sẽ nằm trong đường dẫn gốc tài liệu trang web của bạn, bằng cách đưa ra lệnh bên dưới.
Trong tệp .htaccess, hãy thêm các dòng bên dưới để bạn có thể thao tác các thiết lập máy chủ PHP gốc để phù hợp với tài nguyên và cấu hình máy chủ của riêng bạn.
.htaccess trích đoạn tệp:
# Sửa đổi cài đặt PHP
Cài đặt cron[/b]
Để chạy định kỳ tập lệnh bảo trì Moodle gửi email, dọn dẹp cơ sở dữ liệu, cập nhật nguồn cấp dữ liệu hoặc các tác vụ khác, hãy thêm tác vụ cron bên dưới để chạy sau mỗi 10 phút bằng cách đưa ra lệnh bên dưới.
Thêm dòng sau và lưu tác vụ cron.
Xin chúc mừng! Bạn đã cài đặt và định cấu hình thành công Moodle CMS trên máy chủ Debian 9. Bạn có thể tìm thấy trang tài liệu Moodle tại địa chỉ sau: https://docs.moodle.org/23/en/Main_page
Hướng dẫn này sẽ giải thích cách cài đặt và cấu hình phiên bản mới nhất của Moodle trong bản phát hành Debian 9 để tạo nền tảng học trực tuyến tại cơ sở của bạn.
Nền tảng Moodle cung cấp giao diện web trực quan có thể được các nhà giáo dục và đào tạo sử dụng để lưu trữ dữ liệu khóa học và theo dõi học sinh, điểm số và các khóa học trực tuyến. Hầu hết các trường đại học lớn trên toàn thế giới đang triển khai nền tảng học tập điện tử Moodle để giúp sinh viên và giáo viên dễ dàng hơn trong các hoạt động giáo dục.
Yêu cầu
Để cài đặt và triển khai Moodle thành công, máy chủ của bạn cần đáp ứng các yêu cầu dưới đây.- Máy chủ Debian 9 được cài đặt với các yêu cầu phần mềm tối thiểu trên máy chủ bare-metal hoặc trên máy chủ riêng ảo
- truy cập trực tiếp vào tài khoản gốc thông qua bảng điều khiển hoặc SSH hoặc truy cập từ xa hoặc trực tiếp vào tài khoản có quyền root được cấp thông qua tiện ích sudo
- Thẻ giao diện mạng được định cấu hình với địa chỉ IP tĩnh
- Để sử dụng tính năng đăng ký email, thông báo hoặc các loại tính năng khác của Moodle, bạn nên thiết lập đúng máy chủ thư tại cơ sở của mình với quyền truy cập vào các dịch vụ IMAP, POP3 và SMTP.
- Tên miền riêng hoặc công khai, tùy thuộc vào cách triển khai của bạn, với các bản ghi DNS thích hợp được định cấu hình cho các dịch vụ web. Nếu không có tên miền hợp lệ hoặc đã đăng ký, bạn có thể thực hiện cài đặt và truy cập trang web thông qua địa chỉ IP máy chủ của mình
Cài đặt Apache, PHP và MySQL
Trong bước đầu tiên, trước khi bạn bắt đầu cài đặt và cấu hình nền tảng Moodle, trước tiên hãy đăng nhập vào máy chủ của bạn bằng tài khoản root hoặc tài khoản có quyền root và bắt đầu cập nhật kho lưu trữ hệ thống Debian và các gói phần mềm bằng cách đưa ra các lệnh bên dưới.
Mã:
apt update
Mã:
apt upgrade
Mã:
hostnamectl set-hostname www.myblog.com
Mã:
hostnamectl
Mã:
cat /etc/hostname
Mã:
hostname –s
Mã:
hostname –f
Mã:
systemctl reboot
Mã:
apt install mariadb-server mariadb-client
Mã:
netstat –tlpn | grep mysql
Mã:
apt install net-tools
Mã:
mysql -h localhost
Mã:
Chào mừng đến với màn hình MariaDB. Các lệnh kết thúc bằng ; hoặc \g.[B]
ID kết nối MariaDB của bạn là 2
Phiên bản máy chủ: 10.1.26-MariaDB-0+deb9u1 Debian 9.1
Bản quyền (c) 2000, 2017, Oracle, MariaDB Corporation Ab và những bên khác.
Nhập 'help;' hoặc '\h' để được trợ giúp. Nhập '\c' để xóa câu lệnh nhập hiện tại.
Mã:
[I][I]MariaDB [(none)]> [/I][/I]sử dụng mysql;
Mã:
Đọc thông tin bảng để hoàn thành tên bảng và cột
Bạn có thể tắt tính năng này để khởi động nhanh hơn bằng -A
Cơ sở dữ liệu đã thay đổi
Mã:
MariaDB [mysql]> update user set plugin='' where user='root';
Mã:
Query OK, 1 hàng bị ảnh hưởng (0,00 giây)
Rows matches: 1 Changed: 1 Warnings: 0
Mã:
MariaDB [mysql]> flush privileges;
Mã:
[I][I]Query OK, 0 rows affected (0,00 giây)[/I][/I]
Mã:
MariaDB [mysql]> exit
Mã:
[I][I]Bye[/I][/I]
Mã:
mysql_secure_installation
Mã:
LƯU Ý: KHUYẾN NGHỊ CHẠY TẤT CẢ CÁC PHẦN CỦA TỪNG BÀI VIẾT NÀY CHO TẤT CẢ CÁC MÁY CHỦ[B]
MariaDB ĐANG SỬ DỤNG TRONG SẢN XUẤT! VUI LÒNG ĐỌC KỸ TỪNG BƯỚC!
Để đăng nhập vào MariaDB để bảo mật, chúng ta sẽ cần
mật khẩu hiện tại của người dùng root. Nếu bạn vừa cài đặt MariaDB và
bạn chưa đặt mật khẩu gốc, thì mật khẩu sẽ để trống,
do đó, bạn chỉ cần nhấn enter ở đây.
Nhập mật khẩu hiện tại cho root (nhập nếu không có):
OK, mật khẩu đã sử dụng thành công, tiếp tục...
Đặt mật khẩu gốc đảm bảo rằng không ai có thể đăng nhập vào MariaDB
người dùng root mà không có quyền thích hợp.
Bạn đã đặt mật khẩu gốc, vì vậy bạn có thể trả lời 'n' một cách an toàn.
Đổi mật khẩu gốc? [Y/n] y
Mật khẩu mới:
Nhập lại mật khẩu mới:
Mật khẩu đã được cập nhật thành công!
Đang tải lại bảng đặc quyền..
... Thành công!
Theo mặc định, cài đặt MariaDB có một người dùng ẩn danh, cho phép bất kỳ ai
đăng nhập vào MariaDB mà không cần phải tạo tài khoản người dùng cho
họ. Điều này chỉ dành cho mục đích thử nghiệm và để quá trình cài đặt
diễn ra suôn sẻ hơn một chút. Bạn nên xóa chúng trước khi chuyển sang
môi trường sản xuất.
Xóa người dùng ẩn danh? [Y/n] y
... Thành công!
Thông thường, root chỉ được phép kết nối từ 'localhost'. Điều này
đảm bảo rằng không ai có thể đoán được mật khẩu root từ mạng.
Không cho phép root đăng nhập từ xa? [Y/n] y
... Thành công!
Theo mặc định, MariaDB đi kèm với một cơ sở dữ liệu có tên là 'test' mà bất kỳ ai cũng có thể
truy cập. Điều này cũng chỉ dành cho mục đích thử nghiệm và nên xóa
trước khi chuyển sang môi trường sản xuất.
Xóa cơ sở dữ liệu thử nghiệm và quyền truy cập vào cơ sở dữ liệu đó? [Y/n] y
- Đang xóa cơ sở dữ liệu thử nghiệm...
... Thành công!
- Đang xóa các đặc quyền trên cơ sở dữ liệu thử nghiệm...
... Thành công!
Tải lại các bảng đặc quyền sẽ đảm bảo rằng tất cả các thay đổi được thực hiện cho đến nay
sẽ có hiệu lực ngay lập tức.
Tải lại các bảng đặc quyền ngay bây giờ? [Y/n] y
... Thành công!
Đang dọn dẹp...
Xong! Nếu bạn đã hoàn tất tất cả các bước trên, thì cài đặt MariaDB
của bạn hiện đã an toàn.
Cảm ơn bạn đã sử dụng MariaDB!
Mã:
mysql -h localhost -u root
Mã:
[I][I]LỖI 1045 (28000): Quyền truy cập bị từ chối đối với người dùng 'root'@'localhost' (sử dụng mật khẩu: KHÔNG)[/I][/I]
Mã:
mysql -h localhost -u root -p
Mã:
Nhập mật khẩu:[B]
Chào mừng đến với màn hình MariaDB. Các lệnh kết thúc bằng ; hoặc \g.
ID kết nối MariaDB của bạn là 15
Phiên bản máy chủ: 10.1.26-MariaDB-0+deb9u1 Debian 9.1
Bản quyền (c) 2000, 2017, Oracle, MariaDB Corporation Ab và những bên khác.
Nhập 'help;' hoặc '\h' để được trợ giúp. Nhập '\c' để xóa câu lệnh nhập hiện tại.
MariaDB [(none)]> thoát
Tạm biệt
Mã:
apt install apache2 libapache2-mod-php7.0 php7.0 php7.0-mysql php7.0-gd php7.0-opcache php7.0-json php7.0-mbstring php7.0-xml php7.0-ldap php7.0-cli php7.0-curl php7.0-ldap php7.0-zip php7.0-bcmath php-imagick php7.0-xmlrpc php7.0-soap php7.0-intl
Mã:
php7.0 –m
Mã:
netstat –tlpn
Mã:
ss- tulpn
Mã:
ufw allow WWW
Mã:
ufw allow 80/tcp
Mã:
apt-get install -y iptables-persistent
Mã:
iptables -I INPUT -p tcp --destination-port 80 -j ACCEPT
Mã:
netfilter-persistent save
Mã:
systemctl restart netfilter-persistent
Mã:
systemctl status netfilter-persistent
Mã:
systemctl enable netfilter-persistent.service
Mã:
iptables -I INPUT -p tcp --destination-port 22 -j CHẤP NHẬN
Mã:
netfilter-persistent save
Mã:
systemctl restart netfilter-persistent
Mã:
a2enmod rewrite
Mã:
systemctl restart apache2
http://your_domain.tld
Ở bước tiếp theo, hãy chỉnh sửa tệp cấu hình mặc định của PHP để đảm bảo rằng các biến PHP sau được bật và cài đặt múi giờ của PHP được định cấu hình chính xác và khớp với vị trí địa lý của hệ thống. Mở tệp /etc/php/7.0/apache2/php.ini để chỉnh sửa và đảm bảo rằng các dòng sau được thiết lập như sau. Ngoài ra, trước tiên, hãy sao lưu tệp cấu hình PHP.
Mã:
cp /etc/php/7.0/apache2/php.ini{,.backup}
Mã:
nano /etc/php/7.0/apache2/php.ini
Mã:
file_uploads = On[B]memory_limit = 128M
post_max_size = 80M
upload_max_filesize = 80M
default_charset = UTF-8
date.timezone = Europe/London
Nếu bạn muốn tăng tốc độ tải các trang web của mình thông qua plugin OPCache có sẵn cho PHP7, hãy thêm các thiết lập OPCache sau vào cuối tệp cấu hình trình thông dịch PHP, bên dưới câu lệnh [opcache], như được mô tả chi tiết bên dưới:
Mã:
nano /etc/php/7.0/apache2/conf.d/10-opcache.ini
Mã:
[opcache][B]opcache.enable=1
opcache.enable_cli=1
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=10000
opcache.memory_consumption=128
opcache.save_comments=1
opcache.revalidate_freq=1
Mã:
grep opcache /etc/php/7.0/apache2/conf.d/10-opcache.ini
Mã:
systemctl restart apache2
Mã:
a2enmod ssl
Mã:
a2ensite default-ssl.conf
Mã:
[I][I]nano /etc/apache2/sites-enabled/default-ssl.conf[/I][/I]
Mã:
[B] Options +FollowSymlinks
AllowOverride All
Require all granted
Mã:
Mã:
[B] Options +FollowSymlinks
AllowOverride All
Require all granted
Mã:
systemctl restart apache2
Chấp nhận cảnh báo để chấp nhận chứng chỉ không đáng tin cậy và tiếp tục được chuyển hướng đến trang web mặc định của Apache.
Trong trường hợp ứng dụng tường lửa UFW chặn các kết nối mạng đến cổng HTTPS, bạn nên thêm một quy tắc mới để cho phép lưu lượng HTTPS đi qua tường lửa bằng cách phát hành lệnh sau.
Mã:
ufw allow ‘WWW Full’
Mã:
ufw allow 443/tcp
Mã:
iptables -I INPUT -p tcp --destination-port 443 -j ACCEPT
Mã:
netfilter-persistent save
Mã:
systemctl restart netfilter-persistent
Mã:
systemctl status netfilter-persistent
Mã:
echo ''| t /var/www/html/info.php
Tiếp theo, trước khi tạo cơ sở dữ liệu mà Moodle yêu cầu để lưu trữ thông tin, trước tiên chúng ta cần thực hiện một số thay đổi đối với máy chủ MariaDB và thiết lập bộ ký tự phù hợp. Mở tệp cấu hình máy khách MariaDB và thêm dòng sau sau lệnh [client], như minh họa trong ví dụ bên dưới:
Mã:
nano /etc/mysql/mariadb.conf.d/50-client.cnf
Mã:
[client][B]# Mặc định là Latin1, nếu bạn cần UTF-8, hãy đặt giá trị này (cũng trong phần máy chủ)
default-character-set = utf8mb4
Mã:
nano /etc/mysql/conf.d/mysql.cnf
Mã:
default-character-set = utf8mb4
Mã:
nano /etc/mysql/mariadb.conf.d/50-server.cnf
Mã:
[mysqld][B]innodb_file_format = Barracuda
innodb_file_per_table = 1
innodb_large_prefix
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
skip-character-set-client-handshake
Mã:
systemctl restart mysql
Mã:
systemctl status mysql
Mã:
mysql –u root -p
Mã:
Chào mừng đến với màn hình MariaDB. Các lệnh kết thúc bằng ; hoặc \g.
ID kết nối MariaDB của bạn là 2
Phiên bản máy chủ: 10.1.26-MariaDB-0+deb9u1 Debian 9.1
Bản quyền (c) 2000, 2017, Oracle, MariaDB Corporation Ab và những bên khác.
Nhập 'help;' hoặc '\h' để được trợ giúp. Gõ '\c' để xóa câu lệnh nhập hiện tại.
Mã:
MariaDB [(none)]> CREATE DATABASE moodle_db;
Mã:
[I][I]Truy vấn OK, 1 hàng bị ảnh hưởng (0,00 giây)[/I][/I]
Mã:
MariaDB [(none)]> cấp tất cả các quyền trên moodle_db.* cho 'moodle_user'@'localhost' được xác định bởi 'password1234';
Mã:
[I][I]Truy vấn OK, 0 hàng bị ảnh hưởng (0,00 giây)[/I][/I]
Mã:
MariaDB [(none)]> flush privileges;
Mã:
[I][I]Query OK, 0 hàng bị ảnh hưởng (0,00 giây)[/I][/I]
Mã:
[I][I]MariaDB [(none)]>[/I][/I] thoát
Mã:
[I][I]Tạm biệt[/I][/I]
Cài đặt Moodle
Sau khi đáp ứng tất cả các yêu cầu hệ thống để cài đặt ứng dụng Moodle CMS, hãy truy cập trang tải xuống chính thức của Moodle tại https://download.moodle.org/releases/latest/ và tải tệp nén zip mới nhất vào hệ thống của bạn bằng cách đưa ra lệnh bên dưới.
Mã:
wget https://download.moodle.org/download.php/direct/stable34/moodle-latest-34.zip
Mã:
giải nén moodle-latest-34.zip
Mã:
ls
Mã:
rm /var/www/html/index.html
Mã:
rm /var/www/html/info.php
Mã:
cp -rf moodle/* /var/www/html/
Mã:
cp -rf moodle/.eslint* /var/www/html/
Mã:
cp -rf moodle/.gherkin-lintrc /var/www/html/
Mã:
cp -rf moodle/.jshintrc /var/www/html/
Mã:
cp -rf moodle/.s* /var/www/html/
Mã:
cp -rf moodle/.travis.yml /var/www/html/
Mã:
mkdir /var/www/moodledata
Mã:
chown -R www-data:www-data /var/www/moodledata/
Mã:
chown -R www-data:www-data /var/www/html/
Mã:
ls -al /var/www/html/
Trên màn hình tiếp theo, trình cài đặt sẽ yêu cầu bạn xác nhận địa chỉ máy chủ web, đường dẫn thư mục moodle và đường dẫn thư mục dữ liệu moodle. Để nguyên hai biến đường dẫn đầu tiên theo mặc định và thêm /var/www/moodledata cho đường dẫn thư mục Dữ liệu Moodle, như minh họa trong hình ảnh bên dưới. Nhấn nút Tiếp theo để tiếp tục.
Trên màn hình tiếp theo, chọn MariaDB (native/madiadb) làm trình điều khiển cơ sở dữ liệu và nhấn nút Tiếp theo để tiếp tục quá trình cài đặt.
Tiếp theo, thêm cài đặt Cơ sở dữ liệu của bạn, chẳng hạn như máy chủ cơ sở dữ liệu, tên, người dùng và mật khẩu. Sử dụng tên cơ sở dữ liệu và thông tin xác thực đã định cấu hình trước đó cho cơ sở dữ liệu Moodle.
Máy chủ cơ sở dữ liệu phải được đặt thành localhost. Thêm tiền tố bảng cơ sở dữ liệu của riêng bạn, sử dụng 3306 làm cổng cơ sở dữ liệu và nhấn nút Tiếp theo để hoàn tất bước này và tiếp tục quá trình cài đặt.
Trên màn hình tiếp theo, hãy đọc các điều khoản và điều kiện cấp phép của Moodle và nhấn nút Tiếp tục để xác nhận các điều khoản cấp phép.
Tiếp theo, tập lệnh cài đặt Moodle sẽ thực hiện một loạt các kiểm tra máy chủ để xác định xem tất cả các yêu cầu có đáp ứng để tiếp tục quá trình cài đặt hay không. Kiểm tra xem tất cả các tiện ích mở rộng cơ sở dữ liệu và PHP đã được đặt thành OK chưa, cuộn xuống cuối trang và nhấn nút Tiếp tục để tiếp tục quá trình cài đặt.
Tiếp theo, hãy đợi trong khi trình cài đặt hoàn tất việc cài đặt một loạt các mô-đun và nhấn nút Tiếp tục một lần nữa để chuyển sang bước tiếp theo.
Ở bước tiếp theo, hãy thêm một tài khoản quản trị viên Moodle, chọn một mật khẩu mạnh cho tài khoản này và điền tất cả thông tin tài khoản, chẳng hạn như Tên, Họ, email, Thành phố, Quốc gia, Múi giờ và mô tả. Khi hoàn tất, hãy nhấp vào nút Cập nhật hồ sơ để lưu thông tin tài khoản quản trị.
Tiếp theo, thiết lập tên đầy đủ của trang web, thêm tên trang web ngắn và tóm tắt trang chủ, cuộn xuống và nhấp vào nút Lưu thay đổi để hoàn tất quá trình cài đặt.
Sau khi hoàn tất quá trình cài đặt, bạn sẽ được chuyển hướng đến bảng điều khiển quản trị Moodle. Tại đây, bạn có thể sử dụng biểu mẫu đăng ký để đăng ký ứng dụng với cổng thông tin Moodle.net.
Để truy cập trang giao diện Moodle, hãy mở trình duyệt và điều hướng đến địa chỉ IP máy chủ hoặc tên miền của bạn thông qua giao thức HTTPS.
Cuối cùng, hãy quay lại bảng điều khiển máy chủ Debian và tạo tệp .htaccess sẽ nằm trong đường dẫn gốc tài liệu trang web của bạn, bằng cách đưa ra lệnh bên dưới.
Mã:
nano /var/www/html/.htaccess
.htaccess trích đoạn tệp:
# Sửa đổi cài đặt PHP
Mã:
php_value register_globals 1[B]php_value upload_max_filesize 100M
php_value post_max_size 100M
Tùy chọn -Chỉ mục
Để chạy định kỳ tập lệnh bảo trì Moodle gửi email, dọn dẹp cơ sở dữ liệu, cập nhật nguồn cấp dữ liệu hoặc các tác vụ khác, hãy thêm tác vụ cron bên dưới để chạy sau mỗi 10 phút bằng cách đưa ra lệnh bên dưới.
Mã:
crontab -u www-data -e
Mã:
*/10 * * * * /usr/bin/php7.0 /var/www/html/admin/cli/cron.php >/dev/null