RedHat Linuxのインストール

提供:MoodleDocs
移動先:案内検索
注意: このドキュメントは、RedHat Enterprise Linux(RHEL)8へのMoodle3.7のインストールに関するものです

サーバのインストール

  • Webサーバ
    • Moodle3.7にはPHP7.1が必要です。 RHEL8にはPHP7.2が付属しています。[1]
  • データベース
    • Moodle3.7にはMariaDB5.5またはMySQL5.6が必要です。 RHEL8にはMariaDB10.3とMySQL8.0が付属しています(同時にインストールすることはできません)。[2]
  • 'GUIを備えたサーバ' オプションに注意してください。期待どおりに機能しない場合があります。

注:必要に応じてファイアウォールを設定してください。違いがわからない限り、サーバマシンへのHTTP/HTTPS(およびおそらくFTPとSSH)アクセスを有効にするだけでよいでしょう。

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

インストール中、システム -> ネットワークとホスト名 で、NICを有効にすることを忘れないでください。デフォルトでは有効になっていません。

ホスト名とドメイン名を構成します

system-config-networkと入力して、GUIエディタを開きます。 DNSタブをクリックします。DNS検索パス に、myuniversity.eduなどのドメイン名を入力します。次に、ホスト名 に使用するコンピューター名が含まれていることを確認し、アクティブ化をクリックして変更を加えます

システム登録

  • パッケージの更新を受け取るには、redhat.comでユーザアカウントを作成し、 https://developers.redhat.com/ でログインして開発者として登録します。
  • 次の方法でシステムをサブスクライブします。
subscription-manager register --auto-attach

要求に応じてユーザ名とパスワードを入力します。

  • システムを更新してから再起動します
yum update
reboot

[3]を参照してください

SELinux

デフォルトのRedHatEnterprise Linuxには、SELinuxが 'enforcing' に設定されています。ただし、これにより、デフォルトディレクトリ(/var/www/html)以外のディレクトリに配置されたWebコンテンツへのアクセスにユーザの問題が発生したり、その他のアクセスの問題が発生したりする可能性があります。 SELinuxとパーミッションの設定に慣れていない場合は、SELinuxレベルを 'permissive' または 'disabled' に下げる方が簡単です(安全性は低いかもしれませんが)。

# vi /etc/sysconfig/selinux

SELINUX=disabled

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

ファイアウォール

内部ファイアウォール(バージョン7では 'firewalld' [5]を使用しているためRHEL)はデフォルトでオンになっています。 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


ファイアウォールを再起動して、許可ステータスを確認します。

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


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

MariaDB / MySQL

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

[mysqld]セクションまで下にスクロールし、基本設定 の下で、最後のステートメントの下に次の行を追加します。

innodb_file_format = Barracuda


innodb_file_per_table = 1


innodb_large_prefix
  • まだrootとして使用していない場合は、MariaDB/MySQLのrootパスワードを変更し、インストールも保護します
    • 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
  • (! MariaDB/MySQLのセキュリティを検討してください - ここでは取り上げません。ファイアウォールを実行している場合は、それほど心配する必要はありません。)

Moodleのセットアップ

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

ダウンロード

  • moodle.orgからお気に入りのバージョンのMoodleをダウンロードします(.zipアーカイブが最も簡単です)
  • ルートとして/usrの下にフォルダを作成し、zipをコピーします
    • su
    • mkdir /usr/moodle
    • mkdir /usr/moodle_data
    • cp moodle_111.zip /usr/moodle
  • 必要に応じて、GITバージョンを直接インストールしてすべての最新機能を利用できます。 zipファイルをダウンロードしてコピーする代わりに。詳細については、[8]を参照してください。
  • または、必要に応じて、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

ファイルのアクセス許可などを解凍して設定します

  • それでもrootとして、moodleを解凍し、適切な名前に変更します(moodleを複数インストールしているため、このセットアップ)。これをインストールmymoodleと呼びます。
    • cd /usr/moodle
    • unzip moodle_xxx.zip
    • mv moodle mymoodle
      • (オプションの手順 - /usr/moodleの下に複数のインストールがあります)
    • mkdir /usr/moodle_data/mymoodle
      • (上記のmoodleインストールと同じ名前)
    • chown -R apache:apache /usr/moodle
      • (! ApacheにMoodleプログラムへの完全な権利を与えることは安全ではありません。本番環境を保護する方法に関する推奨事項についてはフォーラムをチェックしてください。)
    • chown -R apache:apache /usr/moodle_data

config.phpのセットアップ

  • ルートコピーとして構成ファイルを編集する場合でも、サーバのホスト/ドメイン名を知っておく必要があります
    • 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'(<--これを独自のものにする方がよい)
    • プレフィックス= 'mdl_'
      • (同じサーバ上にMoodleのインスタンスが複数あり、データベースを共有する予定の場合は、異なるプレフィックスを使用してください)
    • wwwroot = 'http://myhost.mydomain'
      • (moodleを試してみたいだけで、他のマシンからアクセスしない場合は、'http://localhost/mymoodle' を使用できます)
    • dataroot = '/usr/moodle_data/mymoodle'
  • 変更を保存して、エディタを終了します

Apache

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

またはすべて

yum install httpd*
  • 起動し、再起動後に自動起動するようにします。
service httpd start; chkconfig httpd on
  • Webブラウザーを開き、インストールされているWebサーバとサーバのデフォルトポート(80)に接続できることを確認します。接続できない場合は、ファイアウォールによってブロックされている可能性があります(上記を参照)。続行する前に問題を修正してください。
  • Apache構成ファイルを編集します
    /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" にスペースを挿入しないでください(よくある間違いです!)
  • 構成ファイルの残りの部分を実行して、他の(明らかな)変更(管理者の電子メールなど)を行うこともできます。しかし、重要ではありません。
  • サービスアプリケーションを実行します(Mysqlの場合と同じ)- httpd にチェックマークを付けて開始し、変更を保存して終了します。

ドキュメントルートの設定

編集

/etc/httpd/conf/httpd.conf

変更元:DocumentRoot /var/www/html

変更先:DocumentRoot /var/www/html/mymoodle

Webサイトを http://www.whatever.com ではなく http://www.whatever.com/mymoodle として提供する場合は変更せず、それに応じてMoodle 'config.php' ファイルの 'wwwroot' パラメーターを変更してください。

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サーバで機能していることを確認します。次に、セキュリティ上の理由からファイルを削除します。


Moodleをインストールする

これですべての準備が整いました。 Webブラウザを使用して http://webserver/mymoodle/install.php を開き、インストールを開始します。

cronジョブを設定します

rootユーザがvi(または別のエディタ)を使用して/etc/crontabファイルを編集するか、rootユーザの "personal" crontabに行を追加できます(両方を行わないでください!)。

CLIバージョン

注意: Moodleのドキュメントによると、Webバージョンは将来削除される可能性があるため、ユーザは可能であればCLIバージョンを使用する必要があります。[9]
  • rootユーザのcrontabにエントリを配置する場合は、次を使用します。
    • crontab -e
    • 次の行を追加します。
 */5 * * * * /usr/bin/php /path/to/mymoodle/admin/cli/cron.php

5分ごとにコマンドを実行します。

ウェブバージョン

注意: 可能であればCLIバージョンを使用してください。
  • rootユーザのcrontabにエントリを配置する場合は、次を使用します。

---

  • /etc/crontabにエントリを追加する場合:
  • /etc/crontabファイルをエディタで開きます(vi)。
  • 次の行を追加します。

---

  • いずれの場合も、ファイルを保存して終了することを忘れないでください(viでは<Esc>、次に ':wq')

新しいインストールを試してください

http://myhost.mydomain/admin または http://myhost.mydomain/mymoodle/admin

または、同じマシンでブラウザを実行している場合

http://localhost/admin または http://localhost/mymoodle/admin

SSL証明書のインストール

SSL証明書をインストールした後、Moodleの 'config.php' ファイルの 'wwwroot' パラメータで 'http' を 'https' に変更します。

関連項目