How to setup an OKB server
Warning: This page is work in progress.
Certificate and Authentication
- Follow the documentation on service development
- Notes on using SQL Server 2008 R2:
- In the connection string the .\SQLEXPRESS should be changed to . . For example in the command to create the ASP.NET authentication database: aspnet_regsql.exe -C "data source=.;Integrated Security=SSPI" -A all -d HeuristicLab.Authentication.
- If the above mentioned command fails with a timeout, the error could be a compatibility problem between the 2005 and 2008R2 SQL Server versions. SQL Server Management Studio offers the option in the database properties to set the compatibility level to SQL Server 2005 and this should fix the problem.
- Open IIS Manager
- Create an application pool (HeuristicLab.OKB, .net 4.x, integrated)
- Open advanced settings of the application pool and select NetworkService as identity (if you don't have your own identities for IIS AppPools)
- Create a new website (or use an existing one)
- Go to bindings of the website.
- Add a http-binding with port 80.
- Create a new application within the website and call it HeuristicLab.OKB and use the already created appPool HeuristicLab.OKB
- Open advanced settings of the application and enter http as enabled protocols
- Grant the usergroup IIS_IUSRS read-permissions on the application directory
- Grant the NETWORK SERVICE group read access to the certificate you created in UsersHowtosDevelopServices
Add groups and users to the authentication db
In the ASP.net Authentication database the following roles must be added:
- OKB User: Users with this role are allowed to save runs to the OKB.
- OKB Administrator: Users with this role are allowed to add new algorithms and problems to the OKB.
Setup OKB database
- Open Create OKB.sql and check if the path in the CREATE DATABASE statement is the location where you store your databases.
- Use the SQL Server Management Studio to open and execute the following two scripts in this order:
- Create OKB.sql
- Initialize OKB.sql
- Both scripts can be found in HeuristicLab.Services.OKB.DataAccess\3.3\SQL Scripts
- Use the SQL Server Management Studio to create a new login for the NETWORK SERVICE group (or the identity you defined when creating the application pool): In Object Explorer: Security -> Logins -> right click (New Login...). Next you have to add the login to the two created HeuristicLab databases (HeuristicLab.Hive-3.3, HeuristicLab.Authentication) in the Users section (in Object Explorer: Databases -> HeuristicLab.* -> Security -> Users -> right click (New User...)).