# DRC INSIGHT

# DRC INSIGHT Central Office Services (COS) Installation and Troubleshooting Ubuntu Linux

#   


**Audience:** IT Administrators / MSP Engineers

**Platform:** Ubuntu 22.04 / 24.04 + Chromebook environments

---

## Overview

DRC INSIGHT Central Office Services (COS) is a local content hosting system that allows testing devices to retrieve assessment content from a local server instead of the internet.

<div id="bkmrk-key-concept%3Acos-is-a" style="border-left:4px solid #3b82f6;padding:10px;background:#f0f7ff;">**Key Concept:**  
COS is a service-based HTTP system, NOT a file share.  
Devices do NOT access /opt/CentralOffice directly.</div>---

## Architecture

```
Testing Devices
    ↓
DRC INSIGHT App
    ↓
COS Server
    ↓
Local Content (/opt/CentralOffice/content_fs)
    ↓
Fallback → DRC Cloud
```

---

## Installation (Ubuntu)

### 1. Update System

```
sudo apt update && sudo apt upgrade -y
```

### 2. Install Required Dependencies

```
sudo apt install -y \
libxcb-xinerama0 \
libalt-getopt-complete-perl \
libxcb-icccm4 \
libxcb-image0 \
libxcb-keysyms1 \
libxcb-render-util0 \
libxcb-xkb1 \
libxkbcommon-x11-0
```

<div id="bkmrk-critical%3A-missing-de" style="border-left:4px solid #FF0000;padding:10px;">**Critical:** Missing dependencies will cause silent installer failures or services crashing.</div>### 3. Fix /tmp Permissions

```
sudo chmod 1777 /tmp
ls -ld /tmp
```

### 4. Clean Previous Install

```
sudo rm -rf /opt/CentralOffice
sudo rm -f /tmp/coinstaller*.lock
```

### 5. Run Installer

```
chmod +x silent-linux.sh
sudo ./silent-linux.sh
```

---

## Registration (REQUIRED)

<div id="bkmrk-important%3A-you-must-" style="border-left:4px solid #FFA500;padding:10px;">**Important:** You MUST open the setup URL generated during installation.</div>This step registers COS with DRC and enables services.

If skipped:

- Relay fails
- Contenthosting fails
- Devices cannot connect

---

## Validate Services

### Check Running Services

```
sudo /opt/CentralOffice/node \
/opt/CentralOffice/setup/node_modules/forever/bin/forever -p /opt/CentralOffice list
```

Expected:

- management
- relay
- proxy
- contenthosting

### Check Ports

```
sudo ss -tulnp | grep node
```

Typical Ports:

- 55223 – Content Hosting
- 55224 – Relay
- 55225 – Proxy

### Test Service

```
curl -I http://127.0.0.1:55223
```

HTTP 404 is normal and confirms the service is running.

---

## DRC Portal Configuration

### Content Management

- Enable Content Management → ON
- Select tests (PSSA, Keystone, CDT)
- Click Update Configuration

### Content Hosting

- Enable Content Hosting → ON
- Load Balancer → OFF
- Shared Content Location → OFF

<div id="bkmrk-shared-content-shoul" style="border-left:4px solid #FFA500;padding:10px;">Shared content should only be used in multi-server environments.</div>### Proxy

- Use Proxy → OFF

---

## Chromebook Configuration

### Install App

- Deploy DRC INSIGHT via Google Admin Console

### Register Device

```
Launch App → Assign Device to ORG Unit → Enter ORG ID
```

### Required Settings

- Display Scale = 100%
- Keyboard = US English
- Same network as COS

---

## Network Requirements

### Allowlist

```
*.drcedirect.com
```

### Ports

- 80 (HTTP)
- 443 (HTTPS)

### Internal COS Ports

```
sudo ufw allow 55223/tcp
sudo ufw allow 55224/tcp
sudo ufw allow 55225/tcp
```

---

## Content Validation

```
ls -lah /opt/CentralOffice/content_fs
```

```
sudo journalctl -u centralofficecontenthosting -f
```

---

## Troubleshooting

### Installer Fails

```
sudo chmod 1777 /tmp
sudo rm -rf /opt/CentralOffice
sudo ./silent-linux.sh
```

### Only Proxy Running

Cause: COS not registered

### Heartbeat Error

```
CO API - Heartbeat returned undefined
```

Fix:

- Complete setup URL
- Verify internet access
- Allow DRC domains

### Chromebooks Cannot Connect

- Verify ORG ID
- Check network
- Confirm ports open

---

## Validation Checklist

- \[ \] COS services running
- \[ \] Ports listening
- \[ \] Content downloading
- \[ \] Portal configured correctly
- \[ \] Chromebooks registered

---

## Key Takeaways

- COS is NOT a file server
- Uses HTTP endpoints
- Registration is required
- Content hosting must be enabled

---

**End of SOP**