This guide describes the steps to follow in order to install an instance of openIMIS.
Below pages were foreseen for creation as child pages to this one, but do not contain anything yet. Therefore I deleted them. If you have content, you can create them again by: - moving the link from the list below to the visible part of the page above this box
- publish this page
- click on the link of the page you want to create
Implementation starter kit |
Server installation
1. Prerequisites
Windows Server 2012 R2
4 CPUs
8GB RAM
300GB Hard drive
2. Install SQLite
SQLite is needed to create .db3 databases that are compatible with the IMIS phones
Download pre-compiled Windows files and tools at: http://www.sqlite.org/download.html
Create a folder called C:\SQLite and place the following files in it:
- sqlite3.def
- sqlite3.dll
- sqlite3.exe
Add this folder to the PATH environment variable.
3. Install IIS
Prerequisites:
- administrator priviledges on the machine
- SQLite is installed
Installation:
In the Server manager → Dashboard → Add Roles and Features
Select Role-based or feature-based installation
Select your server from the server pool, and select your server from the list.
Select Web Server (IIS)
- Select Web Server
- In Common HTTP Features, ensure that Static Content is ticked
- In Application Development, select .NET Extensibility, ASP, ASP.NET, ISAPI Extensions, ISAPI Filters and Websocket Protocol
- FTP Server
- FTP Service
- FTP Extensibility
- Management tools
On the Features screen, select .NET 3.5.
Click on Install and wait for the features to be installed.
4. Open ports on firewall
In the Windows Server's firewall, open the following ports:
Ports 21, and an additional port for passive FTP will be needed for FTP.
Ports 1433 and 1444 are needed for SQL Server.
Open the ports in the Virtual Machine manager (if any)
5. Install SQL Server
Prerequisites: .NET Framework 3.5 SP1 (installed via IIS)
- Open the setup file
- Select New Installation or add feature to an existing installation
On the Features selection:
- Select Database Engine Services, Management Tools – Basic and SQL Client Connectivity SDK
- For installations with datawarehouse, select Analysis Services, Reporting Services and Integration Services.
Instance configuration:
- the default name (SQLEXPRESS) can be used, unless it is already used by another instance
Database engine configuration:
- Select Mixed Mode (SQL Server authentication and Windows authentication) in Authentication Mode
6. Configure SQL Server
Open the SQL Server Configuration Manager
- On the left panel, select SQL Server Network Configuration → Protocols for SQLEXPRESS (or the name of your SQL Server instance)
- Enable Named Pipes and TCP/IP
- Open TCP/IP, select the IP addresses tab and scroll down to the bottom
- Under IPAll:
- TCP Dynamics ports: 50100 (or the chosen passive port above)
- TCP Port: 1433
7. Initialise SQL Server database
In SQL Server Management Studio:
- Restore the initial database provide in the sources
- In the Object Explorer: your_DB_name → Programmability → Stored Procedures → dbo.SETUP-IMIS
- Right click on the dbo.SETUP-IMIS and execute the query. The result returned from the procedure should be 0
8. Windows Server users
It is recommended to create a dedicated user on Windows Server just to be used by Phone application. This user name and password must be entered in the tblIMISDefault table of the database (see section below).
Create these users via the Computer Management menu.
9. Set FTP credentials
Once the dedicated FTP user is created, add it to the table tblIMISDefault in the database:
On the unique row showing, edit the columns:
- FTPHost = server's IP address
- FTPUser = Server's user dedicated for FTP
- FTPPassword = Above user's password
- FTPPort = 21
10. Install IMIS
Copy the IMIS folder (in the web application source folder) containing the source files and paste it in C:\inetpub\wwwroot Similarly, copy the Web Services folder (from the Web Service source folder) and paste it in C:\inetpub\wwwroot
11. Configure IIS
Add a site
- Open the Internet Information Service (IIS) manager
- Right click on Sites
- Right click on Sites → Add Website
- Enter a site name for your openIMIS instance
- Enter the physical path name: C:\inetpub\wwwroot\openIMIS (unless you have installed IIS somewhere else) Select Port 80
Application pools
- In IIS, click on Application pools in the left pane
- In the list, right click on IMIS → Advanced settings
- Enable 32-bits applications = True
- Managed Pipeline Mode = Classic
Installing Web Service to the application
In IIS, right click on the IMIS site → Add application. Fill in the form as follows:
- Alias: Services
- Physical Path: The path of the Services Folder in the sources (usuall C:\inetpub\wwwroot\Services)
Setup FTP
FTP user
- In IIS, right click on the IMIS site, and select “Add FTP Publishing”
- Select the server's IP address
- Select Basic Authentication
- Allow access to Specific User: Type in the Windows user's name created for FTP purposes
- Give Read and Write privileges
User permissions
- In IIS, right click on the IMIS site, and select “Permissions”
- In the security tab, Windows users (Users) must have “write” permissions, if not, add them and apply
FTP passive ports
- In IIS, select the server in the left pane → FTP Firewall support
- In Data Channel Port Range, enter a range of port above 1024, for example: 50100-51100
FTP service
- Open the Services manager
- Right click on the Microsoft FTP Publishing service and select Restart
Globalisation
Depending on the server's initial configuration, the date format may differ from the expected DD/mm/YYYY by IMIS To force the date format, go to the IMIS site, then select .NET Globalisation Under Culture, select English (United Kingdom) (en-GB) as a culture
12. Edit the web.config
IMIS application
- In the root folder (usually C:\inetpub\wwwroot\openIMIS), locate the the file "web.config" and edit it so that the connection string points to the database created in SQL server and the user credentials are correct.
- For example:
Web service
- Similarly, the Web service connection string also needs to be updated
- In the services source files (usually C:\inetpub\wwwroot\Services), locate the the file "web.config" and edit it accordingly
- For example:
- Important note: the name attribute must remain "CHF_CENTRALConnectionString"
13. Assign permission to source folders
In the source files (usually C:\inetpub\wwwroot\IMIS), IIS_IUSRS need to be given full control of the following folders:
- Archive
- Extracts
- FromPhone
- Images
- Workspace Repeat the following steps for each folder listed above:
- Right click on the folder and select properties
- Select the Security tab
- Click on Edit
- Select IIS_IUSRS (if available) and allow full control (in the below section). Then apply and click OK.
14. Edit permissions to event logs
- Click on the Windows Start menu of run “regedit” via the search box
- In the Registry Editor, select HKEY_LOCAL_MACHINE → System → Current ControlSet → Services → Eventlog
- Right click on the EventLog Node, select Permission. Give full permissions to IIS_IUSRS, as described in the above paragraph (Assign permission to source folders)
- Now repeat the same steps for Eventlog → Security node, as it can be required depending on the server's environment
15. Install Windows Services
Fron the Windows Services sources, proceed as follow for each service:
Double click on the setup file (32 or 64 bits)
Select the installation path (usually C:\Program Files\Exact), and click Next
Then close after the installation completes
The service should start automatically as indicated in the system tray. If not, browse to C:\Program Files\Exact and double click on the *Controller.exe file.
Then, right click on the service in the system tray and select Settings, and fill in the settings as follows for example:
- Server: TPH-L14005\SQLEXPRESS
- Database: NP_CENTRAL
- User Name: sa
- Password: ●●●●●●●●●●●●●●●●●●●●
- Time : 00:00
- Interval: 24
- Click on Apply. This will run a backup daily at midnight.
Repeat the above steps for all chosen services.
Note: An error message may appear after the services started, saying that the service failed. In this case, restart it as a Local System service:
- Open the Windows Services manager
- Locate the service that failed
- Right click on it and select Properties → Log on tab
- Select Local System account
16. Open the application
Open your Internet browser and type the following URL in the browser address bar http://localhost/
Mobile apps configuration
Mobile apps need to be re-compiled with the correct server's IP address for it to be functional.
To do so:
- Open Android Studio
- Open the mobile app project (available here)
- Locate the file called General.java in the project explorer.
- Edit the file by replacing the server's IP address or server name, and save.
- Build the app via the tools menu
- The new .apk file is now available in the release folder indication by Android Studio.