Moodle is one of the best learning management systems available. It’s an open software, released under the open source ‘GNU General Public License’ which makes it highly flexible and customizable. In this guide you will learn how to install Moodle on Ubuntu server 20.04/22.04.
We are installing Moodle on a brand new, clean Ubuntu server with no software or data on it. If your server has data on it - make data backup first. Author is not responsible for possible data loss.
시작하기 전에
우리를 확인해보세요 Moodle 호스팅 서비스 커뮤니티 에디션. LMS를 설치하지 않고도 바로 사용할 수 있습니다!
사전 요구 사항
- 설치하다 VPS 서버 우분투 22.04가 탑재되어 있습니다
- 완전한 자격을 취득하세요 도메인 이름 pointing to your server’s IP address, such as “moodle.example.org”
이 가이드의 예에서는 도메인을 사용합니다. 무들.example.org, 자신의 도메인 이름으로 변경하세요.
Moodle 설치를 위해 Ubuntu 서버 준비
시스템 업데이트
First thing first – updating the system. To get started connect to your server via SSH. Then run “apt update” and “apt upgrade” commands to update system packages to the latest version.
$ sudo apt update && apt upgrade -y

Apache, PHP-8.1, MariaDB MySQL 서버 설치
다음으로 Moodle 종속성을 설치합니다. Apache 웹 서버, PHP 8.1, MariaDB SQL 서버, 메일 서버 및 Moodle에 필요한 PHP 확장 목록을 설치해야 합니다.
$ sudo apt install apache2 php8.1 mariadb-server postfix $ sudo apt install php8.1-mysql php8.1-fpm php8.1-iconv php8.1-mbstring php8.1-curl php8.1-tokenizer php8.1-xmlrpc php8.1-soap php8.1-ctype php8.1-zip php8.1-gd php8.1-simplexml php8.1-xml php8.1-intl
설치가 완료되면 Apache 웹 서버를 시작합니다.
$ sudo systemctl start apache2 $ sudo systemctl enable apache2
Apache VirtualHost 및 PHP-FPM 구성
우리는 Apache와 PHP-FPM에서 Moodle 4.2를 실행할 것입니다. 다음 단계에서는 Apache용 PHP-FPM을 구성합니다.
1. PHP-FPM 서비스를 시작하고 부팅 시 활성화합니다.
$ sudo systemctl start php8.1-fpm $ sudo systemctl enable php8.1-fpm
2. Apache에서 PHP-FPM을 사용하려면 Proxy_fcgi 및 프록시 모듈을 활성화해야 합니다.
sudo a2enmod proxy_fcgi proxy
3. Moodle용 Apache 구성 파일을 생성합니다.
$ sudo nano /etc/apache2/sites-available/moodle.conf
무들레.conf에 다음 구성을 입력하세요. 바꾸다 서버 이름, DocumentRoot, 디렉토리 당신의 가치관으로.
<VirtualHost *:80>
ServerName 무들.example.org
ServerAlias www.무들.example.org
DocumentRoot /home/moodle/public_html
<Directory /home/moodle/public_html>
Options -Indexes +FollowSymLinks +MultiViews
AllowOverride All
Require all granted
</Directory>
<FilesMatch \.php$>
SetHandler "proxy:unix:/run/php/php8.1-fpm.sock|fcgi://localhost/"
</FilesMatch>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
CTRL X, Y, Enter를 차례로 눌러 파일을 저장하고 닫습니다.
4. 새 가상 호스트를 활성화하고 Apache 웹 서버를 다시 로드합니다.
$ a2ensite moodle $ systemctl reload apache2
5. Also it’s nice to have a rewrite and SSL modules enabled
# a2enmod rewrite # a2enmod ssl # systemctl restart apache2
데이터베이스 및 데이터베이스 사용자 생성
1. MariaDB SQL 서버 시작 및 활성화
root@moodle-lms-install:~# systemctl start mariadb root@moodle-lms-install:~# systemctl enable mariadb
2. MySQL 사용자 및 데이터베이스 생성
root@moodle-lms-install:~# mysql MariaDB [(none)]> create database moodle_dev; MariaDB [(none)]> grant all privileges on moodle_dev.* to moodle_user@localhost identified by 'Change_to_Strong_SQL_Password'; MariaDB [(none)]> flush privileges;
Apache, PHP 및 MySQL이 구성되면 무들 코드 설치를 진행할 수 있습니다.
무들 코드 설치
1. 무들 사이트와 공개 디렉토리를 위한 홈 디렉토리를 생성하세요
$ useradd --create-home -s /bin/sh moodle $ mkdir -p /home/moodle/public_html $ chmod 711 /home/moodle
2. 최신 Moodle 코드를 다운로드하고 공개 디렉터리에 추출합니다.
다음에서 최신 무들을 다운로드할 수 있습니다. https://download.moodle.org/releases/latest/. Get the code and upload it into the public directory. In our case the directory is “/home/moodle/public_html”
브라우저에서 설치 실행
이 마지막 단계를 진행하기 전에 도메인 이름이 서버의 IP 주소를 가리키도록 해야 합니다. DNS가 구성되면 브라우저에서 Moodle 설치를 실행할 수 있습니다.
1. Open your browser and navigate to your Moodle’s site domain/sub-domain. You should see Moodle Installation page.
2. Choose website’s language. We will keep English.

3. 경로 확인
다음 단계에서는 웹 주소, 무들 디렉터리, 데이터 디렉터리가 올바른지 확인하세요. 설치 시 데이터 디렉터리가 누락되었으므로 이 단계에서 생성했습니다.
# mkdir /home/moodle/moodledata # chown www-data:www-data /home/moodle/moodledata

4. 데이터베이스 서버를 선택하세요
이 가이드에서는 MariaDB를 사용합니다. 드롭다운 메뉴에서 MariaDB를 선택합니다.

5. 데이터베이스 설정 입력
앞서 생성한 데이터베이스 이름, 데이터베이스 사용자, 비밀번호를 입력합니다.

6. config.php 파일 생성
After entering database settings and clicking “Next” a config.php file will be generated. Copy content of the file and create “config.php” in the root moodle directory (/home/moodle/public_html in this example).
7. 라이센스 동의
이 단계에서는 Moodle 라이센스 계약을 읽고 동의해야 합니다.
8. 서버 점검 통과
Most of the checks passed in our installation. We only had to change “max_input_vars” from its default value to 5000.
$ nano /etc/php/8.1/fpm/php.ini $ systemctl reload php8.1-fpm

9. 기본 관리자 계정 구성
이 단계에서는 관리자 계정을 구성해야 합니다. 관리자 사용자 이름, 비밀번호 및 기타 필수 세부 정보를 입력합니다.
10. 사이트 홈 설정 입력
사이트 이름, 사이트의 짧은 이름, 사이트 홈 요약 및 기타 정보를 구성합니다.

첫 번째 코스를 만들어보세요!
After few final clicks you will see the LMS dashboard and Calendar. Proceed to “My Courses” tab and create your first Moodle course! Well done!







