CentOS 8 + Moodle 3.8 のインストール

さくらの VPS に CentOS 8 + Moodle 3.8 をインストールする手順。

さくらの VPS に CentOS 8 を入れるのはボタン一つでできる。もともと /etc/selinux/config で SELINUX=disabled になっているし,/etc/ssh/sshd_config は PermitRootLogin yes になっているし,ファイアウォールも動いてないようだ。とりあえず一般ユーザを作っておく:

useradd okumura
passwd okumura

アップデートは yum でなく dnf を使う:

dnf update
dnf install langpacks-ja
dnf install emacs
dnf install postfix mailx
emacs -nw /etc/postfix/main.cf  # inet_interfaces = all にする
systemctl start postfix
systemctl enable postfix
emacs /etc/aliases  # root のエイリアスを設定
newaliases

Apacheのインストール:

dnf install httpd httpd-tools httpd-devel httpd-manual mod_ssl
systemctl enable httpd
systemctl start httpd

PHPのインストール:

dnf install php php-mbstring php-xml php-xmlrpc php-gd php-pdo php-mysqlnd php-json \
    php-devel php-pecl-zip php-intl php-soap php-opcache

必要に応じて /etc/php.ini と /etc/php-fpm.d/www.conf を編集。

systemctl start php-fpm
systemctl enable php-fpm
systemctl restart httpd

mariadb(MySQL派生のデータベース)のインストール:

dnf install mariadb mariadb-server mariadb-devel
systemctl start mariadb
systemctl enable mariadb

インストールしたら mysql_secure_installation を実行する。いろいろ聞いてくるがすべてデフォルトでよい。root のパスワードを設定せよと言ってくるが,これは mysql の root のこと。root ユーザのログインパスワードとは別のものを設定すればよい。

Moodle 3.8 のための設定(moodleuserpassword は置き換えること):

mysql -u root -p
CREATE DATABASE moodle DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,CREATE TEMPORARY TABLES,DROP,INDEX,ALTER ON moodle.* TO 'moodleuser'@'localhost' IDENTIFIED BY 'moodleuserpassword';
quit

mkdir /var/www/moodledata
chown apache:apache /var/www/moodledata

moodle.org から Moodle 3.8 ソースをいただいてきて /var/www/html で展開する。/var/www/html/moodle の中に入る。

あとは URL にアクセスし,指示にしたがって入力すればよい。config.php が画面上に生成されるので,コピペして /var/www/html/moodle/config.php を作る。