Complete documentation for client deployment and license management
http://your-license-server.com/license/apiAccess: http://your-license-server.com/license/admin/
IP/Domain: client-server-ip Client Name: Client Company Name
Access: License Server Admin → License Keys
Username: client-admin-username Plan Type: monthly/weekly/yearly Custom Duration: +1 year (optional)
Replace these files on client's server:
system/controllers/admin.php ui/ui/admin/admin/login.tpl
/system/license/LicenseClient.php
Issue: License validation fails when license system is deployed in subdirectory
Update the LicenseClient.php file with correct server path:
class LicenseClient {
public function validate($username, $license_key) {
$server_url = 'http://172.16.16.97/license/api';
// ... rest of code
class LicenseClient {
public function validate($username, $license_key) {
$server_url = 'http://172.16.16.97/your-folder-name/license/api';
// ... rest of code
class LicenseClient {
private $server_url;
public function __construct($server_url = null) {
$this->server_url = $server_url ?: 'http://172.16.16.97/license/api';
}
public function validate($username, $license_key) {
// Use $this->server_url instead of hardcoded URL
$data = [
'username' => $username,
'license_key' => $license_key,
'api_key' => 'MAHMUD_SECRET_KEY_2024'
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $this->server_url . '/validate.php');
// ... rest of code
Send this information to the client:
Login URL: https://client-server.com/admin Username: [their admin username] Password: [their admin password] License Key: [generated license key]
/var/www/html/license/ ├── config.php ├── LicenseSystem.php ├── api/validate.php └── admin/ (dashboard)
/var/www/html/your-folder/license/ ├── config.php ├── LicenseSystem.php ├── api/validate.php └── admin/ (dashboard)
/var/www/html/ (client) ├── system/controllers/admin.php (updated) ├── system/license/LicenseClient.php └── ui/ui/admin/admin/login.tpl (updated)
# Test the exact endpoint
curl -X POST http://172.16.16.97/your-folder/license/api/validate.php \
-H "Content-Type: application/json" \
-d '{"username":"test","license_key":"test","api_key":"MAHMUD_SECRET_KEY_2024"}'
/var/log/apache2/error.log
License Server Admin: http://your-license-server.com/license/admin/
Client Support: Provide license key and server IP for whitelisting
Default Admin Login: admin / admin123
Critical Note: Always verify license server URL matches deployment folder structure