Skip to content

How to Deploy Easy Restaurant on cPanel Shared Hosting

  • by

This guide explains how to install Easy Restaurant, a Laravel 11 SaaS application, on cPanel shared hosting.

Requirements

Before installing Easy Restaurant, make sure your hosting account provides:

  • cPanel with PHP 8.2 or newer
  • MySQL database access
  • SSH access or cPanel Terminal
  • FTP or File Manager access

Step 1 — Set the PHP Version

Log in to cPanel and open:

Select PHP Version

Choose:

PHP 8.2

Enable the following PHP extensions required by Easy Restaurant:

mbstring
xml
bcmath
curl
zip
gd
pdo_mysql
openssl
fileinfo
tokenizer

Step 2 — Upload Easy Restaurant

Upload the complete Easy Restaurant project to a directory outside public_html.

For example:

/home/youraccount/
├── easy-restaurant/
│   ├── app/
│   ├── bootstrap/
│   ├── public/
│   └── ...
└── public_html/

Keeping the main Easy Restaurant application outside public_html prevents application files such as configuration and source code from being directly accessible from the internet.

Step 3 — Configure the Easy Restaurant Public Directory

Move the contents of:

easy-restaurant/public/

into:

public_html/

Then open:

public_html/index.php

Change:

require __DIR__.'/../vendor/autoload.php';
$app = require_once __DIR__.'/../bootstrap/app.php';

to:

require __DIR__.'/../easy-restaurant/vendor/autoload.php';
$app = require_once __DIR__.'/../easy-restaurant/bootstrap/app.php';

Also copy the .htaccess file from the Easy Restaurant public directory into public_html.

Step 4 — Create the Easy Restaurant Database

In cPanel, open:

MySQL Databases

Create a database, for example:

youracc_restaurant

Create a database user with a strong password.

Add the user to the Easy Restaurant database and select:

All Privileges

Keep the database name, username, and password available for the next step.

Step 5 — Configure the Easy Restaurant Environment

Inside:

/home/youraccount/easy-restaurant/

Copy:

.env.example

to:

.env

Edit .env:

APP_NAME="Easy Restaurant"
APP_ENV=production
APP_DEBUG=false
APP_URL=https://yourdomain.com

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=youracc_restaurant
DB_USERNAME=youracc_dbuser
DB_PASSWORD=YourStrongPassword

Make sure the database settings match the MySQL database created in cPanel.

Step 6 — Install Easy Restaurant Dependencies

Connect through SSH or open cPanel Terminal.

Navigate to the Easy Restaurant directory:

cd ~/easy-restaurant

Install Composer dependencies:

composer install --no-dev --optimize-autoloader

Generate the Laravel application key:

php artisan key:generate

Step 7 — Initialize Easy Restaurant

Run the database migrations:

php artisan migrate --force

Run the required seeders:

php artisan db:seed --class=SuperAdminSeeder
php artisan db:seed --class=DemoTenantSeeder

Create the storage link:

php artisan storage:link

Optimize Easy Restaurant:

php artisan optimize

Step 8 — Set Easy Restaurant Permissions

Run:

chmod -R 755 ~/easy-restaurant

Then give the required write permissions to Laravel directories:

chmod -R 775 ~/easy-restaurant/storage
chmod -R 775 ~/easy-restaurant/bootstrap/cache

Step 9 — Verify Easy Restaurant

Open:

https://yourdomain.com

The Easy Restaurant application should now load.

Open:

https://yourdomain.com/login

and use the administrator credentials provided in the Easy Restaurant documentation.

If the application displays a blank page or server error, check:

easy-restaurant/storage/logs/laravel.log

Common causes include incorrect database credentials, a missing APP_KEY, or a disabled PHP extension.