무들 (Moodle) 설치 가이드
무들(Moodle)은 전 세계 대학 및 교육 기관에서 가장 대표적으로 사용하는 글로벌 1위의 오픈소스 학습 관리 시스템(LMS)입니다. 온라인 동영상 강의 시청, 퀴즈 출제, 과제 제출 및 성적 피드백 시스템 등을 통합 제공하는 학습 플랫폼입니다.
1. 사전 요구사항 (Requirements)
무들은 대규모 학생 데이터와 학습 기록을 처리하므로 시스템 요구사항과 필수 PHP 확장 기능이 다소 많습니다.
- PHP: 8.0 버전 이상 (Moodle 4.x 이상부터는 PHP 8.1+ 권장)
- 데이터베이스: MySQL 8.0 이상, MariaDB 10.6 이상, 또는 PostgreSQL 13 이상
- 웹 서버: Apache 또는 Nginx
- 필수 PHP 확장 모듈:
php-iconv,php-mbstring,php-curl,php-openssl,php-tokenizer,php-xml,php-xmlrpc,php-soap,php-ctype,php-zip,php-gd,php-intl,php-mysqli
2. 데이터베이스 설정 (Database Setup)
무들이 학습 데이터를 보존할 전용 데이터베이스 인스턴스와 데이터 정렬 규칙(Collation)을 설정하여 생성합니다.
-- MySQL/MariaDB 접속 후 실행
CREATE DATABASE moodle DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- 전용 계정 생성 및 권한 위임
CREATE USER 'moodle_user'@'localhost' IDENTIFIED BY 'moodle_password123!';
GRANT ALL PRIVILEGES ON moodle.* TO 'moodle_user'@'localhost';
-- 적용 및 종료
FLUSH PRIVILEGES;
EXIT;
3. 핵심 보안 사항: 데이터 디렉터리 격리 생성
무들은 학생들이 업로드한 과제물, 강의 비디오, 개인 정보 등을 안전하게 저장하기 위해 웹상에서 직접 브라우저로 접근할 수 없는 웹 루트 외부 영역에 별도의 데이터 디렉터리(moodledata)를 무조건 생성하도록 강제하고 있습니다.
# 웹 루트(/var/www/html) 외부인 /var 디렉터리에 생성
sudo mkdir /var/moodledata
# 웹 서버 소유권 지정 (Ubuntu 계열 www-data)
sudo chown -R www-data:www-data /var/moodledata
# 웹 서버 프로세스가 파일을 읽고 쓸 수 있도록 쓰기 권한 설정
sudo chmod -R 770 /var/moodledata
[!CAUTION] 보안 위협 방지
moodledata폴더가 웹 루트 내부(예:/var/www/html/moodledata)에 위치하게 되면 외부 해커가 학생들의 제출 과제나 시스템 첨부파일 주소에 직접 접근하여 다운로드할 수 있으므로, 반드시 웹 루트 외부에 분리 적재해야 설치가 진행됩니다.
4. 무들 소스코드 다운로드 및 이동
무들 공식 릴리즈 페이지에서 최신 안정화 패키지를 다운로드해 웹 루트에 이식합니다.
# Moodle 최신 배포판 다운로드
wget https://download.moodle.org/download.php/direct/stable403/moodle-latest-403.tgz
# 압축 해제
tar -zxvf moodle-latest-403.tgz
# 웹 서비스 디렉터리로 이동
sudo mv moodle /var/www/html/
# 소유자 설정
sudo chown -R www-data:www-data /var/www/html/moodle/
5. 웹 설치 프로세스 진행
웹 브라우저를 열고 http://localhost/moodle 또는 도메인 주소로 접속합니다.
- 언어 선택: 한국어 또는 영어 등을 선택하고 [Next]를 클릭합니다.
- 디렉터리 경로 확인:
- 웹 주소:
http://localhost/moodle - 무들 디렉터리:
/var/www/html/moodle - 데이터 디렉터리: 위에서 생성한 외부 경로
/var/moodledata를 정확히 기입합니다.
- 웹 주소:
- 데이터베이스 드라이버 선택:
Improved MySQL (mysqli)또는 설치한 DB 드라이버를 선택합니다. - 데이터베이스 연결 정보 설정:
- 데이터베이스 호스트:
localhost - 데이터베이스 이름:
moodle - 사용자:
moodle_user - 비밀번호:
moodle_password123! - 테이블 접두사:
mdl_
- 데이터베이스 호스트:
- 서버 환경 검사: 필수 PHP 확장 모듈 설치 검사가 진행됩니다. 오류가 있다면 터미널에서 해당 모듈을 활성화한 뒤 웹 서버를 재시작하고 페이지를 새로고침해야 합니다.
- 설치 완료 및 관리자 계정 생성: 설치 스크립트 실행이 끝나면 최고 관리자(Administrator) 정보 및 사이트 기본 설정을 입력하여 설치를 최종 마무리합니다.
이전 학습
« 게시판 만들기
서브목차