Help us understand the problem. What is going on with this article?

Moodle 3.8 マニュアル - Red Hat Enterprise Linux へのインストール

原文

Red Hat Enterprise Linux へのインストール

注意:このドキュメントは、Moodle 3.7 を RedHat Enterprise Linux (RHEL) 8 にインストーすることに関連しています。

Contents

1 サーバのインストール
2 ネットワークインターフェース
3 ホスト名とドメイン名を設定する
4 システムの登録
5 SELinux
6 ファイアウォール
7 MariaDB / MySQL
8 Moodle のセットアップ
8.1 ダウンロード
8.2 解凍しファイル権限その他を設定する
8.3 config.php を設定する
9 Apache
9.1 ドキュメント・ルートを設定する
10 PHP
11 Moodle のインストール
12 cron job のセットアップ
12.1 CLI バージョン
12.2 Web バージョン
13 あなたの新しいインストール(環境)を試す
14 SSL 証明書をインストールする
15 関連項目 See also

1 サーバのインストール

  • Web サーバ
    Moodle 3.7 には PHP 7.1が必要です。RHEL8 には PHP 7.2 が同梱されています。[1]

  • データベース
    Moodle 3.7 には MariaDB 5.5 または MySQL 5.6 が必要です。 RHEL8 には MariaDB 10.3 および MySQL 8.0 (これらは、同時にインストールはできません) が同梱されています。[2]

  • 'Server with a GUI' オプションに注意してください。それは、期待したようには動かないかもしれません。

注意:必要であれば、ファイアウォールを設定してください。あなたのマシンに、HTTP/HTTPS(そしておそらく FTP と SSH)を有効にしてそられのアクセスだけをさせることのみが必要だと思います。

2 ネットワークインターフェース

インストール中に、"System" -> "Network & Host Name" の下の、NIC を覚えておいてください。それは、デフォルトでは有効になりません。

3 ホスト名とドメイン名を設定する

system-config-network とタイプして、GUI エディタを開いてください。DNS タブをクリックします。"DNS Search Path" に、たとえば、myuniversity.edu と入れます。さあ、"Hostname" があなたが使用するだろう名前を含んでいることを確認し、変更するために、クリックして有効にしてください。

4 システムの登録

(略)

5 SELinux

Red Hat Enterprise Linux のデフォルトでは、SELinux は 'enforcing' になっています。しかしながら、デフォルトのディレクトリ(/var/www/html)以外に web コンテントを配置している場合には、ユーザに、あるいはその他のアクセスの問題が発生します。もしあなたが SELinux と権限の設定に慣れていないのなら、SELinux のレベルを(おそらくセキュリティは甘くなりますが)'permissive' あるいは 'disabled' にすらするのが、もっと簡単かもしれません(訳者注:これはお勧めできません。SELinux は、有効なセキュリティ対策であり、semanage コマンドにより、設定を施すことにより、デフォルト構成以外にも対応できます)。

# vi /etc/sysconfig/selinux

SELINUX=disabled

[4] を参照してください。

6 ファイアウォール

内部ファイアウォール(RHEL バージョン 7 からは、'firewalld'[5])がデフォルトでは有効になります。これは、web サーバへのアクセスをブロックします。あなたは、最初にテスト接続を試すために停止してもよいかもしれません。

service firewalld stop

そして、無効にするとか(訳者注:これはテストのためであり、テストが終了したら有効にしてください)。

chkconfig firewalld off

あるいは、HTTP の永続的なアクセスを可能にし、HTTPS もそうするなら、

firewall-cmd --permanent --zone=public --add-service=http
firewall-cmd --permanent --zone=public --add-service=https

firewalld をリスタートし、許可のステータスをチェックします。

service firewalld restart
firewall-cmd --zone=public --list-services

firewalld のかわりに iptables を使用する場合は、[6] を参照してください。

7 MariaDB / MySQL

  • 少なくとも、'mariadb' と 'mariadb-server' パッケージがインストールされていることを確認してください。(MySQL の場合は、"mysql" と "mysql-server" を確認してください。)
yum install mariadb mariadb-server
  • デーモンを動作させてください。デフォルトでは動作しません。そして、自動スタートをセットしてください。[7] も参照してください。(MSQL には "mysqld" を使用してください。)
service mariadb start; chkconfig mariadb on
  • /etc/my.cfg (MySQL の場合は異なるかもしれません)(MariaDB 10.3 ではすでにデフォルト設定ですので以下は必要ありません。)を編集してください。
vi /etc/my.cnf

[mysqld] セクションにスクロールダウンし、"Basic Settings" の下の最後のステートメントの下荷、以下を追加します。

innodb_file_format = Barracuda
innodb_file_per_table = 1
innodb_large_prefix
  • もし、root で、MariaDB/MySQL のパスワードを変更していなければ、変更し、インストールを安全にしてください。

    mysql_secure_installation

  • 次に、MariaDB/MySQL データベースをセットアップ (詳細は、http://moodle.org/doc/?file=install.html#Database を参照してください)します。

  • MariaDB/MySQL を root で起動します。
    mysql -u root -p
    (パスワードのプロンプトで、上記で設定したパスワードを入力してください。)

  • MariaDB/MySQL の '>' プロンプトで、以下のコマンドを入力してください(MariaDB/MySQL のコマンドは、';' で終わります)。

CREATE DATABASE mymoodle CHARSET 'utf8mb4';

('mymoodle' は、あなたが使用したいデータベース名であり、後で Moodle の 'config.php' に入力されるものです。)

GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,CREATE TEMPORARY TABLES,DROP,INDEX,ALTER ON mymoodle.* TO moodleuser@localhost IDENTIFIED BY 'moodlepass';

(上記と同様に、 'mymoodle'、 'moodleuser' そして 'moodlepass' は、Moodle の 'config.php' に後で入力されます。)

flush privileges;
quit
  • (! Consider MariaDB/MySQL security - not covered here. If you run a firewall, you don't have too much to worry about.)
  • (! MariaDB/MySQL のセキュリティを考慮してください - ここでは取り上げません。もしあなたがファイアウォールを実行しているのなら、あなたはあまり心配しなくてもいいでしょう。)

8 Moodle のセットアップ

(私は、/usr/moodle に、データは /usr/moodle_data にインストールします。)

8.1 ダウンロード

  • あなたのお気に入りの Moodle のバージョンを moodle.org からダウンロード(.zip アーカイブが簡単です)します。 root になり、/usr 配下にディレクトリを作成し、zip ファイルをコピーしてください。
su
mkdir /usr/moodle
mkdir /usr/moodle_data
cp moodle_111.zip /usr/moodle
  • もしあなたがそうしたいのなら、GIT バージョンの最新機能をすべて直接インストールすることができます。zip ファイルをダウンロードしてコピーすることのかわりに。詳細は、Gitガイド を参照してください。
cd /usr
git clone git://git.moodle.org/moodle.git
  • あるいは、もしあなたがそうしたいのなら、CVS バージョンの最新機能をすべて直接インストールすることができます。zip ファイルをダウンロードしてコピーすることのかわりに。
cd /usr/moodle
cvs -d:pserver:anonymous@uk.cvs.moodle.org:/cvsroot/moodle login
cvs -z3 -d:pserver:anonymous@uk.cvs.moodle.org:/cvsroot/moodle co moodle

8.2 解凍しファイル権限その他を設定する

  • まだ root で私たちは、moodle を解凍し、なにか適切なものにリネームしています(私は、複数の moodle をインストールしているために、このセットアップが必要なのです)。私は、このインストール環境を、mymoodle と呼びます。
cd /usr/moodle
unzip moodle_xxx.zip
mv moodle mymoodle
(オプションセットアップ - 私には、1つ以上のインストール環境が、/usr/moodle 配下にあります。)
mkdir /usr/moodle_data/mymoodle
(上記の moodle のインストール環境と同じです)
chown -R apache:apache /usr/moodle
(! Apache に、あなたの Moodle プログラムのすべての権限を与えるのは、セキュアではありません。フォーラムの、本番環境をセキュアにする方法の推奨設定をチェックしてください。)
chown -R apache:apache /usr/moodle_data

8.3 config.php を設定する

  • まだ root で config ファイルをコピーして編集しています。あなたは、あなたのサーバの host/domain 名を知っているべきです。
cd /usr/moodle/mymoodle
cp config-dist.php config.php
vi config.php (あるいは、あなたの好みのエディタで!)
  • あなたの config.php の設定は、以下のようになるべきです。
dbtype = 'mariadb' (MySQL には、'mysqli' を使用してください)
dbhost = 'localhost'
dbname = 'mymoodle'
dbuser = 'moodleuser'
dbpass = 'moodlepass' (<-- これは、あなた自身のものにした方がいいです)
prefix = 'mdl_'
(もし、1つ以上の Moodle インスタンスがサーバ上にあり、データベースをシェアする予定であるならば、異なる prefix を使用してください。)
wwwroot = 'http://myhost.mydomain'
(もしあなたが moodle を試したいだけであり、その他のマシンからアクセスされないのなら、'http://localhost/mymoodle' を使用できます。)
dataroot = '/usr/moodle_data/mymoodle'
  • あなたの変更を保存して、エディタから exit します。

9 Apache

  • まだインストールされていないのなら、インストールしてください。
yum install httpd

あるいは、全部を。

yum install httpd*
  • スタートし、リブート後も自動起動させます。
service httpd start; chkconfig httpd on
  • web ブラウザを開き、インストールした web サーバに、デフォルトのポート(80)で接続できることを確認してください。もし、OK でなければ、firewall (上記参照)によりブロックされているかもしれません。続ける前に、問題を修正してください。
  • アパッチの設定ファイルを編集してください。

/etc/httpd/conf/httpd.conf

  • ファイルの最後に次の行を追加してください。
<Directory "/usr/moodle/mymoodle"> (Moodle のインストールの過程で使用されるディレクトリです)
DirectoryIndex index.php
AcceptPathInfo on
AllowOverride None
Options None
Order allow,deny
Allow from all
</Directory>
Alias /mymoodle "/usr/moodle/mymoodle"
  • "allow,deny" にスペースを挿入しないでください(よくある間違いです!)
  • 残りの config ファイルをとおして、その他の(明白な)変更 - 管理者の email 等を、加えたいと思うかもしれません。しかし、重要ではありませんが。
  • サービスアプリケーション(Mysql と同様の)を走らせ、カチッと "httpd" をスタートして、変更を保存し、exit してください。

9.1 ドキュメント・ルートを設定する

以下を編集してください。

/etc/httpd/conf/httpd.conf

DocumentRoot /var/www/html
から、
DocumentRoot /var/www/html/mymoodle
へと編集してください。

あなたの web サイトを、http://www.whatever.com の代わりに、http://www.whatever.com/mymoodle で提供したければ、DocumentRoot は変更せず、Moodle の 'config.php' の wwwroot パラメータをそれに応じて変更してください。

10 PHP

  • PHP をインストールしてください。
yum install php php-cli php-common php-fpm php-gd php-intl php-json php-mbstring php-mysqlnd php-opcache php-pdo php-xml php-xmlrpc php-pecl-zip php-soap
  • インストールされた PHP のバージョンをチェックしてください。
# php -v
  • PHP が動き始めるができるように、web サーバを再起動してください。
service httpd restart
  • /var/www/html ディレクトリ(あるいは Apache の "DocumentRoot" が指し示すどこでも)の中に、次の内容で "phpinfo.php" ファイルを作成してください。
<?php
phpinfo();
?>

web ブラウザを開き http://webserver/phpinfo.php をブラウズして、PHP が web サーバで 動作していることを確認してください。てください。そして、セキュリティ上の理由から、ファイルを削除してください。

11 Moodle のインストール

さあ、すべて準備が整いました。web ブラウザを使用して http://webserver/mymoodle/install.php を開き、インストールを開始してください。

12 cron job のセットアップ

root になり、/etc/crontab ファイルを vi (あるいはその他のエディタ)で編集する、あるいは、root ユーザの "パーソナルな" crontab に、行を追加してください(両方は行わないでください!)。(訳者注:Cron も参照してください。)

12.1 CLI バージョン

注:Moodle のドキュメントによれば、web バージョンは将来削除されるかもしれないので、ユーザは可能であれば CLI バージョンを使用すべきです[8]

  • root ユーザの crontab にエントリを配置するには、以下のコマンドを使用してください。
crontab -e

コマンドを 5分毎にコマンドを実行するために、次の行を追加してください。

 */5 * * * * /usr/bin/php /path/to/mymoodle/admin/cli/cron.php

12.2 Web バージョン

注:可能であれば CLI バージョンを使用してください。

  • root ユーザの crontab にエントリを配置したければ以下のコマンドを実行してください。
crontab -e

次の行を追加してください。

*/5 * * * * /usr/bin/wget -O /dev/null http://localhost/mymoodle/admin/cron.php
           (あなたのサイトのために、適切な URL に変更してください)

  • /etc/crontab にエントリを追加したければ、/etc/crontab ファイルをエディタ(vi)で開き、次の行を追加してください。
*/5 * * * * root /usr/bin/wget -O /dev/null http://localhost/mymoodle/admin/cron.php
           (あなたのサイトのために、適切な URL に変更してください)

どちらの方法をとるにしても、ファイルを保存して exit する(vi では、 して ':wq' を押下します)ことを忘れないでください。

13 あなたの新しいインストール(環境)を試す

http://myhost.mydomain/admin あるいは http://myhost.mydomain/mymoodle/admin

あるいは、同じマシンでブラウザを走らせているのなら、

http://localhost/admin あるいは http://localhost/mymoodle/admin

14 SSL 証明書をインストールする

SSL 証明書をインストールしたのちに、Moodle 'config.php' ファイルの 'wwwroot' パラメータの 'http' を 'https' に変更してください。(訳者注:AWS EC2上の Fedora30 SELinux マシンで、Let's Encrypt を使う方法 も参考にしてください。)

15 関連項目

Unix 又は Linux への インストール
Moodle のインストール

カテゴリ:管理者インストール
メインページ

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした