Installation

This page contains the installation instructions for the server and database. Please note that in order to build and test the server and libraries you will need to update the references to your system's versions of NUnit and MySQL .NET Connector libraries.

Database installation instructions

The database used in this project is MySQL versions 5.1 and 5.5. We use some characteristics included only in versions 5.1 and later, so using previous versions of the database is discouraged. MySQL Workbench v.5.2.34.2 was used as well for database management, but it is not required to install and use the database.
Although not mandatory using InnoDB is recommended as the default table format and UTF-8 as the preferred text encoding.

A collection of SQL scripts are present in the project, inside MySQL/ChessDB. Use this to create the tables and user required by the system.

  • CreateSchema.sql: Create the schema 'chessdb' and the tables and views to access data.

  • CreateUser.sql: Create 'chessClient' user and grant the needed permissions to manage 'chessdb'. This is the user the library will identify as when accessing the database. 'chessClient' is granted access to the database only from local connections.

  • InsertTest.sql: Add test data to the database.

Service installation instructions

The server has been tested and used on a Microsoft Information Services (IIS7) installation, created using Microsoft's Web Platform Installer 3.10 (WPI).

Follow these steps to configure the server, once IIS has been installed in your server. Adapt the paths to your system's .NET installation.

  • Enable the IIS ASP.NET bridge executing the following command from a console with administrator privileges:

    c:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -i

  • Enable management of 'svc' files by ASP:
    "c:\Windows\Microsoft.NET\Framework64\v3.0\Windows Communication Foundation\ServiceModelReg.exe" -i

  • Execute IIS Manager, 'inetmgr', as administrator and configure as follows:
    Sites -> Add Web Site...
    Name: ChessAsin
    Port: 15432
    Physical path: path to a local copy of the IISWebSite directory. This path must be in a NTFS filesystem to prevent incompatibilities with IIS.
    Connect as: adminstrator account and password
    Protocol: http
    Start immediately: True
    Test settings...

    ChessAsin -> Add Application...
    Alias: ChessAsin
    Application pool: ChessAsin
    Physical path: same as in Site
    Connect as: same as in Site
    Test settings...

    ChessAsin -> Add virtual directory
    Alias: IISChessService
    Physical path: same as in Site
    Connect as: same as in Site
    Test settings...

  • Select ChessAsin web and access to Modules configuration. Remove the Servicemodel v 3.* entry so the system only uses version 4, which is the one used in the ChessAsin.
    Application Pools, ChessAsin -> Advanced settings...
    Establish .NET Framework as 4.0, once again matching ChessAsin's.

  • Create a 'bin' directory inside the directory hosting the web (IISWebSite) and copy ChessServiceLibrary's binaries inside. All dll files (ChessServiceLibrary.dll, ServerChessDatabase.dll and WinChessAsin.dll) are required, plus ChessServiceLibrary.dll.config. Symbol files with extension 'pdb' are optional.