Files
Migrations/phase2-tasks.md
Malin 1a07c11c4b fix: nginx real IP, pf open HTTP, homepage cache purge on publish
- nginx real_ip_header X-Real-IP: access log and PHP now see true client IPs
- pf: HTTP open to all (WAF on NPM handles filtering)
- sibiu-independent-tweaks: si_purge_nginx_homepage_cache() hook deletes
  homepage fastcgi cache file on post publish/unpublish — fixes stale
  content for anonymous (mobile) users
- SSH config: updated to direct Tailscale IPs, removed old migration proxy
- sibiuindependent.ro.MD: documented issues 9-11 and fixes

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-01 16:21:29 +02:00

4.1 KiB

Phase 2 Migration Task List

Sibiu Independent — May 2026

Generated: 2026-05-29 Scope: Web node (zamolxis) — Phase 2 + repo wrap-up


Tasks

TASK-001

Subject: rsync WP files from dracula to zamolxis Active form: Rsyncing WP files Description: rsync all WordPress files from root@100.99.157.56 port 79 (/www/wwwroot/sibiuindependent.ro/) to zamolxis (/var/www/sibiuindependent.ro/), excluding cache and w3tc-config. Fix ownership to www:www.

Command reference:

rsync -avz --progress \
  -e "ssh -i /root/.ssh/id_ed25519 -p 79" \
  --exclude="wp-content/cache/" \
  --exclude="wp-content/w3tc-config/" \
  root@100.99.157.56:/www/wwwroot/sibiuindependent.ro/ \
  /var/www/sibiuindependent.ro/

chown -R www:www /var/www/sibiuindependent.ro

Status: [ ] Pending


TASK-002

Subject: Update wp-config.php on zamolxis Active form: Updating wp-config.php Description: Update DB_HOST to 100.67.166.29, DB credentials to sql_sibiuindepen user, add WP_REDIS_PATH and WP_REDIS_SCHEME constants for unix socket Redis.

Changes required in /var/www/sibiuindependent.ro/wp-config.php:

define( 'DB_HOST', '100.67.166.29' );

// Add before "That's all, stop editing":
define( 'WP_REDIS_PATH',   '/var/run/redis/redis.sock' );
define( 'WP_REDIS_SCHEME', 'unix' );

Status: [ ] Pending


TASK-003

Subject: Remove W3TC and install Redis Object Cache Active form: Replacing W3TC with Redis Object Cache Description: Remove W3TC plugin dir and its drop-ins (advanced-cache.php, object-cache.php). Install Redis Object Cache plugin (Till Kruss) if not already present.

Command reference:

rm -rf /var/www/sibiuindependent.ro/wp-content/plugins/w3-total-cache
rm -f  /var/www/sibiuindependent.ro/wp-content/advanced-cache.php
rm -f  /var/www/sibiuindependent.ro/wp-content/object-cache.php

# Check if Redis Object Cache already exists from dracula sync:
ls /var/www/sibiuindependent.ro/wp-content/plugins/redis-cache/

# If not present, install via WP-CLI:
wp --path=/var/www/sibiuindependent.ro --allow-root \
  plugin install redis-cache --activate

Status: [ ] Pending


TASK-004

Subject: Run pre-cutover checklist on zamolxis Active form: Running pre-cutover checklist Description: Verify: site responds on port 80, DB connection works from zamolxis to decebal, Redis connected, PHP extensions present (imagick, redis, pdo_mysql, opcache, intl, soap, sodium), nginx fastcgi_cache working (MISS then HIT on second request).

Command reference:

# 1. Site responds
curl -sk -o /dev/null -w "%{http_code}" \
  http://100.115.128.41/ \
  -H "Host: sibiuindependent.ro"
# Expected: 200

# 2. DB connection
mysql -h 100.67.166.29 \
  -u sql_sibiuindepen -p \
  --get-server-public-key \
  -e "SELECT COUNT(*) FROM wp_posts WHERE post_status='publish';"

# 3. Redis object cache status
wp --path=/var/www/sibiuindependent.ro --allow-root redis-cache status

# 4. PHP extensions
php85 -m | grep -E "imagick|redis|pdo_mysql|opcache|intl|soap|sodium"

# 5. nginx fastcgi_cache — first: MISS, second: HIT
curl -sI http://100.115.128.41/ -H "Host: sibiuindependent.ro" | grep X-Cache-Status
curl -sI http://100.115.128.41/ -H "Host: sibiuindependent.ro" | grep X-Cache-Status

Status: [ ] Pending


TASK-005

Subject: Push final README update to repo Active form: Updating repo Description: Update README with Phase 2/3 completion status and push to Gitea.

Steps:

  1. Update Open Items checklist in README.md — mark Phase 2 tasks complete
  2. Update Deployment Status table if applicable
  3. git add README.md && git commit -m "docs: mark Phase 2 complete"
  4. git push

Status: [ ] Pending


Execution Order

# Task ID Subject Blocker
1 TASK-001 rsync WP files None — run first
2 TASK-002 Update wp-config.php TASK-001 (files must be present)
3 TASK-003 Remove W3TC / install Redis Object Cache TASK-001 (files must be present)
4 TASK-004 Pre-cutover checklist TASK-002, TASK-003
5 TASK-005 Push README update TASK-004 (checklist must pass)