Why ClipBucket Breaks After a Move

ClipBucket is a video-sharing platform, and unlike a simple brochure site it references its own address in dozens of places. The application hardcodes the site URL during installation and then reuses that value to build video player embeds, thumbnail links, RSS feeds, AJAX endpoints, and the admin panel actions. It also records the absolute server path to the upload and conversion directories so the encoder daemon and the PHP upload handler agree on where files live. When you copy the account to a new domain, restore a backup under a different username, or change the document root, those stored values no longer match the environment. The visible symptoms are predictable: the homepage may load but videos will not play, thumbnails show as broken images, the login form loops back to itself, and uploads either fail silently or land in a folder the player cannot reach.

The two sources of stale data are the configuration files on disk and the settings rows inside MySQL. On disk, ClipBucket keeps upload/includes/config.inc.php (older 2.x branches) or includes/config.php depending on your version, which holds the database credentials, the host name, and the base directory constants. Inside the database, the config table stores rows such as baseurl, videos_url, and thumbs_url that override or supplement the file constants at runtime. A migration only succeeds when both layers describe the same domain and the same absolute path. Because you are working as an unprivileged hosting user, every step below happens through cPanel Jupiter, DirectAdmin Evolution, phpMyAdmin, the File Manager, and text files you can edit yourself. No shell, no server daemons, no root.

Before touching anything, take a full snapshot. In cPanel open Files > Backup > Download a Home Directory Backup, and separately export the database from phpMyAdmin > Export > Quick > SQL. In DirectAdmin use System Backup / Restore to create an account-level archive. Keep both the file tree and the SQL dump, because the domain rewrite touches records in place and a mistake in a REPLACE query is far easier to undo from a dump than to reconstruct by hand.

Moving the Files and Database

Start with the raw transfer so the new location exists before you edit any references. If the destination is a fresh cPanel account, generate the home directory backup on the old account, then upload the archive through File Manager on the new account into the target directory (usually public_html or a subfolder like public_html/tube) and extract it there. The File Manager Extract action handles .tar.gz and .zip without shell access. Preserve the folder structure exactly, because ClipBucket expects the upload/, cache/, and conversion directories to sit relative to the front controller.

Recreate the database on the destination. In cPanel go to Databases > MySQL Databases, create a new database and a new user, and assign that user to the database with All Privileges. In DirectAdmin the equivalent is Account Manager > MySQL Management > Create Database. Note the exact new names: on shared hosting they are prefixed with your account username, for example hsuser_cbucket and hsuser_cbadmin. Then import the SQL dump through phpMyAdmin > Import, selecting the file you exported earlier. If the dump is large enough to hit the PHP upload limit, split it or raise upload_max_filesize and post_max_size temporarily through a .user.ini file placed in the phpMyAdmin directory is not accessible to you, so instead compress the dump with gzip before uploading, since phpMyAdmin imports .sql.gz directly.

Confirm your PHP version matches what ClipBucket expects. The 2.x and 4.x branches were written for older PHP; running them on PHP 8.x usually produces fatal errors. Use cPanel Software > Select PHP Version (MultiPHP Manager sets the domain, the PHP Selector sets extensions) or DirectAdmin Account Manager > PHP Version Selector to pin PHP 7.4 for the migrated domain, and enable the gd, mysqli, curl, and mbstring extensions. Video conversion relies on ffmpeg being available on the server; on managed shared hosting that binary is typically present, but if conversion was working before and is not after the move, verify the tool path setting in the admin panel rather than assuming a code problem.

Rewriting URLs and Paths

Now align both layers with the new domain. Open the config file first. Using File Manager, navigate to the ClipBucket root and edit upload/includes/config.inc.php (or includes/config.php). Update the database constants to the new credentials and correct the host constant:

define("HOST", "localhost");
define("DBASE", "hsuser_cbucket");
define("DBUSER", "hsuser_cbadmin");
define("DBPASS", "your-new-password");
define("BASEURL", "https://newdomain.com");

On shared hosting the database host is almost always localhost, not a remote IP, so keep it that way unless your panel explicitly assigns a different socket. If your version stores an absolute base directory constant such as BASE_DIR, correct it to the new home path. You can read the exact absolute path in cPanel File Manager by checking the settings gear, or in DirectAdmin from the file listing breadcrumb; it typically looks like /home/hsuser/public_html.

Next fix the database values. In phpMyAdmin, select the ClipBucket database and open the SQL tab. The stored URLs live in the config table keyed by name. Run targeted updates rather than a blind site-wide replace:

UPDATE config SET value = 'https://newdomain.com' WHERE name = 'baseurl';
UPDATE config SET value = 'https://newdomain.com/files/videos' WHERE name = 'videos_url';
UPDATE config SET value = 'https://newdomain.com/files/thumbs' WHERE name = 'thumbs_url';

Adjust the folder segments to match how your installation was laid out; the point is that every URL row must carry the new hostname and scheme. If the site is moving from HTTP to HTTPS at the same time, make sure the scheme is https everywhere so the player does not trigger mixed-content blocking. Video and thumbnail records in the video table usually store only filenames, not full URLs, so they rarely need rewriting; if yours stored absolute paths, use a scoped REPLACE() such as UPDATE video SET file_directory = REPLACE(file_directory, 'olddomain.com', 'newdomain.com'); and inspect a few rows afterward.

Finally, set the rewrite base so ClipBucket's clean URLs resolve under the new document root. Edit the .htaccess in the site root and confirm the rewrite block points at the correct path. For an install directly in public_html:

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L]

If ClipBucket lives in a subfolder such as public_html/tube, change RewriteBase / to RewriteBase /tube/. LiteSpeed reads .htaccess natively, so no reload is required after saving.

Post-Migration Verification

Log into the admin panel at https://newdomain.com/admin_area/ and open the general settings to confirm the website URL and title reflect the new domain; saving that form rewrites any settings the SQL step missed. Clear the ClipBucket cache directory contents through File Manager, because cached template fragments can still contain the old absolute URLs. Then test the full loop as a visitor: load the homepage, open a video page and confirm the player plays and the thumbnail renders, upload a short test clip, and verify it appears in the correct files/ subfolder and converts.

When something still fails, read the evidence rather than guessing. Enable error logging by adding php_flag display_errors off plus php_value log_errors on conceptually is handled by a .user.ini entry; place log_errors = On in a .user.ini file in the site root and check the error_log file that appears in that same directory. Broken thumbnails almost always trace back to a wrong thumbs_url or a missing gd extension. A login loop points at a session path or a mismatched BASEURL scheme. Upload failures usually mean upload_max_filesize and post_max_size in your .user.ini are too low, or the destination folder lost its writable permissions during extraction, which you can restore to 0755 on folders through File Manager's Permissions dialog. Working through the config file, the database rows, the rewrite base, and the cache in that order resolves the vast majority of ClipBucket domain moves without any server-level access.