linux sysadmin installs moodle lms on ubuntu server

Ubuntu サーバー 22.04 に Moodle をインストールする方法 | 4月20日

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サーバー Ubuntu 22.04を搭載した
  • 完全修飾名を取得する ドメイン名。 pointing to your server’s IP address, such as “moodle.example.org”

このガイドの例ではドメインを使用します moodle.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

executing apt update and apt upgrade commands to update Ubuntu server before proceed to moodle installation

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を設定する

Moodle 4.2をApacheとPHP-FPMで実行します。次のステップでは、Apache用にPHP-FPMを設定します。

1. PHP-FPMサービスを開始し、ブート時に有効にします。

$ sudo systemctl start php8.1-fpm
$ sudo systemctl enable php8.1-fpm

2. ApacheでPHP-FPMを使用するには、proxy_fcgiおよびproxyモジュールを有効にする必要があります。

sudo a2enmod proxy_fcgi proxy

3. Moodle用のApache設定ファイルを作成します。

$ sudo nano /etc/apache2/sites-available/moodle.conf

次の設定をmoodle.confに入力します。置き換えてください ServerName, DocumentRoot, Directory あなたの価値観と共に。

<VirtualHost *:80>
ServerName moodle.example.org
ServerAlias www.moodle.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の設定が完了したら、moodleコードのインストールに進むことができます。

Moodleコードをインストールする

1. Moodleサイトのホームディレクトリと公開ディレクトリを作成します。

$ useradd --create-home -s /bin/sh moodle
$ mkdir -p /home/moodle/public_html
$ chmod 711 /home/moodle

2. 最新のMoodleコードをダウンロードし、公開ディレクトリに展開します。

最新の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.

choosing a language of moodle during installation
インストール中のMoodleの言語を選択する

 

3. パスを確認する

次のステップで、ウェブアドレス、Moodleディレクトリ、データディレクトリが正しいことを確認します。データディレクトリは私たちのインストールには欠けていたので、このステップで作成しました。

# mkdir /home/moodle/moodledata
# chown www-data:www-data /home/moodle/moodledata

confirm web address, moodle directory, data directory

4. データベースサーバーを選択する

このガイドではMariaDBを使用します。ドロップダウンメニューからMariaDBを選択してください。

choose MariaDB from dropdown

5. データベース設定を入力する

以前に作成したデータベース名、データベースユーザー、およびパスワードを入力してください。

input database settings

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

fix max_input_vars error during moodle installation

9. メイン管理者アカウントを設定する

このステップでは、管理者アカウントを設定する必要があります。管理者のユーザー名、パスワード、およびその他の必要な詳細を入力してください。

10. サイトのホーム設定を入力します

サイト名、サイトの短い名前、サイトのホームの概要、およびその他の情報を設定します。

 

configure moodle site settings

最初のコースを作成しましょう!

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!

my courses tab in fresh installed moodle site