کنٹرول پینل انٹیگریشن کي بهتر بنائ
مجموعي معلومات (Overview)
Enhance هڪ مودرن ڪنٽرول پینل آهي جيڪو طاقتور هاستنگ ۽ مانيجمنت جي خودکار توانائي فراهم ڪري ٿو. هي ان انٽيغريشن جو مطلب آهي ته Ultimate Multisite ۽ Enhance Control Panel بابت دومين سمڪن (domain syncing) ۽ SSL سرٽيفڪيٽ جي مانيجمنت کي خودکار بنائڻ.
ڳالهه جو متعلق: ڪميونٽي جي تجويزون ۽ اضافي معلومات لاءِ GitHub Discussion #265 ڏسو.
خصوصيتون (Features)
- Ultimate Multisite ۾ دومين مئپ ڪياڻ کان پوءِ خودکار دومين سمڪن.
- DNS جو حل ٿيڻ تي LetsEncrypt جي ذريعي SSL سرٽيفڪيٽ جي خودکار فراهمي.
- دومين سوبڊومين (subdomain) کي سپورٽ ڪرڻ، جيڪڏهن رينڪس سوبڊومين ماڊل ۾ چلون ٿا.
- مئپون ختم ڪندي دومين جو حذف ٿيڻ.
- API ڪردارن کي تصديق ڪرڻ لاءِ ڪنيڪشن تيئن (connection testing).
گهرجن (Requirements)
نظام جي گهرجن (System Requirements)
- Enhance Control Panel لڳائي ۽ رسائي هجڻ گهرجي.
- WordPress Multisite جو ان Enhance سرور تي نصب يا جڙيل هجڻ گهرجي.
- Apache ويب سرور (Enhance موجوده Apache configuration کي سپورٽ ڪري ٿو؛ LiteSpeed Enterprise گھٽ قيمت تي موجود آهي).
API رسائي (API Access)
API 토ڪن (tokens) کڻڻ لاءِ Enhance Control Panel جو ادميني رسائي (administrator access) گهرجي.
پنهنجي API ڪردارن کي حاصل ڪرڻ (Getting Your API Credentials)
1. هڪ API توڪن (Token) banao
- ادميني طور Enhance Control Panel ۾ لاگ ان ڪريو
- نيويشن مينيٽي ۾ Settings تي کليڪ ڪريو
- Access Tokens تي وڃو
- Create Token تي کليڪ ڪريو
- توڪن کي هڪ وضاحت سان نالو ڏيو (مثال: "Ultimate Multisite Integration")
- System Administrator جو رول تفويض ڪريو
- ختم ٿيڻ جي تاريخ لاءِ:
- جيڪڏهن توهان چاهيو ته توڪن ڪنهن وقت ختم نه ٿئي، ته اها خالي رکجو (Leave empty).
- يا سڪيورٽي جي مقصدن لاءِ هڪ خاص ختم ٿيڻ جو ڏينهن مقرر ڪريو.
- Create تي کليڪ ڪريو
پیدا کرنے کے بعد، آپ کا Access Token اور Organization ID دکھایا جائے گا۔ انہیں فوری طور پر محفوظ کر لیں کیونکہ ٹوکن صرف ایک بار ہی دکھایا جاتا ہے۔
2. اپنا Organization ID حاصل کریں
Organization ID Access Tokens والے پیج پر ایک بلو انفارمیشن باکس میں دکھایا جاتا ہے جس پر "Org ID: {your_id}" لکھا ہوتا ہے۔
Organization ID کا فارمیٹ UUID جیسا ہوتا ہے: d8554b6d-5d0d-6719-009b-fec1189aa8f3
آپ کسی کسٹمر کا Organization ID یہ بھی درج ذیل طریقے سے تلاش کر سکتے ہیں:
- Customers پیج پر جائیں
- متعلقہ کسٹمر کے لیے Manage customer پر کلک کریں
- URL دیکھیں - Organization ID
/customers/کے بعد آنے والے حروفِ تہجی (alphanumeric characters) ہیں۔
3. اپنا Server ID حاصل کریں
اپنا Server ID تلاش کرنے کے لیے (جو ڈومین آپریشنز کے لیے ضروری ہے):
- Enhance Control Panel میں، Servers پر جائیں
- اس سرور پر کلک کریں جہاں آپ کا WordPress ان سٹالیشن چل رہا ہے
- Server ID (UUID فارمیٹ) URL یا سرور کی تفصیلات میں نظر آئے گی
- متبادل طور پر، آپ سرورز کی فہرست حاصل کرنے کے لیے API استعمال کر سکتے ہیں:
curl -s -X GET https://your-enhance-panel.com/api/servers \
-H "Accept: application/json" \
-H "Authorization: Bearer YOUR_TOKEN" | jq
Server ID کا فارمیٹ UUID جیسا ہوتا ہے: 00000000-0000-0000-0000-000000000000
4. اپنا API URL حاصل کریں
آپ کا API URL آپ کے Enhance Control Panel کے URL میں /api/ شامل کرنے سے مل جائے گا:
https://your-enhance-panel.com/api/
اہم: /api/ پاتھ ضروری ہے۔ عام غلطیاں یہ ہیں:
- صرف ڈومین استعمال کرنا بغیر
/api/کے - سیکیورٹی کے لیے HTTP کی بجائے HTTPS استعمال کرنا (سیکیورٹی کے لیے HTTPS لازمی ہے)
Configuration
Required Constants
اپنے wp-config.php فا ئل میں درج ذیل constants شامل کریں:
// Control Panel Integration کي بهتر بنائڻ لاءِ
define('WU_ENHANCE_API_TOKEN', 'your-bearer-token-here'); define('WU_ENHANCE_API_URL', 'https://your-enhance-panel.com/api/'); define('WU_ENHANCE_SERVER_ID', 'your-server-uuid-here');
Integration Wizard ذريعي سیٹ اپ ڪرڻ
- پنهنجي WordPress admin ۾، Ultimate Multisite > Settings تي وڃو
- Integrations 탭 تي وينو
- Enhance Control Panel Integration کي ڏسو ۽ Configuration تي ڪلڪ ڪريو
- ویزارد توهان کي سیٽ اپ ۾ رهنمائي ڪندو:
- Step 1: تعارف ۽ فيچرز جو خلاصو
- Step 2: پنهنجي API credentials (Token, API URL, Server ID) داخل ڪريو
- Step 3: ڪنيڪشن کي ٽيسٽ ڪريو
- Step 4: جائزو وٺو ۽ فعال ڪريو
توهان هي چيون ٿا ته:
- ویزارد خود بخود توهان جي
wp-config.phpفائل ۾ constants داخل ڪري ان ڪري - constant definitions کي ڪاپي ڪريو ۽ هوءَ ذاتي طور تي شامل ڪريو
اضافي WordPress Configuration
ڪميونٽي جو فيڊبڪ (Discussion #265) جي بنياد تي، توهان کي هي اضافي setings configure ڪرڻ گهرجي:
.htaccess Configuration
جڏهن توهان کي domain mapping سان مسئلا ٿين ٿا:
- اصل Enhance
.htaccessفائل کي مڪمل ڪري ڇڏيو - ان جي جاءِ تي standard WordPress Multisite
.htaccessفائل کان بدلو ڪريو
Cookie Constants
Mapped domains پاران صحيح cookie handling کي يقيني بڻائڻ لاءِ هي constants wp-config.php ۾ شامل ڪريو:
define('COOKIE_DOMAIN', $_SERVER['HTTP_HOST']);
define('COOKIEPATH', '/');
define('ADMIN_COOKIE_PATH', '/');
اهو ڪيئن کام ڪري ٿو
جڏهن هڪ Domain جو Mapping ٿئي ٿو
- صارف Ultimate Multisite (یا سبڈومین موڈ میں ایک نئی سائٹ بنائی جاتی ہے) میں اپنی کسٹم ڈومین کو مپ کرتا ہے۔
- یہ انٹیگریشن Enhance کے API پر POST ریکویسٹ بھیجتی ہے:
/servers/{server_id}/domains - Enhance اس ڈومین کو آپ کے سرور کنفیگریشن میں شامل کر دیتا ہے۔
- جب DNS آپ کے سرور پر رزلٹ کرتا ہے، تو Enhance خود بخود Let'sEncrypt کے ذریعے ایک SSL سرٹیفکیٹ فراہم کر دیتا ہے۔
- ڈومین HTTPS کے ساتھ فعال ہو جاتا ہے۔
جب کوئی ڈومین ہٹا دی جاتی ہے
- Ultimate Multisite میں ڈومین مپنگ ڈیلیٹ کر دی جاتی ہے۔
- انٹیگریشن ڈومین کی ID تلاش کرنے کے لیے Enhance کو کوئری کرتی ہے۔
/servers/{server_id}/domains/{domain_id}پر DELETE ریکویسٹ بھیجی جاتی ہے۔- Enhance اس ڈومین کو آپ کے سرور کنفیگریشن سے ہٹا دیتا ہے۔
DNS اور SSL چیکنگ
Ultimate Multisite میں DNS اور SSL چیکنگ پہلے سے موجود ہے:
- آپ Domain Mapping Settings میں چیک کا وقفہ (default: 300 سیکنڈ/5 منٹ) ترتیب دے سکتے ہیں۔
- سسٹم کسی ڈومین کو فعال کرنے سے پہلے DNS کی پھیلاؤ (propagation) کی تصدیق کرتا ہے۔
- SSL سرٹیفکیٹ کی درستگی خود بخود چیک کی جاتی ہے۔
- Enhance خود بخود SSL فراہم کرتا ہے، اس لیے دستی SSL کنفیگریشن کی ضرورت نہیں پڑتی۔
سیٹ اپ کی تصدیق کرنا
کنکشن کا ٹیسٹ کریں
- انٹیگریشن ویزارد میں، Test Connection سٹیپ استعمال کریں۔
- یہ پگ ان آپ کے سرور پر ڈومینز لسٹ کرنے کی کوشش کرے گا۔
- ایک کامیابی کا پیغام اس بات کی تصدیق کرتا ہے:
- API کریڈینشلز درست ہیں
- API URL قابل رسائی ہے
- سرور ID درست ہے
- اجازتیں ٹھیک سیٹ ہیں
ڈومین مپ کرنے کے بعد
- Ultimate Multisite میں ایک ٹیسٹ ڈومین مپ کریں۔
- Ultimate Multisite لاگز چیک کریں (Ultimate Multisite > Logs > integration-enhance)
- Enhance کنٹرول پینل میں تصدیق کریں کہ ڈومین شامل ہو گیا ہے:
- Servers > Your Server > Domains پر جائیں
- نئی ڈومین لسٹ میں نظر آنی چاہیے
- ایک بار جب DNS پھیلا جائے، تو SSL خود بخود فراہم ہونے کی تصدیق کریں۔