KanBo Search installation and configuration on Azure

Prerequisites

1) Virtual Machine:

KanBo Search component requires Windows environment for the installation. Considering on-premises architecture it can be installed on the same server where KanBo or SharePoint is configured. 


In terms of Office 365 and Azure KanBo hosting, we do recommend to setup dedicated Virtual Machine on Azure (like: Windows Server 2012 R2 SP1) with lowest pricing plan. 

For the start, we recommend setting a machine at Basic A2 plan: 2 Cores, 3,5 GB RAM, 60 GB Temporary Storage.


For the time of installation, we recommend to scale plan up to a higher one. 
An after the installation, please scale it down.


For the machine, you must use own redirected domain with A record and wildcard certificate.


2) You must install Java on the machine: 

Download the file for Windows: http://www.oracle.com/technetwork/java/javase/downloads/server-jre8-downloads-2133154.html 


Install it using this manual:  http://docs.lucee.org/guides/running-lucee/windows/installing-the-server-jre-on-windows.html


There is alternative way of installing Java:

1. Create a new folder on your server: C:\Java and copy there all extracted files which you have downloaded previously.



2. Go to Computer in file explorer -> Properties.



3. In Control Panel select Advanced system settings.



 4. Now select Environment Variables in Advanced.


5. Now select path and start editing it.


6. Copy the path to the location of Bin folder in Java location and paste it in the beginning.


7. Save all changes.


3) Solr installation Package:

Contact us at support@kanbozone.com to receive the KanBo Search component package.

Before installing the KanBo Search, please make sure that you have the most recent version of KanBo deployed on your Azure and Office 365. Contact us to get the newest KanBo version package and if you don't have the most recent version, please perform the whole update procedure.



In case of any problems, please write to support@kanbozone.com so we can assist you with the installation and configuration.



Installation of the KanBo Search Component


Step 1: Download files, extract them to working location ( it can for example new folder C:\Workspace ). Open InstallerScript.ps1 in Notepad or any other text editor.



Step 2. While InstallerScript.ps1 is opened, adjust PARAMETERS section:


#Installation path

$global:targetPath = 'c:\KanBoSearchLocation' - locaction where you want to put KanBo Search component files
$keytoolPath = "C:\Program Files (x86)\Java\jre1.8.0_121\bin\keytool.exe" - make sure Java version match


#Login for the Admin user
$solrAdminUserLogin = 'yourlogintosearchcomponent' - login for the service
#Admin user password
$solrAdminUserPassword = 'yourpasswordtosearchcomponent' - your desired password
$solrCertificateCN = '*.yourdommain.com' #Ex. mysearch.local - CN name of certificate in store
$solrKeyStorePassword = 'certificatepassword' - certificate password
$solrPort = '10080' - any port you want to use for search component, remember to redirect it on router or firewall
$solrStopPort = '10081' - port for the communication purposes


#Optional
$solrCertificatePFXFilePath = 'c:\certs\kanbosearchcertificate.pfx' - you can also specify location for the certificate if you already have one. Leave this value empty if you decide to generate a certificate using $solrCertificateCN.


#Values for the parameters below can be found in the web.config in the value of KanBoSqlConnectionString
$serverName = 'SQLSERVER,1433' #If there is a need to specify port please use the comma ex. serverName,1433
$instancesDBName = 'kanboInstances_db' #The name of KanBo Instances DB. You can find it in the value of the KanBoSqlConnectionString in web.config
$dbUser = 'sa'
$dbPass = 'SAadminPassword!'


Important!

In case you don't have a certificate for SOLR domain, please invent a domain name in $solrCertificateCN and add a password to it in $solrKeyStorePassword . The new certificate will be generated automatically by script. 

In case you already have a certificate for a SOLR domain, please insert it in $solrCertificatePFXFilePath  and its password in $solrKeyStorePassword.

Save those changes.




Step 2. Go to the Location where Search is added and enter Solr installer -> Data -> Service. Example: "C:\Your working location\Solr Installer\Data\Service".

Step 3. Right-click on KanBoSearchService.exe and select Properties.


Step 4. Now click on "Unblock" button. Apply and save this change.


Step 5. Enter Windows Powershell as administrator.

As a first step, you must set Execution Policy on this machine as Unrestricted. 


Enter in Powershell:

Set-ExecutionPolicy Unrestricted

and confirm this action.


 

Step 6. Enter there cd C:\Workplace or any other direction to your working folder. Hit enter.


Step 7. Enter there .\InstallerScript.ps1 and click enter.



Step 8. "Copying files..." communicate will appear.



Copying of files will be proceeded. Please just wait a couple of second. You can track progress in your SOLR folder.



Step 9. Copying is ready when a text "Done installing service" is visible.



Step 10. Enter your Internet browser. Paste there a following URL, adding a solrPort number you already entered in Step 3.

https://localhost:solrPortNumber/solr

example: https://localhost:12345/solr/

Select OK in the communicate of Security Alter in your browser.


Step 11. Click on "Continue to this website" link if a communicate "There is a problem with this website's security sertificate" appears. (This message should not appear when your previously added certificate is proper).

Enter your password and login, which you previously entered in Step 3.




Step 12. You have entered your SOLR admin panel.




Check if indexing of Cores works.

Step 1. In your SOLR's admin panel (https://localhost:solrPortNumber/solr) ,enter Core selector to select a Core you would like to manage. Select one of them.



Step 2. After choosing one, click on Dataimport.



Step 3. Select "Auto-refresh status" and click on Execute button.



Step 4. You will see your Indexing being completed in a couple of seconds.



Please also go to the logging section to check if any errors appear.


Creating and starting a Full Crawl task and configuring web.config on Azure

1. Copy the Scheduled Job folder from your working location (it can be found in the Solr Installer folder in i.e. C:\Workspace\Solr Installer\Scheduled Job). 

Paste this folder to  the freshly created Solr folder and name it Management.




2. Go into the Management folder. Open the SolrManagement.exe.config in a file editor. 



3. Enter there the following values. Change exemplary core values to ones matching your KanBo content databases.

 Then, save the changes.

 <appsettings>
<add key="SolrUser" value="YOUR SOLR ADMINISTRATOR USER NAME"></add>
<add key="SolrPassword" value="YOUR SOLR PASSWORD"></add>
<add key="Cores" value="https://127.0.0.1:20112/solr/YOUR CONTENT DATABASE,https://127.0.0.1:20112/solr/YOUR CONTENT DATABASE"></add>
  </appsettings>



4. You need to start a Full Crawl task now. Go to the Task scheduler on your PC and click select Create Task.



5. In General section, enter a name for it ("Crawler") and select "Run whether user is logged on or not".



6. Go to Triggers section. Click on "New" button.

In Settings choose Daily.

Choose a start for today and the actual hour.

Select Repeat task every 5 minutes.

Click "OK" to save these changes.



7. Go to the Actions section.

Choose action: Start a Program.

In Program/script select Browser and selec SolrManagement file from SOLR/Management folder. Click on Open.

Then click "ok" to save these changes.


8. Save your task. It will be added to the Task scheduler. Your task will have it's first run in 5 minutes.


9. Enter Kudu Services. If your URL is f.ex. https://kanbo.azurewebsites.net, please type https://kanbo.scm.azurewebsites.net into your browser and enter it.

Go to Site -> wwwroot -> and start editing the Web config.


10. Delete the following section.

      <plugin alias="search-cards.database.by-name"></plugin>
      <plugin alias="search-docs.database.by-name"></plugin>
      <plugin alias="search-boards.database.by-name"></plugin> 


11. Copy the SOLR part and apply there your port address (SOLR URL), administrator name and password.

Save these changes.

<plugin alias="plugin-config-executor.multiplex-config" user="SolrAdminLogin" pass="SolrAdminPassword" allow-all-certificates="true" solrurl="https://YourDomain:YourPort/solr">          
        <plugin alias="search-docs.solr"></plugin>
        <plugin alias="search-cards.solr"></plugin>
        <plugin alias="search-boards.solr"></plugin>
</plugin> 



12. Save these changes. Go to Kanbo.log to see if SOLR plugin is working properly.

2017-05-02 05:27:55,543 Plugins DEBUG | plugin 20000000-0000-0000-0000-000000000001(Solr Cards Search): Running...
2017-05-02 05:27:55,668 Plugins DEBUG | plugin 20000000-0000-0000-0000-000000000001(Solr Cards Search): Adding factory of type search.cards named SolrSearch
2017-05-02 05:27:55,683 Plugins DEBUG | plugin 20000000-0000-0000-0000-000000000001(Solr Cards Search): Finished successfully
2017-05-02 05:27:55,683 Plugins DEBUG | plugin 20000000-0000-0000-0000-000000000001(Solr Cards Search): Trying to hit cores info...
2017-05-02 05:27:55,715 Plugins DEBUG | plugin 3cb5fbfd-78cb-41ad-b533-a00f9a0d6e80(Config multiplexer): Finished successfully

13. Please remember to update your KanBo Search core using the following manual: Updating a tenant (core) in KanBo Search.


Possible issues:

1.Sometimes you might get the following error while launching the InstallerScript.ps1 in Powershell.

keytool error: java.io.FileNotFoundException: C:\KanBoSearch\etc\solr-ssl.keystore.jks (The system cannot find the path specified) DONE Modifying configuration...Exception calling ".ctor" with "1" argument(s): "Could not find a part of the path 'C:\KanBoSearch\etc\jetty-ssl.xml'."



In such case you need to follow these steps:


I Delete the whole folder with freshly created Search Files - it should be placed in your KanBoSearchLocation (i.e.: c:\KanBoSearchLocation)


II In a scenario when new certificates have been generated, please go to "Manage computer certificates" on your Virtual Machine and delete the new certificates generated for solr domain from Personal and Trusted Root Certification Authorities. 


a) removing the Personal certificate issued for Solr domain



b)removing the Trusted Root Certification Authority certificate issued for Solr domain



III When the 2 steps above are done, go to the InstallerScript.ps1 and start editing it. Please add "\solr\ " to the $global:targetPath = 'c:\YourKanBoSearchLocation\' . It should be now  $global:targetPath = 'c:\YourKanBoSearchLocation\solr\' .

 

Please save these changes and launch the InstallerScript.ps1 in Powershell (as an administrator). 


2. If you haven't unblocked KanBoSearchService in its properties and tried to install Search Component, you will see the following error while running the InstallerScript.ps1 on your PowerShell console.


To get rid of this issue, please enter your PowerShell again (remember to "Run it as administrator"). 


Unistall service by running the UninstallService.ps1 in "C:\Workplaces\Solr Installer\Data\Service\UninstallService.ps1" (modify it to suit your drive path).


When it is unistalled, please install it again by running the InstallService.ps1 (by using path as " C:\Workplaces\Solr Installer\Data\Service\InstallService.ps1" to reach the last file- but please modify your path to match your drive) in Powershell.


After new installation is completed, please move to step 9.



Read also about:

Updating a tenant (core) in KanBo Search


Is this article helpful for you?