← Back to Support Center Knowledge Base

cPanel, Plesk, SolusVM, and Linux - in one place

A variety of articles covering the control panels most CloudClerks VMs run, plus the Linux commands that come up no matter which one you use.

Showing 80 of 80 articles

cPanel 18 articles

Email, databases, files, domains, and SSL - the everyday tasks of running a site through cPanel.

Logging into cPanel for the first time cPanel3 min read

Where to find your cPanel URL and credentials, and what to check before you do anything else.

  1. Check your welcome email for your cPanel URL, usually https://yourdomain:2083 or a link from your host.
  2. Enter the username and temporary password provided - both are case-sensitive.
  3. When prompted, set a new password that's at least 12 characters with a mix of cases, numbers, and symbols.
  4. From the cPanel home screen, note your server's IP address and disk/bandwidth limits under "General Information."
  5. Bookmark the login URL - there's no separate password-reset flow until you've logged in once and added a recovery email.
cPanel · control panel
Home
Email
Databases
Files
Domains
Security
Software
Advanced
Metrics
cPanel Home
Generic cPanel layout, for illustration only - not an actual screenshot
Tip. If the page won't load, confirm you're using https:// and the correct port (2083), not port 80.
Resetting your cPanel password cPanel3 min read

Change your own cPanel login password from inside your account.

  1. Log in to cPanel and open "Password & Security" under Preferences.
  2. Enter your current password, then your new password twice.
  3. Use the strength meter as a guide - aim for "Very Strong" before saving.
  4. Click "Change your password now and log out."
  5. Log back in with the new password, then update it in any FTP or email clients that had it saved.
cPanel · control panel
Home
Email
Databases
Files
Domains
Security
Software
Advanced
Metrics
Preferences › Password & Security
Generic cPanel layout, for illustration only - not an actual screenshot
Tip. Changing your cPanel password does not change your email account passwords - those are separate.
Creating an email account in cPanel cPanel3 min read

Set up a new mailbox on your domain.

  1. Open Email Accounts under the Email section and click "Create."
  2. Choose the domain from the dropdown and type the mailbox name (for example, "hello").
  3. Set a mailbox quota, or leave it unlimited if your plan allows.
  4. Generate a strong password or set your own, then click "Create."
  5. Note the incoming/outgoing mail server settings shown after creation - you'll need them to connect a phone or desktop client.
cPanel · control panel
Home
Email
Databases
Files
Domains
Security
Software
Advanced
Metrics
Email › Email Accounts › Create
Generic cPanel layout, for illustration only - not an actual screenshot
Tip. Mailbox names are case-insensitive and can't be changed later without recreating the account.
Setting up email on your phone via cPanel cPanel3 min read

Connect an existing cPanel mailbox to iOS or Android using the settings cPanel provides.

  1. In Email Accounts, find your address and click "Connect Devices."
  2. Copy the manual settings shown, or use the mobile setup link if your device supports it.
  3. On iOS: Settings › Mail › Accounts › Add Account › Other, then enter the IMAP details shown.
  4. On Android: use the same IMAP host with port 993 (SSL) and SMTP port 465 (SSL).
  5. Send yourself a test email to confirm both sending and receiving work.
cPanel · control panel
Home
Email
Databases
Files
Domains
Security
Software
Advanced
Metrics
Email Accounts › Connect Devices
Generic cPanel layout, for illustration only - not an actual screenshot
Tip. Prefer IMAP over POP3 so your read/unread status stays in sync across devices.
Creating a new MySQL database and user cPanel3 min read

Set up a database and a dedicated user for an application.

  1. Open "MySQL Databases" and enter a name under "Create New Database."
  2. Scroll to "MySQL Users" and create a new user with a generated password.
  3. Under "Add User to Database," select both the user and the database, then click Add.
  4. On the privileges screen, check "ALL PRIVILEGES" for a typical application, then click "Make Changes."
  5. Record the full database name and username - cPanel prefixes both with your account name, like user_dbname.
cPanel · control panel
Home
Email
Databases
Files
Domains
Security
Software
Advanced
Metrics
Databases › MySQL Databases
Generic cPanel layout, for illustration only - not an actual screenshot
Tip. Save the generated password somewhere safe now; cPanel won't show it again.
Using phpMyAdmin to import or export a database cPanel3 min read

Move a database in or out of your hosting account as a .sql file.

  1. Open phpMyAdmin from the Databases section and select your database from the left sidebar.
  2. To export: click "Export," choose "Quick" and format "SQL," then click Go to download a .sql file.
  3. To import: click "Import," choose the .sql file, and confirm the format is SQL.
  4. Click "Go" and wait for the success message before navigating away.
  5. If an import fails on file size, check your PHP upload limit under "Select PHP Version" first.
cPanel · control panel
Home
Email
Databases
Files
Domains
Security
Software
Advanced
Metrics
Databases › phpMyAdmin
Generic cPanel layout, for illustration only - not an actual screenshot
Tip. Large imports are more reliable over SSH with the mysql command than through the browser.
Uploading files with the cPanel File Manager cPanel3 min read

Get files onto your site without needing an FTP client.

  1. Open File Manager and navigate to public_html (or the subfolder for your domain or subdomain).
  2. Click "Upload" in the toolbar, then drag files into the browser window or select them manually.
  3. Wait for each file's progress bar to reach 100% before closing the upload tab.
  4. Select any uploaded .zip archive and click "Extract" to unpack it in place.
  5. Right-click a file to change permissions if a script needs write access - commonly 644 for files, 755 for folders.
cPanel · control panel
Home
Email
Databases
Files
Domains
Security
Software
Advanced
Metrics
Files › File Manager
Generic cPanel layout, for illustration only - not an actual screenshot
Tip. Never set permissions to 777 unless a specific instruction tells you to - it's a common security misstep.
Creating an FTP account in cPanel cPanel3 min read

Give a person or a deploy tool scoped file access without sharing your main login.

  1. Open "FTP Accounts" and fill in a username, password, and the directory to restrict access to.
  2. Set a quota, or leave it unlimited for a general-purpose account.
  3. Click "Create FTP Account" and note the exact server address shown, usually your domain or server hostname.
  4. In your FTP client, connect using port 21 (or 990 for FTPS) with the credentials shown.
  5. Test by uploading a small file and confirming it appears in File Manager.
cPanel · control panel
Home
Email
Databases
Files
Domains
Security
Software
Advanced
Metrics
Files › FTP Accounts
Generic cPanel layout, for illustration only - not an actual screenshot
Tip. For anything public-facing, prefer SFTP (port 22) over plain FTP where your host supports it.
Adding an addon domain cPanel3 min read

Host a second, fully separate domain on the same cPanel account.

  1. Confirm the new domain's nameservers already point at your hosting account before starting.
  2. Open "Addon Domains" and type the new domain name.
  3. Let cPanel auto-fill the subdomain and document root, or set a custom folder.
  4. Click "Add Domain" and wait for DNS to propagate, often within a few hours.
  5. Upload the new site's files to the document root you chose.
cPanel · control panel
Home
Email
Databases
Files
Domains
Security
Software
Advanced
Metrics
Domains › Addon Domains
Generic cPanel layout, for illustration only - not an actual screenshot
Tip. An addon domain shares your main hosting plan's resources - it isn't a separate account.
Creating a subdomain cPanel3 min read

Run a separate section of your site, like blog.yourdomain.com, from its own folder.

  1. Open "Subdomains" and enter the prefix, like "blog," next to your existing domain.
  2. Confirm or edit the auto-generated document root folder.
  3. Click "Create" and wait a few minutes for DNS to catch up internally.
  4. Upload the subdomain's files to its dedicated folder inside public_html.
  5. Visit the subdomain in a browser to confirm it resolves before installing anything on it.
cPanel · control panel
Home
Email
Databases
Files
Domains
Security
Software
Advanced
Metrics
Domains › Subdomains
Generic cPanel layout, for illustration only - not an actual screenshot
Tip. Subdomains can each run a different app or PHP version independently of the main site.
Setting up a redirect cPanel3 min read

Send visitors from one URL to another automatically.

  1. Open "Redirects" and choose the domain or subdomain to redirect from.
  2. Enter the destination URL, including https://.
  3. Choose "Permanent (301)" for a lasting move, or "Temporary (302)" for something short-term.
  4. Decide whether to redirect the www and non-www versions together, then click "Add."
  5. Test in a private browser window, since redirects can be cached by your regular browser.
cPanel · control panel
Home
Email
Databases
Files
Domains
Security
Software
Advanced
Metrics
Domains › Redirects
Generic cPanel layout, for illustration only - not an actual screenshot
Tip. Search engines treat 301s as a signal to transfer ranking to the new URL - use 302 if you're unsure.
Installing a free SSL certificate with AutoSSL cPanel3 min read

Turn on HTTPS for a domain without buying a certificate.

  1. Open "SSL/TLS Status" and select the domains you want covered.
  2. Click "Run AutoSSL" and wait a few minutes for validation and issuance.
  3. Refresh the page - a padlock icon next to each domain means the certificate installed.
  4. Visit your site over https:// to confirm the browser shows it as secure.
  5. AutoSSL renews automatically roughly every 90 days - no action needed unless it flags an error.
cPanel · control panel
Home
Email
Databases
Files
Domains
Security
Software
Advanced
Metrics
Security › SSL/TLS Status
Generic cPanel layout, for illustration only - not an actual screenshot
Tip. AutoSSL requires your domain's DNS to already resolve to this server - fix DNS first if it fails.
Changing your site's PHP version cPanel3 min read

Switch the PHP version a domain runs on, without touching server-wide settings.

  1. Open "Select PHP Version," sometimes labeled "MultiPHP Manager."
  2. Pick the domain you want to change from the list.
  3. Choose the new PHP version from the dropdown.
  4. Click "Apply" and reload your site to confirm nothing broke.
  5. If the site errors out, switch back and check your app's documented PHP requirements.
cPanel · control panel
Home
Email
Databases
Files
Domains
Security
Software
Advanced
Metrics
Software › Select PHP Version
Generic cPanel layout, for illustration only - not an actual screenshot
Tip. Test PHP version changes on a staging subdomain first if your site is business-critical.
Scheduling a cron job cPanel3 min read

Run a script automatically on a recurring schedule.

  1. Open "Cron Jobs" and pick a common setting, like "Once Per Day," or set custom minute/hour/day fields.
  2. Paste the full command to run, including the full path to any script.
  3. Click "Add New Cron Job."
  4. Check your email - cron sends output there by default - after the first scheduled run.
  5. Redirect output to a log file instead if you'd rather not get emails, using the append operator at the end of the command.
cPanel · control panel
Home
Email
Databases
Files
Domains
Security
Software
Advanced
Metrics
Advanced › Cron Jobs
Generic cPanel layout, for illustration only - not an actual screenshot
Tip. Cron times are in your server's timezone, shown near the top of the Cron Jobs page.
Taking a full account backup cPanel3 min read

Download a complete copy of your files, databases, and email.

  1. Open "Backup," sometimes labeled "Backup Wizard," from the Files section.
  2. Click "Download a Full Account Backup."
  3. Choose a destination - "Home Directory" is simplest if you'll download it manually after.
  4. Click "Generate Backup" and wait for the email notifying you it's ready.
  5. Download the resulting archive and store a copy off-server.
cPanel · control panel
Home
Email
Databases
Files
Domains
Security
Software
Advanced
Metrics
Files › Backup
Generic cPanel layout, for illustration only - not an actual screenshot
Tip. Full backups can take a while on large accounts - schedule them for low-traffic hours.
Restoring from a cPanel backup cPanel3 min read

Roll your account back using a previously downloaded backup archive.

  1. Open "Backup" and scroll to the restore section for Home Directory, MySQL, or a full account.
  2. Choose the backup archive from your computer or server home directory.
  3. Click "Upload" and confirm you understand this will overwrite current data.
  4. Wait for the confirmation email once the restore finishes.
  5. Spot-check your site and database afterward before deleting any older backups.
cPanel · control panel
Home
Email
Databases
Files
Domains
Security
Software
Advanced
Metrics
Files › Backup › Restore
Generic cPanel layout, for illustration only - not an actual screenshot
Tip. Restoring a full account backup can take a long time - avoid closing the browser tab mid-upload.
Installing WordPress with Softaculous cPanel3 min read

Get a WordPress site running in a few minutes using the built-in installer.

  1. Open Softaculous and search for "WordPress" in the apps list.
  2. Click "Install," then choose the protocol (https://) and domain.
  3. Leave "In Directory" blank to install at the domain root, or add a folder name.
  4. Fill in the site name, admin username, and a strong admin password.
  5. Click "Install" and wait for the success screen with your new site and admin login links.
cPanel · control panel
Home
Email
Databases
Files
Domains
Security
Software
Advanced
Metrics
Software › Softaculous Apps Installer
Generic cPanel layout, for illustration only - not an actual screenshot
Tip. Uncheck any bundled plugin you don't recognize before installing - fewer plugins means fewer updates to manage.
Understanding cPanel disk and bandwidth stats cPanel3 min read

Find out what's actually using your account's space and transfer allowance.

  1. Open "Bandwidth" to see monthly transfer totals by month and by domain.
  2. Open "Disk Usage" to see which folders and mailboxes take up the most space.
  3. Sort by the "File Usage" or "Mail Usage" tabs to isolate where big folders live.
  4. Clear old backups or unused email from the biggest offenders first.
  5. Set up usage alerts, if your host offers them, so you're notified before hitting a hard limit.
cPanel · control panel
Home
Email
Databases
Files
Domains
Security
Software
Advanced
Metrics
Metrics › Bandwidth / Disk Usage
Generic cPanel layout, for illustration only - not an actual screenshot
Tip. Log files and old cPanel backups sitting in your home directory are a common hidden space user.

Plesk 16 articles

The Plesk side of the same tasks, plus Git deploys, per-site PHP tuning, and role-based users.

Logging into the Plesk control panel Plesk3 min read

Find your Plesk URL and get past the first-boot certificate warning.

  1. Go to https://your-server-ip:8443 or the Plesk link from your welcome email.
  2. Accept the browser's certificate warning if this is the server's first boot - it uses a self-signed certificate initially.
  3. Enter the admin username and password from your welcome email.
  4. From the home screen, note your subscription's plan limits under "Subscriptions."
  5. Set a recovery email under your account settings so you can reset your password later.
Plesk · control panel
Websites & Domains
Mail
Databases
Files
Users
Applications
Scheduled Tasks
Statistics
Plesk Home
Generic Plesk layout, for illustration only - not an actual screenshot
Tip. Plesk's default port is 8443, not 443 - bookmark the full address including the port.
Adding a new website in Plesk Plesk3 min read

Provision a new domain under your Plesk subscription.

  1. Open "Websites & Domains" and click "Add Domain."
  2. Type the domain name and choose whether it's a new website or a subdomain of an existing one.
  3. Confirm the hosting type is "Website hosting with a control panel," not just DNS or forwarding.
  4. Click "OK" and wait for Plesk to provision the document root and default files.
  5. Upload your site's files to the new domain's httpdocs folder.
Plesk · control panel
Websites & Domains
Mail
Databases
Files
Users
Applications
Scheduled Tasks
Statistics
Websites & Domains › Add Domain
Generic Plesk layout, for illustration only - not an actual screenshot
Tip. Point the domain's nameservers at Plesk's DNS, or add an A record, before or right after this step.
Creating an email address in Plesk Plesk3 min read

Set up a new mailbox on a domain hosted in Plesk.

  1. Open "Mail" and click "Create Email Address."
  2. Choose the domain, then type the mailbox name.
  3. Set a mailbox size limit or leave it at the subscription default.
  4. Enter and confirm a password, then click "OK."
  5. Note the mail server hostname shown - it's usually mail.yourdomain.com.
Plesk · control panel
Websites & Domains
Mail
Databases
Files
Users
Applications
Scheduled Tasks
Statistics
Mail › Create Email Address
Generic Plesk layout, for illustration only - not an actual screenshot
Tip. Plesk lets you enable a spam filter per mailbox from the same screen - worth turning on by default.
Setting up webmail access in Plesk Plesk3 min read

Get to a Plesk mailbox's inbox from a browser, on any device.

  1. From the Mail list, click the mailbox you want, then "Webmail."
  2. Log in with the mailbox's full email address and its password, not your Plesk password.
  3. Choose a webmail theme or client if prompted, commonly Roundcube.
  4. Bookmark the direct webmail URL shown in your browser for faster access later.
  5. Set your display name and signature under the webmail client's own settings.
Plesk · control panel
Websites & Domains
Mail
Databases
Files
Users
Applications
Scheduled Tasks
Statistics
Mail › Webmail
Generic Plesk layout, for illustration only - not an actual screenshot
Tip. Webmail credentials are separate from your Plesk login - mixing the two up is the most common support request.
Creating a database in Plesk Plesk3 min read

Set up a database and user for an application hosted in Plesk.

  1. Open "Databases" and click "Add Database."
  2. Name the database and choose the domain it belongs to.
  3. Under "Related to Website," pick the site that will use it.
  4. Create a new database user with a generated password, and grant it access.
  5. Note the database host, usually localhost, for your app's configuration file.
Plesk · control panel
Websites & Domains
Mail
Databases
Files
Users
Applications
Scheduled Tasks
Statistics
Databases › Add Database
Generic Plesk layout, for illustration only - not an actual screenshot
Tip. Plesk can prefix database and user names with your subscription ID - copy them exactly as shown.
Using the Plesk File Manager Plesk3 min read

Upload, extract, and edit site files without leaving the browser.

  1. Open "Files" from the domain's dashboard to browse httpdocs.
  2. Click "Upload Files" and select or drag files from your computer.
  3. Select an uploaded archive and choose "Extract Files" from the toolbar.
  4. Use the "Permissions" button on a file or folder to adjust read/write access if a script needs it.
  5. Use the built-in code editor for quick text edits instead of downloading and re-uploading a file.
Plesk · control panel
Websites & Domains
Mail
Databases
Files
Users
Applications
Scheduled Tasks
Statistics
Files
Generic Plesk layout, for illustration only - not an actual screenshot
Tip. Plesk's File Manager keeps a short version history for edited text files - check "Show Hidden Files" if you don't see it.
Installing a free Let's Encrypt SSL certificate Plesk3 min read

Turn on HTTPS for a domain hosted in Plesk, at no cost.

  1. Open your domain's "SSL/TLS Certificates" and click "Install."
  2. Choose "Let's Encrypt" as the certificate provider.
  3. Select which domain variants to include, such as with and without www.
  4. Click "Get it free" and wait for issuance, usually under a minute.
  5. Enable "Secure the domain" and "Redirect from HTTP to HTTPS" so visitors always land on the secure version.
Plesk · control panel
Websites & Domains
Mail
Databases
Files
Users
Applications
Scheduled Tasks
Statistics
Websites & Domains › SSL/TLS Certificates
Generic Plesk layout, for illustration only - not an actual screenshot
Tip. Let's Encrypt certificates renew automatically in Plesk every 90 days by default - no calendar reminder needed.
Setting up a scheduled task in Plesk Plesk3 min read

Run a command or fetch a URL automatically on a schedule.

  1. Open "Scheduled Tasks" from your domain's dashboard.
  2. Click "Add Task" and choose "Run a command" or "Fetch a URL," depending on what you need.
  3. Set the schedule using the preset options or a custom time.
  4. Paste the command or URL to run, then click "OK."
  5. Check the task's run history a day later to confirm it executed without errors.
Plesk · control panel
Websites & Domains
Mail
Databases
Files
Users
Applications
Scheduled Tasks
Statistics
Websites & Domains › Scheduled Tasks
Generic Plesk layout, for illustration only - not an actual screenshot
Tip. Plesk shows the last run's exit code right in the Scheduled Tasks list - a nonzero code usually means something failed silently.
Managing PHP settings per website Plesk3 min read

Change the PHP version and limits for one site without affecting others.

  1. Open your domain's "PHP Settings."
  2. Choose the PHP version from the dropdown at the top.
  3. Adjust common limits like memory_limit, upload_max_filesize, and max_execution_time as needed.
  4. Click "Apply" and reload your site to confirm the change took effect.
  5. Use a phpinfo() test file if you need to double-check which settings are actually active.
Plesk · control panel
Websites & Domains
Mail
Databases
Files
Users
Applications
Scheduled Tasks
Statistics
Websites & Domains › PHP Settings
Generic Plesk layout, for illustration only - not an actual screenshot
Tip. Some settings are grayed out under a shared PHP handler - switch to "FPM application served by nginx" for full control.
Creating additional Plesk user accounts Plesk3 min read

Give a teammate scoped access to specific sites without sharing the admin login.

  1. Open "Users" and click "Create User Account."
  2. Fill in the person's name, email, and a role, such as "Owner" or a custom limited role.
  3. Under "Access to Subscription," choose which sites this user can manage.
  4. Set their password and click "OK."
  5. Send them the login URL separately from the password for basic security hygiene.
Plesk · control panel
Websites & Domains
Mail
Databases
Files
Users
Applications
Scheduled Tasks
Statistics
Users › Create User Account
Generic Plesk layout, for illustration only - not an actual screenshot
Tip. Custom roles let you hide billing and server settings from a user who only needs File Manager and Mail access.
Deploying a site from Git in Plesk Plesk3 min read

Pull a repository straight into your document root, with optional auto-deploy on push.

  1. Open your domain's "Git" tool.
  2. Click "Add Repository" and paste your repository's clone URL.
  3. Choose a deployment mode: automatic on every push, or manual.
  4. Set the deploy path to your httpdocs folder or a build subfolder.
  5. Click "Deploy" once, then confirm the site reflects the latest commit.
Plesk · control panel
Websites & Domains
Mail
Databases
Files
Users
Applications
Scheduled Tasks
Statistics
Websites & Domains › Git
Generic Plesk layout, for illustration only - not an actual screenshot
Tip. For private repositories, add Plesk's displayed public SSH key as a deploy key in your Git host first.
Setting up domain forwarding in Plesk Plesk3 min read

Point one domain at another without hosting a site on it.

  1. Open "Websites & Domains" and click "Add Domain."
  2. Choose "Forwarding" instead of "Website hosting" as the hosting type.
  3. Enter the destination URL you want visitors redirected to.
  4. Choose between a standard, visible redirect or a frame-based forward.
  5. Click "OK" and test the domain in a private browser window.
Plesk · control panel
Websites & Domains
Mail
Databases
Files
Users
Applications
Scheduled Tasks
Statistics
Websites & Domains › Add Domain (Forwarding)
Generic Plesk layout, for illustration only - not an actual screenshot
Tip. Prefer a standard redirect - frame-based forwarding keeps the old URL in the address bar, which confuses visitors and search engines alike.
Backing up your site in Plesk Plesk3 min read

Create a downloadable backup of files, databases, or mail.

  1. Open "Backup Manager" from your domain's dashboard.
  2. Click "Back Up" and choose what to include: files, databases, mail, or all.
  3. Choose a storage location - locally on the server, or a remote destination if configured.
  4. Click "OK" and wait for the backup to appear in the list as "Completed."
  5. Download a copy of the backup file to keep off-server.
Plesk · control panel
Websites & Domains
Mail
Databases
Files
Users
Applications
Scheduled Tasks
Statistics
Websites & Domains › Backup Manager
Generic Plesk layout, for illustration only - not an actual screenshot
Tip. Set a recurring backup schedule under "Scheduled Backup Settings" instead of relying on remembering to do it manually.
Restoring a Plesk backup Plesk3 min read

Roll a site back to an earlier backed-up state.

  1. Open "Backup Manager" and find the backup you want to restore.
  2. Click the backup's date link, then choose what to restore: all, or specific components.
  3. Confirm the restore, understanding it overwrites the current state of what you selected.
  4. Wait for the status to change from "Restoring" to "Completed."
  5. Check your site and mailboxes before removing any newer data you might have overwritten.
Plesk · control panel
Websites & Domains
Mail
Databases
Files
Users
Applications
Scheduled Tasks
Statistics
Websites & Domains › Backup Manager › Restore
Generic Plesk layout, for illustration only - not an actual screenshot
Tip. Restore databases and files separately if you only need to roll back one of them - it's faster and lower risk.
Installing an application via Plesk's app catalog Plesk3 min read

Install a CMS or other packaged app without manual setup.

  1. Open "Applications" from your domain's dashboard.
  2. Browse or search the catalog for the app you want, such as a CMS or forum package.
  3. Click "Install" and choose the target domain or subfolder.
  4. Fill in the initial admin account details for the app.
  5. Click "Install" and wait for the confirmation with your new app's admin URL.
Plesk · control panel
Websites & Domains
Mail
Databases
Files
Users
Applications
Scheduled Tasks
Statistics
Websites & Domains › Applications
Generic Plesk layout, for illustration only - not an actual screenshot
Tip. Note which apps you installed this way - updates for catalog apps are usually managed from the same "Applications" screen.
Monitoring resource usage in Plesk Plesk3 min read

Track disk, bandwidth, and traffic before you hit a plan limit.

  1. Open "Statistics" from the left sidebar, or a domain's dashboard for per-site numbers.
  2. Check disk space and bandwidth graphs for trends over the past 30 days.
  3. Switch to "Web" statistics for visitor and traffic breakdowns, if enabled.
  4. Compare current usage against your subscription's limits shown at the top of the page.
  5. Set up an alert, if available on your plan, before you're likely to hit a hard limit.
Plesk · control panel
Websites & Domains
Mail
Databases
Files
Users
Applications
Scheduled Tasks
Statistics
Statistics
Generic Plesk layout, for illustration only - not an actual screenshot
Tip. A sudden spike in disk usage is often log files or an out-of-control backup schedule - check "Files" before assuming it's real traffic.

SolusVM 12 articles

VM-level control: booting, console access, snapshots, networking, and reading the status screen.

Logging into the SolusVM client area SolusVM3 min read

Find your VM management URL and log in for the first time.

  1. Go to the client area URL provided in your VM's welcome email.
  2. Enter the username and password from that email - different from any billing portal login.
  3. From the dashboard, select your VM from the list if you have more than one.
  4. Bookmark the direct VM management URL for faster access later.
  5. Set a recovery email in account settings, if the option is available.
vm-cruise-8f2c Running
Overview Network Backups Firewall Settings
CPU
24%
RAM
41%
Disk
33%
Boot Reboot Shutdown Console Reinstall
Generic VM control layout, for illustration only - not an actual screenshot
Tip. The VM client area is separate from your CloudClerks account login - the two aren't linked automatically.
Booting and rebooting your VM SolusVM3 min read

Start a stopped VM or cleanly restart a running one.

  1. Open your VM's management page and check the current status shown at the top.
  2. Click "Boot" if the VM is stopped, or "Reboot" to restart a running VM.
  3. Confirm the action in the dialog that appears - reboots briefly interrupt any running services.
  4. Watch the status change to "Booting," then "Running," usually within 30 to 60 seconds.
  5. If it doesn't come back within a few minutes, check the VNC console for boot errors before opening a ticket.
vm-cruise-8f2c Running
Overview Network Backups Firewall Settings
CPU
52%
RAM
60%
Disk
33%
Boot Reboot Shutdown Console Reinstall
Generic VM control layout, for illustration only - not an actual screenshot
Tip. A "Reboot" is a clean restart; use "Reset" only if the VM is unresponsive, since it's equivalent to pulling the power.
Accessing the VNC console SolusVM3 min read

Get a screen-level view of your VM, even if networking is down.

  1. Open your VM's management page and click "Console," sometimes labeled "VNC."
  2. Allow the pop-up window or new tab - it streams your VM's screen directly, even without network access.
  3. Click inside the console window to capture your mouse and keyboard.
  4. Use the on-screen key combo helper for special keys like Ctrl+Alt+Del that your browser would otherwise intercept.
  5. Close the console tab when finished - it uses a small amount of your VM's resources while open.
vm-cruise-8f2c Running
Overview Network Backups Firewall Settings
CPU
18%
RAM
34%
Disk
33%
Boot Reboot Shutdown Console Reinstall
Generic VM control layout, for illustration only - not an actual screenshot
Tip. The VNC console is the only way in if SSH is misconfigured or the network stack is down - keep the login handy for emergencies.
Reinstalling your VM's operating system SolusVM3 min read

Wipe the disk and start fresh with a new OS image.

  1. Back up anything you need first - reinstalling erases the entire disk.
  2. Open your VM's management page and choose "Reinstall OS," sometimes labeled "Rebuild."
  3. Select the OS image and version you want from the list.
  4. Set, or confirm, the new root password that will be applied after install.
  5. Confirm the warning and wait for the status to return to "Running," typically a few minutes.
vm-cruise-8f2c Rebuilding
Overview Network Backups Firewall Settings
CPU
71%
RAM
48%
Disk
33%
Boot Reboot Shutdown Console Reinstall
Generic VM control layout, for illustration only - not an actual screenshot
Tip. Take a snapshot first if your plan includes them - it's a faster undo than a full backup restore.
Changing your VM's root password SolusVM3 min read

Reset the root login for your VM from the control panel, without SSH access.

  1. Open your VM's management page and find "Change Root Password," sometimes under "Settings."
  2. Enter a new strong password, or use the generator if one is offered.
  3. Click "Save" - most panels apply this on the next boot, some apply it live via the console.
  4. Reboot the VM if the change didn't apply immediately.
  5. Log in over SSH with the new password to confirm before closing your session.
vm-cruise-8f2c Running
Overview Network Backups Firewall Settings
CPU
22%
RAM
37%
Disk
33%
Boot Reboot Shutdown Console Reinstall
Generic VM control layout, for illustration only - not an actual screenshot
Tip. If you use SSH keys instead of passwords, this option won't affect key-based logins at all.
Viewing bandwidth and resource usage SolusVM3 min read

Check how much of your plan's transfer, CPU, and RAM you're actually using.

  1. Open your VM's management page and find the "Usage" or "Graphs" tab.
  2. Check the bandwidth graph for your current billing period's total transfer.
  3. Check CPU and RAM graphs for spikes that might explain a slowdown.
  4. Compare current numbers against your plan's included transfer allowance.
  5. Set a calendar reminder near your billing reset date if you're close to a limit.
vm-cruise-8f2c Running
Overview Network Backups Firewall Settings
CPU
63%
RAM
71%
Disk
44%
Boot Reboot Shutdown Console Reinstall
Generic VM control layout, for illustration only - not an actual screenshot
Tip. A bandwidth graph that only spikes outbound, not inbound, often points to backups or large file downloads from your VM.
Adding an additional IP address SolusVM3 min read

Request and configure a second IP for your VM.

  1. Open your VM's management page and go to "Network" or "IP Addresses."
  2. Click "Request Additional IP" - this may involve an added monthly cost.
  3. Once assigned, note the new IP, subnet mask, and gateway shown.
  4. Configure the new IP inside your VM's network settings, which varies by OS.
  5. Verify connectivity with a ping test from outside the network.
vm-cruise-8f2c Running
Overview Network Backups Firewall Settings
CPU
20%
RAM
35%
Disk
33%
Boot Reboot Shutdown Console Reinstall
Generic VM control layout, for illustration only - not an actual screenshot
Tip. Most providers require a stated justification for extra IPs due to IPv4 scarcity - have one ready.
Setting reverse DNS for your VM SolusVM3 min read

Make an IP resolve back to a hostname - important for outbound mail.

  1. Open "Network" on your VM's management page and find the IP you want to configure.
  2. Click "Edit rDNS," sometimes labeled "PTR Record," next to that IP.
  3. Enter the hostname you want the IP to resolve back to, like mail.yourdomain.com.
  4. Save, then allow up to a few hours for the change to propagate.
  5. Confirm with a reverse lookup tool that the PTR record matches what you set.
vm-cruise-8f2c Running
Overview Network Backups Firewall Settings
CPU
19%
RAM
33%
Disk
33%
Boot Reboot Shutdown Console Reinstall
Generic VM control layout, for illustration only - not an actual screenshot
Tip. Mail servers especially depend on correct rDNS - a mismatch is a common reason outbound email gets flagged as spam.
Resizing your VM's plan SolusVM3 min read

Move to a bigger or smaller plan without rebuilding the VM.

  1. Open your VM's management page and look for "Upgrade" or "Change Plan."
  2. Compare current vCPU, RAM, and storage against the plans available to move to.
  3. Choose whether to schedule the resize for a maintenance window, since it usually requires a reboot.
  4. Confirm the change and any prorated billing difference shown.
  5. After the resize, confirm the new resources are visible from inside the VM.
vm-cruise-8f2c Running
Overview Network Backups Firewall Settings
CPU
45%
RAM
55%
Disk
68%
Boot Reboot Shutdown Console Reinstall
Generic VM control layout, for illustration only - not an actual screenshot
Tip. Downsizing storage isn't always possible if your current usage exceeds the smaller plan's disk size - free up space first.
Taking and restoring a VM snapshot SolusVM3 min read

Save a point-in-time copy of your VM you can roll back to quickly.

  1. Open your VM's management page and find the "Snapshots" tab.
  2. Click "Take Snapshot" and give it a clear, dated name.
  3. Wait for the snapshot to reach "Completed" status before making risky changes to the VM.
  4. To roll back, select the snapshot and click "Restore," confirming the current state will be replaced.
  5. Delete old snapshots you no longer need - they count against your plan's storage in some cases.
vm-cruise-8f2c Running
Overview Network Backups Firewall Settings
CPU
30%
RAM
42%
Disk
55%
Boot Reboot Shutdown Console Reinstall
Generic VM control layout, for illustration only - not an actual screenshot
Tip. A snapshot is not a substitute for an off-server backup - both live on the same underlying storage.
Enabling firewall rules from the control panel SolusVM3 min read

Restrict which ports and IPs can reach your VM, without touching the OS.

  1. Open your VM's management page and find "Firewall," sometimes under "Security" or "Network."
  2. Click "Enable" if the panel-level firewall isn't already active.
  3. Add a rule for each port you need open, like 22 for SSH and 443 for HTTPS, restricting source IPs where possible.
  4. Save and confirm you can still reach the VM over SSH before closing your current session.
  5. Review rules periodically and remove any tied to services you no longer run.
vm-cruise-8f2c Running
Overview Network Backups Firewall Settings
CPU
21%
RAM
36%
Disk
33%
Boot Reboot Shutdown Console Reinstall
Generic VM control layout, for illustration only - not an actual screenshot
Tip. Always leave your current SSH source IP allowed before saving - it's the most common way people lock themselves out.
Understanding VM status states SolusVM3 min read

What each status label on your VM's dashboard actually means.

  1. "Running" means the VM is powered on and should be reachable over the network.
  2. "Stopped" means it's powered off - no billing pause applies unless your plan specifically supports that.
  3. "Booting" or "Rebooting" are transitional states that should resolve within a minute or two.
  4. "Suspended" usually indicates a billing or abuse-policy issue - check your account or support tickets.
  5. "Rebuilding" appears during an OS reinstall and returns to "Running" once it completes.
vm-cruise-8f2c Running
Overview Network Backups Firewall Settings
CPU
27%
RAM
39%
Disk
33%
Boot Reboot Shutdown Console Reinstall
Generic VM control layout, for illustration only - not an actual screenshot
Tip. If a VM sits in a transitional state for more than a few minutes, open a support ticket rather than repeatedly clicking the action button.

WebPanel 9 articles

The same everyday tasks - sites, mail, databases, DNS - on a lighter, general-purpose VPS control panel.

Logging into WebPanel for the first time WebPanel3 min read

Find your WebPanel URL and get past the initial setup screen.

  1. Check your welcome email for the WebPanel URL, usually https://your-server-ip:2087 or a link from your host.
  2. Enter the username and temporary password provided.
  3. Accept the browser's certificate warning if this is the server's first boot - it starts on a self-signed certificate.
  4. When prompted, set a new password and add a recovery email under account settings.
  5. From the home screen, note your plan's disk, bandwidth, and account limits.
WebPanel · control panel
Home
Websites
Email
Databases
Files
DNS
SSL
Users
Cron Jobs
WebPanel Home
Generic WebPanel layout, for illustration only - not an actual screenshot
Tip. WebPanel's admin and per-site logins are separate URLs - bookmark whichever one you'll actually use day to day.
Creating a new website in WebPanel WebPanel3 min read

Add a domain and get its document root ready for files.

  1. Open "Websites" and click "Create Website" or "Add Domain."
  2. Type the domain name and confirm the document root WebPanel suggests, or set a custom one.
  3. Choose whether to auto-provision a default index page.
  4. Click "Create" and wait for the confirmation that the virtual host was set up.
  5. Upload your site's files to the new document root.
WebPanel · control panel
Home
Websites
Email
Databases
Files
DNS
SSL
Users
Cron Jobs
Websites › Create Website
Generic WebPanel layout, for illustration only - not an actual screenshot
Tip. Point the domain's nameservers at WebPanel's DNS, or add an A record, before or right after this step.
Creating an email account in WebPanel WebPanel3 min read

Set up a new mailbox on a domain hosted in WebPanel.

  1. Open "Email" and click "Create Email Account."
  2. Choose the domain, then type the mailbox name.
  3. Set a mailbox quota, or leave it unlimited if your plan allows.
  4. Enter and confirm a password, then click "Create."
  5. Note the IMAP/SMTP server settings shown - you'll need them to connect a phone or desktop client.
WebPanel · control panel
Home
Websites
Email
Databases
Files
DNS
SSL
Users
Cron Jobs
Email › Create Account
Generic WebPanel layout, for illustration only - not an actual screenshot
Tip. Mailbox names are case-insensitive and generally can't be renamed later without recreating the account.
Creating a database in WebPanel WebPanel3 min read

Set up a database and user for an application.

  1. Open "Databases" and click "Create Database."
  2. Name the database, then create a matching database user with a generated password.
  3. Grant the user access to the new database, choosing full privileges for a typical application.
  4. Click "Save" and record the database host, name, and username for your app's config file.
  5. Open the bundled database tool (often phpMyAdmin) if you need to inspect tables directly.
WebPanel · control panel
Home
Websites
Email
Databases
Files
DNS
SSL
Users
Cron Jobs
Databases › Create Database
Generic WebPanel layout, for illustration only - not an actual screenshot
Tip. Save the generated password now - most panels won't show it again after you navigate away.
Uploading files with WebPanel's File Manager WebPanel3 min read

Get files onto your site without needing a separate FTP client.

  1. Open "Files" and navigate to your domain's document root.
  2. Click "Upload" and select or drag files from your computer.
  3. Select an uploaded archive and choose "Extract" to unpack it in place.
  4. Use the permissions tool on a file or folder if a script needs write access.
  5. Use the built-in text editor for quick edits instead of re-uploading a whole file.
WebPanel · control panel
Home
Websites
Email
Databases
Files
DNS
SSL
Users
Cron Jobs
Files › File Manager
Generic WebPanel layout, for illustration only - not an actual screenshot
Tip. Avoid setting permissions wide open (777) - a script needing write access almost never needs that much.
Managing a domain's DNS zone in WebPanel WebPanel3 min read

Add or edit DNS records for a domain hosted in WebPanel.

  1. Open "DNS" and select the domain's zone.
  2. Click "Add Record" and choose a type - A, CNAME, MX, or TXT are the most common.
  3. Fill in the name, value, and TTL, then save.
  4. Allow up to a few hours for changes to propagate, depending on the record's TTL.
  5. Confirm the change with a DNS lookup tool before relying on it.
WebPanel · control panel
Home
Websites
Email
Databases
Files
DNS
SSL
Users
Cron Jobs
DNS › Zone Editor
Generic WebPanel layout, for illustration only - not an actual screenshot
Tip. Lower a record's TTL a day before a planned change, so the eventual update propagates faster.
Installing a free SSL certificate in WebPanel WebPanel3 min read

Turn on HTTPS for a domain hosted in WebPanel, at no cost.

  1. Open "SSL" for your domain and choose "Install Free Certificate."
  2. Confirm the domain (and any www variant) to include on the certificate.
  3. Click "Issue" and wait for validation - usually under a minute if DNS already points here.
  4. Enable "Force HTTPS" so visitors are redirected automatically.
  5. Certificates typically auto-renew every 90 days - check back only if you get a renewal-failure notice.
WebPanel · control panel
Home
Websites
Email
Databases
Files
DNS
SSL
Users
Cron Jobs
SSL › Install Certificate
Generic WebPanel layout, for illustration only - not an actual screenshot
Tip. Free certificates need your domain's DNS pointed at this server first - fix DNS before retrying a failed issuance.
Scheduling a cron job in WebPanel WebPanel3 min read

Run a script automatically on a recurring schedule.

  1. Open "Cron Jobs" and click "Add Job."
  2. Choose a preset schedule or set custom minute/hour/day fields.
  3. Paste the full command to run, including the full path to any script.
  4. Click "Save" and check your email or a log file after the first scheduled run.
  5. Remove or disable jobs you no longer need instead of leaving them to fail silently.
WebPanel · control panel
Home
Websites
Email
Databases
Files
DNS
SSL
Users
Cron Jobs
Cron Jobs › Add Job
Generic WebPanel layout, for illustration only - not an actual screenshot
Tip. Cron times run in your server's timezone, usually shown near the top of the Cron Jobs page.
Creating additional WebPanel user accounts WebPanel3 min read

Give a teammate scoped access without sharing the admin login.

  1. Open "Users" and click "Create User."
  2. Fill in the person's name, email, and an access level or role.
  3. Choose which domains or features this user can manage.
  4. Set their password and click "Save."
  5. Send the login URL separately from the password for basic security hygiene.
WebPanel · control panel
Home
Websites
Email
Databases
Files
DNS
SSL
Users
Cron Jobs
Users › Create User
Generic WebPanel layout, for illustration only - not an actual screenshot
Tip. A limited role that hides billing and server settings is usually enough for a content editor or support hire.

Webmin 9 articles

Module-based Linux system administration: users, filesystems, services, and the Apache and MySQL modules.

Logging into Webmin for the first time Webmin3 min read

Find your Webmin URL and get past the initial certificate warning.

  1. Go to https://your-server-ip:10000 - Webmin's default port is 10000.
  2. Accept the browser's certificate warning if this is the server's first boot - it starts on a self-signed certificate.
  3. Log in with your Linux root (or sudo) username and password - Webmin uses your system accounts directly.
  4. From the dashboard, review the system summary: uptime, load average, memory, and disk space.
  5. Open "Webmin Users" under the Webmin category to review who else has access.
Webmin · control panel
Webmin
System
Servers
Networking
Hardware
Others
Webmin › Webmin Users
Generic Webmin layout, for illustration only - not an actual screenshot
Tip. Webmin logins are your actual Linux system accounts - changing a password here changes it system-wide.
Managing Linux users and groups in Webmin Webmin3 min read

Create, edit, and remove system user accounts from a browser.

  1. Open "System" › "Users and Groups."
  2. Click "Create a new user," fill in the username, and choose a password option.
  3. Assign the user to a primary group, and any secondary groups they need, like sudo.
  4. Set their home directory and login shell, then click "Create."
  5. Use "Create a new group" separately if you need a group before assigning users to it.
Webmin · control panel
Webmin
System
Servers
Networking
Hardware
Others
System › Users and Groups
Generic Webmin layout, for illustration only - not an actual screenshot
Tip. Changes here take effect immediately and system-wide - the same as running useradd or usermod over SSH.
Mounting disks and filesystems in Webmin Webmin3 min read

Attach and configure additional storage without editing fstab by hand.

  1. Open "System" › "Disk and Network Filesystems."
  2. Click "Add mount" and select the new disk or partition.
  3. Choose the filesystem type and the mount point directory.
  4. Check "Mount at boot" so it survives a reboot, then click "Create."
  5. Click "Mount" to attach it immediately without rebooting.
Webmin · control panel
Webmin
System
Servers
Networking
Hardware
Others
System › Disk and Network Filesystems
Generic Webmin layout, for illustration only - not an actual screenshot
Tip. Webmin writes these changes into /etc/fstab for you - worth reviewing the file afterward if you're learning it.
Installing software updates in Webmin Webmin3 min read

Check for and apply system package updates from the dashboard.

  1. Open "System" › "Software Package Updates."
  2. Click "Check for Updates" to refresh the list of available packages.
  3. Review the list - security updates are usually flagged separately.
  4. Select the updates to apply, or choose "Update all," then click "Update Selected Packages."
  5. Reboot if the summary indicates a kernel or core library update needs it.
Webmin · control panel
Webmin
System
Servers
Networking
Hardware
Others
System › Software Package Updates
Generic Webmin layout, for illustration only - not an actual screenshot
Tip. On a production VM, review what's changing before a bulk "Update all" rather than running it blind.
Viewing and managing running processes in Webmin Webmin3 min read

Find what's consuming CPU or memory, and stop it if needed.

  1. Open "System" › "Running Processes."
  2. Sort by CPU or memory to find the heaviest processes.
  3. Click a process to see its full command line and owner.
  4. Use "Kill Process" for an unresponsive one, choosing a stronger signal only if a normal kill doesn't work.
  5. Cross-check anything unfamiliar against your installed services before killing it.
Webmin · control panel
Webmin
System
Servers
Networking
Hardware
Others
System › Running Processes
Generic Webmin layout, for illustration only - not an actual screenshot
Tip. A process you don't recognize is often a backup job or a package manager running in the background, not a problem.
Configuring network interfaces in Webmin Webmin3 min read

Review or adjust IP addresses and routing without editing config files by hand.

  1. Open "Networking" › "Network Configuration."
  2. Click "Network Interfaces" to see current IP addresses and status.
  3. Edit an interface to change its IP, netmask, or gateway.
  4. Check "Activate at Boot" so the setting survives a reboot.
  5. Apply the change, and keep your current SSH session open until you've confirmed you can reconnect.
Webmin · control panel
Webmin
System
Servers
Networking
Hardware
Others
Networking › Network Configuration
Generic Webmin layout, for illustration only - not an actual screenshot
Tip. Test a network change over the VNC console first if you're at all unsure - a bad change here can lock out SSH.
Managing the Apache webserver module in Webmin Webmin3 min read

Create virtual hosts and reload Apache from the browser.

  1. Open "Servers" › "Apache Webserver."
  2. Click "Create Virtual Host" and fill in the domain name and document root.
  3. Set the port (usually 80, or 443 with SSL enabled) and save.
  4. Use "Apply Changes" to reload Apache without dropping existing connections.
  5. Check the module's log viewer if a site doesn't come up as expected.
Webmin · control panel
Webmin
System
Servers
Networking
Hardware
Others
Servers › Apache Webserver
Generic Webmin layout, for illustration only - not an actual screenshot
Tip. Webmin edits Apache's real config files directly - a syntax mistake here can be checked with the module's built-in config test.
Managing MySQL databases in Webmin Webmin3 min read

Create databases and users through the MySQL module instead of the command line.

  1. Open "Servers" › "MySQL Database Server."
  2. Click "Create a new database" and give it a name.
  3. Open "User Permissions" to create a new user and grant it access to the database.
  4. Use the module's built-in editor to browse tables without a separate database tool.
  5. Use "Execute SQL" for one-off queries, like checking a table's row count.
Webmin · control panel
Webmin
System
Servers
Networking
Hardware
Others
Servers › MySQL Database Server
Generic Webmin layout, for illustration only - not an actual screenshot
Tip. The module can also run backups - useful as a quick manual export before a risky schema change.
Managing startup services in Webmin Webmin3 min read

Control which services start automatically when the VM boots.

  1. Open "System" › "Bootup and Shutdown."
  2. Find the service you want to change in the list.
  3. Toggle it on or off for automatic startup at boot.
  4. Use "Start," "Stop," or "Restart" to change its current running state immediately.
  5. Double-check dependent services - stopping something like networking can affect others.
Webmin · control panel
Webmin
System
Servers
Networking
Hardware
Others
System › Bootup and Shutdown
Generic Webmin layout, for illustration only - not an actual screenshot
Tip. This module is the browser equivalent of systemctl enable/disable and systemctl start/stop.

Linux Commands 16 articles

A command reference for the terminal work that comes up no matter which control panel you use.

Navigating the filesystem: cd, pwd, ls Linux Commands4 min read

The three commands you'll type more than any others.

terminal
$ pwd
# Print the full path of your current directory
$ ls
# List files and folders in the current directory
$ ls -la
# List all files, including hidden ones, with details
$ cd /var/www
# Change into the /var/www directory
$ cd ..
# Move up one directory level
$ cd ~
# Jump straight to your home directory
Managing files and directories: cp, mv, rm, mkdir Linux Commands4 min read

Create, copy, rename, and delete files and folders from the command line.

terminal
$ mkdir site-backup
# Create a new directory named site-backup
$ cp file.txt file.bak
# Copy file.txt to a new file named file.bak
$ cp -r folder1 folder2
# Copy an entire directory recursively
$ mv old-name.txt new-name.txt
# Rename or move a file
$ rm file.txt
# Delete a single file
$ rm -r old-folder
# Delete a directory and everything inside it
Tip. There's no recycle bin in a terminal - rm is permanent, so double-check the path before pressing enter.
Viewing and editing files: cat, less, nano, vim Linux Commands4 min read

Read and edit text files without leaving the terminal.

terminal
$ cat file.txt
# Print a file's entire contents to the screen
$ less file.txt
# Scroll through a long file page by page (q to quit)
$ nano file.txt
# Open a file in the beginner-friendly nano editor
$ vim file.txt
# Open a file in vim - press i to insert, Esc then :wq to save and quit
$ head -n 20 file.txt
# Show just the first 20 lines of a file
$ tail -n 20 file.txt
# Show just the last 20 lines of a file
Understanding file permissions: chmod, chown Linux Commands4 min read

Control who can read, write, and execute a file.

terminal
$ ls -l file.txt
# Show a file's current permissions and owner
$ chmod 644 file.txt
# Set read/write for the owner, read-only for everyone else
$ chmod 755 script.sh
# Make a file readable and executable by everyone, writable by the owner
$ chmod +x script.sh
# Add execute permission without changing the rest
$ chown user:group file.txt
# Change a file's owner and group
$ chown -R user:group folder/
# Apply an ownership change recursively to a whole folder
Tip. The three permission digits are owner, group, and everyone else, in that order - 644 reads as rw-r--r--.
Searching for files and text: find, grep Linux Commands4 min read

Locate a file by name, or a line of text buried in a log.

terminal
$ find /var/www -name '*.php'
# Find every .php file under /var/www
$ find . -mtime -1
# Find files modified in the last 24 hours
$ grep 'error' log.txt
# Print every line in log.txt containing 'error'
$ grep -ri 'error' /var/log
# Search recursively and case-insensitively across a whole directory
$ grep -c 'error' log.txt
# Count how many lines match, instead of printing them
Managing processes: ps, top, kill Linux Commands4 min read

See what's running and stop something that's misbehaving.

terminal
$ ps aux
# List every running process with owner, CPU, and memory usage
$ top
# Show a live, auto-refreshing view of running processes (q to quit)
$ ps aux | grep nginx
# Find the process ID for a specific program, like nginx
$ kill 4821
# Ask a process to stop gracefully by its process ID
$ kill -9 4821
# Force-stop a process that won't respond to a normal kill
Checking disk usage: df, du Linux Commands3 min read

Find out what's actually filling up your disk.

terminal
$ df -h
# Show free and used space on every mounted disk, in human-readable units
$ du -sh /var/www
# Show the total size of a specific folder
$ du -h --max-depth=1 /home
# Break down folder sizes one level deep, to find what's using space
$ df -i
# Show inode usage - useful when you're out of files, not space
Networking basics: ping, curl, wget Linux Commands4 min read

Test connectivity and pull files from the command line.

terminal
$ ping example.com
# Test basic connectivity and measure round-trip time
$ curl -I https://example.com
# Fetch just the HTTP headers of a URL, to check it's responding
$ curl -o file.zip https://example.com/file.zip
# Download a file from a URL
$ wget https://example.com/file.zip
# Download a file, resuming automatically if interrupted
$ dig example.com
# Look up a domain's DNS records
Working with archives: tar, zip, unzip Linux Commands4 min read

Compress and extract folders for backups and transfers.

terminal
$ tar -czvf backup.tar.gz folder/
# Compress a folder into a .tar.gz archive
$ tar -xzvf backup.tar.gz
# Extract a .tar.gz archive into the current directory
$ zip -r site.zip site/
# Compress a folder into a .zip archive
$ unzip site.zip
# Extract a .zip archive into the current directory
$ unzip -l site.zip
# List a .zip archive's contents without extracting it
Managing users and groups: adduser, usermod, passwd Linux Commands4 min read

Create and administer Linux user accounts.

terminal
$ adduser deploy
# Create a new user account named deploy, with prompts for details
$ usermod -aG sudo deploy
# Add an existing user to the sudo group for admin privileges
$ passwd deploy
# Set or change a user's password
$ deluser deploy
# Remove a user account (add --remove-home to also delete their files)
$ groups deploy
# List the groups a user belongs to
Using SSH to connect to your VM Linux Commands3 min read

Get a terminal on your VM from your own machine.

terminal
$ ssh root@203.0.113.42
# Connect to your VM as the root user over SSH
$ ssh -p 2222 root@203.0.113.42
# Connect using a non-default SSH port
$ ssh-keygen -t ed25519
# Generate a new SSH key pair on your local machine
$ ssh-copy-id root@203.0.113.42
# Copy your public key to the VM for password-less login
Tip. Once key-based login works, disable password authentication in /etc/ssh/sshd_config for better security.
Copying files with scp and rsync Linux Commands3 min read

Move files to and from your VM over SSH.

terminal
$ scp file.txt root@203.0.113.42:/root/
# Copy a single file to your VM over SSH
$ scp -r folder/ root@203.0.113.42:/root/
# Copy an entire folder to your VM
$ rsync -avz folder/ root@203.0.113.42:/root/folder/
# Sync a folder to your VM, only transferring what's changed
$ rsync -avz --delete src/ dest/
# Mirror a folder exactly, deleting anything at the destination that's not in the source
Managing services with systemctl Linux Commands4 min read

Start, stop, and inspect background services.

terminal
$ systemctl status nginx
# Check whether a service is running and see its recent log lines
$ systemctl start nginx
# Start a stopped service
$ systemctl restart nginx
# Restart a running service, applying any config changes
$ systemctl enable nginx
# Make a service start automatically on boot
$ systemctl stop nginx
# Stop a running service
Viewing system logs: journalctl, /var/log Linux Commands3 min read

Find out what happened, and when, from the system's own logs.

terminal
$ journalctl -u nginx
# Show logs for a specific systemd service
$ journalctl -f
# Follow new log entries live, like tail -f
$ tail -f /var/log/syslog
# Follow a traditional log file live
$ less /var/log/auth.log
# Review authentication attempts, including failed logins
Scheduling tasks with cron Linux Commands3 min read

Run a script automatically without cPanel or Plesk in the loop.

terminal
$ crontab -e
# Open your personal crontab file for editing
$ crontab -l
# List your currently scheduled cron jobs
$ 0 3 * * * /home/user/backup.sh
# Run a script every day at 3:00 AM (a crontab line, not a shell command)
$ */15 * * * * curl -s https://example.com/cron
# Run a command every 15 minutes
Tip. The five schedule fields are minute, hour, day of month, month, and day of week, in that order.
Basic shell scripting: variables, loops, if Linux Commands4 min read

The handful of syntax patterns that cover most everyday scripts.

terminal
$ name="world"
# Assign a value to a variable (no spaces around the equals sign)
$ echo "Hello, $name"
# Print text, substituting in a variable's value
$ for f in *.log; do echo $f; done
# Loop over every .log file in the current directory
$ if [ -f file.txt ]; then echo exists; fi
# Run a command only if a file exists
$ chmod +x script.sh && ./script.sh
# Make a script executable, then run it