websitepanel/WebsitePanel
omara_vworks a2beec7fe4 Commit Contribution from Helicon
Includes:

- complete re-write of Web Application Gallery
- Addition of Web PI Installer in Server module
2012-07-19 13:16:33 -04:00
..
Database Fixed: The first mailbox or lync plan is set as default 2012-07-18 20:17:50 +04:00
Lib Commit Contribution from Helicon 2012-07-19 13:16:33 -04:00
Resources Microsoft SQL Server 2012 support 2012-05-12 14:17:46 -04:00
Sources Commit Contribution from Helicon 2012-07-19 13:16:33 -04:00
Tools Add additional files to improve testing process 2012-07-04 20:44:16 -04:00
build-debug.bat Improve build tools 2012-07-04 20:43:31 -04:00
build-release.bat Improve build tools 2012-07-04 20:43:31 -04:00
build.xml Commit Contribution from Helicon 2012-07-19 13:16:33 -04:00
deploy-debug.bat Improve build tools 2012-07-04 20:43:31 -04:00
deploy-release.bat Improve build tools 2012-07-04 20:43:31 -04:00
Readme.htm Initial project's source code check-in. 2011-07-13 16:07:32 -07:00
ReleaseNotes.htm Items being checked-in: 2011-07-14 17:10:11 -07:00
test.xml Add additional files to improve testing process 2012-07-04 20:44:16 -04:00

<!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 &quot;WebsitePanel.Providers.DNS.SimpleDNS50&quot; 
        project.</p>
    <p>
        Download &quot;Simple DNS Plus API for .NET and COM&quot; library from &quot;Downloads&quot; 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 &quot;C:\Program Files (x86)\Simple DNS Plus API 
        for .NET and COM&quot; by default) from its installation folder to &quot;Lib&quot; folder of 
        WebsitePanel project.</p>
    <p class="style1">
        MySQL .NET Connector</p>
    <p>
        MySQL .NET Connector is required to build 
        &quot;WebsitePanel.Providers.Database.MySql&quot; project.</p>
    <p>
        Go to <a href="http://www.mysql.com">www.mysql.com</a> web site and download the 
        latest release of &quot;MySQL .NET Connector&quot; 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 &quot;MySQL.Data.dll&quot; assembly from its installation folder to &quot;Lib&quot; folder 
        of WebsitePanel project.</p>
    <p class="style1">
        OrderBox (Directi API)</p>
    <p>
        Certain libraries are required to compile &quot;WebsitePanel.Plugins.Directi&quot; 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 &quot;Lib&quot; 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 &quot;Lib&quot; folder 
	   of WebsitePanel project, open WebsitePanel.Server solution (WebsitePanel.Server.sln) 
	   and set ReferencePath of &quot;WebsitePanel.Providers.Database.MySQL&quot; and &quot;WebsitePanel.Providers.DNS.SimpleDNS50&quot; projects 
	   to the absolute path of the &quot;Lib&quot; folder. See &quot;Reference Path Is Incorrect&quot; 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 &quot;WebsitePanel.Plugins.Directi&quot; 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&#39;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 &quot;WebsitePanel&quot;.</li>
        <li>Execute &quot;install_db.sql&quot; script containing DDL and initial data from &quot;\Database&quot; 
            folder of WebsitePanel project against created database.</li>
        <li>Create &quot;WebsitePanel&quot; SQL user account and grant it &quot;db_owner&quot; rights on 
            &quot;WebsitePanel&quot; database.</li>
        <li>Open &quot;web.config&quot; 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 &quot;Tools&quot; folder and generate 
            hash for &quot;serveradmin&quot; account password using CryptoKey and &quot;Encrypt&quot; button.</li>
        <li>Update &quot;Password&quot; column in &quot;Users&quot; database table with generated hash for the 
            record with UserID = 1 (&quot;serveradmin&quot; account).</li>
        <li>In Enterprise Server&#39;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&#39;s assumed below that root of WebsitePanel project is pointing to &quot;C:\Projects\WebsitePanel&quot; 
        folder.</p>
    <ul>
        <li>Create &quot;WebsitePanel Server&quot; web site (with 127.0.0.1:9003 binding) using IIS Management Tool with the root 
            folder pointing to &quot;C:\Projects\WebsitePanel\Trunk\Sources\WebsitePanel.Server&quot;.</li>
        <li>Create new user account called &quot;WebsitePanelServer&quot; and update process identity 
            with it for &quot;WebsitePanel Server&quot; application pool. This user account must have 
            required privileges to manage computer resources (by default be a member of 
            local &quot;Administrators&quot; group) and also must be a member of &quot;IIS_IUSRS&quot; (IIS 7).</li>
        <li>Create &quot;WebsitePanel Enterprise Server&quot; web site (with 127.0.0.1:9002 
            binding) using IIS Management Tool with 
            the root folder pointing to &quot;C:\Projects\WebsitePanel\Trunk\Sources\WebsitePanel.EnterpriseServer&quot;.</li>
        <li>Create &quot;WebsitePanel Web Portal&quot; web site (with &lt;all unassigned&gt;:9001 
            binding) using IIS Management Tool with the 
            root folder pointing to &quot;C:\Projects\WebsitePanel\Trunk\Sources\WebsitePanel.WebPortal&quot;.</li>
        <li>Open &quot;App_Data\SiteSettings.config&quot; file in &quot;WebsitePanel.WebPortal&quot; 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 
            &quot;server access password&quot; (&quot;websitepanel.server/security/password&quot; element). You 
            should be able to generate password SHA1 hash using WebsitePanel.PasswordEncoder 
            tool.</li>
    </ul>
    
</body>
</html>