WebsitePanel - Readme

WebsitePanel is a hosting control panel for Windows servers.

License

WebsitePanel is released under BSD license. Please see LICENSE.txt file in the root folder of this project.

Project Structure

The project has the following folders structure:

Build How-To

Downloading 3rd-Party Libraries

SimpleDNS API

SDNSAPI.dll is required to build "WebsitePanel.Providers.DNS.SimpleDNS50" project.

Download "Simple DNS Plus API for .NET and COM" library from "Downloads" section on www.simpledns.com web site web site (at the time of writing direct link to this library is http://www.simpledns.com/outbox/sdnsapi-setup.exe). Install the library and then copy SDNSAPI.dll (located in "C:\Program Files (x86)\Simple DNS Plus API for .NET and COM" by default) from its installation folder to "Lib" folder of WebsitePanel project.

MySQL .NET Connector

MySQL .NET Connector is required to build "WebsitePanel.Providers.Database.MySql" project.

Go to www.mysql.com web site and download the latest release of "MySQL .NET Connector" library from there (at the time of writing it is located at http://dev.mysql.com/downloads/connector/net/). Install MySQL connector and then copy "MySQL.Data.dll" assembly from its installation folder to "Lib" folder of WebsitePanel project.

OrderBox (Directi API)

Certain libraries are required to compile "WebsitePanel.Plugins.Directi" project of Enterprise Server solution.

Open http://40083.myorderbox.com/kb/servlet/KBServlet/faq589.html page and download the following files:

Unpack both archives to some temporary location and then copy the following files to "Lib" folder of WebsitePanel project:

Set the Reference Paths to 3rd-Party Libraries

After placing the required 3rd-Party Libraries into "Lib" folder of WebsitePanel project, open WebsitePanel.Server solution (WebsitePanel.Server.sln) and set ReferencePath of "WebsitePanel.Providers.Database.MySQL" and "WebsitePanel.Providers.DNS.SimpleDNS50" projects to the absolute path of the "Lib" folder. See "Reference Path Is Incorrect" paragraph of Troubleshooting Broken References article for help.
Do the same for "WebsitePanel.Plugins.Directi" project of WebsitePanel.EnterpriseServer solution (WebsitePanel.EnterpriseServer.sln).

Building Solutions

Build WebsitePanel solutions in the following order:

Creating Database

In order to run WebsitePanel Enterprise Server it's required to create SQL Server database to hold its internal data.

  1. Using SQL Server Management Studio or any other database tool create a database called "WebsitePanel".
  2. Execute "install_db.sql" script containing DDL and initial data from "\Database" folder of WebsitePanel project against created database.
  3. Create "WebsitePanel" SQL user account and grant it "db_owner" rights on "WebsitePanel" database.
  4. Open "web.config" file in the root of Enterprise Server application and update CryptoKey (appSettings/add/WebsitePanel.CryptoKey element) value there. It might be arbitrary non-empty string.
  5. Run WebsitePanel.PasswordEncoder tool available in "Tools" folder and generate hash for "serveradmin" account password using CryptoKey and "Encrypt" button.
  6. Update "Password" column in "Users" database table with generated hash for the record with UserID = 1 ("serveradmin" account).
  7. In Enterprise Server's web.config update database connection string with proper settings in order to connect to WebsitePanel database.

Configuring Web Applications

It's assumed below that root of WebsitePanel project is pointing to "C:\Projects\WebsitePanel" folder.