Difference between revisions of "Lingoport Suite Installation"

From Lingoport Wiki
Jump to: navigation, search
(Updating with the Stack Updater)
(Updating with the Stack Updater)
Line 492: Line 492:
 
</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 as they are meant to contain important system and configuration files).
+
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).
   
   

Revision as of 18:53, 5 August 2020

Versions of Lingoport products and supporting applications


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.

Supported Versions

Lingoport supports the current version and the one before that:

Version Suite Globalyzer LRM InContext
for QA
InContext Server
for Translation
Dashboard LingoBot LingoBot CLI
Fiji
2019-12-06
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*
Egypt
2019-12-06
1.8** 5.7 CentOS 7 2.207+ 8.5.x
Denmark
2019-05-07
1.8** 5.6 CentOS 7 2.172+ 8.5.x
Cyprus
2018-12-18
1.8** 5.6 CentOS 7 2.156+ 8.5.x
Belize
2018-08-08
1.8** 5.6 CentOS 7 2.131+ 8.5.x

Historical Versions

Date Suite Globalyzer LRM 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 December 2019

*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. Java 1.9 is not supported, but will be in future releases.

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 LRM, 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

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/LRM 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 >= 160GB total with >= 60GB free at time of upgrade. If the disk is split into multiple partitions, then this disk requirement applies specifically to /var (The space is mostly used by /var/lib/jenkins and /var/lib/mysql). However, /tmp should also contain >=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 + the database size (which will vary from <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. Version must be >= 2.9. To check the version, run ansible --version.

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' in the output). If the 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.sh script. You must then re-install with epel: sudo yum remove ansible, then sudo yum install --disablerepo=<repo previously listed> --enablerepo=epel ansible.

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.sh. This script will retrieve ansible from the 'epel-release' software repository.
    > ./install-ansible.sh
  5. 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.
  6. 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 be java-8-openjdk. 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

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.