Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Next »

Content

Requirements

As runtime environment for the Connect Server .NET 5.0 (with ASP.NET Core) from patch level 5.0.7 is required. This can be downloaded via the following link:

https://dotnet.microsoft.com/download/dotnet/5.0

Use the "Hosting Bundle" package under Windows or the "binaries" for the corresponding processor architecture under other platforms. Alternatively, you can also use the SDK, but this is not mandatory.

The required resources vary greatly depending on the scenario. For orientation purposes, here are the recommendations for the use of company-internal ticket synchronization:

Small data volume 
< 300 transactions/h

Medium data volume 
< 1000 transactions/h

Large data volume 
>= 1000 transactions/h

CPU

x64 >= 2 Cores

x64 >= 4 Cores

x64 >= 4 Cores

Memory

>= 4 GB

>= 4 GB

>= 8 GB

Operating system

Windows 10 or Linux

Windows 10, Windows Server 2016 or Linux

Windows 10, Windows Server 2016 or Linux

Additional components

.NET 5.0 (incl. ASP.NET Core 5.0)

.NET 5.0 (incl. ASP.NET Core 5.0)

.NET 5.0 (incl. ASP.NET Core 5.0)

For small and medium installations, there is no reason not to share an existing (virtual) machine with sufficient capacity.

On the network side, it must be ensured that the Connect runtime environment can communicate with all participating peripheral systems via http or https.

Installation under Windows

Installation as console application

Installing the Runtime Environment

Download the latest "Hosting Bundle" for the ASP.NET Core 5.0 runtime environment and run the installer. The download is provided by Microsoft at the following link:

https://dotnet.microsoft.com/download/dotnet/5.0

Installing the Connect Server

Extract the provided ZIP archive to a folder using the Connect Server.

Configuration of the Connect Server

The Connect Server is delivered with a ready-to-run configuration. The integrated web server is available on port 80 after startup and responds to HTTP requests. For more information on customizing the configuration, please refer to the Configuration chapter.

Starting the Connect Server

Open a shell (cmd), change to the folder with the Connect Server and start the executable file named "GalileoGroup.Connect.Server.Backend.exe".

Exiting the Connect Server

Activate the console window and exit the Connect Server by pressing Ctrl + C or close the Connect Server console window.

Installation as Windows service

Installing the Runtime Environment

Download the latest "Hosting Bundle" for the ASP.NET Core 5.0 runtime environment and run the installer. The download is provided by Microsoft at the following link:

https://dotnet.microsoft.com/download/dotnet/5.0

Installing the Connect Server

Extract the provided ZIP archive with the Connect Server to a folder (e.g. "C:\Program Files\GalileoGroup\Connect").

Creating a local user to run the service

To create the local user, enter the following commands in a PowerShell with administrator privileges:

$accountName = "ConnectService"
New-LocalUser -Name $accountName

After the user has been successfully created, it must be assigned the authorization to log on as a Windows service. Press the keys Win + R and enter secpol.msc in the following input window. Now a window will be displayed with a tree structure on the left side. There, open the node "Local Policies" and then click on the node "Assign user rights". In the right half of the screen, select the entry "Log on as service" via double-click.

In the following dialog window, click the "Add user or group" button and select the newly created local user. If the user is not found, restrict the search path to the local computer name.

Now the new user must be allowed access to the folder where the application was installed. In this example, the folder "C:\Program Files\GalileoGroup\Connect" is used. To do this, enter the following commands in a PowerShell with administrator privileges:

$accountName = "ConnectService"
$fullPath = "C:\Program Files\GalileoGroup\Connect"
$User = Get-LocalUser -Name $accountName

if($User -ne $Null) {
$acl = Get-Acl $fullPath -ea Stop

$FileSystemRights = [System.Security.AccessControl.FileSystemRights]"Modify"
$AccessControlType = [System.Security.AccessControl.AccessControlType]::Allow
$InheritanceFlags = [System.Security.AccessControl.InheritanceFlags]"ContainerInherit, ObjectInherit"
$PropagationFlags = [System.Security.AccessControl.PropagationFlags]"InheritOnly"

$AccessRule = New-Object System.Security.AccessControl.FileSystemAccessRule ($User.SID, $FileSystemRights, $InheritanceFlags, $PropagationFlags, $AccessControlType)
$acl.AddAccessRule($AccessRule)

Set-Acl -Path $fullPath -AclObject $acl -ea Stop

Write-Host ("Permission granted at {0}" -f $fullPath)
}

Registering the Connect Server as a Windows Service

Registration can also be accomplished using PowerShell. Here is an example which can be used as a template:

New-Service -Name ConnectServer
-BinaryPathName "C:\Program Files\GalileoGroup\Connect\GalileoGroup.Connect.Server.Backend.exe".
-Credential MYHOST\ConnectService -Description "Connect Server Service"
-DisplayName "Connect Server" -StartupType Manual

Deregistering the Windows Service

If you want to remove the Windows service, you can do this with the following command in a shell with administrator privileges ("<ServiceName>" please replace with the name of the desired service):

sc delete <ServiceName>

Configuration of the Connect Server

The Connect Server is delivered with a ready-to-run configuration. The integrated web server is available on port 80 after startup and responds to HTTP requests. For more information on customizing the configuration, please refer to the Configuration chapter.

Installation as IIS Website

Installing the Runtime Environment

Download the latest "Hosting Bundle" for the ASP.NET Core 5.0 runtime environment and run the installer. The download is provided by Microsoft at the following link:

https://dotnet.microsoft.com/download/dotnet/5.0

During installation, please note that the Connect Server provides its frontend as a WebAssembly and therefore requires some environment-specific configuration adjustments. Please discuss the exact procedure with our support team.

Installation under Linux

Preparations under CentOS

Since CentOS does not have the library for developing international Unicode components installed by default, you may need to install it manually. Proceed as follows:

sudo yum install libicu

Preparations under Debian

Since Debian does not have the library for developing international Unicode components and curl installed by default, you may need to install them manually. Proceed as follows:

sudo apt update
sudo apt install libicu-dev
sudo apt install curl

Creating the user

It is recommended to create a separate user for the execution of the Connect Server.

The following example shows the creation of a new user with the name "connect":

CONNECT_USER=connect

sudo useradd -m $CONNECT_USER
sudo passwd $CONNECT_USER

Installing the ASP.NET Core 5.0 Runtime

The installation can be done either via a package manager (global) or via the installation script provided by Microsoft.

To do this, run the following commands to download and run the installation script:

CONNECT_USER=connect
su - $CONNECT_USER

DOTNET_ROOT=$HOME/.dotnet
DOTNET_INSTALL_URI=https://dot.net/v1/dotnet-install.sh
DOTNET_CHANNEL=5.0
DOTNET_RUNTIME=aspnetcore

curl -sSL $DOTNET_INSTALL_URI | bash /dev/stdin --channel $DOTNET_CHANNEL --runtime $DOTNET_RUNTIME
--install-dir $DOTNET_ROOT

Alternatively, you can download the required package for Linux at https://dotnet.microsoft.com/download/dotnet/5.0 in the home directory of the user created for Connect and unpack it as follows:

CONNECT_USER=connect
su - $CONNECT_USER

DOTNET_ROOT=$HOME/.dotnet
DOTNET_ARCHIVE=$HOME/aspnetcore-runtime-5.0.4-linux-x64.tar.gz

mkdir -p $DOTNET_ROOT
tar zxf $DOTNET_ARCHIVE -C $DOTNET_ROOT
rm $DOTNET_ARCHIVE

For general information about installing the .NET Core Runtime, see the following link:

https://docs.microsoft.com/de-de/dotnet/core/install/linux

Information about the installation script used can be found at the following link:

https://docs.microsoft.com/de-de/dotnet/core/tools/dotnet-install-script

Installing the Connect Server

To install the Connect Server, copy the archive containing the Connect Server and the archive containing the custom configuration to the home directory of the user created for Connect. Follow these steps to install the software (replace the blue highlighted name config.tar.gz with the name of the archive with configuration data provided for you):

CONNECT_USER=connect
su - $CONNECT_USER

CONNECT_ROOT=$HOME/connect
CONNECT_SERVER_ARCHIVE=$HOME/GalileoGroup.Connect.Server.Backend.tar.gz
CONNECT_CONFIG_ARCHIVE=$HOME/config.tar.gz

mkdir -p "$CONNECT_ROOT"

tar zxf "$CONNECT_SERVER_ARCHIVE" -C "$CONNECT_ROOT"
rm "$CONNECT_SERVER_ARCHIVE"

tar zxf "$CONNECT_CONFIG_ARCHIVE" -C "$CONNECT_ROOT"
rm "$CONNECT_CONFIG_ARCHIVE"

Configuration of the Connect Server

The Connect Server is delivered with a ready-to-run configuration. The integrated web server is available on port 80 after startup and responds to HTTP requests. For more information on customizing the configuration, please refer to the Configuration chapter.

Start the Connect Server in the foreground

To start the Connect Server in the foreground, proceed as follows:

CONNECT_USER=connect
su - $CONNECT_USER

DOTNET_ROOT=$HOME/.dotnet
CONNECT_ROOT=$HOME/connect

cd "$CONNECT_ROOT"

"$DOTNET_ROOT/dotnet" GalileoGroup.Connect.Server.Backend.dll

Starting the Connect Server in the background

To start the Connect Server in the background, proceed as follows:

CONNECT_USER=connect
su - $CONNECT_USER

DOTNET_ROOT=$HOME/.dotnet
CONNECT_ROOT=$HOME/connect

LOG_DIR=$CONNECT_ROOT/log
LOG_FILE="$LOG_DIR/log-`date "+%Y%m%d-%H%M%S"`.txt"

mkdir -p $LOG_DIR

cd "$CONNECT_ROOT"

eval "nohup "$DOTNET_ROOT/dotnet" GalileoGroup.Connect.Server.Backend.dll >"$LOG_FILE" 2>&1 &"

echo "- PID: $!"
echo "- Output: $LOG_FILE"

It is recommended to create a corresponding script for this action. You can find corresponding templates in the Scripts/Templates folder.

Exiting the Connect Server

To terminate a Connect Server running in the foreground, press Ctrl + C.

To terminate all Connect Servers running in the background, proceed as follows:

CONNECT_USER=connect
su - $CONNECT_USER

DOTNET_ROOT=$HOME/.dotnet

ps -af | awk "{ if (\$8 == \"$DOTNET_ROOT/dotnet\" && \$9 == \"GalileoGroup.Connect.Server.Backend.dll\") { printf \"%s\n\", \$2} }" | while read pid
do
echo "Stopping process with PID $pid."
kill $pid
done

It is recommended to create a corresponding script for this action. You can find corresponding templates in the Scripts/Templates folder.

Installation under Docker

The Connect Server can be operated under Docker. On Windows, only the "modern" Docker variant (Docker with WSL2) is supported. For operation under Docker, we recommend using the delivery as a portable .NET assembly, since the platform-specific variants of the Connect Server are not explicitly tested for operation under Docker.

As a basis for creating the image, you need a Linux distribution and the current version of the ASP.NET Core 5.0 runtime environment. A corresponding image is provided by Microsoft, for example, but it can also be created according to your own requirements.

The Connect delivery package already contains a Dockerfile for creating an image of the Connect Server based on the environment for ASP.NET 5.0 provided by Microsoft.

Before creating the image, the Dockerfile can be adapted to your own requirements, if necessary. The following example shows a Dockerfile for creating a container with the Debian based ASP.NET Core runtime environment, additional network tools, an editor and the Connect Server:

FROM http://mcr.microsoft.com/dotnet/aspnet

LABEL Description="This image contains the Connect! Server." Vendor="Galileo Group AG" Version="2021.0510"

RUN apt -y update
RUN apt -y upgrade
RUN apt -y install net-tools
RUN apt -y install iputils-ping
RUN apt -y install vim

COPY . /connect/app

RUN rm -r /connect/app/Repositories
RUN rm -r /connect/app/Certificates

VOLUME /connect/data

WORKDIR /connect/app

ENV Connect__Server__Paths__RepositoryPath=/connect/data/repositories
ENV Connect__Server__Paths__CertificatePath=/connect/data/certificates

ENTRYPOINT ["dotnet", "GalileoGroup.Connect.Server.Backend.dll", "settings=/connect/data/appsettings.json?"]

EXPOSE 80/tcp
EXPOSE 443/tcp

To create the Docker image, change to the working directory using the cd command. Execute the following command to create an image with the name "connect":

docker build -t connect .

In this example, the web server inside the Docker image uses the default configuration and can be reached via HTTP on port 80. If required, an HTTPS configuration on port 443 can be added. Externally, any port can be used for the container.

To avoid keeping the persistent data inside the container, this example creates an external directory named "c:\connect\data". In this directory, a JSON file with the name "appsettings.json" can be created, which contains the environment-specific configuration settings.

If necessary, required repositories can be placed in a subdirectory named "repositories".

In the following, a container with the name "myconnect" is created, which is based on the image "connect" and uses port 8000 for access via HTTP. To resolve server names, a DNS server must be specified for the container (in this example, 192.168.1.110). Create and start the container using the following command:

docker run -d -v c:\connect\data:/connect/data -p 8000:80 --dns 192.168.1.110 --name myconnect connect

If necessary, you can add a DNS suffix by specifying the --dns-search <suffix> parameter before the --name parameter.

For more information, see the documentation at the following link:

https://docs.docker.com

  • No labels