웹사이트 검색

CentOS 7에 Mahara ePortfolio 시스템을 설치하는 방법


이 페이지에서

  1. 1단계 - Apache 설치
  2. 2단계 - PHP 설치
  3. 3단계 - MariaDB 설치
  4. 4단계 - Mahara 설치 및 구성
  5. 5단계 - 권한 및 방화벽 구성\n
  6. 결론

Mahara는 오픈 소스 전자 포트폴리오 시스템입니다. 소셜 네트워킹 플랫폼으로도 사용할 수 있습니다. Mahara는 PHP로 작성되었으며 PostgreSQL 또는 MySQL 데이터베이스 서버를 사용하여 데이터를 저장합니다. Mahara를 사용하여 개인화된 멀티미디어 포트폴리오를 만들고 다른 사람들과 공동 작업할 수 있습니다.

이 튜토리얼에서는 CentOS 7 서버에 Mahara를 설치합니다.

전제 조건

  • 최소 CentOS 7 서버
  • 루트 권한\n

1단계 - 아파치 설치

기존 패키지와 리포지토리가 업데이트되도록 패키지를 설치하기 전에 서버를 업데이트하는 것이 좋습니다.

yum -y update

시스템이 업데이트되면 Apache 웹 서버 설치를 진행할 수 있습니다.

yum -y install httpd

이제 Apache 웹 서버를 시작하고 다음 명령을 사용하여 부팅 시 시작되도록 활성화합니다.

systemctl start httpd
systemctl enable httpd

2단계 - PHP 설치

Mahara는 5.3 이상의 모든 PHP 버전을 지원합니다. 하지만 이 튜토리얼에서는 PHP v5.3의 수명이 다했기 때문에 PHP 7.1을 설치합니다. 최신 버전의 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 설치를 보호하기 위해 스크립트를 실행합니다. 스크립트는 기존 루트 사용자 암호를 묻습니다. 방금 MariaDB를 설치했으며 루트 암호가 설정되지 않았습니다. 계속 진행하려면 Enter 키를 누르십시오.

스크립트는 MariaDB 설치를 위한 루트 암호를 설정할지 묻고 y를 선택하고 설치를 위한 강력한 암호를 설정합니다. 대부분의 질문은 자명하며 모든 질문에 예 또는 y로 대답해야 합니다. 출력은 아래와 같이 표시됩니다.

데이터베이스를 생성하려면 먼저 MySQL 명령줄에 로그인해야 합니다. 동일하게 다음 명령을 실행하십시오.

mysql -u root -p

위의 명령은 루트 사용자의 MySQL 셸에 로그인하고 루트 사용자의 암호를 묻는 메시지를 표시합니다. 로그인할 비밀번호를 제공하십시오. 이제 다음 쿼리를 실행하여 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.';

이제 브라우저를 사용하여 cron을 직접 실행할 수 있도록 URL 암호를 null로 변경합니다.

$cfg->urlsecret = null;

파일을 저장하고 편집기를 종료합니다.

5단계 - 권한 및 방화벽 구성

이제 다음 명령을 사용하여 웹 서버 사용자에게 애플리케이션의 소유권을 제공해야 합니다.

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를 사용하여 개인용 또는 상업용으로 아름다운 웹사이트를 쉽게 만들 수 있습니다.