= How to setup an OKB server = Warning: This page is work in progress. == Certificate and Authentication == * Follow UsersHowtosDevelopServices * 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. == Setup IIS == * 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...)).