如何在 CentOS 7 上安装 Mahara ePortfolio 系统
在此页
- 第 1 步 - 安装 Apache
- 第 2 步 - 安装 PHP
- 第 3 步 - 安装 MariaDB
- 第 4 步 - 安装和配置 Mahara
- 第 5 步 - 配置权限和防火墙
- 结论
Mahara 是一个开源电子档案系统。它还可以用作社交网络平台。 Mahara 是用 PHP 编写的,使用 PostgreSQL 或 MySQL 数据库服务器来存储其数据。您可以使用 Mahara 创建您的个性化多媒体作品集并与他人协作。
在本教程中,我们将在 CentOS 7 服务器上安装 Mahara。
先决条件
- 最小的 CentOS 7 服务器
- 根权限
第 1 步 - 安装 Apache
建议在安装任何包之前更新服务器,以便更新现有的包和存储库。
yum -y update
更新系统后,您可以继续安装 Apache Web 服务器。
yum -y install httpd
现在启动 Apache Web 服务器并使用以下命令使其在启动时启动。
systemctl start httpd
systemctl enable httpd
第 2 步 - 安装 PHP
Mahara 支持大于 5.3 的所有 PHP 版本。但在本教程中,我们将安装 PHP 7.1,因为 PHP v5.3 已达到生命周期的尽头。安装最新版本的 PHP 将确保应用程序的最大安全性和性能。
CentOS 的默认 YUM 存储库不包含 PHP 7.1,因此您需要在系统中添加 Webtatic 存储库。安装 EPEL 版本:
yum -y install epel-release
yum -y update
键入命令以安装 Webtatic 存储库。
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
yum -y update
键入以下命令以安装 PHP 7.1 以及所有必需的依赖项。
yum -y install php71w php71w-mysqli php71w-gd php71w-cli php71w-mcrypt php71w-mbstring php71w-dom
要检查 PHP 是否安装成功,您可以运行:
php -v
你应该得到类似这样的输出。
[ ~]# php -v
PHP 7.1.6 (cli) (built: Jun 10 2017 07:28:42) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.1.0, Copyright (c) 1998-2017 Zend Technologies
现在您需要在 PHP 中配置一些配置。使用您喜欢的文本编辑器打开 PHP 配置文件 php.ini。
nano /etc/php.ini
找到以下行并取消注释该行并根据您所在的地区设置时区。例如:
[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
date.timezone = Asia/Kolkata
此外,搜索以下行:
;session.entropy_length = 32
取消注释该行并搜索以下行:
post_max_size = 8M
将值从 8M 更改为 999M。保存文件并退出编辑器。
第 3 步 - 安装 MariaDB
MariaDB 是 MySQL 数据库的一个分支。要在您的服务器上安装 MariaDB,请运行:
yum -y install mariadb mariadb-server
运行以下命令以启动 MariaDB 并使其在引导时启动。
systemctl start mariadb
systemctl enable mariadb
Now run the following commands to secure your MariaDB installation.
mysql_secure_installation
上面的命令将运行一个脚本来保护全新的 MariaDB 安装。该脚本将询问现有的 root 用户密码,我们刚刚安装了 MariaDB,未设置 root 密码,只需按 enter 继续。
该脚本会询问您是否要为 MariaDB 安装设置根密码,选择 y 并为安装设置一个强密码。大多数问题都是不言自明的,您应该对所有问题都回答“是”或“y”。输出将如下所示。
要创建数据库,我们需要先登录 MySQL 命令行。同样运行以下命令。
mysql -u root -p
上面的命令将登录到 root 用户的 MySQL shell,它会提示输入 root 用户的密码。提供登录密码。现在运行以下查询为您的 Mahara 安装创建一个新数据库。
CREATE DATABASE mahara_data CHARACTER SET UTF8;
上面的查询将创建一个名为 mahara_data 的新数据库。确保在每个查询的末尾使用分号,因为查询始终以分号结尾。
要创建新的数据库用户,请运行以下查询。
CREATE USER 'mahara_user'@'localhost' IDENTIFIED BY 'StrongPassword';
现在向您的数据库用户提供您创建的数据库的所有权限。运行以下命令。
GRANT ALL PRIVILEGES ON mahara_data.* TO 'mahara_user'@'localhost';
现在运行以下命令以立即应用对数据库权限的更改。
FLUSH PRIVILEGES;
使用以下命令退出 MySQL 提示符。
EXIT;
第 4 步 - 安装和配置 Mahara
由于我们已经准备好所有依赖项,我们现在可以从 Mahara 网站下载安装包。
cd /var/www
wget https://launchpad.net/mahara/17.04/17.04.2/+download/mahara-17.04.2.zip
您始终可以在 Mahara 下载页面上找到最新版本应用程序的链接。使用以下命令提取存档。
unzip mahara*.zip
如果你不用unzip安装,你可以运行yum -y install unzip。使用以下命令重命名您的 Mahara 文件夹:
mv mahara-*/ mahara/
通过运行以下命令创建一个新的数据目录来存储 Mahara 会话数据:
mkdir /var/www/mahara/data
通过运行以下命令复制 Mahara 配置文件:
cp mahara/htdocs/config-dist.php mahara/htdocs/config.php
通过运行以下命令在 nano 编辑器中打开文件:
nano mahara/htdocs/config.php
现在,找到以下几行。
$cfg->dbtype = 'postgresql';
$cfg->dbhost = 'localhost';
$cfg->dbport = null; // Change if you are using a non-standard port number for your database
$cfg->dbname = '';
$cfg->dbuser = '';
$cfg->dbpass = '';
根据您创建的数据库更改以上信息。在这种情况下,上面的行应该如下所示。
$cfg->dbtype = 'mysql';
$cfg->dbhost = 'localhost';
$cfg->dbport = null; // Change if you are using a non-standard port number for your database
$cfg->dbname = 'mahara_data';
$cfg->dbuser = 'mahara_user';
$cfg->dbpass = 'StrongPassword';
现在找到以下行并更改数据目录的路径。
$cfg->dataroot = '/var/www/mahara/data';
同样在下面的配置中提供一个随机字符串,用于加密用户数据。
$cfg->passwordsaltmain = 'some random string here.';
现在将 URL secret 更改为 null,以便您可以直接使用浏览器运行 cron。
$cfg->urlsecret = null;
保存文件并退出编辑器。
第 5 步 - 配置权限和防火墙
现在您需要使用以下命令向 Web 服务器用户提供应用程序的所有权。
chown -R apache:apache /var/www/mahara
如果您正在运行防火墙,您可能还需要允许端口 80 上的 HTTP 流量通过防火墙。运行以下命令相同。
firewall-cmd --zone=public --permanent --add-service=http
firewall-cmd --reload
要在不重新启动服务器的情况下临时禁用 SELinux,请运行以下命令。
setenforce 0
要完全禁用 SELinux,您需要编辑 /etc/selinux/config 文件。
nano /etc/selinux/config
找到以下行:
SELINUX=enforcing
将其更改为:
SELINUX=disabled
现在为 Mahara 应用程序创建一个虚拟主机。同样运行以下命令。
nano /etc/httpd/conf.d/mahara.yourdomain.com.conf
将以下行粘贴到文件中。
<VirtualHost *:80>
ServerAdmin
DocumentRoot "/var/www/mahara/htdocs"
ServerName mahara.yourdomain.com
ServerAlias www.mahara.yourdomain.com
<Directory "/var/www/mahara/htdocs">
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
ErrorLog "/var/log/httpd/mahara.yourdomain.com-error_log"
CustomLog "/var/log/httpd/mahara.yourdomain.com-access_log" combined
</VirtualHost>
将 mahara.yourdomain.com 替换为您要用于访问该应用程序的任何域或子域。保存文件并退出编辑器。运行以下命令以重新启动 Apache 服务器。
systemctl restart httpd
现在使用网络浏览器完成安装,转到以下链接。
http://mahara.yourdomain.com
您将受到以下页面的欢迎。

点击 Install Mahara 按钮继续下一步。

在下一个界面上,Mahara 将编写数据库并安装必要的模块以帮助您入门。完成后,您可以单击继续 链接继续下一步。

在下一个界面上,系统会要求您为管理员仪表板设置密码。

最后,您将被带到管理仪表板,如下所示。
结论
Mahara 的安装现已完成,您可以使用 Mahara 轻松创建漂亮的个人或商业网站。