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支持所有版本的PHP大于5.3。 但是在本教程中,我们将安装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
你应该得到类似的输出。
[root@liptan-pc ~]# 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安装设置root密码,然后选择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
如果不需要解压缩安装,可以运行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密码更改为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 me@liptanbiswas.com 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
现在使用Web浏览器完成安装,请转到以下链接。
http://mahara.yourdomain.com
您将受到以下页面的欢迎。
点击安装Mahara按钮进一步。
在接下来的界面上,Mahara将会写入数据库,并安装必要的模块,让你开始。 完成后,您可以点击继续链接进一步。
在下一个界面中,系统将要求您为管理员信息中心设置密码。
最后,您将被带到管理信息中心,如下所示。
结论
Mahara的安装现已完成,您可以使用Mahara轻松创建一个美丽的网站,用于个人或商业目的。