# Virtualmin

https://docs.wisecp.com/ar/virtualmin

Connect Virtualmin to automate hosting accounts and let customers manage supported hosting tools from WISECP.

## Accessing the Screen

Open **Products / Services → Servers** and click **Add New Server**. Select **Virtualmin** in **Server Automation Module**. Address: `{admin}/products/servers-add`.

## Before You Connect

Prepare the Virtualmin master administrator account and password, with permission to manage domains, plans and the tools you intend to offer. The [official Remote API guide](https://www.virtualmin.com/docs/development/remote-api/) explains authentication. Allow connections from WISECP to the panel and prepare hosting plans in Virtualmin.

WISECP needs an available module license, an active server and a hosting product with prices in its selected currency. Saved servers have **Preferences**, **Linked Services** and **Import** sections.

## Connection and Product Settings

- **Address / Hostname**: Required. Enter the server address and hostname without a URL path. Both default port choices are 10000. Keep SSL enabled; Use Custom Port overrides the port.
- **Username / Root Password**: Required. Enter the authorized administrator's username and password. This integration uses password authentication, without an access token field.
- **Verify SSL Certificate**: Enabled on new records. Use a valid certificate matching the connection hostname.
- **Identity and Capacity**: Monthly Cost starts at zero; select its currency. Maximum Accounts defaults to 200 when empty; the occupancy alert follows it. Nameservers accepts four entries.
- **Plan**: Initially empty. Choose a prepared plan in product Automation → Module Configuration. Names must match across a server group. An empty choice uses panel defaults.

## Tasks

### Connecting and Testing

1. Complete **Connection Details** and click **Test Connection**. A successful domain-list request confirms connectivity and authentication.
2. Complete **Identity and Capacity** and click **Add New Server**. Check the saved record; later edits use **Save Changes**.
3. The connection test does not prove account creation or every tool permission. Verify those separately on an existing test service.

### Mapping a Hosting Product

1. Open the hosting product's **Automation → Module Assignment** and select **Virtualmin**.
2. Under **Server Configuration**, choose **Single Server** or **Server Group**, then **Module Configuration → Plan**.
3. Review **Resource Limits** and prices. Keep the initial product hidden and **Automatic Setup** disabled.
4. Click **Save Changes**; check the saved server and plan.

Plan selection fills disk, bandwidth, email, database and addon-domain limits. Missing or zero caps mean unlimited. Other limits have no plan counterpart. Disk and bandwidth metrics can apply separate account limits; disabling them restores the plan limit.

Creation requires a domain and creates its primary account with web, DNS, mail and MySQL features. An existing domain skips creation. Check its actual owner and plan before retrying setup.

### Linking Existing Accounts

In the saved server, open **Import** and click **List Results**. Check each primary domain and username. Select customer, product, billing period and dates, then click **Import** below the list. Review **Linked Services**.

This links primary accounts by domain; it does not migrate files or import passwords. Subservers are excluded. Setup settings come from the selected product. An empty list can also mean a failed connection.

### Managing Accounts and Tools

Account actions include creation, suspension, reactivation, termination, password and plan changes. Suspension also affects subservers. On the service's **Management → Settings → Integration Settings** form, select **Plan** and click **Save Changes**. Plan changes replace quotas and reapply enabled metric limits.

Administrators and customers find permitted tools under **Management**. Server **Preferences** and service restrictions control visibility:

- FTP and email accounts: create, edit and delete. FTP custom directories are unavailable.
- Email forwarders: create/delete, without editing.
- Databases: create/delete. Separate database-user and privilege management is unavailable.
- Addon domains and subdomains: create/delete, without editing or custom document roots.
- PHP INI: read and change supported directives. SSL: Let's Encrypt, custom certificate installation and certificate removal. Reinstallation requests Let's Encrypt renewal.

Panel login requests a one-time link; without a returned link it opens normal login. The server administrator login requests a separate root link. Disk and bandwidth support automatic usage collection. When the panel cannot be read, the account card shows an Unknown status, the resource rows show only the product limit and no usage is recorded for that hour.

There is no automatic price catalog, requirement or add-on creation, or periodic plan catalog synchronization. Compare **Management → Overview**, login and enabled tools on an existing test service before enabling automation.

## Important Notes

> **Account and Certificate Changes**
> 
> Termination deletes the domain and its data. Back up first and verify the panel result. A failed domain lookup may appear absent. Certificate removal can interrupt secure access; verify the result in Virtualmin.

## Required Permissions

Server settings require **MODULES_SERVERS_SETTINGS**; product editing requires **PRODUCTS_OPERATION**. Administrator panel login requires **MODULES_ROOT_LOGIN_BUTTON**. Service actions need their corresponding permissions.

## Related Articles

- [Adding a Server](https://docs.wisecp.com/en/adding-a-server)
- [Product Automation](https://docs.wisecp.com/en/product-automation)
- [Service Management](https://docs.wisecp.com/en/service-management)
