Difference between revisions of "InContext Server Installation"

From Lingoport Wiki
Jump to: navigation, search
(Automated Installation Steps)
(Installation Files)
(38 intermediate revisions by 5 users not shown)
Line 1: Line 1:
  +
= Checking InContext Server Installation =
  +
The typical G11n system can be installed using either the '''Lingoport Stack Installer''' or a Docker-based method. Depending on the installation method used, the process to check if the InContext Server is installed will differ.
   
== InContext Server Installation Requirements ==
+
== Checking Installation for Systems Installed with Lingoport Stack Installer ==
  +
If your system was installed using the Lingoport Stack Installer, check the installation with:
The InContext Server requires the following:
 
  +
<pre>
* Tomcat 8.5.x
 
  +
$sudo systemctl status incontext-server
* Java 8
 
  +
</pre>
* MySQL 5.5.3+
 
  +
Output should indicate if the service is active. If the service is not found, it needs to be installed manually.
   
  +
== Checking Installation for Docker-based Systems ==
Since the Lingoport Suite already requires Java and MySQL, the only additional requirement for the InContext Server is Tomcat. The InContext Server provided by Lingoport installs Tomcat.
 
  +
For systems intending to use the Docker-based installation, check if the Docker container for the InContext Server is running with:
  +
<pre>
  +
$ sudo docker ps | grep incontext-server
  +
</pre>
  +
If there's no output, the container is not running, indicating the InContext Server needs to be set up or there is an issue that needs to be addressed.
  +
Users in the 'docker' group may optionally omit use of sudo.
   
== InContext Server Files ==
+
= Docker-based Installation of InContext Server =
  +
For a new, simplified deployment process, the InContext Server can be installed using Docker. This section outlines the Docker-based installation process.
There are three files that comprise the InContext Server. The Lingoport InContext Server automated installation process will put these files in the appropriate location.
 
* incontext-server.war
 
* incontext-server.sh
 
* IncontextServerConfig.groovy
 
   
  +
<B>Please note this section is currently a WORK IN PROGRESS so it may not be fully accurate</B>
The <b>incontext-server.war</b> is the server itself and must be placed under the <b>tomcat</b>/webapps directory. <br>
 
The <b>incontext-server.sh</b> file is a script for starting/stopping the InContext Server and must be configured and placed in the <b>tomcat</b> directory. <br>
 
The <b>IncontextServerConfig.groovy</b> file is the configuration file for the InContext Server and must be configured and placed in the <b>tomcat</b> directory.
 
   
  +
== Pre-Requisites ==
== Automated Installation Steps ==
 
  +
  +
=== OS Requirements ===
  +
This requires Linux and a Docker installation.
  +
The details on the installation of Docker itself on the Linux vm can be found [[ Command_Center_Installation#Docker_Install|here ]]
  +
Most of the containers will be managed by Docker. However, volumes will be mounted on the Linux virtual machine and a database configuration file will reside on the VM
  +
  +
=== User Account Requirements ===
  +
Create sudo user if needed on the VM
  +
* A user, such as centos or ec2-user, with sudo privileges is required as the user under which to install InContext Server
  +
  +
=== Installation Files ===
  +
The installation files for InContext are located in the same place as the ones for Command Center.
  +
  +
Clone the public repo in the home directory of your user with sudo rights.
  +
* The public repo can be found at the [[https://github.com/Lingoport/CommandCenterConfig|Public Repo]]
  +
  +
Once cloned create a new directory in the home directory called IncontextInstall (It can be named anything you wish)
  +
  +
Copy the contents from CommandCenterConfig/Incontext/ to the new directory
  +
  +
Go into the directory (cd) and make all of the shell scripts executable
  +
  +
cd ~/IncontextInstall
  +
chmod +x ./*.sh
  +
  +
Open the install.conf with your editor as there are a couple of items in the file that will need to be modified
  +
  +
* Set the home_directory to the home directory of the current user
  +
* Set the incontext_image_version to the current version of InContext-Server. If unsure what the version is, it can be found [https://hub.docker.com/repository/docker/lingoport/incontext_pro/general Here ]
  +
* Optionally change the serverPort if desired or leave it at the default
  +
* Set the database_root_password to a password that you want to use for the root user on the database. Note this should be a good password so something from a random generator is a good idea of significant length.
  +
* The other items in the file should not be required to be modified.
  +
  +
== Installation Process ==
  +
Modify the `install.conf` file with your specific configurations, including Docker Hub credentials (account with read access to the InContext Image will be shared by Lingoport), MySQL root password (to be created with an associated MySQL 8 container), and desired server port.
  +
  +
Execute the `InstallIncontext.sh` script with sudo privileges.
  +
<pre>
  +
$ sudo ./InstallIncontext.sh
  +
</pre>
  +
This script will:
  +
* Create necessary Docker network and volumes
  +
* Pull the Lingoport InContext Server image from Docker Hub
  +
* Start the InContext Server and MySQL containers with appropriate configurations
  +
You may be prompted if there is missing info in the install.conf. Ensure you follow any prompts provided by the script for a successful installation.
  +
  +
The script will download all the Docker images that are required and perform the docker based installation.
  +
  +
Once installed it will also start the InContext Server
  +
  +
To confirm that Incontext is running use the below Docker command
  +
<pre>
  +
sudo docker container ls
  +
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
  +
d29515f5f979 lingoport/incontext_pro:1.5.0_2 "catalina.sh run" 2 minutes ago Up 2 minutes 0.0.0.0:8085->8080/tcp, :::8085->8080/tcp angry_tu
  +
4d323af14731 mysql:8.0 "docker-entrypoint.s…" 2 minutes ago Up 2 minutes 3306/tcp, 33060/tcp incontextDatabase
  +
</pre>
  +
  +
The output will show both the running Incontext server as well as the MySQL db that is used by Incontext
  +
  +
At this point, the base system should be up and running.
  +
  +
Verify the installation by checking the Docker container status and accessing the InContext Server through the web browser.
  +
  +
Go to [[ InContext_Server_Users_Guide|User Guide ]] to log in for the first time and perform the base configuration.
  +
  +
= Manual Installation =
  +
For systems not utilizing Docker or needing a specific setup, manual installation is also available.
  +
  +
== InContext Server Installation Requirements ==
  +
* Java 11
  +
* MySQL 8
  +
* Tomcat 9.0.x
  +
  +
== Installation Steps - Non-Docker ==
   
 
1. Download and unzip the '''IncontextServer-<version>.zip''' file from our SFTP site.
 
1. Download and unzip the '''IncontextServer-<version>.zip''' file from our SFTP site.
Line 30: Line 109:
 
4. Run the install script (note you must have sudo privileges): <code>./<b>install.sh</b></code>. If it is successful, one should see:
 
4. Run the install script (note you must have sudo privileges): <code>./<b>install.sh</b></code>. If it is successful, one should see:
   
  +
Incontext Server successfully installed.
Tomcat started.
 
Incontext Server successfully installed and deployed.
 
   
  +
== InContext Server Files ==
The InContext Server should be launched; browse to: '''<nowiki>http://yourserverurl:8081/incontext-server</nowiki>'''
 
  +
 
  +
== Manual Installation Steps ==
 
  +
There are three files that comprise the InContext Server. The Lingoport InContext Server automated installation process will put these files in the appropriate location.
  +
  +
  +
* incontext-server.war
  +
* incontext-server.sh
  +
* IncontextServerConfig.groovy
  +
  +
  +
== Installation Steps - Non-Docker ==
  +
  +
The <b>incontext-server.war</b> is the server itself and must be placed under the <b>tomcat</b>/webapps directory. <br>
  +
  +
  +
The <b>incontext-server.sh</b> file is a script for starting/stopping the InContext Server and must be configured and placed in the <b>tomcat</b> directory. <br>
  +
  +
  +
The <b>IncontextServerConfig.groovy</b> file is the configuration file for the InContext Server and must be configured and placed in the <b>tomcat</b> directory.
  +
  +
   
  +
= Running the InContext Server - Non-Docker =
1. Download and unzip the '''IncontextServer-<version>.zip''' file from our SFTP site. This zip file includes three files you will be dealing with: <b>incontext-server.war</b>, <b>incontext-server.sh</b>, and <b>IncontextServerConfig.groovy</b>.
 
   
  +
To start the InContext Server:
2. Download and install the latest Tomcat 8.5.x from <b>https://tomcat.apache.org/download-80</b> and place it in, for example, /usr/local/tomcat, which will be referred to as <b>tomcat</b>.
 
  +
$sudo systemctl start incontext-server
   
  +
Then browse to: '''<nowiki>http://yourserverurl:8081/incontext-server</nowiki>'''
3. Modify <b>tomcat</b>/conf/server.xml and change the port number from 8080 (used by Jenkins) to 8081.
 
   
  +
[[File:InContextServerLogin.jpg |600px]]
4. Create an empty MySQL database, named INCONTEXT:
 
shell> mysql -u root –p<your_mysql_root_password>
 
mysql> CREATE DATABASE <b>INCONTEXT</b>;
 
   
5. Create a database user and password, replacing dbuser and dbpass with your configured values. Make sure that the password meets the requirement for your MySQL release.
 
shell> mysql -u root –p<your_mysql_root_password>
 
mysql> GRANT ALL PRIVILEGES ON INCONTEXT.* TO '<b>dbuser</b>'@'localhost' IDENTIFIED BY '<b>dbpass</b>';
 
   
  +
To stop the InContext Server:
6. Configure CATALINA_HOME in the <b>incontext-server.sh</b> file for your environment and place the file in the <b>tomcat</b> directory:
 
  +
$sudo systemctl stop incontext-server
* export CATALINA_HOME=<b>/usr/local/tomcat</b>
 
   
  +
To check the status of the InContext Server:
7. Configure the following values in the <b>IncontextServerConfig.groovy</b> file for your environment and place the file in the <b>tomcat</b> directory:
 
  +
$sudo systemctl status incontext-server
* String dbuser = "<b>dbuser</b>"
 
* String dbpass = "<b>dbpass</b>"
 
   
8. Copy the <b>incontext-server.war</b> file to the <b>tomcat</b>/webapps directory
 
   
  +
= Next Steps =
9. Launch the server:
 
  +
Whether installed via Docker or manually, the next steps involve configuring and using the InContext Server for your localization needs. For more details on post-installation setup and usage, refer to the InContext Server Users Guide.
> cd <b>tomcat</b>
 
> ./incontext-server.sh start
 
   
  +
[[InContext_Capture_Installation | InContext Capture Installation]] provides additional resources for setting up InContext for Translation.
The InContext Server should be launched; browse to: http://yourserverurl:8081/incontext-server
 
   
  +
For information on how to proceed after installation, please see the:
Note: To stop the Server:
 
  +
[[InContext Server Users Guide]]
> cd <b>tomcat</b>
 
> ./incontext-server.sh stop -force
 

Revision as of 21:08, 12 April 2024

Checking InContext Server Installation

The typical G11n system can be installed using either the Lingoport Stack Installer or a Docker-based method. Depending on the installation method used, the process to check if the InContext Server is installed will differ.

Checking Installation for Systems Installed with Lingoport Stack Installer

If your system was installed using the Lingoport Stack Installer, check the installation with:

$sudo systemctl status incontext-server

Output should indicate if the service is active. If the service is not found, it needs to be installed manually.

Checking Installation for Docker-based Systems

For systems intending to use the Docker-based installation, check if the Docker container for the InContext Server is running with:

$ sudo docker ps | grep incontext-server

If there's no output, the container is not running, indicating the InContext Server needs to be set up or there is an issue that needs to be addressed. Users in the 'docker' group may optionally omit use of sudo.

Docker-based Installation of InContext Server

For a new, simplified deployment process, the InContext Server can be installed using Docker. This section outlines the Docker-based installation process.

Please note this section is currently a WORK IN PROGRESS so it may not be fully accurate

Pre-Requisites

OS Requirements

This requires Linux and a Docker installation. The details on the installation of Docker itself on the Linux vm can be found here Most of the containers will be managed by Docker. However, volumes will be mounted on the Linux virtual machine and a database configuration file will reside on the VM

User Account Requirements

Create sudo user if needed on the VM

  • A user, such as centos or ec2-user, with sudo privileges is required as the user under which to install InContext Server

Installation Files

The installation files for InContext are located in the same place as the ones for Command Center.

Clone the public repo in the home directory of your user with sudo rights.

  • The public repo can be found at the [Repo]

Once cloned create a new directory in the home directory called IncontextInstall (It can be named anything you wish)

Copy the contents from CommandCenterConfig/Incontext/ to the new directory

Go into the directory (cd) and make all of the shell scripts executable

  cd ~/IncontextInstall
  chmod +x ./*.sh

Open the install.conf with your editor as there are a couple of items in the file that will need to be modified

  • Set the home_directory to the home directory of the current user
  • Set the incontext_image_version to the current version of InContext-Server. If unsure what the version is, it can be found Here
  • Optionally change the serverPort if desired or leave it at the default
  • Set the database_root_password to a password that you want to use for the root user on the database. Note this should be a good password so something from a random generator is a good idea of significant length.
  • The other items in the file should not be required to be modified.

Installation Process

Modify the `install.conf` file with your specific configurations, including Docker Hub credentials (account with read access to the InContext Image will be shared by Lingoport), MySQL root password (to be created with an associated MySQL 8 container), and desired server port.

Execute the `InstallIncontext.sh` script with sudo privileges.

$ sudo ./InstallIncontext.sh

This script will:

  • Create necessary Docker network and volumes
  • Pull the Lingoport InContext Server image from Docker Hub
  • Start the InContext Server and MySQL containers with appropriate configurations

You may be prompted if there is missing info in the install.conf. Ensure you follow any prompts provided by the script for a successful installation.

The script will download all the Docker images that are required and perform the docker based installation.

Once installed it will also start the InContext Server

To confirm that Incontext is running use the below Docker command

    sudo docker container ls
    CONTAINER ID   IMAGE                             COMMAND                  CREATED         STATUS         PORTS                                       NAMES
    d29515f5f979   lingoport/incontext_pro:1.5.0_2   "catalina.sh run"        2 minutes ago   Up 2 minutes   0.0.0.0:8085->8080/tcp, :::8085->8080/tcp   angry_tu
    4d323af14731   mysql:8.0                         "docker-entrypoint.s…"   2 minutes ago   Up 2 minutes   3306/tcp, 33060/tcp                         incontextDatabase

The output will show both the running Incontext server as well as the MySQL db that is used by Incontext

At this point, the base system should be up and running.

Verify the installation by checking the Docker container status and accessing the InContext Server through the web browser.

Go to User Guide to log in for the first time and perform the base configuration.

Manual Installation

For systems not utilizing Docker or needing a specific setup, manual installation is also available.

InContext Server Installation Requirements

  • Java 11
  • MySQL 8
  • Tomcat 9.0.x

Installation Steps - Non-Docker

1. Download and unzip the IncontextServer-<version>.zip file from our SFTP site.

2. Change directory: cd incontext-server

3. Modify install.conf to set the values required by the install. Any information left blank will be prompted by the install script.

  • MYSQL_ROOT_PASS - this is the password that was used or created by the Stack Installer or Stack Updater.
  • INCONTEXT_MYSQL_USER / INCONTEXT_MYSQL_PASS - this is a new MySQL username and password.
  • INSTALL_TOMCAT_HERE='/usr/local/tomcat' - Unless there is reason to change the location, leave it at the default.

4. Run the install script (note you must have sudo privileges): ./install.sh. If it is successful, one should see:

Incontext Server successfully installed.

InContext Server Files

There are three files that comprise the InContext Server. The Lingoport InContext Server automated installation process will put these files in the appropriate location.


  • incontext-server.war
  • incontext-server.sh
  • IncontextServerConfig.groovy


Installation Steps - Non-Docker

− The incontext-server.war is the server itself and must be placed under the tomcat/webapps directory.

− The incontext-server.sh file is a script for starting/stopping the InContext Server and must be configured and placed in the tomcat directory.

− The IncontextServerConfig.groovy file is the configuration file for the InContext Server and must be configured and placed in the tomcat directory.

Running the InContext Server - Non-Docker

To start the InContext Server:

$sudo systemctl start incontext-server

Then browse to: http://yourserverurl:8081/incontext-server

InContextServerLogin.jpg


To stop the InContext Server:

$sudo systemctl stop incontext-server

To check the status of the InContext Server:

$sudo systemctl status incontext-server


Next Steps

Whether installed via Docker or manually, the next steps involve configuring and using the InContext Server for your localization needs. For more details on post-installation setup and usage, refer to the InContext Server Users Guide.

InContext Capture Installation provides additional resources for setting up InContext for Translation.

For information on how to proceed after installation, please see the: InContext Server Users Guide