# Virtualmin

https://docs.wisecp.com/en/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. Missing account data can show zero counters; compare unexpected readings with Virtualmin.

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)
