Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Info

This Document document will guide you how to install CloudCX on your own server.

At present, the installation strategy for different versions is slightly different. Please choose the installation strategy that suits you according to the actual situation. It is recommended to install the latest version.

  • If you want to install the latest version from scratch, please continue to read this article.

  • If you want to install version 3.2.2, please refer to https://cloudfon.atlassian.net/wiki/spaces/CCSD/pages/edit-v2/108527635?draftShareId=39faa894-ce54-45c9-bbf4-aec276c06f17

    There are two types of deployment way for you to select.

    Easy heading
    linkText4
    linkText10
    linkText3
    linkText6
    linkText5
    relatedLinksLabels
    linkText2
    linkText1
    headingTagsH1,H2,H3
    sidebarMaxHeight450
    linkType2Page
    linkType3Page
    linkType1Page
    linkType10Page
    sidebarTitleON THIS PAGE
    linkUrl3
    linkUrl4
    linkUrl1
    linkUrl2
    linkUrl10
    includedPageModeEnable_Included_Pages
    linkText8
    linkText7
    relatedLinksOrderLabels_First
    sidebarModeOpened
    headingNumberingModeDisable_Numbering
    linkText9
    sidebarMarginRight60
    relatedLinksTargetNew_Window
    relatedLinksTitleRELATED LINKS
    linkUrl9
    linkUrl7
    linkUrl8
    numberedHeadingTagsH1,H2,H3
    linkUrl5
    linkUrl6
    linkType8Page
    linkType9Page
    linkType6Page
    headingLinkTextModeWrap
    linkType7Page
    linkType4Page
    linkType5Page
    sidebarWidth300
    sidebarTop300
    headingLinkExpandModeExpand_All_By_Default
    headingLinkIndent20

    Installation Overview

    We recommend that you separate the database from the application service during installation to increase its load. The calculation of the database will reduce the actual performance of the application, which will be described in detail in this article.

    ...

    If you are just a demo deployment for testing, please refer to Testing Environment for additional instructions.

    Supported Linux OS

    • Ubuntu 20.04 (LTS) Focal, Ubuntu Impish 21.10, Ubuntu 22.04 (LTS) Jammy

    • Debian Buster 10, Debian Bullseye 11, Debian Bookworm 12

    • It only supports 64bit OS

    Installation of CloudCX is possible on most unix UNIX environments, but not officially supported

    Install CloudCX Application Server

    Application Server Hardware requirements

    Storage

    • Applications Services basic storage

    50G storage space is necessary for the installation of the application, which will be used for the storage of images and all kinds of log information.

    • Applications Files storage

    For file storage, we support two methods: local storage and object storage. The necessary hard drive space largely depends on your usage, the size and number of attachments that you receive through your conversations etc.

    Consider using a object storage option provided by AWS, Azure etc, if you want to stay flexible and accomodate the growing storage requirements. CloudCX also supports other s3 api compatible services for example: Minio.

    Note: Local storage is recommended to be selected only in the test environment or if there is no large capacity expansion requirement in the future. We recommend using object storage to meet the storage expansion requirements that may exist in the future.

    CPU

    CPU requirements are dependent on the usage and expected workload. Your workload is influenced by factors such as - but not limited to - how active your users are, how many conversations do you recieve and the conversation channels which you are using.

    The following is the recommended minimum CPU hardware guidance for a handful of example CloudCX conversation base sizes.

    • 4 cores is the recommended minimum number of cores and supports up to 10,000 conversations a day.

    • 8 cores supports up to 20,000 conversations a day.

    • More conversations? Consider scaling horizontally by adding more application servers.

    NOTE: Each CPU core needs 2.5Ghz or Higher.

    Memory

    Memory requirements are dependent on the usage and expected workload. Your workload is influenced by factors such as - but not limited to - How active your users are, how many conversations do you recieve and the conversation channels which you are using.

    The following is the recommended minimum Memory hardware guidance for a handful of example CloudCX conversation base sizes.

    • 8GB RAM is the required minimum memory size and supports up to 10,000 conversations a day.

      • We are always working to reduce the memory requirement.

    • 16GB RAM supports up to 20,000 conversations a day.

    • More conversations? Consider scaling horizontally by adding more application servers.

    Note: Add at least 1GB of swap memory to the machine to ensure that the machine doesn't run out of resources during an upgrade.

    Preparing the Linux Host Machine for CloudCX application Installation

    Tasks that MUST be completed before installing CloudCX application

    • If the Linux on which CloudCX will be installed is located in LAN, assign a static LAN IP address; if it's in a public network, please assign a static IP address to the public network.

    • Install all available updates & service packs before installing CloudCX.

    • Do not install PostgreSQL on your CloudCX Server.

    • Ensure that all power-saving options for your System and Network adapters are disabled (by setting the system to High Performance).

    • Do not install TeamViewer, VPN, and other similar software on the host machine.

    • CloudCX must NOT be installed on a host that is a DNS or DHCP server.

    • Port must be permitted by your firewall: TCP: 9006, 9001, 443

    • Please also ensure the above ports have not been used by other applications.

    • Ensure server date-time is synced correctly, how to check date-time?

    • Ensure the server must have at least 8G of memory.

    • Please reserve 50G space to install & use the CloudCX application.

    • Should perform all Linux commands by the root user, please su root First.

    Note: If the CloudfCX runs on a Cloud platform such as AWS, and the cloud platform has the firewall itself, you MUST open the ports on the cloud platform firewall too.

    Application Server Installation Steps

    Before install Application Server, please reference https://cloudfon.atlassian.net/wiki/spaces/CCSD/pages/edit-v2/48857403#Install-CloudCX-Midware-Server to install Midware services(DB&Redis) first

    1. Make directory and change directory

    Code Block
    mkdir -p /opt/cloud_cx/ && cd /opt/cloud_cx/

    Note: /opt/cloud_cx/ is an example here, you can change to your directory name, and this directory will storage user data.

    2. Download install scripts

    Code Block
    breakoutModefull-width
    curl https://raw.githubusercontent.com/cloud-cx/cloudfon-cx-install/main/v3.3.x/cloud_cx_ctl.sh -o cloud_cx_ctl.sh
    Code Block
    breakoutModefull-width
    curl https://raw.githubusercontent.com/cloud-cx/cloudfon-cx-install/main/v3.2.x/install_docker_cx.sh -o install_docker_cx.sh

    Note: cloud_cx_ctl.sh is an example here, you can download and rename to your name.

    3. Install docker environment and configure firewall.

    Code Block
    /bin/sh install_docker_cx.sh

    4. Install CX Application Service

    Code Block
    breakoutModewide
    sh cloud_cx_ctl.sh run -i puteyun/cloud_cx:${tag} -t api -w ${db_addr} -m ${db_passwd} -r ${redis_passwd}

    Note: Please MUST replace the Variables in the above command with the correctly value

    • ${tag} is the release version of CloudCX, for example: 3.2.3

    • ${db_addr} is the Database Server address of CX (Midware Services Address). It is recommended to keep the Midware in the same LAN for local installations or on the same switch for cloud installations to ensure better performance and connectivity.

    • ${db_passwd} is the password of the database

    • ${redis_passwd} is the password of the Redis

    5. Login and configure the CloudFon CX.

    Open Browser, input “https://host:9006/”, the “host” is the IP address or domain name of your CloudCX server (Linux Server). 

    Info

    IMPORTANT: To complete CloudCX initial configuration, please refer to 'System initialization' guide.

    6. CX Control Commands

    • Show CloudCX services status

    Code Block
    cd /opt/cloud_cx && /bin/sh cloud_cx_ctl.sh status
    • Restart CloudCX services

    Code Block
    cd /opt/cloud_cx && /bin/sh cloud_cx_ctl.sh restart
    • Restart the selected service of CloudCX

    Code Block
    cd /opt/cloud_cx && /bin/sh cloud_cx_ctl.sh restart -s [Service Name]
    • Stop CloudCX Services

    Code Block
    cd /opt/cloud_cx && /bin/sh cloud_cx_ctl.sh stop
    • Stop the selected service of CloudCX

    Code Block
    cd /opt/cloud_cx && /bin/sh cloud_cx_ctl.sh stop -s [Service Name]
    • Start CloudCX Services

    Code Block
    cd /opt/cloud_cx && /bin/sh cloud_cx_ctl.sh start
    • Start the selected service of CloudCX

    Code Block
    cd /opt/cloud_cx && /bin/sh cloud_cx_ctl.sh start -s [Service Name]
    • Uninstall CloudCX Services

    Code Block
    cd /opt/cloud_cx && /bin/sh cloud_cx_ctl.sh rm

    Install CloudCX Midware Server

    Midware Server(MariaDB & Redis) Hardware requirements

    Midware Server includes database and caching services,default database is MariaDB and the caching service is Redis. Normally, they will be deployed on the same server. You can install it with one click according to our Midware Service installation script.

    Storage

    The server running MariaDB & Redis should have at least 10 GB of storage available, though the exact requirements depend on the usage of your CloudCX Instance.

    CPU

    The server running MariaDB & Redis should have at least 4 cores of CPU, though the exact requirements depend on the usage of your CloudCX Instance.

    Memory

    The server running MariaDB & Redis should have at least 8 GB of RAM, though the exact requirements depend on the usage of your CloudCX Instance.

    Preparing the Linux Host Machine for CloudCX Midware Server Installation

    Tasks that MUST be completed before installing CloudCX Midware:

    • If the Linux on which Midware will be installed is located in LAN, assign a static LAN IP address; if it's in a public network, please assign a static IP address to the public network.

    • Install all available updates & service packs before installing Midware.

    • Do not install PostgreSQL on your Midware Server.

    • Ensure that all power-saving options for your System and Network adapters are disabled (by setting the system to High Performance).

    • Do not install TeamViewer, VPN, and other similar software on the host machine.

    • Midware must NOT be installed on a host that is a DNS or DHCP server.

    • Ensure server date-time is synced correctly, how to check date-time?

    • Ensure the server must have at least 8G of memory.

    • Please reserve at least 10G space to install the Midware application.

    • Midware recommends deploying on the same LAN as the CloudCX application server(It's best to use the same switch in the cloud)

    • Mideware can also be deployed under different switches in the cloud, which requires exposing the ports of the database and Redis. Firewall policies can be added to control that only CloudCX application servers are allowed to access.

    Midware Server Installation Steps

    • Make directory and change directory

    Code Block
    mkdir -p /opt/cloud_cx/ && cd /opt/cloud_cx/

    Note: /opt/cloud_cx/ is an example here, you can change to your directory name, and this directory will storage user data.

    • Download install scripts

    Code Block
    breakoutModefull-width
    curl https://raw.githubusercontent.com/cloud-cx/cloudfon-cx-install/main/v3.3.x/cloud_cx_ctl.sh -o cloud_cx_ctl.sh
    Code Block
    breakoutModefull-width
    curl https://raw.githubusercontent.com/cloud-cx/cloudfon-cx-install/main/v3.2.x/install_docker_cx.sh -o install_docker_cx.sh

    Note: cloud_cx_ctl.sh is an example here, you can download and rename to your name.

    • Install docker environment and configure firewal.

    Code Block
    /bin/sh install_docker_cx.sh
    • Install CX Midware Services

    Code Block
    sh cloud_cx_ctl.sh run -t mid -m ${db_passwd}  -r ${redis_passwod}

    Note: Please MUST replace the Variables in the above command with the correctly value

    • ${db_passwd} is the password of the database what you want to set.

    • ${redis_passwd} is the password of the Redis what you want to set.

    Uninstall ClouCX

    Please use the below steps to uninstall the Cloudfon CX for Linux.

    Uninstall the CX

    Stop and delete the CX Docker instances.

    Code Block
    cd /opt/cloud_cx
    /bin/sh cloud_cx_ctl.sh stop
    /bin/sh cloud_cx_ctl.sh rm
    Panel
    panelIconIdatlassian-warning
    panelIcon:warning:
    bgColor#FF8F73

    The following command will delete all local data of CloudCX. Before you understand the consequences of the command you are executing, please carefully confirm that it is correct before executing it.

    Code Block
    cd /opt/
    rm -fr cloud_cx

    Note: cloud_cx is an example here, you can change to your directory name, and this directory will store user data.

    Single Machine Deployment (Only for Testing)

    For Testing, you only need provide the basic 4 cores CPU and 8G RAM, and then follow below comand to install the CX Application and Midware on the same machine.

    Testing Server Installation Steps

    Before install Application Server, please reference https://cloudfon.atlassian.net/wiki/spaces/CCSD/pages/edit-v2/48857403#Install-CloudCX-Midware-Server to install Midware services(DB&Redis) first

    1. Make directory and change directory

    Code Block
    mkdir -p /opt/cloud_cx/ && cd /opt/cloud_cx/

    Note: /opt/cloud_cx/ is an example here, you can change to your directory name, and this directory will storage user data.

    1. Download install scripts

    Code Block
    breakoutModefull-width
    curl https://raw.githubusercontent.com/cloud-cx/cloudfon-cx-install/main/v3.3.x/cloud_cx_ctl.sh -o cloud_cx_ctl.sh
    Code Block
    breakoutModefull-width
    curl https://raw.githubusercontent.com/cloud-cx/cloudfon-cx-install/main/v3.2.x/install_docker_cx.sh -o install_docker_cx.sh

    Note: cloud_cx_ctl.sh is an example here, you can download and rename to your name.

    1. Install docker environment and configure firewall.

    Code Block
    /bin/sh install_docker_cx.sh
    1. Install CX Application Service

    Code Block
    sh cloud_cx_ctl.sh run -i puteyun/cloud_cx:${tag}

    Note: Please MUST replace the Variables in the above command with the correctly value

    • ${tag} is the release version of CloudCX, for example: 3.2.3

    1. Login and configure the CloudFon CX.

    Open Browser, input “https://host:9006/”, the “host” is the IP address or domain name of your CloudCX server (Linux Server). 

    ...

    .

    Two Types of Deployment Way

    Distributed Deployment

    Standalone Deployment