የቁጥጥር ፓነልን (Control Panel) አቅም ማሳደግ
አጠቃላይ እይታ (Overview)
Enhance ኃይለኛ የሆስቲንግ አውቶሜሽን እና የአስተዳደር አቅም የሚያቀርብ ዘመናዊ የቁጥጥር ፓነል ነው። ይህ ውህደት (integration) Ultimate Multisite እና Enhance Control Panel መካከል የዶሜን ስም (domain) መመሳሰልን (syncing) እና የSSL ሰርተፍኬት አስተዳደርን በራስ-ሰር ያደርጋል።
ተዛማጅ ውይይት: ለ커뮤ኒቲ ምክሮች እና ተጨማሪ መረጃ፣ GitHub Discussion #265 ይመልከቱ።
ባህሪያት (Features)
- በUltimate Multisite ውስጥ ዶሜኖች ሲመዘገቡ የዶሜን ስም በራስ-ሰር መመሳሰል
- DNS ሲፈታ የLetsEncrypt በኩል የSSL ሰርተፍኬት በራስ-ሰር መቅረጽ (provisioning)
- በsubdomain mode በሚሰሩ ኔትወርኮች ላይ የsubdomain ድጋፍ
- የመመደብ (mapping) ዝርዝሮች ሲሰረዙ የዶሜን ስም መጥፋት
- የAPI መለያዎችን ለማረጋገጥ የ연결 (Connection) ሙከራ
መስፈርቶች (Requirements)
የስርዓት መስፈርቶች (System Requirements)
- Enhance Control Panel መጫን እና መድረስ መቻል አለበት
- WordPress Multisite installation በEnhance server ላይ መስተናገድ ወይም ከእሱ ጋር መገናኘት አለበት
- Apache web server (Enhance በአሁኑ ጊዜ Apache configurationsን ይደግፋል፤ LiteSpeed Enterprise በቅናሽ ዋጋ ይገኛል)
የAPI መዳረሻ (API Access)
የAPI tokens ለመፍጠር በEnhance Control Panel ውስጥ የአስተዳዳሪ (administrator) መዳረሻ ሊኖርዎት ይገባል።
የAPI መለያዎችን ማግኘት (Getting Your API Credentials)
1. የAPI Token መፍጠር
- እንደ አስተዳዳሪ ወደ Enhance Control Panelዎ ይግቡ።
- በ navigation menu ውስጥ Settings ላይ ይጫኑ።
- ወደ Access Tokens ይሂዱ።
- Create Token ላይ ይጫኑ።
- ለtoken ስም መግለጫ ስም ይስጡት (ለምሳሌ፡ "Ultimate Multisite Integration")።
- System Administrator ሚና (role) ይመድቡ።
- ለየማለቂያ ቀን (expiry date):
- token-ው በፍፁም እንዳያልቅ ባዶ ይተውት
- ወይም ለደህንነት ዓላማዎች የተወሰነ የማብቂያ ቀን ያዘጋጁ።
- Create ላይ ይጫኑ።
ከመፈጠሩ በኋላ፣ Access Token እና Organization IDዎ ይታያሉ። እነዚህን ወዲያውኑ ያስቀምጡ ምክንያቱም token-ው አንድ ጊዜ ብቻ ይታያል።
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/በኋላ ያለው የአልፋ-numeral ፊደላት ናቸው።
3. የServer ID ማግኘት
የServer IDዎን (ለዶሜን ስራዎች የሚያስፈልግ) ለማግኘት፡
- በEnhance Control Panel ውስጥ ወደ Servers ይሂዱ።
- የWordPress installationዎ በሚሰራበት server ላይ ይጫኑ።
- የServer ID (UUID format) በURL ወይም በserver details ውስጥ ይታያል።
- አማራጭ፣ ሰርቨሮችን በ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/ መንገድ (path) ያስፈልጋል። የተለመዱ ስህተቶች የሚከተሉትን ያካትታሉ፡
- ያለ
/api/ብቻ የዶሜኑን ስም መጠቀም - ከHTTPS ይልቅ HTTP መጠቀም (ለደህንነት HTTPS ያስፈልጋል)
ውቅረጫ (Configuration)
የሚያስፈልጉ Constants
የሚከተሉትን constants ወደ wp-config.php ፋይልዎ ይጨምሩ፡
// Enhance 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 አማካኝነት Setup
- በWordPress admin ውስጥ፣ ወደ Ultimate Multisite > Settings ይሂዱ።
- ወደ Integrations ታብ (tab) ይሂዱ።
- Enhance Control Panel Integrationን ያግኙ እና Configuration ላይ ይጫኑ።
- הwizard (የመመሪያው) አሰጣጡን ይመራዎታል፡
- Step 1: መግቢያ እና የባህሪ አጠቃላይ እይታ
- Step 2: የAPI መለያዎችዎን ያስገቡ (Token, API URL, Server ID)
- Step 3: ግንኙነትን ይፈትሹ (Test the connection)
- Step 4: ይገምግሙ እና ያንቀሳቅሱ (Review and activate)
የሚከተሉትን መምረጥ ይችላሉ፡
- הwizard constants-ዎቹን በራስ-ሰር ወደ
wp-config.phpፋይልዎ እንዲያስገቡ ማድረግ - የconstants ትርጓሜዎችን መቅዳት እና በእጅ መጨመር
ተጨማሪ የWordPress ውቅረጫ (Additional WordPress Configuration)
በ커뮤ኒቲ ግብረመልስ (Discussion #265) ላይ በመመርኮዝ፣ እነዚህን ተጨማሪ ቅንብሮች (settings) ሊያስፈልግዎት ይችላል፡
.htaccess ውቅረጫ
በዶሜን መመደብ (domain mapping) ላይ ችግሮች ካጋጠሙዎት፡
- የመጀመሪያውን Enhance
.htaccessፋይል ይሰርዙ። - በstandard WordPress Multisite
.htaccessፋይል ይተኩት።
የCookie Constants
በተመደቡ ዶሜኖች ላይ ትክክለኛ የcookie አያያዝን ለማረጋገጥ እነዚህን constants ወደ wp-config.php ይጨምሩ፡
define('COOKIE_DOMAIN', $_SERVER['HTTP_HOST']);
define('COOKIEPATH', '/');
define('ADMIN_COOKIE_PATH', '/');
እንዴት ይሰራል (How It Works)
ዶሜን ሲመደብ (When a Domain is Mapped)
- ተጠቃሚ በUltimate Multisite ውስጥ የcustom domain መመደብ ያደርጋል (ወይም አዲስ site በsubdomain mode ይፈጠራል)።
- ውህደቱ ወደ Enhance's API የPOST ጥያቄ ይልካል፡
/servers/{server_id}/domains - Enhance ዶሜኑን ወደ server configurationዎ ይጨምረዋል።
- DNS ወደ serverዎ ሲፈታ፣ Enhance በLetsEncrypt በኩል የSSL ሰርተፍኬት በራስ-ሰር ያቀርባል።
- ዶሜኑ በHTTPS በኩል በንቃት ይሆናል።
ዶሜን ሲሰረዝ (When a Domain is Removed)
- በUltimate Multisite ውስጥ የዶሜን መመደብ ይሰረዛል።
- ውህደቱ የዶሜኑን ID ለማግኘት Enhanceን ይጠይቃል።
- የDELETE ጥያቄ ወደሚልከው፡
/servers/{server_id}/domains/{domain_id} - Enhance ዶሜኑን ከserver configurationዎ ያጠፋዋል።
DNS እና SSL ፍተሻ (DNS and SSL Checking)
Ultimate Multisite የተገጠመለት የDNS እና SSL ፍተሻ አለው፡
- የፍተሻ ክፍተቱን (check interval) በDomain Mapping Settings ውስጥ ማዋቀር ይችላሉ (መነሻ፡ 300 ሰከንዶች/5 ደቂቃ)
- ስርዓቱ ዶሜኑን እንደ ንቁ ምልክት ከመደረጉ በፊት የDNS ስርጭትን (propagation) ያረጋግጣል።
- የSSL ሰርተፍኬት ትክክለኛነት በራስ-ሰር ይፈተሻል።
- Enhance የSSL አቅርቦትን በራስ-ሰር ስለሚይዝ፣ በእጅ የSSL ውቅረጫ አያስፈልግም።
Setupን ማረጋገጥ (Verifying Setup)
ግንኙነትን መፈተሽ (Test the Connection)
- በIntegration Wizard ውስጥ፣ Test Connection ስልጣን ይጠቀሙ።
- plugin-ው በserverዎ ላይ ያሉ ዶሜኖችን ለመዘርዘር ይሞክራል።
- የስኬት መልዕክት ያረጋግጣል፡
- የAPI መለያዎች ትክክል ናቸው።
- የAPI URL ተደራሽ ነው።
- የServer ID ትክክል ነው።
- ፈቃዶች በትክክል ተቀምጠዋል።
ዶሜን ከተመደበ በኋላ (After Mapping a Domain)
- በUltimate Multisite ውስጥ የtest domain መመደብ ያድርጉ።
- የUltimate Multisite logs (Ultimate Multisite > Logs > integration-enhance) ይመልከቱ።
- በEnhance Control Panel ውስጥ ዶሜኑ መጨመሩን ያረጋግጡ፡
- ወደ Servers > Your Server > Domains ይሂዱ።
- አዲሱ ዶሜን በዝርዝሩ መታየት አለበት።
- DNS ከተሰራጨ በኋላ፣ SSL በራስ-ሰር መቅረጽ መፈጸሙን ያረጋግጡ።
ችግር መፍታት (Troubleshooting)
የAPI ግንኙነት ችግሮች (API Connection Issues)
ስህተት: "Failed to connect to Enhance API"
WU_ENHANCE_API_URLመጨረሻው/api/መሆኑን ያረጋግጡ።- HTTPS እየተጠቀሙ መሆኑን፣ HTTP ሳይሆን።
- Enhance panel ከWordPress serverዎ ተደራሽ መሆኑን ያረጋግጡ።
- ግንኙነትን የሚከለክሉ የፋየርዎል ህጎች (firewall rules) መኖራቸውን ያረጋግጡ።
ስህተት: "Enhance API Token not found"
WU_ENHANCE_API_TOKENበwp-config.phpውስጥ መገለጽ መሆኑን ያረጋግጡ።- token-ው በEnhance ውስጥ አልተሰረዘም ወይም አልማረቀም ያረጋግጡ።
- በtoken ዋጋ ላይ የፊደል ስህተቶችን ይፈትሹ።
ስህተት: "Server ID is not configured"
WU_ENHANCE_SERVER_IDበwp-config.phpውስጥ መገለጽ መሆኑን ያረጋግጡ።- የServer ID ትክክለኛ UUID ቅርጽ መሆኑን ያረጋግጡ።
- server-ው በEnhance panelዎ ውስጥ መኖሩን ያረጋግጡ።
ዶሜን አለመጨመር (Domain Not Added)
ሎጎችን ይፈትሹ:
- ወደ Ultimate Multisite > Logs ይሂዱ።
- በintegration-enhance ይጣfiltሩ።
- ችግሩን የሚያመለክቱ የስህተት መልዕክቶችን ይፈልጉ።
የተለመዱ ምክንያቶች:
- ትክክል ያልሆነ የዶሜን ስም ቅርጽ
- ዶሜኑ ቀድሞውንም በEnhance መኖር
- በቂ የAPI ፈቃዶች (token-ው System Administrator ሚና እንዳለው ያረጋግጡ)
- የServer ID ከEnhance ውስጥ ካለው ትክክለኛ server ጋር አለመመሳሰል
የSSL ሰርተፍኬት ችግሮች (SSL Certificate Issues)
SSL አለመቅረጽ (SSL not provisioning):
- DNS ወደ serverዎ IP address እየጠቆመ መሆኑን ያረጋግጡ።
- ዶሜኑ በትክክል መፈታቱን ያረጋግጡ፡
nslookup yourdomain.com - Enhance SSL ለመቅረጽ DNS መፈታቱን ይፈልጋል።
- የSSL አቅርቦት ከDNS ስርጭት በኋላ በአጠቃላይ 5-10 ደቂቃ ይወስዳል።
- ለSSL-ተኮር ስህተቶች የEnhance Control Panel logsን ይፈትሹ።
በEnhance ውስጥ በእጅ የSSL ችግር መፍታት:
- ወደ Servers > Your Server > Domains ይሂዱ።
- ዶሜኑንዎን ያግኙ እና የSSL ሁኔታውን ይፈትሹ።
- አስፈላጊ ከሆነ የSSL አቅርቦትን በእጅ ማስጀመር ይችላሉ።
የDNS ፍተሻ ክፍተት (DNS Check Interval)
ዶሜኖች ወይም የSSL ሰርተፍኬቶች ለመንቀሳቀስ በጣም ረጅም ጊዜ እየወሰዱ ከሆነ፡
- ወደ Ultimate Multisite > Settings > Domain Mapping ይሂዱ።
- DNS Check Interval ቅንብሩን ያግኙ።
- ከመነሻ 300 ሰከንዶች ወደ ዝቅተኛ ዋጋ (minimum: 10 ሰከንዶች) ያስተካክሉ።
- ማስታወሻ: ዝቅተኛ ክፍተቶች ማለት ብዙ ጊዜ ፍተሻ ማለት ነው፣ ግን ከፍተኛ የserver ጭነትም ማለት ነው።
የማረጋገጫ ስህተቶች (Authentication Errors)
HTTP 401/403 ስህተቶች:
- የAPI token-ዎን በEnhance ውስጥ እንደገና ይፍጠሩ።
- token-ው System Administrator ሚና እንዳለው ያረጋግጡ።
- token-ው ካልማረቀ ያረጋግጡ።
- ትክክለኛውን Organization ID እየተጠቀሙ መሆኑን ያረጋግጡ (ምንም እንኳን በአጠቃላይ በURL ውስጥ ባይጠየቅም)።
የሎግ ትንተና (Log Analysis)
ዝርዝር ሎግ ማድረግን ያንቁ፡
// ለተሻለ 디버깅 ወደ wp-config.php ይጨምሩ
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
ከዚያ በሎጎች ይፈትሹ፡
- Ultimate Multisite logs: Ultimate Multisite > Logs
- WordPress debug log:
wp-content/debug.log - Enhance panel logs: በEnhance admin interface ውስጥ ይገኛል።
የAPI ማጣቀሻ (API Reference)
ማረጋገጫ (Authentication)
ሁሉም የAPI ጥያቄዎች Bearer token authenticationን ይጠቀማሉ፡
Authorization: Bearer YOUR_TOKEN_HERE
የተለመዱ Endpoints (Common Endpoints Used)
ሰርቨሮችን መዘርዘር (List Servers):
GET /servers
በserver ላይ ያሉ ዶሜኖችን መዘርዘር (List Domains on a Server):
GET /servers/{server_id}/domains
ዶሜን መጨመር (Add a Domain):
POST /servers/{server_id}/domains
Body: {"domain": "example.com"}
ዶሜን መሰረዝ (Delete a Domain):
DELETE /servers/{server_id}/domains/{domain_id}