Поиск по сайту:

Как установить систему электронного портфолио Mahara на CentOS 7


На этой странице

  1. Шаг 1. Установка Apache
  2. Шаг 2. Установка PHP
  3. Шаг 3. Установка MariaDB
  4. Шаг 4. Установка и настройка Mahara
  5. Шаг 5. Настройка разрешений и брандмауэра
  6. Заключение

Mahara — это система электронного портфолио с открытым исходным кодом. Его также можно использовать как платформу для социальных сетей. Mahara написана на PHP и использует сервер базы данных PostgreSQL или MySQL для хранения своих данных. Вы можете использовать Mahara для создания своего персонализированного мультимедийного портфолио и для совместной работы с другими.

В этом руководстве мы установим Mahara на сервер CentOS 7.

Предпосылка

  • Минимальный сервер CentOS 7
  • Привилегии root

Шаг 1 — Установка Apache

Рекомендуется обновить сервер перед установкой любого пакета, чтобы обновить существующие пакеты и репозитории.

yum -y update

После обновления вашей системы вы можете приступить к установке веб-сервера Apache.

yum -y install httpd

Теперь запустите веб-сервер Apache и включите его во время загрузки с помощью следующей команды.

systemctl start httpd
systemctl enable httpd

Шаг 2 — Установка PHP

Mahara поддерживает все версии PHP выше 5.3. Но в этом руководстве мы установим PHP 7.1, так как версия PHP v5.3 подошла к концу. Установка последней версии PHP обеспечит максимальную безопасность и производительность приложения.

Репозиторий YUM CentOS по умолчанию не включает 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, чтобы продолжить.

Сценарий спросит вас, хотите ли вы установить пароль root для установки MariaDB, выберите y и установите надежный пароль для установки. Большинство вопросов говорят сами за себя, и вы должны ответить «да» или «y» на все вопросы. Вывод будет выглядеть так, как показано ниже.

Чтобы создать базу данных, нам нужно сначала войти в командную строку MySQL. Выполните следующую команду для того же.

mysql -u root -p

Приведенная выше команда войдет в оболочку MySQL пользователя root, она запросит пароль пользователя 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. Настройте разрешения и брандмауэр

Теперь вам нужно будет предоставить право собственности на приложение пользователю веб-сервера, используя следующую команду.

chown -R apache:apache /var/www/mahara

Вам также может потребоваться разрешить HTTP-трафик на порту 80 через брандмауэр, если он у вас установлен. Выполните следующие команды для того же.

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

Вас приветствует следующая страница.

Нажмите кнопку «Установить Mahara», чтобы продолжить.

В следующем интерфейсе Махара напишет базу данных и установит необходимые модули, чтобы вы могли начать работу. После этого вы можете нажать ссылку Продолжить, чтобы продолжить.

В следующем интерфейсе вам будет предложено установить пароль для панели администратора.

Наконец, вы попадете на панель администрирования, которая будет выглядеть так, как показано ниже.

Заключение

Установка Mahara завершена, вы можете использовать Mahara, чтобы легко создать красивый веб-сайт для личных или коммерческих целей.