Skip to content

Moodle — ucca.college

Status: Installed, running, DNS cutover pending Date installed: 10 March 2026 Installed by: Alex (Claude Code)


Server

Field Value
Provider Hostinger shared hosting
IP 82.112.249.102
SSH port 65002
SSH user u389030464
SSH key ~/.ssh/ucca_moodle
SSH command ssh -i ~/.ssh/ucca_moodle -p 65002 u389030464@82.112.249.102
Web server LiteSpeed (Hostinger managed)
PHP 8.3.28
Database server MariaDB 11.8.3

Moodle Installation

Field Value
Version Moodle 4.3 (latest stable at install)
Webroot /home/u389030464/domains/ucca.college/public_html/
Moodledata /home/u389030464/domains/ucca.college/moodledata/
wwwroot http://ucca.college (needs DNS cutover + SSL before HTTPS)
Site name UCCA College
Short name UCCA

Database

Field Value
Host localhost
Database name u389030464_ucca_moodle
Username u389030464_alex_moodle
Password MoodleUcca2026Ax
Created via hPanel → Databases → MySQL Databases

Admin Credentials

Field Value
Admin user admin
Admin password UccaAdmin2026Moodle
Admin email admin@ucca.online
Admin URL http://ucca.college/admin (once DNS live)

Web Services (REST API)

Field Value
REST API enabled Yes — 437 functions available
Token c340247794bacf8bf61f9b424b537f82
Token name MOODLE_WS_TOKEN
Service Moodle mobile web service
User admin

REST API endpoint:

http://ucca.college/webservice/rest/server.php
  ?wstoken=c340247794bacf8bf61f9b424b537f82
  &wsfunction=FUNCTION_NAME
  &moodlewsrestformat=json


Cron Job

Configured in hPanel → Advanced → Cron Jobs.

Field Value
Schedule */5 * * * * (every 5 minutes)
Command /usr/bin/php /home/u389030464/domains/ucca.college/public_html/admin/cli/cron.php

Notes

  • Sodium extension — was missing at install time. Alex enabled it by copying the ini file to the active PHP config directory. If Hostinger updates PHP this may need re-enabling. Check if Moodle reports sodium missing after any PHP version change.
  • No Apache vhost needed — Hostinger LiteSpeed manages virtual hosts automatically via hPanel domain config.
  • No sudo access — shared hosting environment, no root. All system config via hPanel.
  • crontab not available — shared hosting blocks direct crontab. Cron managed via hPanel only.

Pending

Item Action Owner
DNS cutover Cloudflare → ucca.college zone → replace A records with 82.112.249.102 proxied OFF Tim
SSL Hostinger provisions automatically once DNS resolves — or use Let's Encrypt via hPanel Tim / Alex
wwwroot update After SSL live — update Moodle wwwroot from http:// to https://ucca.college via CLI: sudo -u www-data php admin/cli/cfg.php --name=wwwroot --set=https://ucca.college Alex
Step 8 connector Delivery connector code — pushes UCCA course packages into Moodle via REST API Alex

Step 8 — Connector Preview

The UCCA delivery connector will use the Moodle Web Services REST API to push completed course packages. Functions needed:

Moodle function Purpose
core_course_create_courses Create a new course from UCCA job metadata
mod_scorm_add_scorm Upload SCORM package as a course module
mod_resource_add_resource Attach PDF course pack as downloadable resource
enrol_manual_enrol_users Optionally enrol users on publish

Envelope verification URL will be added to course description at publish time — keys.ucca.online/verify?id={envelope_id}.


Version History

Version Date Change Author
1.0 2026-03-11 Converted from moodle-infrastructure.md Claude Code