はじめにCentOS8 64bitを通常インストールします

Selinuxの無効化をします (無効化するとセキュリティーが低下するので、やる場合は各自の責任で行ってください)
# cd /etc/selinux
# vi config
SELINUX=enforcing
 ↓
SELINUX=disabled (無効化設定します)

リブートをします
# reboot

OSモジュールのアップデートとリブートをします
# yum update
# reboot

httpdとphp7.2をインストールします
# dnf install  php-common php-cli php-pear php php-pdo php-mysqlnd php-gd php-xml php-mbstring php-xmlrpc php-intl php-soap httpd httpd-tools httpd-devel mod_ssl php-devel php-opcache php-pecl-apcu apr apr-devel apr-util apr-util-devel php-fpm

Fiewallの設定をします
デフォルトではポート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とphp-fpmを起動します
# systemctl restart httpd.service
httpdが自動起動するように設定します
# systemctl enable httpd.service
# systemctl restart php-fpm
# systemctl enable php-fpm.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  <--こちらに修正

比較的小規模サイト向けにphp-fpmの設定変更をします
# cp /etc/php-fpm.d/www.conf /etc/php-fpm.d/www.conf.org
# vi /etc/php-fpm.d/www.conf

pm.max_children = 50
 ↓
pm.max_children = 25

pm.max_spare_servers = 35
 ↓
pm.max_spare_servers = 20

;pm.max_requests = 500
 ↓
pm.max_requests = 500

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=  (そのまま)

テストページを作って動作確認します
# cd /data/html
# vi test.php
下記の3行を記入します。
<?php
phpinfo();
?>

phpの設定変更を反映させるためにhttpdとphp-fpmをリスタートします
# systemctl restart httpd
# systemctl restart php-fpm
# systemctl enable httpd
# systemctl enable php-fpm


ブラウザでこのサーバーにアクセスしてPHPテスト画面が出ればOKです。
http://( FQDN )/test.php
テストページは後で必ず削除してください。
# rm /data/html/test.php

MariaDBをインストールします
# yum install mariadb mariadb-server mariadb-devel mariadb-server-utils mariadb-common mariadb-server-galera galera perl-DBD-MySQL libzip php-pecl-zip  php-json

MariaDBの設定をします
# vi /etc/my.cnf.d/mariadb-server.cnf
[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
Enter password:
> select host,user,password from mysql.user; (登録ユーザーを確認)
> create database moodle character set utf8mb4 COLLATE utf8mb4_unicode_ci;  (moodleと言うデータベースを作成)
> show databases;
> exit

ブラウザでmoodle.orgサイトにアクセスして、Moodle3.6をダウンロードしてインストールします
URL  https://moodle.org/

# cd /usr/local/src (ダウンロード先が/usr/local/srcの場合)
# tar xvfz moodle-3.6.tgz
# cp -r moodle /data/html/.
Moodle用のデータ搭載用ディレクトリを作ります
# mkdir /data/moodledata
# chown apache:apache /data/moodledata (httpdから書き込めるようにします)

ブラウザで http://[FQDN]/moodle にアクセスしてインストールを開始します。
インストール途中でブラウザに表示される内容を/data/html/moodle/config.phpに書込む必要があります。

インストールの途中(特に下記のページ)で、一部が白紙ページになって表示されないことがあります。
hakushi_image

内部で何かの処理をしているかもしれないので、十分時間をとってから、この場合はブラウザのリロードをしてみます。
あんまりすぐにリロードすると、下記のように怒られます。
image

うまくいけば、下記のように次のページが表示されます。
next_image



Last modified: Friday, 13 October 2023, 10:42 AM