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:
The Easy Restaurant application should now load.
Open:
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.