Difference between revisions of "Lingoport Suite Installation - Obsolete"

From Lingoport Wiki
Jump to: navigation, search
(Installing the Node Installer)
(Supported Versions)
(219 intermediate revisions by 4 users not shown)
Line 1: Line 1:
   
  +
= Supported Versions =
  +
Lingoport supports the '''current version, Command Center 1.2.8'''.
  +
See [[ Command Center Installation | Command Center Installation ]]
  +
  +
  +
{| border="1" class="wikitable" style="width=50%"
  +
!Date
  +
!Command Center
  +
!Command Center<br/>Globalyzer
  +
!Command Center<br/>Localyzer
  +
!LocalyzerQA
  +
!InContext Server
  +
!LingoBot
  +
|-
  +
!<span style="font-size:80%">2024-03-20</span>
  +
|1.2.8
  +
|6.8.0_3.0
  +
|10.0.28
  +
|1.6.0_2
  +
|1.5.3
  +
|3.0.4
  +
|-
  +
|-
  +
|-
  +
|}
  +
  +
Note:
  +
* [[About_Globalyzer|Globalyzer]] in Command Center requires access to the Globalyzer Server;
  +
* [[About_Globalyzer|Globalyzer]] can also deployed in an IDE, in Jenkins for Pull Request or Commit analysis, or in a CI/CD pipeline
  +
* [[LocalyzerQA|LocalyzerQA]] works with Localyzer in Command Center and [[Localyzer Express|Localyzer Express]]
  +
* [[About InContext Translation|InContext Server]] works with Localyzer in Command Center
  +
  +
===Previous Versions===
  +
  +
  +
{| border="1" class="wikitable" style="width=50%"
  +
!Version
  +
!Command Center
  +
!Command Center<br/>Globalyzer
  +
!Command Center<br/>Localyzer
  +
!LocalyzerQA
  +
!InContext Server
  +
!LingoBot
  +
|-
  +
!<br/><span style="font-size:80%">2023-11-15</span>
  +
|1.1.24
  +
|6.8.0
  +
|10.0.07
  +
|1.3
  +
|1.2.0
  +
|2.2
  +
|-
  +
|-
  +
|-
  +
|-
  +
!<br/><span style="font-size:80%">2023-10-25</span>
  +
|1.1.11
  +
|6.8.0
  +
|10.0.05
  +
|1.3
  +
|1.2.0
  +
|2.2
  +
|-
  +
|-
  +
|-
  +
|-
  +
|}
  +
  +
== Command Center Installation ==
  +
Please refer to
  +
[[ Command Center Installation ]]
  +
  +
= <i>[Deprecated] Suite Versions</i> =
  +
  +
Note: [[LocalyzerQA|LocalyzerQA]] works with Localyzer and [[Localyzer Express|Localyzer Express]].
  +
  +
{| border="1" class="wikitable" style="width=50%"
  +
!Version
  +
!Suite
  +
!Globalyzer
  +
!Localyzer
  +
!InContext<br/>for QA
  +
!InContext Server<br/>for Translation
  +
!Dashboard
  +
!LingoBot
  +
!LingoBot CLI
  +
|-
  +
!<i>Japan<br/><span style="font-size:80%">2022-07-15</span></i>
  +
|<span style="font-size:80%">Installer Japan.004<br/>Updater Japan.005</span>
  +
|<span style="font-size:80%">6.7.0-Server<br/> 6.7.0-Client</span>
  +
|9.0
  +
|1.0
  +
|1.2.0
  +
|9.4.1
  +
|2.2
  +
|1.1.0
  +
|-
  +
|-
  +
|-
  +
|-
  +
|-
  +
!<i>Ireland<br/><span style="font-size:80%">2021-12-28</span></i>
  +
|<span style="font-size:80%">Installer Ireland.008<br/>Updater Ireland.009</span>
  +
|<span style="font-size:80%">6.6.0-Server<br/> 6.6.0-Client</span>
  +
|8.0
  +
|1.0
  +
|1.0
  +
|7.8.3
  +
|2.2
  +
|1.1.0
  +
|-
  +
|-
  +
|-
  +
|-
  +
|-
  +
!<i>Honduras <br/><span style="font-size:80%">2021-07-23</span></i>
  +
|<span style="font-size:80%">Installer Honduras.000<br/>Updater Honduras.000</span>
  +
|<span style="font-size:80%">6.5.0-Server<br/> 6.5.0-Client</span>
  +
|7.1
  +
|1.0
  +
|1.0
  +
|7.8.2
  +
|2.2
  +
|1.1.0
  +
|-
  +
|-
  +
|-
  +
|-
  +
|-
  +
!<i>Greece<br/><span style="font-size:80%">2021-03-23</span>
  +
|<span style="font-size:80%">Installer Greece.000<br/>Updater Greece.000</span>
  +
|<span style="font-size:80%">6.4.0-Server<br/> 6.4.0-Client</span>
  +
|7.0
  +
|1.0
  +
|1.0
  +
|7.8.1
  +
|2.2
  +
|1.1.0
  +
|-
  +
|-
  +
|-
  +
|-
  +
  +
!<i>Fiji <br/><span style="font-size:80%">2020-07-30</span>
  +
|<span style="font-size:80%">Installer Fiji.044<br/>Updater Fiji.049</span>
  +
|<span style="font-size:80%">6.4.0-Server<br/> 6.4.0-Client</span>
  +
|6.0
  +
|1.0
  +
|1.0
  +
|7.8.1
  +
|2.2
  +
|1.1.0
  +
|-
  +
|-
  +
|-
  +
|-
  +
!<i>Egypt <br/><span style="font-size:80%">2019-12-06</span>
  +
|<span style="font-size:80%">Installer 1.31.22<br/>Updater 1.32.06</span>
  +
|<span style="font-size:80%">6.3.0-Server<br/> 6.3.1-Client</span>
  +
|5.1
  +
|1.0
  +
|1.0
  +
|7.8.1
  +
|2.2
  +
|1.1.0
  +
|-
  +
|-
  +
|-
  +
|-
  +
!<i>Denmark <br/><span style="font-size:80%">2019-05-10</span>
  +
|<span style="font-size:80%">Installer 1.27.24<br/>Updater 1.26.11</span>
  +
|<span style="font-size:80%">6.2.0-Server<br/> 6.2.1-Client</span>
  +
|5.0
  +
|1.0
  +
|<b>1.0</b>
  +
|<span style="font-size:80%">5.6.7-Server<br/> 5.6.8-Client</span>
  +
|2.2
  +
|1.1.0
  +
|-
  +
|-
  +
|-
  +
!<i>Cyprus <br/><span style="font-size:80%">2018-12-18</span>
  +
|1.23.24
  +
|6.2
  +
|4.1
  +
|1.0
  +
|N/A
  +
|5.6.7
  +
|2.2
  +
|1.1.0
  +
|-
  +
|-
  +
|-
  +
!<i>Belize <br/><span style="font-size:80%">2018-08-08</span>
  +
|1.21.14
  +
|6.1.1
  +
|4.0
  +
|<b>1.0</b>
  +
|N/A
  +
|5.6.6
  +
|2.1
  +
|1.0.1</i>
  +
|-
  +
|-
  +
|-
  +
|}
  +
  +
Requisite software products and versions
  +
  +
{| border="1" class="wikitable" style="width=50%"
  +
!Version
  +
!JDK
  +
!MySQL
  +
!Linux
  +
!Jenkins
  +
!Tomcat*
  +
|-
  +
!Japan<br/><span style="font-size:80%">2022-07-15</span>
  +
|11.0
  +
|5.7
  +
|CentOS 7 & RHEL 7
  +
|2.310+
  +
|8.5.x
  +
|-
  +
|-
  +
|-
  +
|-
  +
!Ireland<br/><span style="font-size:80%">2021-12-28</span>
  +
|1.8**
  +
|5.7
  +
|CentOS 7 & RHEL 7
  +
|2.310+
  +
|8.5.x
  +
|-
  +
|-
  +
|-
  +
|-
  +
!Honduras<br/><span style="font-size:80%">2021-07-30</span>
  +
|1.8**
  +
|5.7
  +
|CentOS 7 & RHEL 7
  +
|2.277+
  +
|8.5.x
  +
|-
  +
|-
  +
|-
  +
|-
  +
|}
  +
  +
=== Historical Versions ===
  +
  +
{| border="1" class="wikitable" style="width=50%"
  +
!Date
  +
!Suite
  +
!Globalyzer
  +
!Localyzer
  +
!InContext QA
  +
!Dashboard
  +
!LingoBot
  +
!LingoBot CLI
  +
!JDK
  +
!MySQL
  +
!Linux
  +
!Jenkins
  +
!Tomcat*
  +
|-
  +
!2018-05-17
  +
|1.17.25
  +
|6.1
  +
|3.4.1
  +
|N/A
  +
|5.6.5
  +
|2.0
  +
|<b>1.0.1</b>
  +
|1.8**
  +
|5.6
  +
|CentOS 7
  +
|2.73
  +
|8.5.x
  +
|-
  +
|-
  +
|-
  +
!2017-12-12
  +
|1.15.4
  +
|6.0
  +
|3.4
  +
|N/A
  +
|5.6.4
  +
|1.2
  +
|N/A
  +
|1.8**
  +
|5.6
  +
|CentOS 7
  +
|2.73
  +
|7.x
  +
|-
  +
|-
  +
|-
  +
!2017-09-22
  +
|1.14
  +
|6.0
  +
|3.3
  +
|N/A
  +
|5.6.3
  +
|<b>1.0</b>
  +
|N/A
  +
|1.8
  +
|5.6
  +
|CentOS 7
  +
|2.73
  +
|7.x
  +
|-
  +
|-
  +
  +
!2017-05-01
  +
|1.8
  +
|5.3
  +
|3.2
  +
|N/A
  +
|5.6.2
  +
|N/A
  +
|N/A
  +
|1.8
  +
|5.6
  +
|CentOS 7
  +
|2.19
  +
|7.x
  +
|-
  +
|-
  +
  +
!2017-02-01
  +
|1.8
  +
|5.3
  +
|3.1
  +
|N/A
  +
|5.6.1
  +
|N/A
  +
|N/A
  +
|1.8
  +
|5.6
  +
|CentOS 7
  +
|2.19
  +
|7.x
  +
|-
  +
  +
!2016-12-15
  +
|1.7
  +
|5.2
  +
|3.1
  +
|N/A
  +
|5.6.1
  +
|N/A
  +
|N/A
  +
|1.8
  +
|5.6
  +
|CentOS 7
  +
|2.19
  +
|7.x
  +
|}
  +
''Updated August 2022''
  +
  +
<br>
  +
If your [[Terms_and_Definitions#continuousglobalizationsystem|Continuous Globalization System]] is installed using the [[Terms_and_Definitions#StackInstaller|Stack Installer]], these products and applications will be installed via that method. These are minimum versions and anything higher is acceptable.
  +
  +
== Quick Link to the Stack Updater upgrade ==
  +
In case you are knowledgeable about the system and its installation and need to update it using the Stack Updater, following this link:
  +
[[#Updating_with_the_Stack_Updater]]
  +
  +
  +
<nowiki>*</nowiki>Tomcat is required only for the [[Terms_and_Definitions#GlobalyzerServer|Globalyzer Server]]. If a customer chooses to use Lingoport's hosted Globalyzer Server for user administration and rule set creation, the Tomcat requirement is not applicable.
  +
  +
<nowiki>**</nowiki>At this time only Java 1.8 is supported for these versions. Java 11 is <b>supported</b> in the Japan release.
   
 
=Systems Configuration=
 
=Systems Configuration=
   
The conponents of the Lingoport Suite are covered in the [[Introduction|Lingoport Suite Introduction]] section. That section should be reviewed before installation.
+
The components of the Lingoport Suite are covered in the [[Introduction|Lingoport Introduction]] section. That section should be reviewed before installation.
   
The [[Terms_and_Definitions#LingoportSuite|Lingoport Suite]] can be configured in a variety of ways. The following describes our '''recommended configuration''' for a [[Terms_and_Definitions#continuousglobalizationsystem|Continuous Globalization System]], where both [[Terms_and_Definitions#insternationalization|internationalization]] and [[Terms_and_Definitions#localization|localization]] progress is tracked, managed and displayed in an automated and reliable process.
+
The [[Terms_and_Definitions#LingoportProducts|Lingoport Products]] can be configured in a variety of ways. The following describes our '''recommended configuration''' for a [[Terms_and_Definitions#continuousglobalizationsystem|Continuous Globalization System]], where both [[Terms_and_Definitions#insternationalization|internationalization]] and [[Terms_and_Definitions#localization|localization]] progress is tracked, managed and displayed in an automated and reliable process.
   
   
Line 13: Line 385:
 
To see more deployment scenarios, please refer to [[Deployment Scenarios | Deployment Scenarios ]]. Make sure to choose a deployment scenarios with the IT department before starting the installation.
 
To see more deployment scenarios, please refer to [[Deployment Scenarios | Deployment Scenarios ]]. Make sure to choose a deployment scenarios with the IT department before starting the installation.
   
= IT Participation =
+
= On Site: IT Participation =
The customer IT group is very important to the successful deployment of the Lingoport applications. In particular, the IT group that sets up the Linux system must understand the usage model for the system.
+
The customer IT group is very important to the successful deployment of the Lingoport applications when installing the suite on site. In particular, the IT group that sets up the Linux system must understand the usage model for the system.
 
Lingoport requires a meeting with the parties responsible for setting up and maintaining the host system <b>before</b> installation can properly begin. The hope is that once the system is setup for installation, minimal IT interaction is necessary.
 
Lingoport requires a meeting with the parties responsible for setting up and maintaining the host system <b>before</b> installation can properly begin. The hope is that once the system is setup for installation, minimal IT interaction is necessary.
   
= Stack Installer =
+
= Stack Installer and Stack Updater =
   
The [[Terms_and_Definitions#LingoportSuite|Lingoport Suite]] server components can be installed using the [[Terms_and_Definitions#stackinstaller|Stack Installer]] which automates the installation and configuration of the central system.
+
The [[Terms_and_Definitions#LingoportSuite|Lingoport Suite]] server components can be installed using the [[Terms_and_Definitions#stackinstaller|Stack Installer]] (or updated using the [[Terms_and_Definitions#stackupdater|Stack Updater]]) which automates the installation and configuration of the central system.
   
 
Preparations must be made with the IT team to ensure that all prerequisites are met before installation. For new installations, this is the recommended method to use to verify that all the various actors work together well.
 
Preparations must be made with the IT team to ensure that all prerequisites are met before installation. For new installations, this is the recommended method to use to verify that all the various actors work together well.
Line 33: Line 405:
 
{| border="1" class="wikitable" style="width=50%"
 
{| border="1" class="wikitable" style="width=50%"
 
! Element
 
! Element
  +
! Minimum
 
! Recommended
 
! Recommended
! Up to
 
 
|-
 
|-
 
! CPU
 
! CPU
Line 55: Line 427:
 
|-
 
|-
 
! Operating System
 
! Operating System
| Linux, CentOS
+
| Linux, CentOS (7) or RedHat (7)
 
|-
 
|-
 
! Java Standard Edition
 
! Java Standard Edition
Line 69: Line 441:
 
== Lingoport Continuous G11n Server ==
 
== Lingoport Continuous G11n Server ==
   
  +
=== Continuous Globalization System Hardware Requirements ===
  +
  +
Many of the Lingoport Suite components are installed on the [[Terms_and_Definitions#continuousglobalizationsystem|Continuous Globalization System]]. This includes [[Terms_and_Definitions#LRM|Localyzer]], [[Terms_and_Definitions#LingoportDashboardServer|Dashboard Server]] and [[Terms_and_Definitions#LingoportDashboardClient|Dashboard Client]], [[Terms_and_Definitions#Jenkins|Jenkins]], MySQL, and [[Terms_and_Definitions#GlobalyzerClient|Globalyzer Client]].
  +
  +
{| border="1" class="wikitable" style="width=50%"
  +
! Element
  +
! Minimum
  +
! Recommended
  +
|-
  +
! CPU
  +
| 2 || 4
  +
|-
  +
! Memory
  +
| 16 GB
  +
| 16 GB
  +
|-
  +
! Disk
  +
| 160 GB
  +
| 500 GB
  +
|}
  +
  +
The [[Terms_and_Definitions#GlobalyzerServer|Globalyzer Server]] may be hosted by Lingoport, reside on another server, or be installed on the same system. Other Linux and Windows machines may have Globalyzer clients installed.
 
The current versions of these software products can be found at: [[Introduction#Current_versions_of_Lingoport_products_and_supporting_applications | Current versions of Lingoport products and supporting applications]].
 
The current versions of these software products can be found at: [[Introduction#Current_versions_of_Lingoport_products_and_supporting_applications | Current versions of Lingoport products and supporting applications]].
   
Line 74: Line 468:
 
[[Terms_and_Definitions#Jenkins|Jenkins]] need to be accessible by Lingoport and customer personnel to configure jobs, check the console if any problem arise, run jobs if necessary. The Dashboard needs to be accessible by many actors, including customer development teams, management, and QA, Lingoport, Translation Vendors.
 
[[Terms_and_Definitions#Jenkins|Jenkins]] need to be accessible by Lingoport and customer personnel to configure jobs, check the console if any problem arise, run jobs if necessary. The Dashboard needs to be accessible by many actors, including customer development teams, management, and QA, Lingoport, Translation Vendors.
   
  +
Please see [[Deployment_Scenarios#External_Access_and_Ports |External Access and Ports]] for all the details.
The following describes what needs to be open and accessible on the deployed system.
 
   
  +
= Installation and Upgrade Order =
==Ports==
 
   
  +
== Acquiring the Stack Installer / Stack Updater from Lingoport ==
* Jenkins is accessed via port 8080
 
* Lingoport Dashboard is accessed via port 9000
 
* The Translation Vendor may be accessed by different means, for instance port 21 for FTP or port 22 for SFTP.
 
* Access for the Lingoport (or internal) installation team can be done in many ways, such as SSH for Telnet or Putty.
 
* The system must be able to access https://globalyzer.com.
 
* The system must be able to access the code repository, such as http://github.com for instance.
 
   
  +
Please contact Lingoport for credentials to retrieve the Stack Installer and Stack Updater.
==Other aspects==
 
   
  +
There are 2 download options: Retrieval via SFTP, and retrieval from an AWS S3 bucket.
* Jenkins installation requires access to the Jenkins update site, http://updates.jenkins-ci.org
 
  +
* Dashboard may require access to the SonarQube update site, http://update.sonarsource.org
 
  +
=== SFTP ===
* Notifications are sent using an SMTP account: The system must allow access to an SMTP server (e.g. Google)
 
  +
* For a Master/Slave configuration of Jenkins, see [[Node Installer|Node Installer]].
 
  +
Lingoport will provide your corporation with an SFTP account upon request.
  +
  +
Retrieve the latest content from our SFTP server using the following config:
  +
  +
<pre>
  +
Server URL: lingoport.net
  +
SFTP ports: 22 (default), 2022 (alternate)
  +
Username: To be provided by Lingoport
  +
Password: To be provided by Lingoport (or you may also provide Lingoport with a public key to authorize).
  +
</pre>
  +
  +
Locations:
  +
<pre>
  +
install/stackinstaller
  +
install/stackupdater
  +
</pre>
  +
  +
Use an SFTP client, such as [https://winscp.net/eng/index.php WinSCP] or from the system where the installation will take place, a command like:
  +
  +
sftp user@lingoport.net:install/stackinstaller/stack-installer-<release>.<number>.zip
  +
sftp user@lingoport.net:install/stackupdater/stack-updater-<release>.<number>.zip
  +
  +
=== AWS S3 ===
  +
  +
You will need to install the AWS S3 client, and use credentials provided by Lingoport.
  +
  +
  +
Install AWS CLI:
  +
<pre>
  +
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
  +
unzip awscliv2.zip
  +
sudo ./aws/install
  +
</pre>
  +
  +
Configure AWS CLI:
  +
  +
<code>mkdir ~/.aws</code>
  +
  +
<pre>
  +
cat <<EOF >> ~/.aws/config
  +
[default]
  +
region=us-east-1
  +
output=json
  +
EOF
  +
</pre>
  +
  +
<pre>
  +
cat <<EOF >> ~/.aws/credentials
  +
[default]
  +
aws_access_key_id=<Access Key ID provided by Lingoport>
  +
aws_secret_access_key=<Access Key Secret provided by Lingoport>
  +
notes="Minimal access: stack installer / stack updater s3 bucket"
  +
EOF
  +
</pre>
  +
  +
Locations:
  +
<pre>
  +
s3://lingoport-suite-setup/stack-installer/
  +
s3://lingoport-suite-setup/stack-updater/
  +
</pre>
  +
  +
Usage
  +
  +
Example commands:
  +
<pre>
  +
aws s3 ls s3://lingoport-suite-setup/stack-installer/
  +
aws s3 cp s3://lingoport-suite-setup/stack-updater/stack-updater-Honduras.004.zip .
  +
</pre>
   
= Installation and Upgrade Order =
 
   
 
== Installing with the Stack Installer ==
 
== Installing with the Stack Installer ==
Line 99: Line 555:
 
Here are the installation steps.
 
Here are the installation steps.
 
<ol>
 
<ol>
<li> Get the [[Terms_and_Definitions#stackinstaller|Stack Installer]] zip file and put it on the new server in the home directory of a user with root access. </li>
+
<li> Get the [[Terms_and_Definitions#stackinstaller|Stack Installer]] zip file and put it on the new server in the home directory of a user with root (sudo) access. </li>
 
<li> Login to the console on the system as the user with root access.</li>
 
<li> Login to the console on the system as the user with root access.</li>
 
<li> Unzip the Stack Installer zip file.
 
<li> Unzip the Stack Installer zip file.
: A new machine might not have the <code>unzip</code> command installed. To get the unzip command: <code>sudo yum install unzip</code>
+
: A new machine might not have the <code>unzip</code> command installed. To get the unzip command:
: <code>unzip stack-installer.zip</code>
+
:<code>> sudo yum install unzip</code>
: <code>cd stack-installer</code> </li>
+
: <code>> unzip stack-installer.zip</code>
  +
: <code>> cd stack-installer</code> </li>
 
<li> Edit the configuration files to automate the process.
 
<li> Edit the configuration files to automate the process.
 
: Edit <code>login-info.conf</code>. Here is an example:
 
: Edit <code>login-info.conf</code>. Here is an example:
Line 114: Line 571:
   
 
# Server Address or IP - the server this is being installed on
 
# Server Address or IP - the server this is being installed on
SERVER_URL_OR_IP="12.34.56.78" # Alternately "http://some.domain.com"
+
SERVER_URL_OR_IP="https://some.domain.com"
   
# Lingoport/LRM MySQL user - probably doesn't need to be changed
+
# Lingoport/Localyzer MySQL user - probably doesn't need to be changed
 
LINGOPORT_MYSQL_USER="lingoport"
 
LINGOPORT_MYSQL_USER="lingoport"
 
LINGOPORT_MYSQL_PASS="lingopwd"
 
LINGOPORT_MYSQL_PASS="lingopwd"
Line 125: Line 582:
 
</pre>
 
</pre>
   
: Edit <code>lrm-license.conf</code>. This information should be supplied by Lingoport prior to installation
+
: Edit <code>lrm-license.conf</code>. This information should be supplied by Lingoport prior to installation. If you bought a license that includes InContext QA, enter the expiration date. If not, enter the information as below. If the <code>LRM_INCONTEXT_QA_EXPIRATION_DATE</code> is removed, an error will occur.
 
<pre>
 
<pre>
COMPANY_NAME="Acme" # e.g. DemoCo
+
COMPANY_NAME='ACME' # e.g. DemoCo
LRM_MAX_PROJECTS="10" # e.g. 5
+
LRM_MAX_PROJECTS='1000' # e.g. 5
LRM_LICENSE_EXPIRATION_DATE="2020-10-10" # e.g. 2018-01-01
+
LRM_LICENSE_EXPIRATION_DATE='2019-01-15' # e.g. 2018-01-01
  +
LRM_INCONTEXT_QA_EXPIRATION_DATE=
LRM_LICENSE_KEY="123456789"
 
  +
LRM_LICENSE_KEY='123456789'
 
</pre>
 
</pre>
 
</li>
 
</li>
Line 136: Line 594:
   
 
<li> At this point, Jenkins and the Dashboard should be up and running. Go to Jenkins in a browser at
 
<li> At this point, Jenkins and the Dashboard should be up and running. Go to Jenkins in a browser at
<code><nowiki>http://12.34.56.78:8080</nowiki></code>. All the scripts should be installed and the tabs created.</li>
+
<code><nowiki>https://some.domain.com/jenkins</nowiki></code> (some.domain.com is an example of the IP or URL supplied in login-info.conf). All the scripts should be installed and the tabs created.</li>
   
<li> Go to Dashboard in a browser <code><nowiki>http://12.34.56.78:9000</nowiki></code> (This is the IP or URL supplied in login-info.conf).
+
<li> Go to Dashboard in a browser <code><nowiki>https://some.domain.com/</nowiki></code>.
:It might redirect to <code><nowiki>http://12.34.56.78:9000/maintenance</nowiki></code>. In the URL, replace 'maintenance' with 'setup' and hit enter. There will be an 'Upgrade' button in the new page. Click on it, then select 'Go Home' when it completes. This should bring up the Dashboard with the javademo job.
 
 
: Login to the Dashboard with the Administrator user (admin). Initially the password is also 'admin'.
 
: Login to the Dashboard with the Administrator user (admin). Initially the password is also 'admin'.
 
</li>
 
</li>
 
<li> To change your password after logging in, look for 'Administrator' on the top right. Click it then 'My Account'. There will be a 'Security' tab in the mid left of the page. This will open a page that allows you to change your password.
 
<li> To change your password after logging in, look for 'Administrator' on the top right. Click it then 'My Account'. There will be a 'Security' tab in the mid left of the page. This will open a page that allows you to change your password.
 
</li>
 
</li>
<li> To add additional Dashboard users, click on 'Administration' on the top middle of the page (this is different than 'Aministrator', which is on the right). Look for a 'Security' tab with a dropdown, then open the 'Users' page.
+
<li> To add additional Dashboard users, click on 'Administration' on the top middle of the page (this is different than 'Administrator', which is on the right). Look for a 'Security' tab with a dropdown, then open the 'Users' page.
[[File:DashboardAdministrationUsers.png|600px]]
 
 
</li>
 
</li>
  +
[[File:DashboardAdministrationUsers.png|600px]]
 
</ol>
 
</ol>
  +
  +
=== After installation ===
  +
Once the installation is complete, there are a few more steps to make sure that everything is working correctly.
  +
  +
==== Verifying the installation ====
  +
  +
At this point, you can bring up Jenkins and the Dashboard in the browser and verify that they look correct.
  +
  +
Use the SERVER_URL_OR_IP value from the login-info.conf file. Browse to Jenkins: '''<code><nowiki>https://some.domain.com/jenkins</nowiki></code>'''
  +
  +
[[File:jenkins_after_install.jpg|700px]]
  +
  +
Jenkins has been set up with a number of jobs which will automate many of the Lingoport Suite tasks. A job called '''<group>.LicenseExpiration''' should have been created at install. If your group name was set as Acme, this would be '''Acme.LicenseExpiration'''. Select the job and then Build Now to run the job. When the job is complete, select the number under '''Build History''' and '''Console Output'''. This job will give information about your Lingoport Suite Installation, including all the licensing.
  +
  +
Browse to the Lingoport Dashboard: '''<code><nowiki>https://some.domain.com/</nowiki></code>'''. Login at the top right as user '''admin''' and password '''admin'''. Or the password that was changed. Simply verify that you can log in. There should be no projects at this time.
  +
  +
====Set up the Administrator user for Jenkins====
  +
Go to your Jenkins URL: <code><nowiki>https://some.domain.com/jenkins</nowiki></code>. You should be able to login without a username.
  +
* At the left side, select '''Manage Jenkins'''
  +
* Select '''Configure Global Security'''
  +
  +
[[File:ConfigureGlobalSecurity.jpg|700px]]
  +
  +
Under '''Security Realm''', select '''Jenkins' own user database'''. Under '''Authorization''', select '''Matrix-based security'''. Anonymous users will have Administer checked. Leave this as it is until you create an administration user. At the bottom of the page, select '''Save'''. At this point, Jenkins will ask you to create an administrator id. You can use '''admin''' for the username, select your own password and '''Administrator''' for the name.
  +
  +
Log in to Jenkins as the administrator and select '''Manage Jenkins''' and '''Configure Global Security''' again. The Administrator user should have an entry in Matrix-based security. Unselect Administer credentials from Anonymous Users. Under '''Agent --> Master Security''', make sure that the box '''Enable Agent → Master Access Control''' is checked. '''Save'''.
  +
  +
====Set up a CLI user for Jenkins====
  +
Jenkins CLI is used primarily by the Dashboard and Lingobot, but it should be set up at installation time.
  +
  +
Follow the instructions at [[Set Up Jenkins CLI User]]
  +
  +
After completing the setup, the $JENKINS_HOME/lingoport/bin/jenkins_cli_config.sh should have the following values populated:
  +
  +
export JENKINS_USER=jenkins_cli
  +
export JENKINS_TOKEN=<a token value>
  +
export JENKINS_URL=<JENKINS_URL>
  +
  +
JENKINS_URL depends on your system. For instance, it could be in the form http://localhost:8080/jenkins, https://lingoport.company.com/jenkins etc.
  +
  +
====Set up the Lingoport Dashboard to work with Jenkins====
  +
The Lingoport Dashboard needs to be configured to work with Jenkins.
  +
  +
Log in as the administrator. At the top of the window, select Administrator, then select the Security tab and Users.
  +
  +
[[File:DashboardAddUser.jpg|700px]]
  +
  +
*Select '''Create User'''
  +
*The '''Login''' will be your group name (Acme). Use this for the '''Name''' as well.
  +
*For the password, use <group>:123. For group name Acme, this is Acme:123.
  +
*All other entries are optional
  +
*'''Create'''
  +
   
 
Installation is complete! To work with projects refer to [[On-Boarding New Projects | On-Boarding New Projects]]
 
Installation is complete! To work with projects refer to [[On-Boarding New Projects | On-Boarding New Projects]]
=== Installing the Node Installer ===
 
   
  +
=== Scaling the system ===
The [[Terms_and_Definitions#Jenkinsjobs|Lingoport Jenkins jobs]] can be distributed onto other [[Terms_and_Definitions#AgentNode|nodes]] or [[Terms_and_Definitions#AgentNode|agents]] for processes. This improves performance on the main ([[Terms_and_Definitions#MasterNode|master]]) Jenkins system.
 
   
  +
The [[Terms_and_Definitions#Jenkinsjobs|Lingoport Jenkins jobs]] can be distributed onto other [[Terms_and_Definitions#AgentNode|nodes]] or [[Terms_and_Definitions#AgentNode|agents]] for processes. This improves performance on the main ([[Terms_and_Definitions#MasterNode|master]]) Jenkins system. The '''Node Installer''' sets up the master and agent systems in preparation for the Jenkins configuration. The Node Installer does not have to be installed at the time of [[Terms_and_Definitions#StackInstaller|Stack Installer]]. It can be added later as systems and jobs expand.
The Node Installer does not have to be installed at the time of [[Terms_and_Definitions#StackInstaller|Stack Installer]]. This can be added later as systems and jobs expand. To install the Jenkins Master/Agent system, you must have a CentOS (RedHat is not supported) [[Terms_and_Definitions#MasterNode|Master]] system that has been installed from the Stack Installer and has Jenkins and the Lingoport Dashboard up and running. Then one or more [[Terms_and_Definitions#AgentNode|agent]] machines with the CentOS operating system needs to be created. Prior to installation all the machines need to be able to ping one another.
 
  +
  +
[[Installing the Node Installer]]
  +
  +
== Updating with the Stack Updater ==
  +
  +
If the Lingoport Suite is already installed, use the [[Terms_and_Definitions#stackupdater|Stack Updater]] to get to the most current versions.
  +
  +
Note: The Stack Updater requires that the suite has been installed through the Stack Installer previously. If this is not the case, you may be able to run the Stack Installer's 'stack-configurer.sh' to perform most pre-installation steps and then attempt the update. Please note that you may still run into issues if doing so.
  +
  +
Supported operating systems are CentOS 7 and RHEL 7. To see your operating system, try
  +
<code>cat /etc/os-release</code> (most common), <code>cat /etc/centos-release</code>, or <code>lsb_release -dr</code>
  +
  +
Disk space requirements are at least 160GB total with at least 60GB free at time of upgrade. If the disk is split into multiple partitions, then this disk requirement applies specifically to the /var partition(The space is mostly used by /var/lib/jenkins and /var/lib/mysql). However, /tmp should also contain at least 10GB as it's used as a temporary holding area by mysql. Finally, the location where the stack updater is placed on the system must have enough space to take a backup of the existing databases, with a minimum requirement of 3G for the updater itself and the database size (which will vary from less than 1G to up to 20GB). It's fine to place the stack updater under '/var' if that's required to meet the space requirements.
  +
  +
To validate, see disk space with the command <code>sudo df -h</code>. Example:
   
# Get the <code>node-installer-<version>.zip</code> file from Lingoport and put it onto the Master system in the centos user or another user with sudo privileges.
 
 
<pre>
 
<pre>
  +
> sudo df -h
> unzip node-installer-<version>.zip
 
  +
Filesystem Size Used Avail Use% Mounted on
> cd node-installer
 
  +
devtmpfs 7.6G 0 7.6G 0% /dev
  +
tmpfs 7.7G 0 7.7G 0% /dev/shm
  +
tmpfs 7.7G 57M 7.6G 1% /run
  +
tmpfs 7.7G 0 7.7G 0% /sys/fs/cgroup
  +
/dev/nvme0n1p1 162G 7.9G 155G 5% /
  +
tmpfs 1.6G 0 1.6G 0% /run/user/1000
 
</pre>
 
</pre>
   
  +
See database size with the command <code>sudo du -h --summarize /var/lib/mysql</code>. Example:
On Master, in the node-installer directory, update the <code>login_info.yml</code> and the <code>hosts</code> files.
 
<pre>
 
login_info.yml:
 
   
  +
<pre>
github_url: "https://www.github.com"
 
  +
> sudo du -h --summarize /var/lib/mysql
github_api_endpoint: "https://api.github.com"
 
  +
3G /var/lib/mysql
github_login: "myGitLogin"
 
github_oauth_token: "<long token>"
 
dashboard_login: "admin"
 
dashboard_password: "admin"
 
dashboard_server_url: "http://one.two.three.com:9000/"
 
gz_server_username: "bob@acme.com"
 
gz_server_password: "xxxxxx"
 
gz_server_url: "https://www.globalyzer.com/gzserver"
 
 
</pre>
 
</pre>
   
  +
In the above example, there is no '/var' partition, so all content will be placed on the '/' partition (Filesystem: /dev/nvme0n1p1). '/' has 162GB with 155G free which is more than the 60GB required. The database is also 3GB in size, which leaves plenty of room. As long as the stack updater was not placed under /dev or /run there would be no issue (Note: please avoid placing the stack updater under these locations even if they are large enough - as they are meant to contain important system and configuration files).
This will show you how to create the github oauth token.
 
https://help.github.com/articles/creating-a-personal-access-token-for-the-command-line/
 
<pre>
 
hosts:
 
   
[master]
 
one.two.three.com
 
   
  +
The stack updater requires an recent version of ansible for compatibility. If updating a system for the first time, then ansible is most likely not installed. You can install it with the './install-ansible-and-collections.sh' script bundled inside the stack updater.
[agents]
 
agent1.two.three.com
 
agent2.two.three.com
 
</pre>
 
   
  +
If you have updated before, or if you system comes preconfigured with ansible, then ansible may already be installed, but might be at an old version that is out of date. The ansible version must be at least '''2.8'''. To check the version, run <code>ansible --version</code>.
See Testlink test NODE-47 and follow instructions. Test that Master centos can ssh to both agents successfully.
 
Install ansible if not installed (see note in README.md).
 
Run commands, these may fail, so put .ssh/id_rsa.pub contents into .ssh/authorized_keys file
 
ansible-playbook -i hosts pre-allow-master-agent-ssh.yml
 
ansible-playbook -i hosts setup-agents.yml
 
The jenkins user should have been installed on the agents.
 
   
  +
If ansible is already installed but is out of date, you'll need to update it. Otherwise skip this step and continue to the installation steps. To update to a recent version, first ensure that you are getting ansible from the 'epel' repository via: <code>sudo yum info ansible</code>. (Look for 'Repo' and 'From repo' in the output). If the 'From repo' or 'Repo' is epel, just run '<code>sudo yum update ansible</code>', then confirm the version again <code>ansible --version</code>. If you are not getting ansible from epel, you can setup epel via the <code>./install-ansible-and-collections.sh</code> script. You must then re-install with epel: <code>sudo yum remove ansible</code>, then <code>sudo yum install --disablerepo=<repo previously listed> --enablerepo=epel ansible</code>. If installing directly, you must also manually install the required collections via: <code>ansible-galaxy collection install -r requirements.yml</code> (don't use sudo unless you will be running the stack installer as root).
== Manual installation and upgrade ==
 
The following is the manual method to install the Lingoport Suite.
 
   
  +
Here are the installation steps.
The customer IT group needs to have decided on which [[Deployment Scenarios|deployment scenario]] to follow.
 
  +
<ol>
  +
<li> Get the [[Terms_and_Definitions#stackinstaller|Stack Updater]] zip file and put it on the server in the home directory of a user with root (sudo) access. </li>
  +
<li> Login to the console on the system as the user with root access.</li>
  +
<li> Unzip the Stack Updater zip file.
  +
: <code>> unzip stack_updater_x.y.z.zip </code>
  +
: <code>> cd stack-updater</code> </li>
  +
<li>You will need to install ansible before you can run the installer. You can do so
  +
by running <code>install-ansible-and-collections.sh</code>. This script will retrieve ansible from the
  +
'epel-release' software repository.
   
  +
: <code>> ./install-ansible-and-collections.sh </code></li>
The Deployment Scenarios define and use several components
 
  +
: <code>> ansible --version</code> (Should be '2.8' or higher, otherwise see paragraphs above for upgrade steps).
# The '''Globalyzer Server''' is where your Account and Rule Set information are stored. Lingoport provides the Globalyzer Server at [http://www.globalyzer.com www.globalyzer.com]. However, depending on licensing, you may install the server on your own system.
 
  +
<li>You will also need to configure some variables. See the files <HOME>/stack-updater/vars/logins.yml
# The '''Dashboard System''' is where you view internationalization and localization status of your projects in a [[Terms_and_Definitions#sonar|sonar]]-powered dashboard. It contains the MySQL database for Dashboard as well as the scripts to start the Dashboard Server process.
 
  +
and <HOME>/stack-updater/vars/mysql.yml
# The '''Continuous Globalization system''' is where you install many of the [[Terms_and_Definitions#LingoportSuite|Lingoport Suite]] applications. It is the heart of the installation, since this is where the automation occurs that keeps [[Terms_and_Definitions#globalization|globalization]] status up-to-date. It needs to run the Dashboard client, Globalyzer client, and LRM scripts on the latest source code. The Dashboard scripts will call the Globalyzer Client to scan the source code for internationalization issues and will call LRM to check for localization status, and then it will push those results to the Dashboard Server. [[Terms_and_Definitions#Jenkins|Jenkins]] is used to automate many of the operations.
 
# The individual '''Developer Machine''' is where you install Globalyzer Clients so that internationalization and localization issues can be addressed.
 
   
  +
: <code>> vi <HOME>/stack-updater/vars/logins.yml</code>
When you have decided on one of the [[ Deployment Scenarios | Deployment Scenarios]], be sure to follow this order:
 
  +
: <code>> vi <HOME>/stack-updater/vars/mysql.yml</code>
   
  +
<b>Tip</b> With <code> mysql -u <username> --password='<password>' </code>, verify the username/password combinations for the logins.yml and mysql.yml.
# Install/Upgrade the Globalyzer Server if not using Lingoport's Globalyzer Server. <span style="color:#FF0000">Need link </span>
 
  +
</li>
# Install/Upgrade the Globalyzer Client and/or Workbench on the Continuous Globalization system <span style="color:#FF0000">Need link </span>
 
# Install/Upgrade the Globalyzer Client and/or Workbench on the Developer Machine. Different clients may be installed on development machines depending on project responsibilities. <span style="color:#FF0000">Need link </span>
 
# Install/Upgrade the [[LRM_Installation|LRM Server]] on the Continuous Globalization system
 
# Install/Upgrade the [[Dashboard_Installation#Installing_the_Dashboard_Server|Dashboard Server]] on the Dashboard System.
 
# Install/Upgrade the [[Dashboard_Installation#Installing_the_Dashboard_Client|Dashboard Client]] on the Continuous Globalization system.
 
   
  +
<li> Run ansible-playbook with the file
  +
'./stack-updater.yml'. You must have sudo privileges to run the installer.
  +
: <code> ansible-playbook ./stack-updater.yml</code><br>
  +
: Note: Alternately, if you are the '''root''' user but sudo is not enabled for the system, you may try:
  +
:: <code> ansible-playbook ./stack-updater.yml --become-method=su</code><br>
  +
: Depending on your system, you may need to enter the MySQL root password interactively as part of the upgrade.
  +
</li>
  +
</ol>
   
  +
'''Note''': By default, the Lingoport Stack Updater will automatically configure java to the current supported version. If using a custom java version, you may disable this by editing
  +
<code><HOME>/stack-updater/vars/settings.yml</code>. Change the variable `autoupdate_java` to 'no'.
  +
  +
<b> Post Installation </b>
  +
  +
* Make sure Jenkins and Dashboard are up and running with the new versions; Versions are at the bottom of most Web pages
  +
* Run an Automate job from Jenkins and check that the Dashboard project is properly updated
  +
* Update the Jenkins plugins if necessary
  +
* Use the Dashboard extensions/plugins if any are necessary, such as the LDAP one
  +
  +
'''Note''': Dashboard update from version 7.* to version 9.* need to do <code>database migration</code>, please check this page [[ Dashboard database migration ]] for details.
  +
  +
== Manual installation and upgrade ==
  +
Manual installation is not recommended. If there is a need to install manually, please contact Lingoport (''support@lingoport.com'') and we can work with you for the best possible outcome.
   
 
= Lingoport Customer Support =
 
= Lingoport Customer Support =
 
If you experience difficulties during the installation of the Lingoport Suite, please contact <i>support@lingoport.com</i>.
 
If you experience difficulties during the installation of the Lingoport Suite, please contact <i>support@lingoport.com</i>.
  +
  +
= Work in Progress =
  +
[[ Docker Installation ]]

Revision as of 17:35, 20 March 2024

Supported Versions

Lingoport supports the current version, Command Center 1.2.8. See Command Center Installation


Date Command Center Command Center
Globalyzer
Command Center
Localyzer
LocalyzerQA InContext Server LingoBot
2024-03-20 1.2.8 6.8.0_3.0 10.0.28 1.6.0_2 1.5.3 3.0.4

Note:

Previous Versions

Version Command Center Command Center
Globalyzer
Command Center
Localyzer
LocalyzerQA InContext Server LingoBot

2023-11-15
1.1.24 6.8.0 10.0.07 1.3 1.2.0 2.2

2023-10-25
1.1.11 6.8.0 10.0.05 1.3 1.2.0 2.2

Command Center Installation

Please refer to Command Center Installation

[Deprecated] Suite Versions

Note: LocalyzerQA works with Localyzer and Localyzer Express.

Version Suite Globalyzer Localyzer InContext
for QA
InContext Server
for Translation
Dashboard LingoBot LingoBot CLI
Japan
2022-07-15
Installer Japan.004
Updater Japan.005
6.7.0-Server
6.7.0-Client
9.0 1.0 1.2.0 9.4.1 2.2 1.1.0
Ireland
2021-12-28
Installer Ireland.008
Updater Ireland.009
6.6.0-Server
6.6.0-Client
8.0 1.0 1.0 7.8.3 2.2 1.1.0
Honduras
2021-07-23
Installer Honduras.000
Updater Honduras.000
6.5.0-Server
6.5.0-Client
7.1 1.0 1.0 7.8.2 2.2 1.1.0
Greece
2021-03-23
Installer Greece.000
Updater Greece.000
6.4.0-Server
6.4.0-Client
7.0 1.0 1.0 7.8.1 2.2 1.1.0
Fiji
2020-07-30
Installer Fiji.044
Updater Fiji.049
6.4.0-Server
6.4.0-Client
6.0 1.0 1.0 7.8.1 2.2 1.1.0
Egypt
2019-12-06
Installer 1.31.22
Updater 1.32.06
6.3.0-Server
6.3.1-Client
5.1 1.0 1.0 7.8.1 2.2 1.1.0
Denmark
2019-05-10
Installer 1.27.24
Updater 1.26.11
6.2.0-Server
6.2.1-Client
5.0 1.0 1.0 5.6.7-Server
5.6.8-Client
2.2 1.1.0
Cyprus
2018-12-18
1.23.24 6.2 4.1 1.0 N/A 5.6.7 2.2 1.1.0
Belize
2018-08-08
1.21.14 6.1.1 4.0 1.0 N/A 5.6.6 2.1 1.0.1

Requisite software products and versions

Version JDK MySQL Linux Jenkins Tomcat*
Japan
2022-07-15
11.0 5.7 CentOS 7 & RHEL 7 2.310+ 8.5.x
Ireland
2021-12-28
1.8** 5.7 CentOS 7 & RHEL 7 2.310+ 8.5.x
Honduras
2021-07-30
1.8** 5.7 CentOS 7 & RHEL 7 2.277+ 8.5.x

Historical Versions

Date Suite Globalyzer Localyzer InContext QA Dashboard LingoBot LingoBot CLI JDK MySQL Linux Jenkins Tomcat*
2018-05-17 1.17.25 6.1 3.4.1 N/A 5.6.5 2.0 1.0.1 1.8** 5.6 CentOS 7 2.73 8.5.x
2017-12-12 1.15.4 6.0 3.4 N/A 5.6.4 1.2 N/A 1.8** 5.6 CentOS 7 2.73 7.x
2017-09-22 1.14 6.0 3.3 N/A 5.6.3 1.0 N/A 1.8 5.6 CentOS 7 2.73 7.x
2017-05-01 1.8 5.3 3.2 N/A 5.6.2 N/A N/A 1.8 5.6 CentOS 7 2.19 7.x
2017-02-01 1.8 5.3 3.1 N/A 5.6.1 N/A N/A 1.8 5.6 CentOS 7 2.19 7.x
2016-12-15 1.7 5.2 3.1 N/A 5.6.1 N/A N/A 1.8 5.6 CentOS 7 2.19 7.x

Updated August 2022


If your Continuous Globalization System is installed using the Stack Installer, these products and applications will be installed via that method. These are minimum versions and anything higher is acceptable.

Quick Link to the Stack Updater upgrade

In case you are knowledgeable about the system and its installation and need to update it using the Stack Updater, following this link: #Updating_with_the_Stack_Updater


*Tomcat is required only for the Globalyzer Server. If a customer chooses to use Lingoport's hosted Globalyzer Server for user administration and rule set creation, the Tomcat requirement is not applicable.

**At this time only Java 1.8 is supported for these versions. Java 11 is supported in the Japan release.

Systems Configuration

The components of the Lingoport Suite are covered in the Lingoport Introduction section. That section should be reviewed before installation.

The Lingoport Products can be configured in a variety of ways. The following describes our recommended configuration for a Continuous Globalization System, where both internationalization and localization progress is tracked, managed and displayed in an automated and reliable process.


Important Note : The Dashboard System and the Continuous Globalization system can be the same machine. This is the most frequent deployment scenario. It is recommended that this configuration be installed with the Stack Installer. The same machine can also host the Globalyzer Server.


To see more deployment scenarios, please refer to Deployment Scenarios . Make sure to choose a deployment scenarios with the IT department before starting the installation.

On Site: IT Participation

The customer IT group is very important to the successful deployment of the Lingoport applications when installing the suite on site. In particular, the IT group that sets up the Linux system must understand the usage model for the system. Lingoport requires a meeting with the parties responsible for setting up and maintaining the host system before installation can properly begin. The hope is that once the system is setup for installation, minimal IT interaction is necessary.

Stack Installer and Stack Updater

The Lingoport Suite server components can be installed using the Stack Installer (or updated using the Stack Updater) which automates the installation and configuration of the central system.

Preparations must be made with the IT team to ensure that all prerequisites are met before installation. For new installations, this is the recommended method to use to verify that all the various actors work together well.

Hardware & Software Requirements

The following sections describe the hardware and software requirements for each piece of the Lingoport Suite applications.

Globalyzer Server

The Globalyzer Server is where all your Globalyzer account information and rule sets are stored. Lingoport's hosted server is at www.globalyzer.com

The following table lists the system specifications for installing the Globalyzer Server on a dedicated Linux machine. The disk size assumes that the database is also installed on the machine; it could be less if the database is on a separate server. If the server machine is running more than the Globalyzer Server, we recommend increasing CPU and memory.

Hardware requirements

Element Minimum Recommended
CPU 2 4
Memory 8 GB 16 GB
Disk 160 GB 500 GB

Software requirements

The current versions of these software products can be found at: Current versions of Lingoport products and supporting applications

Software Recommended
Operating System Linux, CentOS (7) or RedHat (7)
Java Standard Edition Java JDK
MySQL Database MySQL
Web Server Tomcat

Lingoport Continuous G11n Server

Continuous Globalization System Hardware Requirements

Many of the Lingoport Suite components are installed on the Continuous Globalization System. This includes Localyzer, Dashboard Server and Dashboard Client, Jenkins, MySQL, and Globalyzer Client.

Element Minimum Recommended
CPU 2 4
Memory 16 GB 16 GB
Disk 160 GB 500 GB

The Globalyzer Server may be hosted by Lingoport, reside on another server, or be installed on the same system. Other Linux and Windows machines may have Globalyzer clients installed. The current versions of these software products can be found at: Current versions of Lingoport products and supporting applications.

Access and Ports

Jenkins need to be accessible by Lingoport and customer personnel to configure jobs, check the console if any problem arise, run jobs if necessary. The Dashboard needs to be accessible by many actors, including customer development teams, management, and QA, Lingoport, Translation Vendors.

Please see External Access and Ports for all the details.

Installation and Upgrade Order

Acquiring the Stack Installer / Stack Updater from Lingoport

Please contact Lingoport for credentials to retrieve the Stack Installer and Stack Updater.

There are 2 download options: Retrieval via SFTP, and retrieval from an AWS S3 bucket.

SFTP

Lingoport will provide your corporation with an SFTP account upon request.

Retrieve the latest content from our SFTP server using the following config:

Server URL: lingoport.net
SFTP ports: 22 (default), 2022 (alternate)
Username: To be provided by Lingoport
Password: To be provided by Lingoport (or you may also provide Lingoport with a public key to authorize).

Locations:

install/stackinstaller
install/stackupdater

Use an SFTP client, such as WinSCP or from the system where the installation will take place, a command like:

  sftp user@lingoport.net:install/stackinstaller/stack-installer-<release>.<number>.zip
  sftp user@lingoport.net:install/stackupdater/stack-updater-<release>.<number>.zip

AWS S3

You will need to install the AWS S3 client, and use credentials provided by Lingoport.


Install AWS CLI:

curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
unzip awscliv2.zip
sudo ./aws/install

Configure AWS CLI:

mkdir ~/.aws

cat <<EOF >> ~/.aws/config
[default]
region=us-east-1
output=json
EOF
cat <<EOF >> ~/.aws/credentials
[default]
aws_access_key_id=<Access Key ID provided by Lingoport>
aws_secret_access_key=<Access Key Secret provided by Lingoport>
notes="Minimal access: stack installer / stack updater s3 bucket"
EOF

Locations:

s3://lingoport-suite-setup/stack-installer/
s3://lingoport-suite-setup/stack-updater/

Usage

Example commands:

aws s3 ls s3://lingoport-suite-setup/stack-installer/
aws s3 cp s3://lingoport-suite-setup/stack-updater/stack-updater-Honduras.004.zip .


Installing with the Stack Installer

For a new system, Lingoport recommends installing using the Stack Installer which will configure the pieces of the Continuous Globalization System and Dashboard System to work together seamlessly.

Here are the installation steps.

  1. Get the Stack Installer zip file and put it on the new server in the home directory of a user with root (sudo) access.
  2. Login to the console on the system as the user with root access.
  3. Unzip the Stack Installer zip file.
    A new machine might not have the unzip command installed. To get the unzip command:
    > sudo yum install unzip
    > unzip stack-installer.zip
    > cd stack-installer
  4. Edit the configuration files to automate the process.
    Edit login-info.conf. Here is an example:
    # Globalyzer Login details
    GLOBALYZER_USER="name@acmeco.com"
    GLOBALYZER_PASS="abcdef"
    GLOBALYZER_SERVER_URL="https://www.globalyzer.com/gzserver/"
    
    # Server Address or IP - the server this is being installed on
    SERVER_URL_OR_IP="https://some.domain.com" 
    
    # Lingoport/Localyzer MySQL user - probably doesn't need to be changed
    LINGOPORT_MYSQL_USER="lingoport"
    LINGOPORT_MYSQL_PASS="lingopwd"
    
    # Lingoport Dashboard MySQL user - probably doesn't need to be changed
    DASHBOARD_SONAR_USER="lingodashuser"
    DASHBOARD_SONAR_PASS="lingodashpass"
    
    Edit lrm-license.conf. This information should be supplied by Lingoport prior to installation. If you bought a license that includes InContext QA, enter the expiration date. If not, enter the information as below. If the LRM_INCONTEXT_QA_EXPIRATION_DATE is removed, an error will occur.
    COMPANY_NAME='ACME'                # e.g. DemoCo
    LRM_MAX_PROJECTS='1000'            # e.g. 5
    LRM_LICENSE_EXPIRATION_DATE='2019-01-15'  # e.g. 2018-01-01
    LRM_INCONTEXT_QA_EXPIRATION_DATE=
    LRM_LICENSE_KEY='123456789'
    
  5. Run ./full-install.sh. You may be prompted for some passwords.
  6. At this point, Jenkins and the Dashboard should be up and running. Go to Jenkins in a browser at https://some.domain.com/jenkins (some.domain.com is an example of the IP or URL supplied in login-info.conf). All the scripts should be installed and the tabs created.
  7. Go to Dashboard in a browser https://some.domain.com/.
    Login to the Dashboard with the Administrator user (admin). Initially the password is also 'admin'.
  8. To change your password after logging in, look for 'Administrator' on the top right. Click it then 'My Account'. There will be a 'Security' tab in the mid left of the page. This will open a page that allows you to change your password.
  9. To add additional Dashboard users, click on 'Administration' on the top middle of the page (this is different than 'Administrator', which is on the right). Look for a 'Security' tab with a dropdown, then open the 'Users' page.
  10. DashboardAdministrationUsers.png

After installation

Once the installation is complete, there are a few more steps to make sure that everything is working correctly.

Verifying the installation

At this point, you can bring up Jenkins and the Dashboard in the browser and verify that they look correct.

Use the SERVER_URL_OR_IP value from the login-info.conf file. Browse to Jenkins: https://some.domain.com/jenkins

Jenkins after install.jpg

Jenkins has been set up with a number of jobs which will automate many of the Lingoport Suite tasks. A job called <group>.LicenseExpiration should have been created at install. If your group name was set as Acme, this would be Acme.LicenseExpiration. Select the job and then Build Now to run the job. When the job is complete, select the number under Build History and Console Output. This job will give information about your Lingoport Suite Installation, including all the licensing.

Browse to the Lingoport Dashboard: https://some.domain.com/. Login at the top right as user admin and password admin. Or the password that was changed. Simply verify that you can log in. There should be no projects at this time.

Set up the Administrator user for Jenkins

Go to your Jenkins URL: https://some.domain.com/jenkins. You should be able to login without a username.

  • At the left side, select Manage Jenkins
  • Select Configure Global Security

ConfigureGlobalSecurity.jpg

Under Security Realm, select Jenkins' own user database. Under Authorization, select Matrix-based security. Anonymous users will have Administer checked. Leave this as it is until you create an administration user. At the bottom of the page, select Save. At this point, Jenkins will ask you to create an administrator id. You can use admin for the username, select your own password and Administrator for the name.

Log in to Jenkins as the administrator and select Manage Jenkins and Configure Global Security again. The Administrator user should have an entry in Matrix-based security. Unselect Administer credentials from Anonymous Users. Under Agent --> Master Security, make sure that the box Enable Agent → Master Access Control is checked. Save.

Set up a CLI user for Jenkins

Jenkins CLI is used primarily by the Dashboard and Lingobot, but it should be set up at installation time.

Follow the instructions at Set Up Jenkins CLI User

After completing the setup, the $JENKINS_HOME/lingoport/bin/jenkins_cli_config.sh should have the following values populated:

  export JENKINS_USER=jenkins_cli
  export JENKINS_TOKEN=<a token value>
  export JENKINS_URL=<JENKINS_URL>

JENKINS_URL depends on your system. For instance, it could be in the form http://localhost:8080/jenkins, https://lingoport.company.com/jenkins etc.

Set up the Lingoport Dashboard to work with Jenkins

The Lingoport Dashboard needs to be configured to work with Jenkins.

Log in as the administrator. At the top of the window, select Administrator, then select the Security tab and Users.

DashboardAddUser.jpg

  • Select Create User
  • The Login will be your group name (Acme). Use this for the Name as well.
  • For the password, use <group>:123. For group name Acme, this is Acme:123.
  • All other entries are optional
  • Create


Installation is complete! To work with projects refer to On-Boarding New Projects

Scaling the system

The Lingoport Jenkins jobs can be distributed onto other nodes or agents for processes. This improves performance on the main (master) Jenkins system. The Node Installer sets up the master and agent systems in preparation for the Jenkins configuration. The Node Installer does not have to be installed at the time of Stack Installer. It can be added later as systems and jobs expand.

Installing the Node Installer

Updating with the Stack Updater

If the Lingoport Suite is already installed, use the Stack Updater to get to the most current versions.

Note: The Stack Updater requires that the suite has been installed through the Stack Installer previously. If this is not the case, you may be able to run the Stack Installer's 'stack-configurer.sh' to perform most pre-installation steps and then attempt the update. Please note that you may still run into issues if doing so.

Supported operating systems are CentOS 7 and RHEL 7. To see your operating system, try cat /etc/os-release (most common), cat /etc/centos-release, or lsb_release -dr

Disk space requirements are at least 160GB total with at least 60GB free at time of upgrade. If the disk is split into multiple partitions, then this disk requirement applies specifically to the /var partition(The space is mostly used by /var/lib/jenkins and /var/lib/mysql). However, /tmp should also contain at least 10GB as it's used as a temporary holding area by mysql. Finally, the location where the stack updater is placed on the system must have enough space to take a backup of the existing databases, with a minimum requirement of 3G for the updater itself and the database size (which will vary from less than 1G to up to 20GB). It's fine to place the stack updater under '/var' if that's required to meet the space requirements.

To validate, see disk space with the command sudo df -h. Example:

> sudo df -h
Filesystem      Size  Used Avail Use% Mounted on
devtmpfs        7.6G     0  7.6G   0% /dev
tmpfs           7.7G     0  7.7G   0% /dev/shm
tmpfs           7.7G   57M  7.6G   1% /run
tmpfs           7.7G     0  7.7G   0% /sys/fs/cgroup
/dev/nvme0n1p1  162G  7.9G  155G   5% /
tmpfs           1.6G     0  1.6G   0% /run/user/1000

See database size with the command sudo du -h --summarize /var/lib/mysql. Example:

> sudo du -h --summarize /var/lib/mysql
3G	/var/lib/mysql

In the above example, there is no '/var' partition, so all content will be placed on the '/' partition (Filesystem: /dev/nvme0n1p1). '/' has 162GB with 155G free which is more than the 60GB required. The database is also 3GB in size, which leaves plenty of room. As long as the stack updater was not placed under /dev or /run there would be no issue (Note: please avoid placing the stack updater under these locations even if they are large enough - as they are meant to contain important system and configuration files).


The stack updater requires an recent version of ansible for compatibility. If updating a system for the first time, then ansible is most likely not installed. You can install it with the './install-ansible-and-collections.sh' script bundled inside the stack updater.

If you have updated before, or if you system comes preconfigured with ansible, then ansible may already be installed, but might be at an old version that is out of date. The ansible version must be at least 2.8. To check the version, run ansible --version.

If ansible is already installed but is out of date, you'll need to update it. Otherwise skip this step and continue to the installation steps. To update to a recent version, first ensure that you are getting ansible from the 'epel' repository via: sudo yum info ansible. (Look for 'Repo' and 'From repo' in the output). If the 'From repo' or 'Repo' is epel, just run 'sudo yum update ansible', then confirm the version again ansible --version. If you are not getting ansible from epel, you can setup epel via the ./install-ansible-and-collections.sh script. You must then re-install with epel: sudo yum remove ansible, then sudo yum install --disablerepo=<repo previously listed> --enablerepo=epel ansible. If installing directly, you must also manually install the required collections via: ansible-galaxy collection install -r requirements.yml (don't use sudo unless you will be running the stack installer as root).

Here are the installation steps.

  1. Get the Stack Updater zip file and put it on the server in the home directory of a user with root (sudo) access.
  2. Login to the console on the system as the user with root access.
  3. Unzip the Stack Updater zip file.
    > unzip stack_updater_x.y.z.zip
    > cd stack-updater
  4. You will need to install ansible before you can run the installer. You can do so by running install-ansible-and-collections.sh. This script will retrieve ansible from the 'epel-release' software repository.
    > ./install-ansible-and-collections.sh
  5. > ansible --version (Should be '2.8' or higher, otherwise see paragraphs above for upgrade steps).
  6. You will also need to configure some variables. See the files <HOME>/stack-updater/vars/logins.yml and <HOME>/stack-updater/vars/mysql.yml
    > vi <HOME>/stack-updater/vars/logins.yml
    > vi <HOME>/stack-updater/vars/mysql.yml
    Tip With mysql -u <username> --password='<password>' , verify the username/password combinations for the logins.yml and mysql.yml.
  7. Run ansible-playbook with the file './stack-updater.yml'. You must have sudo privileges to run the installer.
    ansible-playbook ./stack-updater.yml
    Note: Alternately, if you are the root user but sudo is not enabled for the system, you may try:
    ansible-playbook ./stack-updater.yml --become-method=su
    Depending on your system, you may need to enter the MySQL root password interactively as part of the upgrade.

Note: By default, the Lingoport Stack Updater will automatically configure java to the current supported version. If using a custom java version, you may disable this by editing <HOME>/stack-updater/vars/settings.yml. Change the variable `autoupdate_java` to 'no'.

Post Installation

  • Make sure Jenkins and Dashboard are up and running with the new versions; Versions are at the bottom of most Web pages
  • Run an Automate job from Jenkins and check that the Dashboard project is properly updated
  • Update the Jenkins plugins if necessary
  • Use the Dashboard extensions/plugins if any are necessary, such as the LDAP one

Note: Dashboard update from version 7.* to version 9.* need to do database migration, please check this page Dashboard database migration for details.

Manual installation and upgrade

Manual installation is not recommended. If there is a need to install manually, please contact Lingoport (support@lingoport.com) and we can work with you for the best possible outcome.

Lingoport Customer Support

If you experience difficulties during the installation of the Lingoport Suite, please contact support@lingoport.com.

Work in Progress

Docker Installation