141 lines
4.1 KiB
Markdown
141 lines
4.1 KiB
Markdown
# راهنمای نصب خودکار حسابیکس
|
|
|
|
## مقدمه
|
|
|
|
این سیستم امکان نصب خودکار حسابیکس را بر روی هاستهای اشتراکی با پنلهای 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
|
|
|
|
## نکات امنیتی
|
|
|
|
1. **رمزنگاری اطلاعات**: اطلاعات حساس مانند رمزهای عبور باید رمزنگاری شوند
|
|
2. **اعتبارسنجی ورودی**: تمام ورودیهای کاربر باید اعتبارسنجی شوند
|
|
3. **محدودیت نرخ**: API calls باید محدود شوند
|
|
4. **لاگگیری**: تمام عملیات نصب باید لاگ شوند
|
|
|
|
## عیبیابی
|
|
|
|
### خطاهای رایج
|
|
|
|
1. **خطا در اتصال به هاست**
|
|
- بررسی صحت آدرس هاست
|
|
- بررسی نام کاربری و رمز عبور
|
|
- بررسی فعال بودن API در پنل
|
|
|
|
2. **خطا در ایجاد دیتابیس**
|
|
- بررسی محدودیتهای هاست
|
|
- بررسی دسترسیهای کاربر
|
|
|
|
3. **خطا در آپلود فایلها**
|
|
- بررسی فضای دیسک
|
|
- بررسی مجوزهای فایل
|
|
|
|
## توسعه
|
|
|
|
برای اضافه کردن پشتیبانی از پنلهای جدید:
|
|
|
|
1. متدهای مربوطه در `InstallationService` را پیادهسازی کنید
|
|
2. API endpoints جدید را اضافه کنید
|
|
3. تستهای مربوطه را بنویسید
|
|
|
|
## تست
|
|
|
|
```bash
|
|
# تست واحد
|
|
php bin/phpunit tests/Service/InstallationServiceTest.php
|
|
|
|
# تست یکپارچگی
|
|
php bin/phpunit tests/Controller/InstallationControllerTest.php
|
|
``` |