# 🚀 cPanel-এ সুন্না ঘর (SunnaGhar) ওয়েবসাইট লাইভ করার নির্দেশিকা

এই নির্দেশিকাটি অনুসরণ করে আপনি আপনার সুন্না ঘর ই-কমার্স ওয়েবসাইট ও এডমিন প্যানেল cPanel-এ খুব সহজেই লাইভ করতে পারবেন। নিরাপত্তার জন্য আমরা ওয়েবসাইট কোড এবং পাবলিক ফাইলগুলোকে আলাদা করে সেটআপ করব।

---

## 📁 ডিরেক্টরি স্ট্রাকচার (cPanel-এ যেমন দেখাবে)

নিরাপত্তার স্বার্থে আমরা ফাইলগুলো এভাবে রাখব:
- `/home/cakelagb/sunnaghar-core/` — লারাভেলের কোর কোড ফাইলসমূহ (এই ফোল্ডারটি পাবলিকের বাইরে থাকবে)।
- `/home/cakelagb/public_html/` — লারাভেলের `public` ফোল্ডারের ফাইলসমূহ এবং আমাদের তৈরি হেল্পার স্ক্রিপ্টসমূহ।

---

## 🛠️ ধাপ ১: লোকাল ফাইল প্রস্তুত করা ও জিপ করা

১. **কোর ফাইলের জিপ তৈরি করুন:**
   লোকাল কম্পিউটারে `d:\MyWebProject\SunnaGhar\admin-panel` ফোল্ডারে যান।
   - সেখানে থাকা **`public`** ফোল্ডার বাদে বাকি সব ফাইল ও ফোল্ডার (`app`, `bootstrap`, `config`, `database`, `resources`, `routes`, `vendor`, `.env` ইত্যাদি) একসাথে সিলেক্ট করে জিপ (ZIP) ফাইল বানান। এটার নাম দিন **`sunnaghar-core.zip`**।

২. **পাবলিক ফাইলের জিপ তৈরি করুন:**
   - লারাভেলের `public` ফোল্ডারের ভেতরের সমস্ত ফাইল এবং ফোল্ডার সিলেক্ট করুন।
   - এর সাথে আমাদের তৈরি করা [cpanel-deployment/public_html/](file:///d:/MyWebProject/SunnaGhar/cpanel-deployment/public_html/) ডিরেক্টরি থেকে **`.htaccess`**, **`index.php`**, **`symlink.php`**, এবং **`deploy.php`** ফাইলগুলো যুক্ত করুন (এটি লোকাল `index.php` কে ওভাররাইট করবে)।
   - এবার এই ফাইলগুলো একসাথে জিপ করুন। এটার নাম দিন **`public_html.zip`**।

---

## 📤 ধাপ ২: cPanel-এ ফাইল আপলোড ও এক্সট্রাক্ট করা

১. cPanel-এ লগইন করে **File Manager**-এ যান।
২. আপনার রুট ডিরেক্টরি অর্থাৎ `/home/cakelagb/`-এ প্রবেশ করুন।
৩. এখানে **`sunnaghar-core.zip`** ফাইলটি আপলোড করুন এবং আনজিপ (Extract) করুন। এরপর আনজিপ হওয়া ফোল্ডারটির নাম দিন **`sunnaghar-core`**।
৪. এবার **`public_html`** ফোল্ডারে প্রবেশ করুন। সেখানে আগের কোনো ফাইল থাকলে তা ডিলিট বা ব্যাকআপ করে নিন।
৫. এখানে আপনার তৈরি করা **`public_html.zip`** ফাইলটি আপলোড করুন এবং আনজিপ (Extract) করুন।

---

## 🗄️ ধাপ ৩: MySQL ডাটাবেজ তৈরি করা

১. cPanel ড্যাশবোর্ডে গিয়ে **MySQL Database Wizard**-এ ক্লিক করুন।
২. একটি নতুন ডাটাবেজ তৈরি করুন (যেমন: `cakelagb_sunnaghar`)।
৩. একটি নতুন ডাটাবেজ ইউজার তৈরি করুন এবং শক্তিশালী পাসওয়ার্ড দিন। পাসওয়ার্ডটি কপি করে রাখুন।
৪. ইউজারটিকে ডাটাবেজের সাথে যুক্ত করুন এবং **All Privileges** অপশনটি টিক দিয়ে সাবমিট করুন।

---

## ⚙️ ধাপ ৪: এনভায়রনমেন্ট ফাইল (`.env`) কনফিগার করা

১. File Manager-এ গিয়ে `/home/cakelagb/sunnaghar-core/` ফোল্ডারে যান।
২. সেখানে থাকা **`.env`** ফাইলটি এডিট (Edit) করুন।
৩. নিচের ভ্যারিয়েবলগুলো পরিবর্তন করুন:

```env
APP_NAME=SunnaGhar
APP_ENV=production
APP_DEBUG=false
APP_URL=https://yourdomain.com      # এখানে আপনার আসল ডোমেন দিন (যেমন: https://sunnaghar.com)

# Database Configuration (MySQL)
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=cakelagb_sunnaghar       # আপনার তৈরি করা ডাটাবেজের নাম
DB_USERNAME=cakelagb_db_user         # আপনার তৈরি করা ডাটাবেজ ইউজার
DB_PASSWORD=your_db_password         # ডাটাবেজ ইউজারের পাসওয়ার্ড

# Google OAuth Configuration
GOOGLE_CLIENT_ID=818373842345-p0lh9vcd05an8v25837v6pkgacdu7tk3.apps.googleusercontent.com
```

৪. ফাইলটি সেভ করে বন্ধ করুন।

---

## 🚀 ধাপ ৫: ডাটাবেজ সেটআপ ও মাইগ্রেশন সম্পন্ন করা

আপনার ব্রাউজার থেকে নিচের লিংকটি ভিজিট করুন:
👉 **`https://yourdomain.com/deploy.php`** (আপনার ডোমেন নাম বসিয়ে)

এটি ভিজিট করলে স্বয়ংক্রিয়ভাবে নিচের কাজগুলো সম্পন্ন হবে:
- ডাটাবেজ কানেকশন চেক হবে।
- টেবিল মাইগ্রেশন সম্পন্ন হবে (`php artisan migrate`).
- ডেমো প্রোডাক্ট, ক্যাটাগরি ও স্লাইডার ডেটা সেভ হবে (`php artisan db:seed`).
- অ্যাপ্লিকেশনের কনফিগ ও ভিউ ক্যাশ ক্লিয়ার হবে।

*যদি স্ক্রিনে `Deployment Initialized Successfully!` মেসেজ আসে, তবে ডাটাবেজ সেটআপ সম্পন্ন হয়েছে।*

---

## 🔗 ধাপ ৬: ফাইল স্টোরেজ সিমলিংক (Symlink) তৈরি করা

প্রোডাক্টের ছবি ও ব্যানার সঠিকভাবে দেখানোর জন্য ইমেজ স্টোরেজ লিংক করতে হবে। আপনার ব্রাউজারে নিচের লিংকটি ভিজিট করুন:
👉 **`https://yourdomain.com/symlink.php`**

*যদি স্ক্রিনে `Storage symlink created successfully!` মেসেজ আসে, তবে আপনার ইমেজের কাজও শেষ।*

---

## 🔒 ধাপ ৭: নিরাপত্তা নিশ্চিত করা (জরুরি!)

সবকিছু ঠিকঠাক কাজ করলে নিরাপত্তার জন্য cPanel File Manager থেকে `public_html` ফোল্ডারে গিয়ে নিচের হেল্পার ফাইল দুটি **ডিলিট** করে দিন:
1. 🗑️ `public_html/deploy.php`
2. 🗑️ `public_html/symlink.php`

---

## 🔑 এডমিন প্যানেল অ্যাক্সেস

ডাটাবেজ সিড হওয়ার পর নিচের ঠিকানায় গিয়ে এডমিন প্যানেলে লগইন করতে পারবেন:
- **URL:** `https://yourdomain.com/admin`
- **Email:** `admin@sunnaghar.com`
- **Password:** `admin123`

*(লগইন করার পর অবশ্যই এডমিন পাসওয়ার্ড পরিবর্তন করে নেবেন)*
