:: What is Host4Net ::
  :: Features ::
  :: Workflow ::
  :: GPL License ::
  :: How it looks like ::
  :: Download ::
  :: Documentation ::
  :: Supported OS ::
  :: FAQ ::
  :: Financial support ::
  :: Sponsors ::
  :: Contact us ::
   
   
   
   
  Financial support
for GPL release
of Host4NET
 
 
Requesting:

 

 




 

Host4Net Documentation v.102

Table of Contents

1. Introduction
2. Installation
3. How it works
3.1 How is developed
4. Operate with services
4.1 Create a new service type
4.2 Create a new service under service type
4.3 Service configuration
4.4 Service management
5. Add a new Client
5.1 Client's information data for invoicing
5.2 Add contracted services
5.3 Select payment method
5.4 Technical configuration setup
6. Client Management
7. Billing management


1. Introduction

Host4net is a Control Panel Management Solution dedicated for Web Hosting and ISP administration, with extended financial & commercial features, made to ease the process of administration in high density user environment. Nevertheless you should understand that for now this application is depending of Webmin. To use it you must install and use Webmin with all dependencies.

The application is developed on milestone system that will make the current documentation to change during the development process. We advise our clients to check for the new features that will be introduced in each version and from one milestone to another.

In MS1 introduces features that regard the close configuration of the ISP offer that includes both commercial and technical stuff and also the setup of new incoming clients with their home, email addresses, financial information.
Beside this, some general aspects of payment/billing and currencies will be included just to be able to start to use the module immediately.

2. Installation

Host4NET is written in Perl. Therefore you must have Perl 5 installed and functional.
However several Perl Modules are needed and must be installed manually or automatically.

Due to fast development of Webmin as well as the bug fix support, we recommend you to update your Webmin to the last version before installing Host4NET.

In order to install Host4NET go to Webmin Configuration in Webmin section. Click on the Webmin Modules and then you will see the form looking for the ftp server where lays the module's kit. Installation process take a few minutes and then you will find the module in the Others section.

Installation procedure is very simple:
- Install the module from webmin configuration section
- Execute the MySql database dump against a created database from /<your path to webmin>/host4net/sqlscripts/empty.sql
- From Module Configuration in Host4NET module setup the data base permissions to host4net data base.

Problems could occure if you use a non standard Webmin Theme or if you do not setup properly the DB access permissions. No other problems have been reported until now.

3. How it works

Host4NET is an easy to use Control Panel. Even if contains complex data for all the performed actions, each one is stored in sections. For example if you plan to customize your offer, you'll se three CGIs dealing with all financial and technical aspects.

Basically, all configurations must be started from service configuration and progressively operate in all three CGIs. Then you should configure the global financial settings of the application. This means that you must configure the VAT, the payment currency, payment methods and only after that you can proceed to add clients, email users and to configure accounts.

In other words all the configuration steps specified here are used to be attached to the new client profiles. You must take care with your financial data because it will affect all invoices and billing process and part of the user management.

Now let's move forward to see how you must properly configure this module.

3.1 How is developed

Host4NET is following an atomically model. It is very modular and highly scalable. Currently it has been reported to work properly on Fedora, RH9, Slackware, SuSE, MAC OSX, FreeBSD and SUN OS. For every sub module there are several configuration files that allow to integrate on the fly.

Every technical configuration interface has a configuration file that integrates on the fly in host4net and allow old clients to be upgraded in case on new module is installed.

Development of new sub modules is very easy and could use separate DB and can perform any task as long as it follows our integration model.

The current DB support is developed in Mysql. The access to DB is based on DAO (Direct Access Object), a solution that allows further development and portability on a different DB type (Postgres, Oracle, etc.).

For a better integration and flexibility, we have developed a function for exporting internal variables for each client by simply calling the Oder_ID. This function is used internally for cloning/replicating users over the cluster.

Host4NET is designed to interact with Webmin modules for service configuration and is not getting included in every configuration file on your OS (ex. Apache). This makes our application able to work on all Webmin supported OS.

4. Operate with services

This chapter will explain how you must configure your service types and subscribed services. You will understand how to configure in 4 steps the financial data that will be reflected in the billing process as well as the technical configuration for each service that will be applied to the new incoming clients.

4.1 Create a new service type

Service Type means any type of service you wish to provide to your clients.
To operate this option go to "Add New Service".
Use the first form and type any name you would like to identify that service by and then you also can add a comment that will reflect the meaning of the provided service.

To modify the service type, click on the edit button.
To delete service types, select and click on the delete button.

4.2 Create a new service under service type

Each new service must be attached to a service type. There is no other way.
To add a new service click on the main page on "Add New Service" and then look on the last form.

You must understand that here you will not add new clients or users. Do not make any confusion even if you see properties that usually belong to a user. The only thing you can do here is to configure the properties of a new service that will be attached to a new client. This system is not similar to any other similar product on the market, but provides extended scalability in managing new services and transparence in adding new clients.

The second concept you must understand is how permissions for Unix user and Webmin user works. First you should understand how Webmin ACLs works for Webmin Users. For this you should check the webmin documentation where customization process for ACL's is explained. Also I recommend you to read Jamie's book about Webmin.

Host4Net uses a Webmin user to clone its ACLs for the new client that will be created under any service you add. This means that every ACL you configure on the model user, will be applied for new client profiles. This concept will be optionally applied even for email users if you want to grant them any kind of access to the Webmin interface.

Therefore any configuration you setup here will be just stored in the database in order to be attached to newly added clients.

In order to extend the flexibility of your configuration, the clone users could store any data in ACLs. For this you could use our internal variables in order to create custom configuration for each package you offer. To do this, simply click on every network/system service attached to clone Webmin users and setup paths or permissions by using the following variables that are stored in DB for each client and Order ID:

From ADDSERVICE.CGI:

$SERVICE_TYPE_NAME
$SERVICE_NAME
$ADMIN_CLONE_USER - user that will be cloned as Webmin User (Master User)
$EMAIL_CLONE_USER - user that will be cloned for email accounts
$EMAIL_CLONE_GROUP - group that will be cloned for email accounts
$ADMIN_USER_UNIX_GROUP - UNIX (Master User) that will manage that account
$EMAIL_USER_UNIX_GROUP
$ADMIN_USER_HOME_PATH - home path for

From SERVICEMANAGEMENT.CGI:

$SERVICE_LAUNCH_DATE
$SERVICE_EXPIRY_DATE

From CLIENT.CGI:

$CLIENT_ID
$COMPANY_NAME
$COMPANY_COUNTRY
$COMPANY_EMAIL
$COMPANY_REGISTRATION_ID
$COMPANY_PAYMENT_METHOD
$PERSON_NAME
$PERSON_COUNTRY
$PERSON_EMAIL
$PERSON_SECURITY_ID

From CONTRACTED_SERVICES.CGI:

$ORDER_ID

From MAIN.CGI:

$DOMAIN_NAME

This data could be pop-up from DB by calling in the shell the geninfovars.pl script. This will return all this data for a specific Order ID. This script is locate in ./host4net/scripts .

Further aspects of this section are pretty easy to understand.


4.3 Service configuration

This section is made only for configuring the financial aspects of services and has impact only on billing process and suspension of unpaid invoices.

The listing process of added services is linked to service type. First time you open this page you'll see the first added service type listed on the top table drop down menu.
Select from here what services under service type you want to see and configure.

The tool tip that follows the mouse pointer displays the comments you have added under the above section and can not be modified in this section.

Two types of fees are now available:
Installation Fee - the tax your client pays for a new service installation
Periodic Fee - the monthly, weekly or yearly tax that clients pay for provided services.

Further fields are made to control the status of invoicing for each service.
Invoicing Period - specify here the period of time in days until the next invoice will be sent to your clients
Grace Period - how many days after invoicing will go until any penalty will be applied to your clients
Delay Penalty - specify the penalty percentage applied for unpaid invoices after the grace period expires.
Notify by Email - automatically notify by email your clients that this account will be soon disabled
Disable Account - how many days after the grace period will take until a client account will be disabled.

After you configure all this fields, make sure you have checked the modified services and then choose from the drop down menu on the bottom of the table
the function "Update checked services" then click the Go button.


4.4 Service management

Service management is the last section where you can configure your services. Here you are able to display configured services, delete them or modify the properties defined in "Add New Service" section.

Besides in this section you must validate a service by specifying the date when a service will become available on the market and the date when the service will expire. In other words this is the setup place for the life time of your services.
This concept, as far as we know it has not been yet implement in other commercial applications. Also this method will allow you to create promotional services. Please note that this data will not be attached in any way to your old clients or new clients.

When the service expires you will not be able to add a new client under it. The only way it would be to modify the expiry date or to create a new service (recommended).
We advise you to setup up the name of your services accordingly to eliminate any confusion or in the system that might appear during the time.

After you configure the time period select the modified services and select "Update checked services" from the table bottom in the drop down menu and then click on Go button.

5. Add a new Client

This the point you start to add your clients and to attach the configured services you added in the upper sections.

In four steps you will configure your client information for invoicing and contact, select and configure the payment method, add or modify client's contracted services and finally to setup technical settings.

5.1 Client's information data for invoicing

This form is pretty understandable, but you must understand how the system will submit data and will enable controls.

First let's clearify few terms used here:
Company Registration ID - this is the registration code of the client's company. This will be used in invoicing
VAT ID - this is the VAT code of each Europen company. This is only working for EU Community Members.
Client ID - this will be automatically generated
Security ID - this is the security number of Contact Person. In USA is the SSN in other countries could be found on ID Card.

After introducing all data about your client click on ADD button. The submit process will automatically generate a Client ID and will enable the Configure button from "Select Payment Method" and the link to Contracted Services.
After reload notice that the generated Client ID appear on buttom of form and
the ADD button has been transformed in UPDATE.

5.2 Add contracted services

This part looks like a shopping cart. Just add contracted services, insert the quantity of contracted services and click ADD. Please notice that bellow, this service will be displayed read-only and the only thing you can modify will be the quantity. Also if you will try to add again the same service as one allready contracted only the quantity will change.

After adding the first service in the list of contracted services, by pressing on Details button, a pop-up window will open showing all Order IDs and a Config button on every row used for technical configuration. In this pop-up you can click on every checkbox and select which Order ID to be deleted.

This system was designed to be able to handle further reseller option that will be implemented in Host4NET.

5.3 Select payment method

TO DO in MS2

5.4 Technical configuration setup

The modular solution implemented for technical configuration makes Host4NET powerful software. This solution consists in an on-the-fly integration method developed in the core of Host4NET which allows every new technical configuration module for network services or system services (ex. Apache, Quota) to be added easily and make it operational immediately.

Once enabled you will be able to add it to your new or old hosting packages or other services you sell. Also old clients, who contracted that package, will have the new network service enabled.

In order to technically configure an Order ID, first you must add it to the list of contracted services and then to press the Details button and choose from the pop-up window an Order ID you intend to configure. Then Host4NET will read the IDs of each network or system service attached to the package linked to Order ID
and will display the main configuration interface and a drop down menu with all attached services. From here you can select a configuration interface for each service.

In the header of the form you will see the Order ID, list of attached services, and the status of the current interface.

Main Configuration form is the first interface that is included by default and has the ID 0, which means it cannot be deleted or disabled. Here you will have to create the Webmin user (called Master User) and the Unix user. There could be two users: one for Webmin control and one for ftp access or something similar.
We recommend to do not assign this user to use email or any other network service. Use/Create Master User only to give access to your client and to let him to administrate his own services.
Also do not forget to use our internal variables described here at chapter 4. This is your way toward a flexible configuration and customization. By using variables like $COMANY_NAME you will be able to create unique users for each Order ID in a unique format (ex. user.$COMPANY_NAME). The password can be generated in the same way.

How do you replace these variables with the real data?? There is no need to do such thing. Host4NET is asking for the clone user and you have specified and attached to the current package and is here, in Main Configuration listed and preloaded from DB. After choosing the server on which you want to create the account and other services, then by pressing the update button, the internal clone function will replace all variables from this form and from all ACLs attached to the clone user. Thus you can fully customize hundreds of clone users and groups and create special configurations for each separate package or service you want to offer.

To customize the user formats available in the drop down list, you can manually change the text, variables and order by simply editing the file from /<your webmin path>/host4net/techconfig/main/template .

The structure and format of the Main Configuration as well the directory three and techconf.info, is recommended to all those who want to develop new technical configuration sub modules. Remember to increment the order ID or you will get in serious troubles and never change the IDs of other interfaces!!!.

Further explanations will be added to this section during the introduction of new sub modules for other network services.

6. Client Management

TO DO

7. Billing Management

TO DO in MS2