4.1 KiB
4.1 KiB
راهنمای نصب خودکار حسابیکس
مقدمه
این سیستم امکان نصب خودکار حسابیکس را بر روی هاستهای اشتراکی با پنلهای cPanel و DirectAdmin فراهم میکند.
ویژگیها
- ✅ تست اتصال خودکار به هاست
- ✅ دریافت لیست دامنهها از پنل
- ✅ ایجاد دیتابیس خودکار
- ✅ دانلود و آپلود فایلهای حسابیکس
- ✅ تنظیم فایل .env.local.php
- ✅ ایمپورت دیتابیس پیشفرض
- ✅ تنظیم مجوزهای فایل
مراحل نصب
1. تست اتصال به هاست
کاربر اطلاعات اتصال به پنل هاست خود را وارد میکند:
- نوع پنل (cPanel یا DirectAdmin)
- آدرس هاست
- نام کاربری
- رمز عبور
2. انتخاب دامنه
سیستم لیست دامنههای موجود در هاست را دریافت کرده و کاربر دامنه مورد نظر را انتخاب میکند.
3. تنظیمات دیتابیس
کاربر اطلاعات دیتابیس جدید را وارد میکند:
- نام دیتابیس
- نام کاربری دیتابیس
- رمز عبور دیتابیس
4. آپلود فایلها
سیستم فایلهای حسابیکس را دانلود کرده و به هاست آپلود میکند.
5. تنظیمات نهایی
فایل .env.local.php تنظیم شده و دیتابیس ایمپورت میشود.
API Endpoints
تست اتصال
POST /api/installation/test-connection
دریافت اطلاعات دامنه
POST /api/installation/get-domain-info
ایجاد دیتابیس
POST /api/installation/create-database
آپلود فایلها
POST /api/installation/upload-files
تنظیم فایل .env.local.php
POST /api/installation/configure-env
نهاییسازی نصب
POST /api/installation/finalize
ساختار فایلها
src/
├── Controller/
│ └── InstallationController.php # کنترلر اصلی نصب
├── Service/
│ └── InstallationService.php # سرویس نصب
templates/
└── installation/
└── index.html.twig # صفحه نصب
assets/
└── controllers/
└── installation_controller.js # کنترلر Stimulus
پیادهسازی API پنلها
cPanel API
- URL:
https://hostname:2083/execute/
- احراز هویت: Basic Auth
- مستندات: https://api.docs.cpanel.net/
DirectAdmin API
- URL:
https://hostname:2222/CMD_API_
- احراز هویت: Basic Auth
- مستندات: https://www.directadmin.com/api.html
نکات امنیتی
- رمزنگاری اطلاعات: اطلاعات حساس مانند رمزهای عبور باید رمزنگاری شوند
- اعتبارسنجی ورودی: تمام ورودیهای کاربر باید اعتبارسنجی شوند
- محدودیت نرخ: API calls باید محدود شوند
- لاگگیری: تمام عملیات نصب باید لاگ شوند
عیبیابی
خطاهای رایج
-
خطا در اتصال به هاست
- بررسی صحت آدرس هاست
- بررسی نام کاربری و رمز عبور
- بررسی فعال بودن API در پنل
-
خطا در ایجاد دیتابیس
- بررسی محدودیتهای هاست
- بررسی دسترسیهای کاربر
-
خطا در آپلود فایلها
- بررسی فضای دیسک
- بررسی مجوزهای فایل
توسعه
برای اضافه کردن پشتیبانی از پنلهای جدید:
- متدهای مربوطه در
InstallationService
را پیادهسازی کنید - API endpoints جدید را اضافه کنید
- تستهای مربوطه را بنویسید
تست
# تست واحد
php bin/phpunit tests/Service/InstallationServiceTest.php
# تست یکپارچگی
php bin/phpunit tests/Controller/InstallationControllerTest.php