ICT:Drupal migration
Appearance
Heritage Project: Drupal 11 Migration Blueprint (AlmaLinux 10.1)
1. Infrastructure Architecture
- Web Server: AlmaLinux 10.1 (Hyper-V VM) - Apache 2.4 / PHP 8.3
- Database Server: AlmaLinux 10.1 (Hyper-V VM) - MariaDB 10.11+
- Proxy: IIS ARR (Windows Server) - SSL Offloading & Reverse Proxy
2. Installation Sequence (Web Server)
On the Web VM, execute the following to establish the "Secure Core":
- Install Composer:
php -r "copy('https://getcomposer.org', 'composer-setup.php');"php composer-setup.php --install-dir=/usr/local/bin --filename=composer
- Scaffold Drupal 11:
cd /var/wwwcomposer create-project drupal/recommended-project drupal- Note: DocumentRoot must point to /var/www/drupal/web
3. Twin-Server Database Handshake
On the MariaDB VM, grant remote access to the Web VM IP:
CREATE DATABASE drupal_heritage_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'drupal_admin'@'192.168.x.WEB_IP' IDENTIFIED BY 'PASSWORD';
GRANT ALL PRIVILEGES ON drupal_heritage_db.* TO 'drupal_admin'@'192.168.x.WEB_IP';
FLUSH PRIVILEGES;
On the Web VM, allow network connection via SELinux:
setsebool -P httpd_can_network_connect_db 1
4. Essential Module Stack ("The Pro Suite")
Install via Composer to ensure 10-year maintainability:
| Module | Purpose | Note |
|---|---|---|
| [Toolbar] | Enhanced Navigation | DNN-style dropdown menus. |
| [Theme] | Admin UI / Dark Mode | Essential for senior eye comfort. |
| [[1]] | Business Logic Engine | Visual workflow (replaces Cargo/Hooks). |
| [[2]] | User Landing Pages | Masking ICT complexity for historians. |
| [[3]] | Automatic Aliasing | Automatic URL generation from Unique IDs. |
5. Rapid Data Model Import Workflow
To bridge the DBML model from VS Code to Drupal:
- Export DBML to YAML via VS Code.
- Translate to Drupal Config: Map entities to Node Types and relationships to Entity References.
- Sync Directory: Place YAML files in
/var/www/drupal/config/sync. - Import:
./vendor/bin/drush config:import
6. Survival & Maintenance Checklist
- Updates:
composer update(Code) +drush updb(Database). - Documentation: All custom Content Types and ECA Workflows must be mirrored in this MediaWiki.
- Backups: Snapshots of both Hyper-V VMs + MariaDB SQL dumps.