Mahara là một hệ thống e-portfolio mã nguồn mở. Nó cũng có thể được sử dụng như một nền tảng mạng xã hội. Mahara được viết bằng PHP và sử dụng máy chủ cơ sở dữ liệu PostgreSQL hoặc MySQL để lưu trữ dữ liệu của nó. Bạn có thể sử dụng Mahara để tạo danh mục đa phương tiện được cá nhân hóa và để cộng tác với những người khác.
Trong hướng dẫn này, chúng tôi sẽ cài đặt Mahara trên máy chủ CentOS 7.
Điều kiện tiên quyết
Sau khi hệ thống của bạn được cập nhật, bạn có thể tiến hành cài đặt máy chủ web Apache.
Bây giờ hãy khởi động máy chủ web Apache và cho phép nó khởi động khi khởi động bằng lệnh sau.
Kho lưu trữ YUM mặc định của CentOS không có PHP 7.1, do đó bạn sẽ cần thêm kho lưu trữ Webtatic vào hệ thống của mình. Cài đặt bản phát hành EPEL:
Nhập lệnh để cài đặt kho lưu trữ Webtatic.
Nhập lệnh sau để cài đặt PHP 7.1 cùng với tất cả các phụ thuộc cần thiết.
Để kiểm tra xem PHP đã được cài đặt thành công hay chưa, bạn có thể chạy:
Bạn sẽ nhận được kết quả tương tự như this.
Bây giờ bạn sẽ cần cấu hình một số cấu hình trong PHP. Mở tệp cấu hình PHP, php.ini bằng trình soạn thảo văn bản yêu thích của bạn.
Tìm dòng sau và Bỏ chú thích dòng đó và đặt múi giờ theo khu vực của bạn. Ví dụ:
Tiếp theo, hãy tìm dòng sau:
Bỏ chú thích dòng và tìm dòng sau:
Thay đổi giá trị từ 8M thành 999M. Lưu tệp và thoát khỏi trình chỉnh sửa.
Chạy các lệnh sau để khởi động MariaDB và cho phép nó khởi động khi khởi động.
Lệnh trên sẽ chạy một tập lệnh để bảo mật cài đặt MariaDB mới. Tập lệnh sẽ yêu cầu mật khẩu người dùng root hiện tại, chúng tôi vừa cài đặt MariaDB, mật khẩu root chưa được đặt, chỉ cần nhấn enter để tiếp tục.
Tập lệnh sẽ hỏi bạn có muốn đặt mật khẩu root cho cài đặt MariaDB của mình không, hãy chọn y và đặt mật khẩu mạnh cho cài đặt. Hầu hết các câu hỏi đều tự giải thích và bạn nên trả lời có hoặc có cho tất cả các câu hỏi. Đầu ra sẽ trông như bên dưới.
Để tạo cơ sở dữ liệu, trước tiên chúng ta cần đăng nhập vào dòng lệnh MySQL. Chạy lệnh sau để thực hiện tương tự.
Lệnh trên sẽ đăng nhập vào shell MySQL của người dùng root, lệnh sẽ nhắc nhập mật khẩu của người dùng root. Cung cấp mật khẩu để đăng nhập. Bây giờ hãy chạy truy vấn sau để tạo cơ sở dữ liệu mới cho cài đặt Mahara của bạn.
Truy vấn trên sẽ tạo một cơ sở dữ liệu mới có tên là mahara_data. Đảm bảo rằng bạn sử dụng dấu chấm phẩy ở cuối mỗi truy vấn vì truy vấn luôn kết thúc bằng dấu chấm phẩy.
Để tạo người dùng cơ sở dữ liệu mới, hãy chạy truy vấn sau.
Bây giờ hãy cung cấp tất cả các quyền cho người dùng cơ sở dữ liệu của bạn đối với cơ sở dữ liệu bạn đã tạo. Chạy lệnh sau.
Bây giờ hãy chạy lệnh sau để áp dụng ngay các thay đổi đối với các đặc quyền cơ sở dữ liệu.
Thoát khỏi dấu nhắc MySQL bằng lệnh sau.
Bạn luôn có thể tìm liên kết đến phiên bản mới nhất của ứng dụng trên trang tải xuống Mahara. Giải nén tệp lưu trữ bằng lệnh sau.
Nếu bạn không phải giải nén cài đặt, bạn có thể chạy yum -y install unzip. Đổi tên thư mục Mahara của bạn bằng cách sử dụng:
Tạo một thư mục dữ liệu mới để lưu trữ dữ liệu phiên Mahara bằng cách chạy:
Sao chép tệp cấu hình Mahara bằng cách chạy:
Mở tệp trong trình soạn thảo nano bằng cách chạy:
Bây giờ, hãy tìm các dòng sau.
Thay đổi thông tin trên theo cơ sở dữ liệu bạn đã tạo. Trong trường hợp này, các dòng trên sẽ trông giống như hình dưới đây.
Bây giờ hãy tìm dòng sau và thay đổi đường dẫn của thư mục dữ liệu.
Ngoài ra, hãy cung cấp một chuỗi ngẫu nhiên trong cấu hình bên dưới, nó được sử dụng để mã hóa dữ liệu người dùng.
Bây giờ hãy thay đổi bí mật URL thành null để bạn có thể chạy cron trực tiếp bằng trình duyệt.
Lưu tệp và thoát khỏi trình chỉnh sửa.
Bạn cũng có thể cần cho phép lưu lượng HTTP trên cổng 80 đi qua tường lửa nếu bạn đang chạy tường lửa. Chạy các lệnh sau để thực hiện tương tự.
Để tạm thời vô hiệu hóa SELinux mà không cần khởi động lại máy chủ, hãy chạy lệnh sau.
Để vô hiệu hóa hoàn toàn SELinux, bạn sẽ cần chỉnh sửa tệp /etc/selinux/config.
Tìm dòng sau:
Đổi thành:
Bây giờ hãy tạo một máy chủ ảo cho ứng dụng Mahara. Chạy lệnh sau để thực hiện lệnh tương tự.
Dán các dòng sau vào tệp.
Thay thế mahara.yourdomain.com bằng bất kỳ tên miền hoặc tên miền phụ nào bạn muốn sử dụng để truy cập ứng dụng. Lưu tệp và thoát khỏi trình chỉnh sửa. Chạy lệnh sau để khởi động lại máy chủ Apache của bạn.
Bây giờ hãy hoàn tất quá trình cài đặt bằng trình duyệt web, hãy truy cập vào liên kết sau.
Bạn sẽ được chào đón bằng trang sau.
Nhấp vào nút Cài đặt Mahara để tiếp tục.
Ở giao diện tiếp theo, Mahara sẽ viết cơ sở dữ liệu và cài đặt các mô-đun cần thiết để bạn bắt đầu. Sau khi hoàn tất, bạn có thể nhấp vào liên kết Tiếp tục để tiếp tục.
Ở giao diện tiếp theo, bạn sẽ được yêu cầu đặt mật khẩu cho bảng điều khiển Quản trị viên.
Cuối cùng, bạn sẽ được đưa đến bảng điều khiển quản trị, trông giống như hình dưới đây.
Trong hướng dẫn này, chúng tôi sẽ cài đặt Mahara trên máy chủ CentOS 7.
Điều kiện tiên quyết
- Máy chủ CentOS 7 tối thiểu
- Quyền root
Bước 1 - Cài đặt Apache
Bạn nên cập nhật máy chủ trước khi cài đặt bất kỳ gói nào để các gói và kho lưu trữ hiện có được cập nhật.
Mã:
yum -y update
Mã:
yum -y install httpd
Mã:
systemctl start httpd
Mã:
systemctl enable httpd
Bước 2 - Cài đặt PHP
Mahara hỗ trợ tất cả các phiên bản PHP lớn hơn 5.3. Nhưng trong hướng dẫn này, chúng ta sẽ cài đặt PHP 7.1 vì PHP v5.3 đã hết vòng đời. Cài đặt phiên bản PHP mới nhất sẽ đảm bảo tính bảo mật và hiệu suất tối đa của ứng dụng.Kho lưu trữ YUM mặc định của CentOS không có PHP 7.1, do đó bạn sẽ cần thêm kho lưu trữ Webtatic vào hệ thống của mình. Cài đặt bản phát hành EPEL:
Mã:
yum -y install epel-release
Mã:
yum -y update
Mã:
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
Mã:
yum -y update
Mã:
yum -y install php71w php71w-mysqli php71w-gd php71w-cli php71w-mcrypt php71w-mbstring php71w-dom
Mã:
php -v
Mã:
[root@liptan-pc ~]# php -vPHP 7.1.6 (cli) (xây dựng: 10 tháng 6 năm 2017 07:28:42) (NTS)Bản quyền (c) 1997-2017 The PHP GroupZend Engine v3.1.0, Bản quyền (c) 1998-2017 Zend Technologies
Mã:
nano /etc/php.ini
Mã:
[Date]; Xác định múi giờ mặc định được sử dụng bởi các hàm ngày; http://php.net/date.timezonedate.timezone = Asia/Kolkata
Mã:
session.entropy_length = 32
Mã:
post_max_size = 8M
Bước 3 - Cài đặt MariaDB
MariaDB là một nhánh của cơ sở dữ liệu MySQL. Để cài đặt MariaDB trên máy chủ của bạn, hãy chạy:
Mã:
yum -y install mariadb mariadb-server
Mã:
systemctl start mariadb
Mã:
systemctl enable mariadb
Bây giờ hãy chạy các lệnh sau để bảo mật cài đặt MariaDB của bạn.
Mã:
mysql_secure_installation
Tập lệnh sẽ hỏi bạn có muốn đặt mật khẩu root cho cài đặt MariaDB của mình không, hãy chọn y và đặt mật khẩu mạnh cho cài đặt. Hầu hết các câu hỏi đều tự giải thích và bạn nên trả lời có hoặc có cho tất cả các câu hỏi. Đầu ra sẽ trông như bên dưới.
Để tạo cơ sở dữ liệu, trước tiên chúng ta cần đăng nhập vào dòng lệnh MySQL. Chạy lệnh sau để thực hiện tương tự.
Mã:
mysql -u root -p
Mã:
CREATE DATABASE mahara_data CHARACTER SET UTF8;
Để tạo người dùng cơ sở dữ liệu mới, hãy chạy truy vấn sau.
Mã:
CREATE USER 'mahara_user'@'localhost' IDENTIFIED BY 'StrongPassword';
Mã:
GRANT ALL PRIVILEGES ON mahara_data.* TO 'mahara_user'@'localhost';
Mã:
FLUSH PRIVILEGES;
Mã:
EXIT;
Bước 4 - Cài đặt và cấu hình Mahara
Vì chúng ta đã chuẩn bị sẵn tất cả các phụ thuộc, bây giờ chúng ta có thể tải xuống gói cài đặt từ trang web Mahara.
Mã:
cd /var/www
Mã:
wget https://launchpad.net/mahara/17.04/17.04.2/+download/mahara-17.04.2.zip
Mã:
unzip mahara*.zip
Mã:
mv mahara-*/ mahara/
Mã:
mkdir /var/www/mahara/data
Mã:
cp mahara/htdocs/config-dist.php mahara/htdocs/config.php
Mã:
nano mahara/htdocs/config.php
Mã:
$cfg->dbtype = 'postgresql';$cfg->dbhost = 'localhost';$cfg->dbport = null; // Thay đổi nếu bạn đang sử dụng số cổng không chuẩn cho cơ sở dữ liệu của mình$cfg->dbname = '';$cfg->dbuser = '';$cfg->dbpass = '';
Mã:
$cfg->dbtype = 'mysql';$cfg->dbhost = 'localhost';$cfg->dbport = null; // Thay đổi nếu bạn đang sử dụng số cổng không chuẩn cho cơ sở dữ liệu của mình$cfg->dbname = 'mahara_data';$cfg->dbuser = 'mahara_user';$cfg->dbpass = 'StrongPassword';
Mã:
$cfg->dataroot = '/var/www/mahara/data';
Mã:
$cfg->passwordsaltmain = 'một số chuỗi ngẫu nhiên ở đây.';
Mã:
$cfg->urlsecret = null;
Bước 5 - Cấu hình Quyền và Tường lửa
Bây giờ bạn sẽ cần cung cấp quyền sở hữu ứng dụng cho người dùng máy chủ web bằng lệnh sau.
Mã:
chown -R apache:apache /var/www/mahara
Mã:
firewall-cmd --zone=public --permanent --add-service=http
Mã:
firewall-cmd --reload
Mã:
setenforce 0
Mã:
nano /etc/selinux/config
Mã:
SELINUX=enforcing
Mã:
SELINUX=disabled
Mã:
nano /etc/httpd/conf.d/mahara.yourdomain.com.conf
Mã:
ServerAdmin [emailprotected] DocumentRoot "/var/www/mahara/htdocs" ServerName mahara.yourdomain.com ServerAlias www.mahara.yourdomain.com Options Indexes FollowSymLinks AllowOverride All Require all granted ErrorLog "/var/log/httpd/mahara.yourdomain.com-error_log" CustomLog "/var/log/httpd/mahara.yourdomain.com-access_log" combined
Mã:
systemctl restart httpd
Mã:
http://mahara.yourdomain.com
Nhấp vào nút Cài đặt Mahara để tiếp tục.
Ở giao diện tiếp theo, Mahara sẽ viết cơ sở dữ liệu và cài đặt các mô-đun cần thiết để bạn bắt đầu. Sau khi hoàn tất, bạn có thể nhấp vào liên kết Tiếp tục để tiếp tục.
Ở giao diện tiếp theo, bạn sẽ được yêu cầu đặt mật khẩu cho bảng điều khiển Quản trị viên.
Cuối cùng, bạn sẽ được đưa đến bảng điều khiển quản trị, trông giống như hình dưới đây.