Tigase Administration Guide

Tigase Team


Table of Contents

1. Tigase v8.0.0 announcement
Major Changes
Kernel and beans configuration
New Configuration File Format
Cluster Node Shutdown Changes
Significant cleanup of code and repositories
BouncyCastle being used for StartTLS
default-virtual-host property changes
All artifacts are signed
Scaled Down Installation Methods
Emojis now supported on Tigase XMPP Servers
XEP-0215 External Service Discovery now supported
XEP-0313 Message Archive Management now supported
XEP-0363 HTTP File Upload now supported
Startup now uses bootstrapping
CAPTCHA system now available for in-band registration
Schema changes
Shrinkable Statistics History
Statistics now available for all modules
Spam Protection
Changes in password storage
Dynamic TLS Buffer
XEP-305 Quickstart now supported
Database Timestamps
Config-type properties have changed
Database Watchdog implemented
Packet statistics expanded
XEP-0016 Behavior changes
Access Control List has new ACL modifiers
Option to ignore schema-version check added
Protection against brute-force attacks
New Minor Features & Behavior Changes
Fixes
Component Changes
AMP
PubSub
http-api
message-archive
MUC
socks5 Proxy
stats
STUN Server
WebSocket
2. Jabber/XMPP introduction
Jabber/XMPP is Instant Messaging Technology
Installing Minichat on Your Website
Instructions:
How to Use Tigase Service
This Article Describes How to use tigase.org Service for Instant Communications
Configuration Instructions for Psi
Psi - Initial Configuration
Short Instructions How to Add Your First Contact
3. About Tigase XMPP Server
Robust and reliable
Security
Flexibility
Extensibility
Ease of Use
4. Licensing and Open Source
5. Tigase Server Binary Updates
6. Quick Start Guide
Minimum Requirements
Contents
Installation Using Web Installer
Download and Extract
Start the Server
Verify Tigase is Running
Connect to the Web Installer
Step Through the Installation Process
Restart the Server
Windows Instructions for using Web Installer
Manual Installation in Console Mode
Get the Binary Package
Unpack the Package
Prepare Configuration
Install Database
Start the Server
Check if it is Working
Windows Installation
Step 1: Initial Setup
Step 2: Starting Server
MySQL Database Installation
Tigase Server Network Instructions
A Records
SRV Records
Hosting VIA Tigase.me
Checking setup
Ports description
Tigase Script Selection
Configuration: For Linux Distributions using systemd
Configuration: For All Linux Distributions
Running Tigase as a system service
Shutting Down Tigase
Shutdown statistics
Shutdown StackTrace Dump
Shutting Down Cluster Nodes
Upgrading to v8.0.0 from v7.1.0
Backup your data
Setup Tigase v8.0.0
Upgrade configuration file
Connect new database
Upgrade Database schema
Help?
Upgrade/Restore with a script [experimental!]
7. Configuration
DSL file format
Why new format?
What is DSL?
Why DSL?
Example configuration file in DSL
Default configuration
Startup File for tigase.sh - tigase.conf
Linux Settings for High Load Systems
fs.file-max
net.ipv4.ip_local_port_range
TCP_keepalive
/etc/sysctl.conf
nofile
su and init script
JVM settings and recommendations
Heap Sizing
GC settings
What to use with Machine x, y, z?
Additional resources
Session Manager
Mobile Optimizations
threads-pool
Thread Pool factor
Strategy
Virtual Hosts in Tigase Server
Default VHost configuration
Specification for ad-hoc Commands Used to Manage Virtual Domains
Virtual Components for the Cluster Mode
Settings for Custom Logging in Tigase
Tigase Advanced Options
Using CAPTCHA for in-band registration
Enabling Empty Nicknames
Enable Silent Ignore on Packets Delivered to Unavailable Resources
Mechanism to count errors within Tigase
Tigase Server Extras - mDNS support
Overview
Enabling mDNS
Using different domain name
Forcing single server for domain
8. Security
XEP-0191 Support
Account Registration Limits
Brute-force attack prevention
Configuration
Server Certificates
Creating and Loading the Server Certificate in pem Files
Installing LetsEncrypt Certificates in Your Linux System
Custom Authentication Connectors
Tigase Auth Connector
Tigase Custom Auth Connector
Drupal Authentication
LDAP Authentication Connector
Configuration of SASL EXTERNAL
Packet Filtering
Domain Based Packet Filtering
Access Control Lists in Tigase
9. Database Management
Recommended database versions
Database Watchdog
Using modified database schema
Database Preparation
Schema Utility
Hashed User Passwords in Database
Shortcut
Full Route
Preparing Tigase for MongoDB
Dependencies
Configuration
Schema Description
Tigase Server and Multiple Databases
Importing User Data
Importing Existing Data
Connecting the Tigase Server to MySQL Database
Integrating Tigase Server with Drupal
PostgreSQL Database Use
Schema Updates
Changes to Schema in v8.0.0
Tigase Server Schema v7.2 Updates
Tigase 5.1 Database Schema Upgrade
10. Components
HTTP API component
Available modules
Common module configuration
Module specific configuration
Admin UI Guide
Tigase Web Client
HTTP File Upload component
Enabling HTTP File Upload Component
Metadata repository
Storage
Logic
File upload expiration
Examples
HTTP server
Dependencies
Configuration Properties
Examples
Tigase Message Archiving Component
Tigase Message Archiving Component
Announcement
Additional features
Database
Configuration
Usage
Limitations
Advanced Message Processing - AMP XEP-0079
First of all: plugins:
Secondly: component:
Optional parameters:
Tigase PubSub Component
PubSub Component
Limitations
Server Monitoring
Setting Up Remote Monitoring in the Server
Retrieving statistics from the server
Eventbus
Configuration of statistics loggers
Server to Server Protocol Settings
Number of Concurrent Connections
Connection Throughput
Maximum Packet Waiting Time and Connection Inactivity Time
Custom Plugin: Selecting s2s Connection
skip-tls-hostnames
ejabberd-bug-workaround
Tigase MUC Component
Configuration Options
Tigase Load Balancing
Available Implementations
Configuration Options
Auxiliary setup options
External Component Configuration
External Component Configuration
Tigase as an External Component
Load Balancing External Components in Cluster Mode
Load Balancing External Component
External Component and Cluster
Client to Server Communication
Configuration
Connections
Resumption timeout
Packet Redelivery
Tigase Socks5 Proxy
Overview
Configuration
Performance
Tigase External Service Discovery
Setup & Configuration
Tigase Push Component
Tigase Push Component
Configuration
Usage
Providers
Tigase STUN Component
Tigase STUN Component
Configuration
Tigase SPAM Filter
Overview
Configuration
Filters
11. Using Tigase
Offline Messages
Offline Message Limits
Storing offline messages without body content
Disabling Offline Messages
Tigase Log Guide
install.log
derby.log
config-dump.properties
tigase.log.#
statistics.log.#
tigase.pid
tigase-console.log
Log File Location
Debuging Tigase
Configuration
Basic System Checks
Add and Manage Domains
Using Admin UI
Using ad-hoc commands
SSL Certificate Management
Presence Forwarding
Tigase and PyMSN-t Transport
PyMSN-t - /etc/jabber/pymsn-t.xml file
PyMSN-t - run command
PyMSN-t - expected output
Tigase - etc/tigase.conf file
Tigase - run command
Tigase - expected output
Two or More SessionManagers
Watchdog
Setup
Watchdog Configuration
Logic
Testing
Tips and Tricks
Tigase Tip: Checking the Runtime Environment
Command Line Admin Tools
Configuration Management Tool
Licensing
Registering for a License
What happens if I do not use a license file or it is expired?
Demo mode
Unauthorized use
Manual mode
Tigase Clustering
Configuration
Old configuration method
Checking Cluster Connections
Anonymous Users & Authentication
Anonymous Authentication
Anonymous User Features
Scripting support in Tigase
Scripting Introduction - Hello World!
Tigase Scripting Version 4.4.x Update for Administrators
Tigase and Python
12. Appendix I - Statistics description
Data source statistics
User repository statistics of {repo}
Auth repository statistics of {repo}
Statistics common to custom {compname} component repositories
Statistics common to components
AMP
bosh
c2s
cl-comp
eventbus
message-archive
message-router
monitor
muc
proxy
pubsub
repo-factory
rest
s2s
sess-man
vhost-man
ws2s
13. Appendix II - Database Manual Entry
Prepare the MySQL Database for the Tigase Server
Configuring from MySQL command line tool
Configuring From the Linux Shell Command Line
Configuring MySQL for UTF-8 Support
Other MySQL Settings Worth Considering
Prepare the Derby Database for the Tigase Server
Basic Setup
Connecting Tigase to database
Prepare the MS SQL Server Database for the Tigase Server
Preparing MS SQL Server Instance
Configuration using MS SQL Server Management Studio
Import Schema
Configuring from command line tool
Tigase configuration - config.tdsl
JDBC: jTDS vs MS JDBC driver
Prepare the PostgreSQL Database for the Tigase Server
Configuring from PostgreSQL Command Line Tool
Configuring From the Linux Shell Command Line
14. Appendix III - Properties Guide
admins
authRepository
Configuration Values:
bind-ext-hostnames
bosh-close-connection
bosh-extra-headers-file
Certificate Container
ssl-certs-location
ssl-def-cert-domain
cl-comp
connect-all
client-access-policy-file
client-port-delay-listening
cluster-mode
cluster-nodes
cm-ht-traffic-throttling
cm-traffic-throttling
Component
Ports
config-type
cross-domain-policy-file
authRepository
MSSQL
MongoDb
pool-size
debug
debug-packages
default-virtual-host
domain-filter-policy
elements-number-limit
ext
hardened-mode
max-queue-size
monitoring
net-buff-high-throughput
net-buff-standard
nonpriority-queue
plugins
priority-queue-implementation
roster-implementation
s2s-secret
scripts-dir
see-other-host
ssl-container-class
stats
stats-history-size
stats-history-interval
stats-logger
stats-file-logger
Database logger
Example configuration block
stream-error-counter
stringprep-processor
test
tls-jdk-nss-bug-workaround-active
trusted
vhost-anonymous-enabled
vhost-disable-dns-check
vhost-max-users
vhost-message-forward-jid
vhost-presence-forward-jid
vhost-register-enabled
vhost-tls-required
watchdog_delay
watchdog_ping_type
watchdog_timeout
ws-allow-unmasked-frames

List of Tables

6.1. init.d chart
9.1. tig_users
9.2. tig_nodes
9.3. msg_history collection
10.1. tig_socks5_users