====================================================
SHAHR NEGAR NIKSA
شهر نگار نیکسا - سامانه مدیریت هوشمند شهری
راهنمای کامل نصب روی هاست اشتراکی cPanel
====================================================

این راهنما برای کاربرانی نوشته شده که آشنایی فنی زیادی
ندارند. لطفاً مراحل را به‌ترتیب و بدون جا انداختن انجام دهید.

====================================================
پیش‌نیازهای سیستم (SYSTEM REQUIREMENTS)
====================================================

* PHP نسخه 8.2 یا بالاتر
* MySQL نسخه 8 یا بالاتر (یا MariaDB معادل)
* دسترسی به پنل مدیریت cPanel
* فعال بودن SSL (گواهی HTTPS) روی دامنه

====================================================
مرحله ۱ - آپلود فایل‌ها (UPLOAD FILES)
====================================================

1. وارد حساب cPanel هاست خود شوید.
2. گزینه «File Manager» (مدیریت فایل) را باز کنید.
3. به پوشه public_html بروید.
   (در صورت نصب روی ساب‌دامین، به پوشه مربوط به همان ساب‌دامین بروید)
4. فایل فشرده پروژه (ZIP) را در همین مسیر آپلود کنید.
5. روی فایل ZIP کلیک راست کرده و گزینه Extract را بزنید.
6. پس از استخراج، مطمئن شوید فایل‌های زیر مستقیماً
   داخل public_html قرار دارند (نه داخل یک پوشه تو در تو):

   index.php
   login.php
   dashboard.php
   logout.php
   api/
   includes/
   assets/
   database/

====================================================
مرحله ۲ - ساخت دیتابیس (CREATE DATABASE)
====================================================

1. در cPanel وارد بخش «MySQL Database Wizard» شوید.
2. یک نام برای دیتابیس انتخاب کنید، مثلاً:
   niksa_smartcity
3. روی Next Step کلیک کنید و یک کاربر دیتابیس بسازید
   (نام کاربری و رمز عبور قوی انتخاب کنید).
4. در بخش Privileges گزینه «ALL PRIVILEGES» را تیک بزنید.
5. روی Next Step و سپس Finish کلیک کنید.

نکته: نام نهایی دیتابیس و کاربر معمولاً به‌صورت زیر خواهد بود:

   cpaneluser_niksa_smartcity
   cpaneluser_niksauser

این مقادیر را یادداشت کنید، در مرحله ۴ نیاز خواهید داشت.

====================================================
مرحله ۳ - ایمپورت دیتابیس (IMPORT DATABASE)
====================================================

1. از داخل cPanel وارد phpMyAdmin شوید.
2. از منوی سمت چپ، دیتابیسی که در مرحله ۲ ساختید را انتخاب کنید.
3. از تب‌های بالا روی «Import» کلیک کنید.
4. روی «Choose File» کلیک کرده و فایل زیر را انتخاب کنید:

   database/install.sql

5. سایر تنظیمات را تغییر ندهید و روی دکمه «Go» در پایین صفحه
   کلیک کنید.
6. صبر کنید تا پیام موفقیت‌آمیز نمایش داده شود.
7. در ستون سمت چپ بررسی کنید که جداول زیر ساخته شده باشند:

   users
   bins
   alerts
   fleet
   environmental_data
   weekly_collection

====================================================
مرحله ۴ - تنظیم اتصال دیتابیس (CONFIGURE DATABASE)
====================================================

1. در File Manager فایل زیر را باز کنید:

   includes/config.php

2. مقادیر زیر را با اطلاعات دیتابیس خودتان جایگزین کنید:

   define('DB_HOST', 'localhost');
   define('DB_NAME', 'cpaneluser_niksa_smartcity');
   define('DB_USER', 'cpaneluser_niksauser');
   define('DB_PASSWORD', 'رمز_عبور_شما');

3. فایل را ذخیره کنید.

====================================================
مرحله ۵ - ورود به سامانه (LOGIN)
====================================================

آدرس ورود:
https://your-domain.com/login.php

نام کاربری پیش‌فرض:
admin

رمز عبور پیش‌فرض:
123456

پس از وارد کردن اطلاعات، روی دکمه «ورود به سامانه» کلیک کنید.

====================================================
مرحله ۶ - نکات امنیتی پس از نصب (SECURITY)
====================================================

1. بلافاصله پس از اولین ورود، رمز عبور کاربر admin را
   از طریق دیتابیس یا بخش مدیریت کاربران تغییر دهید.
2. مطمئن شوید SSL (HTTPS) روی دامنه شما فعال است.
3. فایل‌های نصبی غیرضروری (در صورت وجود فایل نصب جداگانه)
   را از سرور حذف کنید.
4. به‌صورت دوره‌ای از دیتابیس بک‌آپ تهیه کنید
   (از طریق cPanel > Backup Wizard).
5. دسترسی پوشه‌های includes و database از طریق مرورگر
   به‌صورت پیش‌فرض با فایل .htaccess مسدود شده است؛
   آن را حذف نکنید.

====================================================
عیب‌یابی (TROUBLESHOOTING)
====================================================

مشکل: خطای اتصال به دیتابیس
راه‌حل: مقادیر DB_HOST، DB_NAME، DB_USER، DB_PASSWORD را
        در includes/config.php دوباره بررسی کنید.

مشکل: خطای 500 Internal Server Error
راه‌حل:
  - نسخه PHP هاست را در cPanel > MultiPHP Manager
    روی 8.2 یا بالاتر تنظیم کنید.
  - مجوز (Permission) پوشه‌ها و فایل‌ها را بررسی کنید.

مشکل: مشکلات دسترسی (Permission Denied)
راه‌حل: مجوزهای پیشنهادی زیر را اعمال کنید:

   پوشه‌ها (Folders): 755
   فایل‌ها (Files):   644

این مجوزها را می‌توانید از طریق File Manager، با کلیک راست
روی فایل/پوشه و انتخاب گزینه Permissions تنظیم کنید.

مشکل: نقشه یا نمودارها نمایش داده نمی‌شوند
راه‌حل: مطمئن شوید سایت شما به اینترنت خارجی (CDN) دسترسی
        دارد، زیرا کتابخانه‌های Leaflet.js و Chart.js از
        طریق CDN بارگذاری می‌شوند.

====================================================
پایان راهنما
====================================================

در صورت بروز هرگونه مشکل، با تیم پشتیبانی فنی NIKSA
Smart Solutions تماس بگیرید.

NIKSA Smart Solutions — for Smart Cities
