178 lines
9.6 KiB
HTML
178 lines
9.6 KiB
HTML
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
<html xmlns="http://www.w3.org/1999/xhtml" >
|
|
<head>
|
|
<title>WebsitePanel - Readme</title>
|
|
<style type="text/css">
|
|
.style1 {
|
|
text-decoration: underline;
|
|
}
|
|
</style>
|
|
</head>
|
|
<body>
|
|
|
|
<h1>
|
|
WebsitePanel - Readme</h1>
|
|
<p>
|
|
WebsitePanel is a hosting control panel for Windows servers.</p>
|
|
|
|
<h2>
|
|
License</h2>
|
|
<p>
|
|
WebsitePanel is released under BSD license. Please see LICENSE.txt file in the
|
|
root folder of this project.</p>
|
|
|
|
<h2>
|
|
Project Structure</h2>
|
|
<p>
|
|
The project has the following folders structure:</p>
|
|
<ul>
|
|
<li><strong>\Trunk</strong> - project version currently in development<ul>
|
|
<li><strong>\Sources</strong> - project source codes.</li>
|
|
<li><strong>\Lib</strong> - all referenced 3rd-party assemblies required to build
|
|
the solution are placed in this folder.</li>
|
|
<li><strong>\Database</strong> - the folder contains SQL scripts for creating
|
|
initial database structure and its update to the current version.<ul>
|
|
<li><strong>install_db.sql</strong> - SQL script to create full database structure
|
|
for the <em>previous</em> release.</li>
|
|
<li><strong>update_db.sql</strong> - SQL script to update database structure for the
|
|
revious release to the current one.</li>
|
|
</ul>
|
|
</li>
|
|
<li><strong>\Docs</strong> - project documentation<ul>
|
|
<li><strong>\Developer</strong> - technical documentation (specs, diagrams, POCs,
|
|
etc.) for developers working on the project</li>
|
|
<li><strong>\User</strong> - user-related documentation (user guides, how-tows,
|
|
etc.) for end-users using the product</li>
|
|
</ul>
|
|
</li>
|
|
<li><strong>\Build</strong> - folder containing solution assemblies that
|
|
are referenced from other projects</li>
|
|
</ul>
|
|
</li>
|
|
<li><strong>\Releases</strong> - contains all project releases</li>
|
|
<li><strong>\Branches</strong> - contains project branches for proof-of-concepts,
|
|
new development, bug fixing, etc.</li>
|
|
<li><strong>LICENSE.txt</strong> - project license</li>
|
|
<li><strong>Readme.htm</strong> - the file you are reading right now</li>
|
|
<li><strong>ReleaseNotes.htm</strong> - project release notes</li>
|
|
</ul>
|
|
<h2>
|
|
Build How-To</h2>
|
|
<h3>
|
|
Downloading 3rd-Party Libraries</h3>
|
|
<p class="style1">
|
|
SimpleDNS API</p>
|
|
<p>
|
|
SDNSAPI.dll is required to build "WebsitePanel.Providers.DNS.SimpleDNS50"
|
|
project.</p>
|
|
<p>
|
|
Download "Simple DNS Plus API for .NET and COM" library from "Downloads" section
|
|
on <a href="http://www.simpledns.com">www.simpledns.com</a> web site web site (at the
|
|
time of writing direct link to this library is
|
|
<a href="http://www.simpledns.com/outbox/sdnsapi-setup.exe">
|
|
http://www.simpledns.com/outbox/sdnsapi-setup.exe</a>). 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.</p>
|
|
<p class="style1">
|
|
MySQL .NET Connector</p>
|
|
<p>
|
|
MySQL .NET Connector is required to build
|
|
"WebsitePanel.Providers.Database.MySql" project.</p>
|
|
<p>
|
|
Go to <a href="http://www.mysql.com">www.mysql.com</a> web site and download the
|
|
latest release of "MySQL .NET Connector" library from there (at the time of
|
|
writing it is located at <a href="http://dev.mysql.com/downloads/connector/net/">
|
|
http://dev.mysql.com/downloads/connector/net/</a>). Install MySQL connector and
|
|
then copy "MySQL.Data.dll" assembly from its installation folder to "Lib" folder
|
|
of WebsitePanel project.</p>
|
|
<p class="style1">
|
|
OrderBox (Directi API)</p>
|
|
<p>
|
|
Certain libraries are required to compile "WebsitePanel.Plugins.Directi" project
|
|
of Enterprise Server solution.</p>
|
|
<p>
|
|
Open <a href="http://40083.myorderbox.com/kb/servlet/KBServlet/faq589.html">
|
|
http://40083.myorderbox.com/kb/servlet/KBServlet/faq589.html</a> page and
|
|
download the following files:</p>
|
|
<ul>
|
|
<li>NET_CoreExamples_vX.zip</li>
|
|
|
|
<li>NET_DomainsExamples_vX.zip</li>
|
|
</ul>
|
|
<p>
|
|
Unpack both archives to some temporary location and then copy the following
|
|
files to "Lib" folder of WebsitePanel project:</p>
|
|
<ul>
|
|
<li>OrderBoxCoreLib.dll</li>
|
|
<li>OrderBoxDomainsLib.dll</li>
|
|
</ul>
|
|
|
|
<h3>Set the Reference Paths to 3rd-Party Libraries</h3>
|
|
<p>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
|
|
<a href="http://msdn.microsoft.com/en-us/library/ayds71se%28v=VS.100%29.aspx" target="_blank">Troubleshooting Broken References</a>
|
|
article for help.<br />
|
|
Do the same for "WebsitePanel.Plugins.Directi" project of WebsitePanel.EnterpriseServer solution (WebsitePanel.EnterpriseServer.sln).</p>
|
|
|
|
<h3>
|
|
Building Solutions</h3>
|
|
<p>
|
|
Build WebsitePanel solutions in the following order:</p>
|
|
<ul>
|
|
<li>WebsitePanel.Server.sln</li>
|
|
<li>WebsitePanel.EnterpriseServer.sln</li>
|
|
<li>WebsitePanel.WebPortal.sln</li>
|
|
</ul>
|
|
<h3>
|
|
Creating Database</h3>
|
|
<p>
|
|
In order to run WebsitePanel Enterprise Server it's required to create SQL
|
|
Server database to hold its internal data.</p>
|
|
<ol>
|
|
<li>Using SQL Server Management Studio or any other database tool create a database
|
|
called "WebsitePanel".</li>
|
|
<li>Execute "install_db.sql" script containing DDL and initial data from "\Database"
|
|
folder of WebsitePanel project against created database.</li>
|
|
<li>Create "WebsitePanel" SQL user account and grant it "db_owner" rights on
|
|
"WebsitePanel" database.</li>
|
|
<li>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.</li>
|
|
<li>Run WebsitePanel.PasswordEncoder tool available in "Tools" folder and generate
|
|
hash for "serveradmin" account password using CryptoKey and "Encrypt" button.</li>
|
|
<li>Update "Password" column in "Users" database table with generated hash for the
|
|
record with UserID = 1 ("serveradmin" account).</li>
|
|
<li>In Enterprise Server's web.config update database connection string with proper
|
|
settings in order to connect to WebsitePanel database.</li>
|
|
</ol>
|
|
<h3>
|
|
Configuring Web Applications</h3>
|
|
<p>
|
|
It's assumed below that root of WebsitePanel project is pointing to "C:\Projects\WebsitePanel"
|
|
folder.</p>
|
|
<ul>
|
|
<li>Create "WebsitePanel Server" web site (with 127.0.0.1:9003 binding) using IIS Management Tool with the root
|
|
folder pointing to "C:\Projects\WebsitePanel\Trunk\Sources\WebsitePanel.Server".</li>
|
|
<li>Create new user account called "WebsitePanelServer" and update process identity
|
|
with it for "WebsitePanel Server" application pool. This user account must have
|
|
required privileges to manage computer resources (by default be a member of
|
|
local "Administrators" group) and also must be a member of "IIS_IUSRS" (IIS 7).</li>
|
|
<li>Create "WebsitePanel Enterprise Server" web site (with 127.0.0.1:9002
|
|
binding) using IIS Management Tool with
|
|
the root folder pointing to "C:\Projects\WebsitePanel\Trunk\Sources\WebsitePanel.EnterpriseServer".</li>
|
|
<li>Create "WebsitePanel Web Portal" web site (with <all unassigned>:9001
|
|
binding) using IIS Management Tool with the
|
|
root folder pointing to "C:\Projects\WebsitePanel\Trunk\Sources\WebsitePanel.WebPortal".</li>
|
|
<li>Open "App_Data\SiteSettings.config" file in "WebsitePanel.WebPortal" folder and
|
|
update URL to Enterprise Server (http://127.0.0.1:9002 by default).</li>
|
|
<li>Open web.config in the root of WebsitePanel.Server application and update
|
|
"server access password" ("websitepanel.server/security/password" element). You
|
|
should be able to generate password SHA1 hash using WebsitePanel.PasswordEncoder
|
|
tool.</li>
|
|
</ul>
|
|
|
|
</body>
|
|
</html>
|