Moodleインストール · 1 min read · Nov 02, 2025

Ubuntu 24.04サーバーにMoodle LMSをインストールする方法

Moodleは、教育機関がオンラインコースを作成し、コンテンツを管理し、協働学習を促進するために世界中で使用されている人気のオープンソースプラットフォームです。UbuntuでMoodleを実行することは、Ubuntuの安定性、セキュリティ、および幅広いソフトウェアパッケージのサポートにより、一般的な選択肢です。このプロセスには、WebサーバーとしてのApacheまたはNginx、データベースとしてのMySQLまたはPostgreSQL、スクリプト言語としてのPHPなどの必要なコンポーネントのインストールが含まれ、これらはすべてUbuntuで十分にサポートされています。このセットアップにより、教育機関は特定の教育ニーズに合わせてカスタマイズ可能な堅牢でスケーラブルなオンライン学習環境を作成できます。

このチュートリアルでは、Ubuntu 24.04サーバーにMoodleをインストールする方法を示します。LAMPスタックでMoodleをインストールし、その後、UFWとCertbotおよびLetsencryptを使用してMoodleをHTTPSで保護します。

前提条件

始める前に、以下のものを用意してください:

  • Ubuntu 24.04サーバー。
  • 管理者権限を持つ非ルートユーザー。
  • サーバーIPアドレスにポイントされたドメイン名。
  • UFWファイアウォールが稼働中であること。

依存関係のインストール

MoodleはPHPで書かれたオープンソースの学習プラットフォームです。Moodleをインストールするには、Apache/Nginx、MySQL/MariaDB/PostgreSQL、およびPHPが必要です。このセクションでは、UbuntuにLAMPスタック(Linux、Apache、MariaDB、PHP)をインストールし、その上にMoodleをセットアップします。

まず、以下のコマンドを実行してUbuntuパッケージインデックスを更新します。

sudo apt update

update repo

次に、以下のコマンドを実行してLAMPスタック(Apache、MariaDB、PHP)の依存関係をインストールします。インストールを確認するために「Y」と入力してください。

sudo apt install apache2 mariadb-server php-cli php-intl php-xmlrpc php-soap php-mysql php-zip php-gd php-tidy php-mbstring php-curl php-xml php-pear php-bcmath libapache2-mod-php

install lamp stack

インストールが完了したら、以下のコマンドでApacheサービスのステータスを確認します。

sudo systemctl is-enabled apache2  
sudo systemctl status apache2

以下のようにApacheウェブサーバーが実行中であることが確認できます。

check apache2

以下のコマンドでMariaDBデータベースサーバーを確認します。MariaDBサーバーが実行中であることが確認できます。

sudo systemctl is-enabled mariadb  
sudo systemctl status mariadb

check mariadb

最後に、以下のコマンドでPHPのバージョンと有効な拡張機能を確認します。

php -v  
php -m

PHP 8.3がUbuntuサーバーにインストールされていることが確認できます。

check php

MariaDBサーバーの設定

依存関係がインストールされたら、Moodleに必要なデフォルトのMariaDBストレージエンジンを「InnoDB」に変更する必要があります。これは、MariaDBサーバーの設定ファイルを編集することで行えます。その後、’ mariadb_secure_installation ‘ユーティリティを使用してMariaDBサーバーのデプロイを保護します。

以下のコマンドでMariaDBサーバーの設定ファイル「/etc/mysql/mariadb.conf.d/50-server.cnf」を’nano’エディタで開きます。

sudo vim /etc/mysql/mariadb.conf.d/50-server.cnf

以下の設定を「[mysqld]」セクションの下に追加します。これにより、デフォルトのストレージエンジンが「innodb」に変更されます。

innodb_file_format = Barracuda   
default_storage_engine = innodb  
innodb_large_prefix = 1  
innodb_file_per_table = 1

ファイルを保存してエディタを終了します。

次に、以下の「systemctl」コマンドを実行してMariaDBサーバーを再起動し、変更を適用します。

sudo systemctl restart mariadb

最後に、以下の「mariadb_secure_installation」コマンドを実行してMariaDBのrootユーザーを設定し、デプロイを保護します。

sudo mariadb_secure_installation

このプロセスの中で、以下の質問がされます:

  • rootパスワードなしのデフォルトのMariaDBサーバーインストールの場合、パスワードを尋ねられたときにENTERを押します。
  • MariaDBのrootユーザーのローカル認証はデフォルトで保護されているため、認証方法を「unix_socket」に変更するように求められたら「n」と入力します。
  • 新しいMariaDBのrootパスワードを作成するために「Y」と入力します。その後、MariaDBのrootユーザーの強力なパスワードを入力し、再度入力します。
  • MariaDBのrootユーザーのリモート認証を無効にするように求められたら、「Y」と入力して同意します。
  • デフォルトのMariaDBサーバーインストールには「test」というデータベースがあり、匿名ユーザーがアクセスできるようになっています。デフォルトのデータベース「test」を削除し、匿名特権を削除するために、両方の設定に「Y」と入力します。
  • 最後に、テーブル特権を再読み込みすることを確認するために「Y」と入力します。

データベースとユーザーの作成

MariaDBサーバーの設定が完了したので、’mariadb’クライアントを使用して新しいデータベースとユーザーを作成します。

以下の’mariadb’クライアントコマンドでMariaDBサーバーにログインします。プロンプトが表示されたらMariaDBのrootパスワードを入力します。

sudo mariadb -u root -p

次に、以下のクエリを実行して新しいデータベース「moodle」、ユーザー「moodle」を作成し、パスワードを自分の情報に変更します。

CREATE DATABASE moodle DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;  
GRANT ALL ON moodle.* TO 'moodle'@'localhost' IDENTIFIED BY "MoodlePassw0rd";  
FLUSH PRIVILEGES;  
QUIT

create database

PHPの設定

このセクションでは、PHP設定「php.ini」を編集し、Moodleに必要なデフォルト値を変更します。

以下のコマンドでPHP設定「/etc/php/8.3/apache2/php.ini」を’nano’エディタで開きます。

sudo nano /etc/php/8.3/apache2/php.ini

以下のようにデフォルト設定を変更します。「memory_limit」と「date_timezone」オプションを自分の情報に合わせて調整してください。

memory_limit = 256M  
upload_max_filesize = 60M  
max_execution_time = 300  
date.timezone = Europe/Amsterdam  
max_input_vars = 5000

完了したら、ファイルを保存して終了します。

最後に、以下のコマンドを実行してApacheウェブサーバーを再起動し、PHPへの変更を適用します。

sudo systemctl restart apache2

Moodleソースコードのダウンロード

この時点で、LAMPスタックをインストールして設定しました。Moodleのソースコードをダウンロードし、Moodleインストールディレクトリを設定しましょう。

/var/www」ディレクトリに移動し、以下の「wget」コマンドを使用してMoodleソースコードをダウンロードします。最新バージョンのリンクを取得するためにMoodleダウンロードページを訪問してください。この場合、最新の安定版Moodle 40.4をダウンロードします。

cd /var/www  
wget https://download.moodle.org/download.php/direct/stable404/moodle-latest-404.tgz

Moodleがダウンロードされたら、以下の「tar」コマンドで抽出します。Moodleのソースコードは「/var/www/moodle」ディレクトリに利用可能になります。

tar xvf moodle-latest-404.tgz

最後に、以下のコマンドを実行して新しいデータディレクトリ「/var/www/moodledata」を作成し、Moodleディレクトリの所有権を「www-data」ユーザーに変更し、Moodleとデータディレクトリの両方が「www-data」ユーザーによって書き込み可能であることを確認します。

sudo mkdir -p /var/www/moodledata  
sudo chown -R www-data:www-data /var/www/moodle /var/www/moodledata  
sudo chmod u+rwx /var/www/moodle /var/www/moodledata

Apache仮想ホストの設定

Moodleがダウンロードされたので、Moodleを実行するための新しいApache仮想ホストファイルを作成します。ドメインが準備され、UbuntuサーバーのIPアドレスに解決されていることを確認してください。

まず、以下の「a2enmod」コマンドを実行して「rewrite」モジュールを有効にします。

sudo a2enmod rewrite

以下の「nano」エディタで新しいApache仮想ホストファイル「/etc/apache2/sites-available/moodle.conf」を作成します。

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

以下の設定を挿入し、ドメイン名を自分の情報に変更してください。

  
 DocumentRoot /var/www/moodle/  
 ServerName moodle.howtoforge.local  
 ServerAdmin [email protected]  
   
   
 Options +FollowSymlinks  
 AllowOverride All  
 Require all granted  
   
  
 ErrorLog /var/log/apache2/moodle_error.log  
 CustomLog /var/log/apache2/moodle_access.log combined  

ファイルを保存してエディタを終了します。

次に、以下のコマンドを実行して「moodle.conf」ファイルを有効にし、Apacheの構文を確認します。正しいApacheの構文がある場合、「Syntax is OK」という出力が表示されます。

sudo a2ensite moodle.conf  
sudo apachectl configtest

最後に、以下の「systemctl」コマンドを実行してApacheを再起動し、変更を適用します。

sudo systemctl restart apache2

UFWでMoodleを保護する

このステップでは、UFW(Uncomplicated Firewall)を通じてHTTPおよびHTTPSプロトコルを開きます。開始する前にUFWが稼働していることを確認してください。

以下のコマンドを実行してUFWで「Apache Full」プロファイルを有効にします。これにより、HTTPおよびHTTPSトラフィックが許可されます。

sudo ufw allow 'Apache Full'

次に、以下のコマンドでUFWの有効なルールのリストを確認します。「Apache Full」プロファイルが有効になっていることが確認できます。

sudo ufw status

HTTPSでMoodleを保護する

ファイアウォールに加えて、SSL/TLS証明書を生成し、HTTPSでMoodleを保護します。このセクションでは、CertbotとLetsencryptを通じてMoodleのHTTPSを実装します。Moodleをローカルにインストールしている場合は、これをスキップしてください。

以下のコマンドで「certbot」および「python3-certbot-apache」パッケージをインストールします。

sudo apt install certbot python3-certbot-apache -y

インストールが完了したら、以下の「certbot」コマンドを実行してMoodleのSSL/TLS証明書を生成します。ドメイン名とメールアドレスを自分の情報に変更してください。

sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d moodle.howtoforge.local

プロセスが完了すると、SSL証明書は「/etc/letsencrypt/live/domain.com」ディレクトリに保存され、Moodleのインストールは自動的にHTTPSで保護されるはずです。

Moodleのインストール

https://moodle.howtoforge.local/のようなMoodleのドメイン名にアクセスすると、インストールウィザードが表示されます。

デフォルトの言語を選択し、次へをクリックします。

language

Moodleのデータディレクトリ「/var/www/moodledata」を入力します。

moodle data

データベースドライバーとしてMariaDBを選択します。

db driver

MariaDBデータベースとユーザーの詳細を入力します。

database

著作権通知を確認するために続行をクリックします。

copyright notices

サーバーチェックセクションで、環境が準備できていることを確認します。

system checks

これでMoodleのインストールが処理されます。

installation

インストールが完了したら、新しい管理ユーザー、メール、およびMoodleのパスワードを入力します。

setup admin

これで、以下のようなMoodleダッシュボードが表示されます。

moodle dashboard

結論

おめでとうございます!Ubuntu 24.04サーバーにMoodleのインストールが完了しました。LAMPスタック(Linux、Apache、MariaDB、PHP)でMoodle 40.4をUbuntuにインストールし、UFW(Uncomplicated Firewall)とCertbotおよびLetsencryptを通じてMoodleをHTTPSで保護しました。

Share: X/Twitter LinkedIn

新しい投稿を受信箱で受け取る

スパムはありません。いつでも購読を解除できます。