Command Center Installation

From Lingoport Wiki
Revision as of 21:17, 3 July 2023 by Lji (talk | contribs) (Update install.conf)
Jump to: navigation, search

Pre-Requisites

Before installing or updating Command Center, please verify this section is complete.

Intro

IT

When installing Command Center on premises, 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.


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.

Basics

Before installing Command Center, the following needs to be configured:

  • Hardware
  • Linux
  • Docker
  • Firewall
  • Https

Diagram

Docker Deployment Diagram.png


Hardware & Software Requirements

The following sections describe the hardware and software requirements for Command Center.

Please note that the Globalyzer Server installation is in a different section.

Hardware Requirements

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.

Software requirements

Since this is a Docker installation, 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: This requires Linux and a Docker installation.

Access and Ports / Firewall

INCOMPLETE AND UNDER CONSTRUCTION

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

Ports

Internal to company network
Services Ports Inbound (session) Outbound (session) Notes
SSH (for system config/maintenance) 22 Y N System configuration and maintenance
Command Center 8081 (HTTP) and/or 443 (HTTPS) Y N Default 8081 (configurable at install time) HTTPS requires reverse proxy Ex: Apache and Installation of SSL certificate.
Translation Vendor interactions: FTP/FTPS/SFTP (MemoQ, etc.) 21 (FTP) or 443 (FTPS) or 22 (SFTP - recommended) (FTP/S only) Y FTP/FTPS also require data ports (> 1024). Recommend SFTP if possible.
Translation Vendor interactions: XTM and Memsource 80 (HTTP) optional. 443 (HTTPS) required. (Some cases) Y May need to be external if XTM/Memsource not installed on premise.
SMTP/SMTPS 25 or 465 or 587 N Y Depends on corporate mail setup.
Globalyzer Server (Optional) 80 or 443 N Y Only needed when Globalyzer Server is on premises
Repository Access 22 (SSH) 443 (HTTPS/S3) 3690 (SVN) 7990 (Bitbucket) 7999 (Bitbucket) 8080 (TFS) N Y VCS systems can vary, check with particular port(s) being used (Could be external/internal/both)

External access

Services Ports Inbound Outbound Notes
Lingoport SSH access 22 Y N Optional. Recommended for ease of upgrades and maintenance.
RHEL/CentOS/Ubuntu Packages 80 (Debian) 443 (RHEL) N Y Operating system packages access (Most likely external, but could be managed internally as well)
Globalyzer Server 80 and 443 N Y Access to Globalyzer Server in Lingoport Cloud for rule sets (Unless using on-premises Globalyzer Server)
hub.docker.com 80 and 443 N Y Command Center Image location
Repository Access 22 (SSH) 443 (HTTPS/S3) 3690 (SVN) 7990 (Bitbucket) 7999 (Bitbucket) 8080 (TFS) N Y VCS systems can vary, check with particular port(s) being used (Could be external/internal/both)

HTTPS

HTTPS is recommended but not necessary for the Command Center installation. HTTPS may already be set up or your IT may have a standard on how to set up HTTPS. If that's the case, go the next section.

Otherwise, follow this link for a suggested HTTPS configuration:

Docker Install

Docker is a platform that allows you to easily develop, test, and deploy applications as containers. This section will walk you through the process of installing Docker on a Linux system.

The supported versions of Linux are:

Other versions of Linux may work correctly, but these are the versions and processes that have been verified.

Credentials

When deploying Command Center, the configuration determines if the user management is done by Command Center itself, via an LDAP, or via SSO (using SAML).

Command Center User Database

One administration user is configured. Contact support (at) lingoport (dot) com in order to get an administration user and password. That user can then create Command Center users. It is strongly recommended to change the first administration password and keep it safe.

LDAP

  • LDAP Connection
  • Management

SSO

  • SSO Connection
  • Management

New Command Center Installation

sudo user

A user, such as centos or ec2-user, with sudo privileges is required as the user under which to install Command Center.

  • Note: This should not be the legacy jenkins user.

Create the database conf file

Use the sudo user home for Docker, such as /home/centos for CentOS systems and /home/ec2-user for RedHat virtual systems.

The mysql and conf.d folders may need to be created as well.

vi /home/<user>/mysql/conf.d/mysql.cnf
[client]
default-character-set = utf8mb4
[mysql]
default-character-set = utf8mb4

Configuration

Request the CommandCenterInstall.zip file from your customer success engineer. The zip file contains four files:

   install.conf
   InstallCommandCenter.sh
   UninstallCommandCenter.sh
   UpdateCommandCenter.sh

Copy the above files under your home directory, for instance <user>/commandCenterInstall where <user> may be /home/centos or /home/ec2-user.

Set up install.conf

Unless directed otherwise, change the top part of the install.conf file.

The initial version number will be provided for the first installation.

For updates, command_center_image_version will be the only parameter to change in the install.conf file.

# Provide the Command Center version
# For *Regular* Updates, this should be the only parameter to change
command_center_image_version=113

#
# After Install, Updates should not need to change anything below
# ----------------------------------------------------------------

# The Server URL: '"https://yourserver/command-center"'
serverURL='"https://SERVER_DNS_HERE/command-center"'

# Provide the home directory, lingoport/commandcenter/Lingoport_Data
# folder will be created
home_directory=/home/centos

# Provide the Command Center server port
serverPort=8081

Run InstallCommandCenter.sh

    chmod +x *.sh
    sudo ./InstallCommandCenter.sh

To check the running container status

   sudo docker ps

If you need to re-run the InstallCommandCenter.sh, make sure to run UninstallCommandCenter.sh first to clean your environment.

Note: Docker image version is not the Command Center version, check latest docker image version at https://hub.docker.com/repository/docker/lingoport/command-center_dev/general

You should see at least an MySQL and a Command Center container running.

Verify Installation

Log in to the URL based on the command-center-config.sh settings, so something like:

   https://commandcenter.mycompany.io/command-center


You should now be able to install the licenses and create projects.

The Command Center will initially have one Administrator user CCAdmin with the password please.reset.me.

Command Center Update

Update install.conf

Change the version number in the install.conf to get the Command Center image update version.

 command_center_image_version=<new version number>

See full Configuration above.

Run UpdateCommandCenter.sh

    chmod +x UpdateCommandCenter.sh
    sudo ./UpdateCommandCenter.sh

To check the running container status

   sudo docker ps

The database backup sql file is in $home_directory/commandcenter/ folder, named cc_database_backup_$current_date.sql

Start and Stop System

  • From Command Center, as an administrator, go to settings and click 'Restart'
  • From the VM, use docker commands to stop or start Command Center. For example:
   sudo docker ps
   sudo docker stop <hash>
   sudo docker ps
   
   sudo docker container ls -a | grep command
   sudo docker start <hash>
   sudo docker ps


Uninstall

 sudo ./UninstallCommandCenter.sh
 Uninstalling the Command Center Servers ...
 sudo docker ps
 CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES

FAQ and Troubleshooting

Make sure the Server URL is reachable

Navigate to the server URL set up in install.conf: is the login screen available?

If it is not, first check that the docker container is up and running. Make sure both lingoport/command-center and mysql are running.

 sudo docker container ls -a 
 CONTAINER ID   IMAGE                         COMMAND                  CREATED      STATUS       PORTS                                       NAMES
 3d9da7a80e0a   lingoport/command-center:80   "catalina.sh run"        3 days ago   Up 6 hours   0.0.0.0:8081->8080/tcp, :::8081->8080/tcp   pedantic_aryabhata
 683c55907c06   mysql:5.7                     "docker-entrypoint.s…"   3 days ago   Up 6 hours   3306/tcp, 33060/tcp                         quizzical_newton

Check with IT that the DNS for that system is correct.

Check with IT that the firewall allows for reaching the URL from your system.

Ask IT to check the https and the server URL / DNS.

To check files on disk

To troubleshoot, it may be necessary to check files handled by Docker, such as looking for reports under Lingoport_Data. In that case, first use the Docker PS command to get the container ID of the Command Center application.

 sudo docker container ls -a 
 CONTAINER ID   IMAGE                         COMMAND                  CREATED      STATUS       PORTS                                       NAMES
 3d9da7a80e0a   lingoport/command-center:80   "catalina.sh run"        3 days ago   Up 6 hours   0.0.0.0:8081->8080/tcp, :::8081->8080/tcp   pedantic_aryabhata
 

With the container ID, execute the following command to run bash with access to those files:

 sudo docker exec -it 3d9da7a80e0a bash

Next Steps

Command Center is now ready to be used. Proceed to the URL configured in the installation and follow the User's Guide's steps.