(11) CentOS7にMoodle3.11をインストール
完了要件
Moodle 3.11+ Installの要求環境: Requires: PHP 7.2, MariaDB 10.2.29 or MySQL 5.7 or Postgres 9.6 or MSSQL 2012 or Oracle 11.2 今回はPHP7.4とMariaDB10.5を使ってみました |
|
はじめにCentOS7 64bitを通常インストールします Selinuxの無効化をします (無効化するとセキュリティーが低下するので、やる場合は各自の責任で行ってください) # cd /etc/selinux # vi config SELINUX=enforcing ↓ SELINUX=disabled (無効化設定します) OSモジュールのアップデートとリブートをします # yum update # reboot |
|
旧バージョンのmaridbがインストールされているかチェックし、もし有ればアンインストールします # rpm -qa | grep mariadb # yum erase mariadb-libs 依存性関連でpostfixも削除されてしまうので、必要なら後でインストールします 旧バージョンのPHPがインストールされているかチェックし、もし有ればアンインストールします # rpm -qa |grep php # yum erase php 旧バージョンのApacheがインストールされているかチェックし、もし有ればアンインストールします # rpm -qa |grep httpd # yum erase httpd |
|
epelリポジトリをインストールします # yum install epel-release 通常はepelリポジトリを有効にしないように設定ファイルを修正します # vi /etc/yum.repos.d/epel.repo enabled=1 ↓ enabled=0 remiリポジトリをインストールします # rpm --import http://rpms.famillecollet.com/RPM-GPG-KEY-remi # rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm 通常はremiリポジトリを有効にしない設定にします # vi /etc/yum.repos.d/epel.repo # vi /etc/yum.repos.d/remi.repo # vi /etc/yum.repos.d/remi-safe.repo enabled=1 ↓ enabled=0 |
|
php7.4をremiリポジトリで検索してインストールします # yum search --enablerepo=remi,remi-php74 php74 httpd php7.4をインストール # yum install --enablerepo=epel,remi,remi-php74 gd-last httpd httpd-devel httpd-tools mod_ssl php74-php.x86_64 pcre-devel php php-cli php-common php-devel php-gd php-intl php-json php-mbstring php-opcache php-pdo php-pear php-pecl-apcu php-pecl-zip php-process php-soap php-xml php-xmlrpc php-fedora-autoloader php-sodium php-mysqlnd | |
MariaDBをmariadbリポジトリでインストールします # vi /etc/yum.repos.d/mariadb.repo ↓はCentOS7用のMariaDB.repo ファイル例です(詳細は http://downloads.mariadb.org/mariadb/repositories/) [mariadb] name = MariaDB baseurl = http://yum.mariadb.org/10.5/centos7-amd64 gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB gpgcheck=1 enable=1 |
|
ためしにMariaDB(10.5.8-1)をインストールしました。 # yum install MariaDB-client MariaDB-server MariaDB-common MariaDB-compat boost-program-options galera |
|
Fiewallの設定をしますfirewall-cmd --list-all-zones (開いているポートをチェック) デフォルトではポート22/TCP(ssh)しか開いていないのでhttp,https,smtpなど必要なポートを追加します # firewall-cmd --list-all-zones (開いているポートをチェック) # firewall-cmd --add-service=http --zone=public --permanent # firewall-cmd --add-service=https --zone=public --permanent # firewall-cmd --add-service=smtp --zone=public --permanent # firewall-cmd --reload # firewall-cmd --list-all-zones (開いているポートをチェック) |
|
httpdを起動します # systemctl restart httpd.service httpdが自動起動するように設定します # systemctl enable httpd.service |
|
httpdの環境設定をします Webサイトをのせるディレクトリを作ります # mkdir /data # mkdir /data/html # cd /etc/httpd/conf オリジナルの設定ファイルを保存しておきます # cp httpd.conf httpd.conf.org httpdの設定をします # vi httpd.conf DocumentRoot “/var/www/html” ↓ DocumentRoot “/data/html” <--こちらに修正 <Directory “/var/www/html”> ↓ <Directory “/data/html”> <--こちらに修正 DirectoryIndex index.html ↓ DirectoryIndex index.php index.html <--こちらに修正 |
|
mime.typesの設定追加をします # vi /etc/mime.types application/x-httpd-php php application/x-httpd-php-source phps |
|
phpの設定をします ログを記録するディレクトリを作ります # mkdir /var/log/php # chown apache:apache /var/log/php # chmod 755 /var/log/php オリジナルの設定ファイルを保存しておきます # cp /etc/php.ini /etc/php.ini.org phpの設定をします # vi /etc/php.ini ;date.timezone = ↓ date.timezone = 'Asia/Tokyo' error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT ↓ error_reporting = E_ALL & ~E_NOTICE ;error_log = php_errors.log ↓ error_log = "/var/log/php/php_errors.log" (さきほど作ったディレクトリにログを残すようにします) memory_limit = 128M ↓ memory_limit = 256M (多めにすることを推奨) post_max_size = 8M ↓ post_max_size = 51M (アップロードしそうなファイルの最大値) upload_max_filesize = 2M ↓ upload_max_filesize = 51M (アップロードしそうなファイルの最大値) ;mbstring.language = Japanese ↓ mbstring.language = Japanese ;mbstring.internal_encoding = ↓ mbstring.internal_encoding = UTF-8 ;mbstring.http_input = ↓ mbstring.http_input = pass ;mbstring.http_output = ↓ mbstring.http_output = pass ;mbstring.encoding_translation = Off ↓ mbstring.encoding_translation = Off ;mbstring.detect_order = auto (そのまま) ;mbstring.substitute_character = none ↓ mbstring.substitute_character = none; ;mbstring.func_overload = 0 ↓ mbstring.func_overload = 0 ;mbstring.strict_detection = On ↓ mbstring.strict_detection = Off ;mbstring.http_output_conv_mimetype= (そのまま) ;max_input_vars = 1000 ↓ max_input_vars = 5000 |
|
テストページを作って動作確認します # cd /data/html # vi test.php 下記の3行を記入します。 <?php phpinfo(); ?> phpの設定変更を反映させるためにhttpdをリスタートします # systemctl restart httpd ブラウザでこのサーバーにアクセスしてPHPテスト画面が出ればOKです。 http://( FQDN )/test.php テストページは後で必ず削除してください。 # rm /data/html/test.php |
|
MariaDBの追加設定をします # cp -p /etc/my.cnf.d/server.cnf /etc/my.cnf.d/server.cnf.org # vi /etc/my.cnf.d/server.cnf # this is read by the standalone daemon and embedded servers [server] character-set-server=utf8 <--追加 max_allowed_packet=10MB <--追加 connect_timeout=360 <--追加 net_read_timeout=360 <--追加 # vi /etc/my.cnf.d/mysql-clients.cnf [mysql] default-character-set = utf8 <--追加 |
|
MariaDBの設定をします # systemctl start mariadb (MariaDBを起動します) # systemctl enable mariadb # mysql_secure_installation (mariadbの初期設定をします) Enter current password for root (enter for none): Set root password? [Y/n] Y New password: (適当なパスワード) Re-enter new password:(適当なパスワード) Remove anonymous users? [Y/n]Y Disallow root login remotely? [Y/n] Y Remove test database and access to it? [Y/n] Y Reload privilege tables now? [Y/n] Y Thanks for using MariaDB! |
|
Moodle用のベータベースをMariaDBに作ります # systemctl restart mariadb.service # mysql -u root -p(パスワード) (-pとパスワードの間にスペースを入れない) > select host,user,password from mysql.user; > create database moodle character set utf8mb4 COLLATE utf8mb4_unicode_ci; > show databases; > exit |
|
ブラウザでmoodle.orgサイトにアクセスして、Moodle3.11+をダウンロードしてインストールします URL https://moodle.org/ # cd /usr/local/src (ダウンロード先が/usr/local/srcの場合) # tar xvfz moodle-latest-311.tgz # cp -r moodle /data/html/. Moodle用のデータ搭載用ディレクトリを作ります # mkdir /data/moodledata # chown apache:apache /data/moodledata (httpdから書き込めるようにします) |
|
ブラウザで http://[FQDN]/moodle にアクセスしてインストールを開始します。 インストール途中でブラウザに表示される内容を/data/html/moodle/config.phpに書込む必要があります。 ![]() |
|
インストール途中で要求環境のチェックがあります。この手順で同じバージョンのソフトをインストールしていれば不合格になることはおそらく無いと思います。 |
|
HTTPS接続にしていないと同じ要求環境チェックのページで怒られます。とりあえず無視してそのままインストールを続けることも可能です。 ![]() |
|
インストールが完了した後のトップページの画面です。何もないとつまらないので「テストコース」という名称のコースを1個作ってみました。![]() 忘れずにcronの設定をしてください。 |
最終更新日時: 2023年 10月 13日(金曜日) 10:42