FreeBSD15.1+moodle5.3+Apache2.4+php8.4+maridb114
Step1)安裝所需要套件,FreeBSD 15.1 官方儲存庫已將 PHP 8.4 作為穩定版本。請執行以下指令安裝網頁伺服器、資料庫與 Moodle 5.3 要求的完整 PHP 擴充元件,以下指令使用root權限執行
root@moodle# pkg install -y apache24 mariadb114-server git \
php84 php84-mysqli php84-curl php84-gd php84-intl \
php84-mbstring php84-opcache php84-xml php84-zip \
php84-bcmath php84-soap php84-iconv php84-ctype \
php84-simplexml php84-tokenizer php84-fileinfo \
php84-exif php84-xmlreader php84-dom \
php84-sodium php84-filter php84-session php84-zlib
Step2)啟用基礎服務並初始化資料庫
將服務加入開機自啟,並建立 Moodle 必備的 utf8mb4 全語系資料庫
啟用服務
root@moodle# sysrc apache24_enable="YES"
root@moodle# sysrc mysql_enable="YES"
root@moodle# sysrc php_fpm_enable="YES"
啟動資料庫與 FastCGI 處理器(預設使用9000埠,設定擋在/usr/local/etc/php-fpm.d/www.conf )
root@moodle# service mysql-server start
root@moodle# service php_fpm start
初始化 Moodle 資料庫
root@moodle# mysql -u root -p
mysql> CREATE DATABASE moodle DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
mysql> CREATE USER 'moodleuser'@'localhost' IDENTIFIED BY '你的密碼';
mysql> GRANT ALL PRIVILEGES ON moodle.* TO 'moodleuser'@'localhost';
mysql> FLUSH PRIVILEGES;
mysql> exit;
Step3)設定php.ini
root@moodle# cp /usr/local/etc/php.ini-production /usr/local/etc/php.ini
root@moodle# ee /usr/local/etc/php.ini
max_execution_time = 600
memory_limit = 512M
upload_max_filesize = 128M
post_max_size = 128M
max_input_vars = 5000
date.timezone = Asia/Taipei
Step4)
root@moodle# mkdir -p /usr/local/www/moodleweb
root@moodle# mkdir -p /usr/local/www/moodledata
root@moodle# cd /usr/local/www/moodleweb
root@moodle# git clone -b MOODLE_503_STABLE https://github.com/moodle/moodle.git
root@moodle# chown -R www:www /usr/local/www/moodleweb
root@moodle# chown -R www:www /usr/local/www/moodledata
root@moodle# chmod -R 775 /usr/local/www/moodledata
Step5)啟用 Apache 必要模組
開啟 /usr/local/etc/apache24/httpd.conf,確保以下三行模組前方的 # 註解已被移除:apache
root@moodle# ee /usr/local/etc/apache24/httpd.conf
LoadModule proxy_module libexec/apache24/mod_proxy.so
LoadModule proxy_fcgi_module libexec/apache24/mod_proxy_fcgi.so
LoadModule rewrite_module libexec/apache24/mod_rewrite.so
root@moodle# service apache24 restart
Step6)建立 Moodle 虛擬主機設定檔:
建立新檔案 /usr/local/etc/apache24/Includes/moodle.conf
root@moodle# ee /usr/local/etc/apache24/Includes/moodle.conf
內容如下
重新啟動apache24
#service apache24 restart
Step7)瀏覽http://你的主機網址或IP/,就會進入安裝畫面,安裝過程會建立資料庫,檢查系統是否有缺少套件,php設定是否有錯
Step8)啟動cron.php
#ee /etc/crontab
新增以下
* * * * * root /usr/bin/php /path/to/moodle/admin/cli/cron.php >/dev/null
參考資料
https://docs.moodle.org/503/en/Installation_quick_guide
常見錯誤
(1)新增題庫時出現:背景任務 \mod_qbank\task\transfer_question_categories 尚未完成或執行失敗。部分預先安裝的試題庫可能尚未轉移至 mod_qbank 實例
cron.php未執行,執行一次cron.php
# php admin/cli/cron.php