Who this is for: System Owner / Admin using shared hosting with cPanel

Goal: Install Task Session on a shared hosting account using cPanel — from creating your database to logging into your admin dashboard. This guide is written specifically for cPanel users with no command line experience required.

Shared hosting with cPanel is the most common and affordable way to run Task Session. The entire application is only 10 MB, so it runs comfortably within the resource limits of most shared hosting plans. If your plan supports PHP websites, you can run Task Session.

This guide covers every click and every screen. If you follow each step in order, the full installation takes around 10 to 15 minutes.

Before You Begin

Confirm the following before starting. All of these can be checked and configured from within cPanel:

  1. PHP 8.0 or higher is active on your hosting account. You can check and change this in cPanel under Select PHP Version or MultiPHP Manager.
  2. Required PHP extensions are enabled: PDO, mbstring, OpenSSL, cURL, GD, JSON, fileinfo. These can be toggled on under Select PHP Version in the Extensions tab.
  3. SSL/HTTPS is active on your domain. Check under SSL/TLS Status or AutoSSL in cPanel. Most shared hosts provide free SSL through Let’s Encrypt.
  4. You have your Task Session download ready (ZIP file from your account at tasksession.com/account).
  5. You know whether you are installing on your main domain, a subdomain, or in a subdirectory.

If you are unsure about any of these, refer to the System Requirements and Hosting Prerequisites article for full details.

Step 1: Verify Your PHP Version and Extensions

Task Session requires PHP 8.0 or higher. Most shared hosting accounts default to an older PHP version, so you may need to change it manually.

Check and Change PHP Version

  1. Log in to your cPanel dashboard.
  2. Scroll to the Software section and click Select PHP Version (some hosts label this MultiPHP Manager).
  3. Look at the current PHP version displayed at the top. If it is below 8.0, use the dropdown to select PHP 8.1 or PHP 8.2 (recommended).
  4. Click Set as current or Apply to save the change.

Enable Required Extensions

  1. While still on the Select PHP Version page, click the Extensions tab (or scroll down to the extensions list).
  2. Ensure the following extensions are checked/enabled:
ExtensionPurposeStatus
pdoDatabase connectivityRequired
pdo_mysqlMySQL database driverRequired
mbstringMulti-byte string handling and multi-language supportRequired
opensslEncryption, HTTPS, payment gateway communicationRequired
curlHTTP requests for APIs, payment gateways, and updatesRequired
gdImage processing for thumbnails and uploadsRequired
jsonData encoding for APIs and real-time chatRequired
fileinfoFile type detection and upload validationRequired
zipArchive handling for bulk downloads and updatesRecommended
intlDate, number, and currency formatting across localesRecommended
  1. Check any that are missing and click Save.

If the Select PHP Version page does not show these options, contact your hosting provider and ask them to enable these extensions for your account.

Step 2: Verify SSL Is Active

  1. In cPanel, go to the Security section and click SSL/TLS Status.
  2. Find your domain in the list. It should show a green padlock or say “AutoSSL Domain Validated.”
  3. If SSL is not active, click Run AutoSSL or contact your hosting provider to enable free SSL (Let’s Encrypt).
  4. Verify by visiting https://yourdomain.com in your browser. You should see a padlock icon in the address bar.

SSL is required for production use of Task Session. It is also mandatory if you plan to use Google Login (OAuth) or Google Drive integration, and it is required or strongly recommended by all supported payment gateways (Stripe, PayPal, 2Checkout).

Step 3: Create a MySQL Database and User

Task Session stores all data — projects, tasks, clients, invoices, chat messages, settings — in a MySQL database. You need to create a dedicated database and a database user before running the installer.

  1. In cPanel, go to the Databases section and click MySQL Databases.
  2. Under Create New Database, enter a name for your database (e.g., youraccount_tasksession). cPanel prefixes your account name automatically. Click Create Database.
  3. Scroll down to MySQL Users and under Add New User, enter a username and a strong password. Click Create User.
  4. Scroll down to Add User to Database. Select the user you just created, select the database you just created, and click Add.
  5. On the privileges screen, check All Privileges and click Make Changes.

Write down these four details — you will need them during the installation wizard:

  1. Database Host: This is almost always localhost on shared hosting. If your host uses a different hostname, it will be listed on the MySQL Databases page.
  2. Database Name: The full name including the cPanel prefix (e.g., youraccount_tasksession).
  3. Database Username: The full username including the cPanel prefix (e.g., youraccount_tsuser).
  4. Database Password: The password you set for the user.

Step 4: Upload Task Session Files

  1. In cPanel, go to the Files section and click File Manager.
  2. Navigate to the directory where you want to install Task Session:
Installation TypeNavigate ToYour Site Will Be At
Main domainpublic_htmlyourdomain.com
Subdomainpublic_html/subdomain_folder (check your subdomain settings for the exact path)projects.yourdomain.com
Subdirectorypublic_html/foldername (create the folder first if it does not exist)yourdomain.com/foldername
  1. Click the Upload button in the top toolbar.
  2. On the upload page, click Select File and choose the Task Session ZIP file from your computer. Wait for the upload to complete (approximately 10 MB).
  3. Click the link to return to the File Manager.
  4. Find the uploaded ZIP file, right-click it, and select Extract.
  5. In the extraction dialog, confirm the destination path is correct and click Extract File(s).
  6. After extraction, verify the file structure. You should see the Task Session files and folders directly in your target directory. The /install/ folder should be at the same level as the other application files.

Common mistake to avoid: Sometimes extracting a ZIP file creates an extra parent folder (e.g., public_html/tasksession/install/ instead of public_html/install/). If this happens, move all files from inside the extra folder up one level into your target directory, then delete the empty extra folder.

Verify the Upload

Open a new browser tab and visit:

https://yourdomain.com/install/

If the install wizard loads, your files are in the correct location. If you see a 404 error or blank page, go back to File Manager and check that the /install/ folder is in the right directory.

Step 5: Set File Permissions

Most shared hosting providers set permissions correctly by default, but it is worth verifying before running the installer. Incorrect permissions are one of the most common causes of installation failures.

  1. In File Manager, navigate to your Task Session installation directory.
  2. Right-click any folder and select Change Permissions.
  3. Verify that directories are set to 755 (Owner: Read, Write, Execute / Group: Read, Execute / World: Read, Execute).
  4. Right-click any file and verify it is set to 644 (Owner: Read, Write / Group: Read / World: Read).

If permissions are not correct, you can change them here. Select the file or folder, right-click, choose Change Permissions, enter the correct value, and click Change Permissions to save.

Important: Never set any file or folder to 777. This is a security risk that allows any process on the server to read, write, and execute your files.

Step 6: Run the Install Wizard

Open your browser and go to:

https://yourdomain.com/install/

The Task Session install wizard will walk you through the remaining setup. Here is what to expect on each screen:

Screen 1: Requirements Check

The wizard scans your server and checks PHP version, required extensions, file permissions, and writable directories. If you completed Steps 1 and 5, everything should pass with green indicators. Click the button to proceed.

If any check fails, the wizard tells you exactly what is wrong. Go back to the relevant step above to fix it, then refresh the installer page.

Screen 2: Database Configuration

Enter the four database details you noted in Step 3:

  1. Database Host: Enter localhost (this is correct for most shared hosting providers).
  2. Database Name: Enter the full database name including the cPanel prefix.
  3. Database Username: Enter the full username including the cPanel prefix.
  4. Database Password: Enter the password you created for the database user.

The installer tests the connection immediately. If it fails:

  1. Go back to cPanel and double-check the database name, username, and password on the MySQL Databases page.
  2. Make sure the user has been added to the database with All Privileges.
  3. Confirm the database host. While localhost works on most shared hosts, some providers use a different hostname — check your hosting documentation or ask support.

Screen 3: System Configuration

Set up the basic system defaults:

  1. Site Title: Enter your company or platform name. This appears in the dashboard and email notifications. You can change it later.
  2. Site URL: Enter your full URL including https:// (e.g., https://yourdomain.com or https://projects.yourdomain.com). This must be exact — it affects all links in emails, the client portal, and invoice payment links.
  3. Timezone: Select your operating timezone. This affects task due dates, invoice dates, chat timestamps, and all time-based features.
  4. Currency: Choose your default currency for invoicing. This is the currency shown on all invoices in the system.
  5. Language: Select your default language. Task Session supports English, Spanish, Italian, and French.

Screen 4: Create Admin Account

  1. Full Name: Your name as it will appear throughout the system.
  2. Email Address: Your login email. Also used for system notifications.
  3. Password: Use a strong password — at least 12 characters with a mix of uppercase, lowercase, numbers, and special characters. This account has full access to everything in Task Session.

Click the button to complete the installation. The wizard creates all database tables, configures the application, and prepares your instance.

Screen 5: Installation Complete

You will see a success confirmation. Before proceeding to your dashboard, you must complete the critical security step in the next section.

Step 7: Delete the /install/ Folder (Critical)

Do this immediately. Task Session’s official documentation explicitly warns that leaving the /install/ folder on your server is a serious security risk.

  1. Go back to cPanel File Manager.
  2. Navigate to your Task Session installation directory.
  3. Find the /install/ folder.
  4. Right-click it and select Delete.
  5. In the confirmation dialog, check “Skip the Trash and permanently delete the files” and click Confirm.

Verify the deletion: Visit https://yourdomain.com/install/ in your browser. You should see a 404 error or a “page not found” message. If the wizard still loads, the folder was not deleted — go back and remove it.

Step 8: Log In to Your Admin Dashboard

  1. Visit https://yourdomain.com in your browser.
  2. You will see the Task Session login page.
  3. Enter the admin email and password you created during Step 6 (Screen 4).
  4. Click Login.

You will land on the Admin Dashboard — your central overview of projects, tasks, invoices, team activity, and client activity.

Verify Your Installation

After logging in for the first time, run through these checks to confirm everything is working correctly:

  1. The admin dashboard loads without errors or blank screens.
  2. Your site title appears correctly in the header.
  3. The browser address bar shows a padlock icon (SSL active).
  4. You can navigate to each section: Projects, Tasks, Clients, Invoicing, Files, Chat, Notes, and Settings.
  5. Visiting https://yourdomain.com/install/ returns a 404 (install folder deleted).
  6. The timezone and currency in Settings match what you configured during installation.

Configuring Email on Shared Hosting

One common issue on shared hosting is email deliverability. Task Session relies on email for client onboarding invitations, project notifications, invoice alerts, password resets, and chat offline alerts. If email is not configured properly, clients may not receive their login credentials and important notifications will go undelivered.

Most shared hosting plans include a built-in mail server, but deliverability can be unreliable. For production use, configuring SMTP is strongly recommended.

Option A: Use Your Host’s Built-In Email

This works out of the box on most cPanel hosts but has lower deliverability. Emails may land in spam folders, especially with Gmail and Outlook recipients.

Option B: Configure SMTP (Recommended)

For reliable email delivery, configure Task Session to send emails through an SMTP server. You can use:

  1. Your hosting provider’s SMTP: cPanel hosts typically provide SMTP details under Email Accounts. Use the same credentials you would use to configure an email client.
  2. Gmail SMTP: If you have a Gmail or Google Workspace account, you can use Gmail’s SMTP server (smtp.gmail.com, port 587, TLS). You may need to enable “Less secure apps” or use an App Password.
  3. Transactional email services: Services like Amazon SES, Mailgun, Postmark, or Sendinblue are designed for application email and offer the best deliverability.

After configuring SMTP in Task Session’s admin settings, send a test email to verify delivery. Check your spam/junk folder if the test email does not arrive in your inbox. If emails consistently land in spam, configure SPF, DKIM, and DMARC DNS records for your domain.

For full SMTP setup instructions, see: Configure Email / SMTP.

Setting Up a Subdomain for Task Session

Many agencies prefer to install Task Session on a subdomain like projects.yourdomain.com or portal.yourdomain.com, keeping it separate from their main website. Here is how to set this up in cPanel:

  1. In cPanel, go to the Domains section and click Subdomains (or Domains on newer cPanel versions).
  2. Enter your desired subdomain name (e.g., projects).
  3. cPanel will automatically suggest a document root directory (e.g., public_html/projects). You can accept the default or change it.
  4. Click Create.
  5. Wait for SSL to be provisioned for the subdomain. Check under SSL/TLS Status — you may need to run AutoSSL again.
  6. Once the subdomain is active and SSL is ready, follow Steps 4 through 8 above, using the subdomain’s directory as your installation target.

During the install wizard, enter the full subdomain URL (e.g., https://projects.yourdomain.com) as the Site URL.

Shared Hosting Limitations to Be Aware Of

Shared hosting is the most affordable option and works well for most Task Session deployments. However, there are a few limitations to keep in mind:

  1. PHP upload limits: Shared hosts often set upload_max_filesize and post_max_size to low values (2 MB or 8 MB). If your team needs to upload larger files through Task Session, you may need to increase these values in the PHP configuration. On cPanel, go to Select PHP Version, then the Options tab, and adjust upload_max_filesize and post_max_size.
  2. Execution time limits: Some operations (large file uploads, bulk actions) may hit PHP’s max_execution_time limit. The default is often 30 seconds. You can increase this under the same PHP Options tab.
  3. Concurrent users: Shared hosting shares server resources with other accounts. For teams of 1 to 10 users, this is rarely an issue. If you grow to 20+ concurrent users and notice slowness, consider upgrading to a VPS.
  4. SSH access: Many shared hosting plans do not include SSH access, which means all file management must be done through cPanel File Manager or FTP. This is fine for installation and day-to-day use, but can be less convenient for troubleshooting.
  5. Cron jobs: If Task Session requires scheduled tasks (e.g., recurring invoices, automated reminders), you can set these up in cPanel under Cron Jobs. Your hosting provider may limit cron frequency on shared plans.

Recommended PHP Settings for Task Session

For the best experience on shared hosting, adjust these PHP settings in cPanel under Select PHP Version, then the Options tab:

SettingRecommended ValueWhy
upload_max_filesize64MAllows uploading larger project files and deliverables
post_max_size64MMust be equal to or larger than upload_max_filesize
max_execution_time120Prevents timeouts during large uploads and bulk operations
memory_limit256MEnsures enough memory for image processing, PDF generation, and larger operations
max_input_vars3000Supports forms with many fields (e.g., detailed permission settings)

These values are recommendations. If your hosting provider restricts certain settings, Task Session will still function with the defaults — the adjustments above simply provide more headroom for larger files and heavier usage.

Troubleshooting Common cPanel Installation Issues

SymptomLikely CauseFix in cPanel
Install wizard shows blank pagePHP version below 8.0Go to Select PHP Version and switch to PHP 8.1 or 8.2.
“Requirements check failed”Missing PHP extensionsGo to Select PHP Version, then Extensions. Enable the missing ones and click Save.
“Database connection failed”Wrong credentials or user not assigned to databaseGo to MySQL Databases. Verify the database name, username, and that the user is added to the database with All Privileges.
ZIP extraction creates an extra folderZIP file has a parent directory inside itMove all files from inside the extra folder up one level into your target directory. Delete the empty folder.
404 error when visiting /install/Files are in the wrong directoryOpen File Manager and check that the install folder is inside your public_html (or subdomain/subdirectory folder), not nested inside an extra folder.
Blank page after installationFile permissions incorrectRight-click folders and set to 755. Right-click files and set to 644.
“Not Secure” warning in browserSSL not activeGo to SSL/TLS Status in cPanel and run AutoSSL. Wait a few minutes and try again.
Emails not being sent or landing in spamDefault mail server has poor deliverabilityConfigure SMTP in Task Session settings. Use your hosting SMTP, Gmail SMTP, or a transactional email service.
File upload fails in Task SessionPHP upload limits too lowGo to Select PHP Version, then Options. Increase upload_max_filesize and post_max_size to 64M.

Recommended Shared Hosting Providers

Task Session works on any shared hosting that meets the requirements (PHP 8.0+, MySQL 5.7+, SSL). The following providers are widely used and support all necessary features out of the box:

  1. Hostinger — Affordable plans with PHP 8.x support, LiteSpeed web server, free SSL, and a user-friendly cPanel alternative (hPanel).
  2. Namecheap — cPanel-based shared hosting with PHP version selector, free SSL, and good support.
  3. SiteGround — cPanel-based with PHP management tools, free SSL, daily backups, and strong performance on shared plans.
  4. A2 Hosting — cPanel-based with multiple PHP versions, free SSL, and a focus on speed.
  5. Bluehost — cPanel-based with one-click PHP management and free SSL on all plans.

Any cPanel-based host that offers PHP 8.0+, MySQL 5.7+, and free SSL will work. The providers above are listed as commonly used examples, not as endorsements.

What to Do Next

Your Task Session instance is now installed and running on shared hosting. The next steps are:

  1. Complete the Post-Install Security Checklist to lock down your instance.
  2. Configure your branding, email/SMTP, and payment gateways.
  3. Add your team and onboard your first client.

If you are unsure about any of these steps, Task Session includes free installation support. Submit a ticket at tasksession.com/ticket and the team will assist you.