Как установить систему электронного портфолио Mahara на CentOS 7
На этой странице
- Шаг 1. Установка Apache
- Шаг 2. Установка PHP
- Шаг 3. Установка MariaDB
- Шаг 4. Установка и настройка Mahara
- Шаг 5. Настройка разрешений и брандмауэра
- Заключение
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, чтобы легко создать красивый веб-сайт для личных или коммерческих целей.