ubuntu 24.02 LTSでのMoodleの立ち上げ

# Ubuntu での Moodle サーバー構築・設定手順まとめ

このドキュメントは、Ubuntu 24.02 LTS 上で Moodle サーバーを構築し、HTTPS で安全に運用するまでの手順をまとめたものです。あくまでも自分の整理用にまとめたものになります。

---

## 1. 必要パッケージのインストール

```bash
sudo apt update
sudo apt install apache2 mysql-server php libapache2-mod-php php-mysql php-xml php-mbstring php-curl php-zip php-soap php-intl php-gd php-bcmath php-cli php-common php-readline git unzip
```

---

## 2. MySQL の基本操作（ユーザー・データベース作成）

### MySQL に接続する：

```bash
sudo mysql -u root
```

またはパスワード付きなら：

```bash
sudo mysql -u root -p
```

### データベース一覧を表示：

```sql
SHOW DATABASES;
```

### ユーザー一覧を表示：

```sql
SELECT user, host FROM mysql.user;
```

### Moodle 用データベースとユーザーの作成：

```sql
CREATE DATABASE moodle DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'moodledude'@'localhost' IDENTIFIED BY 'yourpassword';
GRANT ALL PRIVILEGES ON moodle.* TO 'moodledude'@'localhost';
FLUSH PRIVILEGES;
EXIT;
```

（GRANTがうまく通っておらず、1日を無駄にしました・・・）

---

## 3. Moodle のダウンロードと配置

```bash
cd /var/www/html
sudo git clone https://github.com/moodle/moodle.git
cd moodle
sudo git branch -a  # 必要に応じてバージョンを選択
sudo git checkout MOODLE_405_STABLE  # 例: 4.05 を使用
sudo chown -R www-data:www-data /var/www/html/moodle
sudo chmod -R 755 /var/www/html/moodle
```

Moodle データディレクトリの作成：

```bash
sudo mkdir /var/moodledata
sudo chown -R www-data:www-data /var/moodledata
sudo chmod -R 770 /var/moodledata
```

---

## 4. Moodle 初期設定

ブラウザで以下にアクセスし、インストーラを開始：

```
http://<サーバーIP>/moodle
```

例：`http://10.10.10.10/moodle`

例：`http://localhost/moodle`

---

## 5. PHP 設定の調整（大きなファイルのアップロードを可能に）

```bash
sudo vi /etc/php/<version>/apache2/php.ini
```

以下を編集：

```ini
upload_max_filesize = 512M
post_max_size = 512M
max_execution_time = 600
```

```bash
sudo systemctl restart apache2
```

---

## 6. HTTPS（自己署名証明書）でのアクセス設定

### 証明書の作成

```bash
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 \
-keyout /etc/ssl/private/moodle-selfsigned.key \
-out /etc/ssl/certs/moodle-selfsigned.crt
```

### Apache の SSL 仮想ホスト設定

```bash
sudo vi /etc/apache2/sites-available/moodle-ssl.conf
```

```apache
<VirtualHost *:443>
    ServerAdmin admin@example.com
    DocumentRoot /var/www/html
    ServerName 10.10.10.10

    SSLEngine on
    SSLCertificateFile /etc/ssl/certs/moodle-selfsigned.crt
    SSLCertificateKeyFile /etc/ssl/private/moodle-selfsigned.key

    <Directory /var/www/html>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>
```

有効化と再起動：

```bash
sudo a2enmod ssl
sudo a2ensite moodle-ssl.conf
sudo systemctl restart apache2
```

---

## 7. Moodle の設定ファイル修正

```bash
sudo nano /var/www/html/moodle/config.php
```

```php
$CFG->wwwroot = 'https://10.10.10.10/moodle';
```

---

## 8. Moodle 内部の URL を一括置換（http → https）

```bash
sudo -u www-data php /var/www/html/moodle/admin/tool/replace/index.php
```

検索語：`http://10.10.10.10/moodle`  
置換語：`https://10.10.10.10/moodle`

---

## 9. キャッシュのクリア（必要時）

```bash
sudo -u www-data php /var/www/html/moodle/admin/cli/purge_caches.php
```

---

## 10. 管理画面での初期設定完了！

- プラグイン（例：Attendance）やコース、ユーザー設定へ進みましょう
- `https://<IP>/moodle` にて安全にアクセス可能

---

# まとめ
以上がubuntuにMoodleをインストール、設定する流れになります。かけている部分等は順次追記していきます。