# TMITStore — cPanel Deployment Guide
## ফাইল Structure (cPanel-এ)
```
/home/cpanel_username/
│
├── public_html/ ← তোমার domain এর web root
│ ├── index.php ← public/ ফোল্ডারের সব ফাইল এখানে
│ ├── .htaccess
│ ├── setup.php ← (run করার পর DELETE করো)
│ └── (অন্যান্য public files)
│
└── ecommerce/ ← Laravel app (public_html এর বাইরে)
├── app/
├── bootstrap/
├── config/
├── database/
│ └── tmitstore_export.sql ← Database import করো
├── resources/
├── routes/
├── storage/
├── vendor/
├── .env ← .env.production copy করে rename করো
└── ...
```
---
## Step-by-Step Upload Guide
### Step 1 — ফাইল Upload
**cPanel → File Manager** বা FTP দিয়ে:
1. `public/` ফোল্ডারের ভেতরের সব ফাইল → `public_html/` এ upload করো
- `index.php`, `.htaccess`, `setup.php`, `favicon.ico` ইত্যাদি
2. Laravel project এর বাকি সব ফোল্ডার → `ecommerce/` নামে upload করো
- `app/`, `bootstrap/`, `config/`, `database/`, `resources/`, `routes/`, `storage/`, `vendor/` ইত্যাদি
- `public/` ফোল্ডার upload করতে হবে না (সেটা public_html এ গেছে)
- `license_server/` ফোল্ডার এখানে দিবে না (সেটা আলাদা server এ)
---
### Step 2 — Database Import
1. **cPanel → MySQL Databases** → নতুন database ও user তৈরি করো
2. **cPanel → phpMyAdmin** → নতুন database select করো
3. **Import** → `database/tmitstore_export.sql` ফাইল upload করো
---
### Step 3 — .env Configure করো
`ecommerce/` ফোল্ডারে `.env.production` ফাইলটাকে `.env` নামে copy করো, তারপর এডিট করো:
```env
APP_URL=https://yourdomain.com ← তোমার domain
DB_DATABASE=cpanel_user_dbname ← cPanel database name
DB_USERNAME=cpanel_user_dbuser ← cPanel database user
DB_PASSWORD=your_db_password ← database password
LICENSE_SERVER_URL=https://yourlicenseserver.com/license/validator.php
```
---
### Step 4 — Setup Run করো
Browser এ যাও:
```
https://yourdomain.com/setup.php?token=tmit_setup_2024
```
এটা:
- ✅ Storage symlink তৈরি করবে (upload করা ছবি দেখা যাবে)
- ✅ Permission fix করবে
- ✅ PHP extension check করবে
**Run করার পর `public_html/setup.php` DELETE করো!**
---
### Step 5 — Done!
Site live: `https://yourdomain.com`
Admin panel: `https://yourdomain.com/admin`
---
## License Server (আলাদা)
`license_server/validator.php` ফাইলটা তোমার **অন্য একটা server** এ upload করো।
Theme-এর সাথে এই ফাইল দিবে না।
সেখানে allowed domains যোগ করো:
```php
$licenses = [
'customer-site.com' => 'TMIT-ABCD-1234',
];
```
---
## Troubleshooting
| সমস্যা | সমাধান |
|--------|--------|
| 500 Error | `ecommerce/storage/logs/laravel.log` দেখো |
| 403 Forbidden | `.htaccess` ফাইল আছে কিনা check করো |
| ছবি দেখা যাচ্ছে না | setup.php আবার run করো (symlink) |
| APP_KEY error | `.env` এ `APP_KEY=base64:...` আছে কিনা দেখো |
| DB Connection error | `.env` এর DB credentials check করো |