/
Dexter Server

Dexter Server

Contents

You need to download 'dexter-server' file to install Dexter Server.


1. Installation

  • If you'd like to have your own Dexter Server, you have to follow the next instructions.

  • OS : Windows 7+, LINUX, Mac OS X
  • System Estimation

    ~ 102.6 GHz * 14 GB50 GB
    10 ~ 502.6 GHz * 28 GB200 GB
    50 ~ 1003.6 GHz * 232 GB500 GB
    100 ~ 2003.8 GHz * 464 GB1 TB
    Users
    CPU
    RAM
    HDD
  • Whenever creating a snapshot of defect status, database size can be increased as amount of your source codes.

  • If you don't use any snapshot, usually, database size can be as same as your source codes.

1.1 MySQL Installation

  • Dexter supports only MySQL Database.

    PurposeIt is used for the Dexter Data persistence (Defect Results Management)
    Version5.6-7
    Download
    http://www.mysql.com/downloads/
    Install & Verifyhttp://www.tutorialspoint.com/mysql/mysql-installation.htm
    Configure

    http://cameronyule.com/2008/07/configuring-mysql-to-use-utf-8/

    The following codes must be added onto the (linux : my.cnf / windows: my.ini) file.

    Your [my.cnf / my.ini] file
    [mysqld]
    default-character-set=utf8
    default-collation=utf8_general_ci
    character-set-server=utf8
    collation-server=utf8_general_ci
    init-connect='SET NAMES utf8'
     
    [client]
    default-character-set=utf8



    Create Dexter Database

    You need to download ddl script file : 'dexter-db.sql' file using the mysql command line tool as follows.

    Before using the following commands, you have to decide a Dexter database name, user name and a password that will be used at the NodeJS (Next Step).

    ("// <== " is for a comment)

    MySQL Example
    root@/usr/local/share# mysql -u root -p                                // <== run mysql command line tool
    Enter password:                                                        // <== enter your mysql password
    
    mysql> create database my_dexter_db;                                   // <== choose any name for your product
    Query OK, 1 row affected (0.00 sec)
    mysql> use my_dexter_db;
    Database changed
    mysql> create user 'dexter-user' identified by 'mypassword';           // <== choose any password
    Query OK, 0 rows affected (0.01 sec)
    // if your mysql server and node js server is not same server, you have to add node js server IP with following command
    mysql> grant all on my_dexter_db.* to 'dexter-user'@'localhost' identified by 'mypassword';
    Query OK, 0 rows affected (0.00 sec)
    mysql> source ./dexter-db.sql                                          // <== select downloaded dexter-db.sql file location
    Query OK, 0 rows affected (0.00 sec)
    Query OK, 0 rows affected (0.00 sec)
    ...
    mysql> select * from Account;                                          // <== test DB creatation
    +--------+--------+----------+---------+---------------------+---------------------+
    | userNo | userId | userPwd  | adminYn | createdDateTime     | modifiedDateTime    |
    +--------+--------+----------+---------+---------------------+---------------------+
    |      1 | admin  | dex#0001 | Y       | 2014-08-10 19:27:23 | 0000-00-00 00:00:00 |
    |      2 | minho  | 1111     | N       | 2014-08-10 19:27:23 | 0000-00-00 00:00:00 |
    +--------+--------+----------+---------+---------------------+---------------------+
    2 rows in set (0.00 sec)              // <== If you can see the upper Accounts info, your installation is done successfully
    mysql>

    > The account information that is generated in the DB.
    admin : It is a basic administrator account. (Use of this account is optional.)

    Task
    Description

1.2 NodeJS and Dexter Server Installation

  • NodeJS and Dexter Server Installation

    PurposeTo execute Dexter Server and mange Dexter Clients' requests and data persistence
    Version4.4.0
    Downloadhttp://www.nodejs.org/
    System VariablesThe nodejs bin path must be set to PATH global environment variable
    Verify
    # node -v
    v4.4.0
    Download Dexter ServerYou need to download the dexter-server zip(##########) file in GitHub, and then unzip it to any folder. or you can download the latest one here(github): 'project/server/dexter-server' folder
    Task
    Description


2. Configuration

  • N/A

3. Run

  • To run Dexter Server, you need to type the following command in the Dexter-server folder.

    RUN COMMAND
    root@~> cd /usr/local/share/dexter-server_v#.#.#
    root@/usr/local/share/dexter-server_v#.#.#> node server.js -p=4982 -database.host=localhost -database.name=my_dexter_db -database.user=dexter-user -database.password=mypassword >> console.log &
    Dexter server listening on port 4982         // <== server started correctly
    DB Connection is fine : localhost:3306       // <== DB Connection is OK
    • -p=port_number : You can change the Dexter server port number. The port number is used to access the Dexter Server by Dexter Clients such as Dexter WEB or Dexter Eclipse.

    • -database.host=mysql_db_ip : Try using the IP address of the database server.

    • -database.naem=my_dexter_db : Enter the name of the Dexter database that is created by previous step.

    • -database.user=db_user_id : The ID you entered for the Dexter database.
    • -database.password=db_user_password : The password you entered for the Dexter database.

  • You can view the logs from "console.log" and "./log/dexter-server.log" files. 
    • Note : You have to delete this file by yourself, if the file size is too large.
  • You can manage the Dexter server with PM2. PM2 manages your applications states, so you can run processes consistently. Refer to the following steps to install PM2 and use it.

    PM2 COMMAND
    root@~> cd /usr/local/share/dexter-server_v#.#.#
    root@~> npm install pm2
    root@/usr/local/share/dexter-server_v#.#.#> vim pm2-dexter-server.json //Please refer to the following sample : pm2 setting for running dexter server.
    root@/usr/local/share/dexter-server_v#.#.#> pm2 start pm2-dexter-server.json
    ┌───────────────────────┬────┬─────────┬───────┬─────────┬─────────┬────────┬─────────────┬──────────┐ 
    │ App name              │ id │ mode    │ pid   │ status  │ restart │ uptime │ memory      │ watching │ 
    ├───────────────────────┼────┼─────────┼───────┼─────────┼─────────┼────────┼─────────────┼──────────┤ 
    │ dexter-server         │ 0  │ cluster │ 28402 │ online  │ 0       │ 0s     │ 45.016 MB   │ disabled │ <== server started correctly
    └───────────────────────┴────┴─────────┴───────┴─────────┴─────────┴────────┴─────────────┴──────────┘ 
    
  • The following is PM2 setting sample file : pm2-dexter-server.json

    pm2-dexter-server.json
    {
     "apps":[{
       "name":"dexter-server",
       "script":"server.js",
       "args":[
      "-p=4982", 
      "-database.host=localhost", 
      "-database.name=my_dexter_db", 
      "-database.user=dexter-user" , 
      "-database.password=mypassword", 
      "-server.name=dexter-server"
      ],                         
       "instances":1,
       "force":true
     }] 
    }


4. Verify

  • Open a web browser(IE is not supported), and then type the following URL: http://[dexter-server-ip]:[dexter-server-port]/defect 
  • Example : After typing  http://localhost:4982/defect in the URL address box,  you can see the site as follows.

5. Eclipse Update Site



Related content