cPanel File Manager lets you upload a file, extract an archive and edit a file directly in the browser, so you never need an FTP client for small changes. This guide walks through the whole flow on a Linux VPS running cPanel & WHM: log in, upload a ZIP or tar.gz, extract it into the correct document root, and edit a file with the built-in editor.
Before you start
- A Linux VPS with cPanel & WHM installed and a valid licence. Buy yours from the vendor. If you are still setting up, see how to install cPanel & WHM on AlmaLinux 9 or on Ubuntu 24.04.
- Your cPanel login details. The cPanel URL is usually
https://203.0.113.10:2083orhttps://example.com:2083. - The archive you want to upload (
.zip,.tar.gzand.tgzare supported) and the folder it belongs in — normallypublic_htmlfor the main domain. - Enough free disk space for both the archive and its extracted contents.
Tip: If File Manager is missing from your cPanel, an administrator may have hidden it in WHM. See Use WHM Feature Manager to control cPanel features.
Open cPanel File Manager and find the right folder
- Log in to cPanel and open Files > File Manager.
- Choose Web Root (public_html/www) for a website, or Home Directory if you need to reach files outside the web root.
- Click Go. The left pane shows the folder tree; the right pane lists files.
- Use the path breadcrumb at the top to confirm where you are. For an addon domain or subdomain, the document root is usually something like
public_html/example.com— check Domains in cPanel if you are unsure.
Note: Dotfiles such as .htaccess are hidden by default. Click Settings in the top-right and enable Show Hidden Files (dotfiles) to see them.
Upload an archive with cPanel File Manager
- Navigate to the folder that should receive the files.
- Click Upload in the toolbar.
- Drag the archive into the upload area, or click Select File and pick it. Wait until the progress bar reaches 100%.
- Click the Go Back to "/home/deploy/public_html" link to return to the folder listing.
The file now appears in the listing. Do not close the tab while the upload is running.
Warning: Uploading a file with the same name as an existing one overwrites it without a second confirmation in some browsers. Rename or back up the old file first if you are not sure.
If a large archive fails near the end, the cause is usually the PHP upload limit on the server, not File Manager itself. For big files, use SFTP instead — see Transfer files to your Linux VPS with SCP, SFTP, WinSCP or FileZilla.
Extract the archive
- Select the uploaded archive in the file list (single click).
- Click Extract in the toolbar.
- Confirm the extraction path. File Manager fills in the current folder; change it only if you want the files somewhere else.
- Click Extract Files. A results window lists what was written.
Warning: Extraction overwrites existing files that share a name with files inside the archive. Before extracting over a live site, select the current files and click Compress to make a quick backup, or download them.
Some archives contain a single top-level folder (for example site/), while others drop files straight into the current directory. If the site does not load after extraction, check whether you now have public_html/site/index.php instead of public_html/index.php, and move the contents up one level.
Edit a file in the File Manager editor
- Right-click the file and choose Edit, or select it and click Edit in the toolbar.
- If a dialog asks about encoding, keep utf-8 and click Edit.
- Make your changes in the editor. Use Save Changes when done, then Close.
File Manager offers a plain text editor and a code editor with line numbers and syntax highlighting. Both are fine for small edits to .htaccess, wp-config.php or a template file.
Warning: A single syntax error in .htaccess can take the whole site down with a 500 error. Keep a copy of the original file before you edit it. For longer edits, work over SSH with nano or vim instead.
Compress and download files
To make a backup before a risky change:
- Select the files or folder.
- Click Compress, choose Zip, Gzip or Bzip2, and give the archive a name.
- Click Compress File(s). The archive appears in the same folder.
- Select the archive and click Download to save it to your computer.
You can also create an archive on the server over SSH if you prefer:
cd /home/deploy/public_html
tar -czf backup-$(date +%F).tar.gz .Check it works
- Reload the site in a browser, or check the response headers:
curl -I https://example.comA 200 OK means the files are in the right place. A 403 or 500 usually points to permissions or a broken .htaccess.
- Confirm the file listing in File Manager shows the expected files and folders.
- Check permissions: files should normally be
644and folders755. Select a file and click Change Permissions to fix it. See Linux file system permissions: ACL vs standard permissions for the background. - If you have SSH access, list the folder to double-check:
ls -l /home/deploy/public_htmlTroubleshooting
- Upload stops at 100% or reports "file too large" — the server's PHP
upload_max_filesizeandpost_max_sizeare lower than the file. Upload over SFTP, or raise the limits with the MultiPHP INI Editor. - "Extraction failed" or the archive extracts to an empty folder — the archive is corrupt, uses an unsupported format, or the account is out of disk space. Re-create the archive locally and check disk usage in cPanel's Disk Usage tool.
- Edits have no effect on the site — you edited the wrong document root, or a cache is serving the old file. Confirm the path under Domains, then clear any site or CDN cache.
- Site returns 500 after editing
.htaccess— a syntax error in the file. Restore your backup copy or rename.htaccessto.htaccess.bakin File Manager to bring the site back. - "Permission denied" when saving or extracting — the file is owned by another user or is read-only. Check ownership and permissions, and avoid editing files outside your account's home directory.
Next steps
- Change PHP limits with the cPanel MultiPHP INI Editor when uploads or scripts hit PHP ceilings.
- Transfer files to your Linux VPS with SCP, SFTP, WinSCP or FileZilla for large archives and bulk uploads.
- Edit files with nano: a beginner's guide for editing over SSH.
- Linux file system permissions: ACL vs standard permissions to fix ownership and mode problems.
