Tigase Administration Guide

Tigase Team


Table of Contents

1. Tigase v7.2.0 announcement
Major Changes
Kernel and beans configureation
New Configuration File Format
Cluster Node Shutdown Changes
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
Shrinkable Statistics History
Spam Protection
Dynamic TLS Buffer
Config-type properties have changed
Database Watchdog implemented
New Minor Features & Behavior Changes
Fixes
2. Jabber/XMPP introduction
Jabber/XMPP is Instant Messaging Technology
3. Installing Minichat on Your Website
Instructions:
4. How to Use Tigase Service
This Article Describes How to use tigase.org Service for Instant Communications
Short instructions:
Long Instructions:
5. Configuration Instructions for Psi
Psi - Initial Configuration
Short Instructions How to Add Your First Contact
6. About Tigase XMPP Server
Robust and reliable
Security
Flexibility
Extensibility
Ease of Use
7. Licensing and Open Source
8. Tigase Server Binary Updates
9. 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
Installing Using Console Installer
Installation Using the text-mode Installer
Download the Installer
Run the jar File
Installation Steps
Manual Installation in Console Mode
Get the Binary Package
Unpack the Package
Prepare Configuration
Prepare Database
Start the Server
Check if it is Working
Windows Installation
MySQL Database Installation
Tigase Server Network Instructions
A Records
SRV Records
Checking setup
Ports description
Tigase Script Selection
Configuration: For All Linux Distributions
Running Tigase as a system service
Shutting Down Tigase
Shutdown statistics
Shutdown StackTrace Dump
Shutting Down Cluster Nodes
10. Configuration
DSL file format
Why new format?
What is DSL?
Example configuration file in DSL
Default configuration
Tigase XMPP Server init.properties 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
Thread Pool Counts
Virtual Hosts in Tigase Server
Specification for ad-hoc Commands Used to Manage Virtual Domains
Virtual Components for the Cluster Mode
Settings for Custom Logging in Tigase
11. Security
XEP-0191 Support
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
12. Database Management
Recommended database versions
Database Watchdog
Database Preparation
dbSchemaLoader Utility
Prepare the MySQL Database for the Tigase Server
Prepare the Derby Database for the Tigase Server
Prepare the MS SQL Server Database for the Tigase Server
Prepare the PostgreSQL Database for the Tigase Server
Preparing Tigase for MongoDB
Hashed User Passwords in Database
Shortcut
Full Route
Tigase Server and Multiple Databases
Importing User Data
Importing Existing Data
Connecting the Tigase Server to MySQL Database
Integrating Tigase Server with Drupal
Integrating Tigase Server With LibreSource
MySQL Database Use
PostgreSQL Database Use
Schema Updates
Tigase Server Schema v7.2 Updates
Tigase 5.1 Database Schema Upgrade
Derby Database Schema Upgrade for Tigase 5.1
MySQL Database Schema Upgrade for Tigase 5.1
PostgreSQL Database Schema Upgrade for Tigase 5.1
Tigase Database Minor but Useful Schema Change in Version 5.1.0
MySQL Database Schema Upgrade for Tigase 4.0
Tigase Server Version 4.x
13. Configuring the Tigase Server to Load a Component
HTTP API component
Common module configuration
Available modules
HTTP server
Dependencies
Configuration Properties
Examples
HTTP File Upload component
Enabling HTTP File Upload Component
Metadata repository
Storage
Logic
File upload expiration
Examples
Tigase HTTP API
Requirements
Setup & Configuration
Use of the HTTP API
Browser interface walk-through
HTTP API Scripting
HTTP API Usage Examples
Usage examples
Executing example ad-hoc commands
Sending any XMPP Stanza
Admin UI Guide
A Note about REST
Configuration
Example Scripts
Notifications
Other
Scripts
Statistics
Users
REST API & HTTP Guide
Setup & Configuration
Usage Examples
Sending messages through REST
Setting HTTP API Privacy Rules
New Rest API added to obtain a JID login time
Scripting
REST API & PubSub
Other Example REST Commands and Documentation
Tigase Web Client
Chat
Discovery
Management
BOSH HTTP Pre-Binding
Bosh (HTTP) Pre-Binding
Configuration
Message Archiving Component
Installation
Configuration
Usage
Manual Activation
Automatic Activation of MUC messages
Searching for Messages
Message Tagging Support
Purging Information from Message Archive
Advanced Message Processing - AMP XEP-0079
First of all: plugins:
Secondly: component:
Optional parameters:
PubSub Component
Configuration
Pubsub naming
Configure Roster Maxmimum size
AdHoc Commands
PubSub Node Presence Protocol
Store Full XML of Last Presence
Tigase PubSub Component
14. Overview
15. Announcement
Major changes
Database schema changes
Changes in REST API
New features
Support for using separate database for different domains
Support for MAM
16. Database
Preparation of database
Upgrade of database schema
Schema description
Table tig_pubsub_service_jids
Table tig_pubsub_jids
Table tig_pubsub_nodes
Table tig_pubsub_affiliations
Table tig_pubsub_subscriptions
Table tig_pubsub_items
17. Configuration
Using separate store
Enabling PEP support
Enabling REST API
Changing nodes cache size
Enable sending last published item on presence
Tune handling of low memory
Disable automatic subscription of node creator
18. Features
AdHoc Commands
Create a Node
Delete a Node
Subscribe to a Node
Unsubscribe to a Node
Publish an item to a Node
PubSub Node Presence Protocol
Log in to Pubsub Node
Log out from PubSub Node
Retrieving list of all Node Subscribers
Offline Message Sink
Configuration
Usage
REST API
Create a node
Delete a node
Subscribe to a node
Unsubscribe from a node
Publish an item to a node
Delete an item from a node
List available nodes
List published items on node
Retrieve item published on node
Retrieve user subscriptions
19. Limitations
Addressing
Offline Message Sink
PubSub Schema Changes
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
Tigase MUC Component
Configuration Options
Tigase Load Balancing
Available Implementations
Configuration Options
Auxiliary setup options
External Component Configuration
Basic Configuration Options (External Component)
Tigase as an External Component
Load Balancing External Components in Cluster Mode
Client to Server Communication
Configuration
Resumption timeout
Packet Redelivery
Socks 5 Component
Installation
Database Preparation
Configuration
Database usage for specific settings
Example init.properties block
Tigase External Service Discovery
Setup & Configuration
20. Using Tigase - Applies to All Tigase Server Versions
Tigase Log Guide
install.log
derby.log
config-dump.properties
tigase.log.#
statistics.log.#
tigase.pid
tigase-console.log
Log File Location
Debuging Tigase
The easy way - init.properties file
The more difficult but more powerful - tigase.xml file (only applicable to versions before 5.0.0)
Basic System Checks
Add and Manage Domains
Adding a New Domain
Adding a New User
SSL Certificate Management
Presence Forwarding
Register Your Own XMPP Domain
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
Scripting support in Tigase
Scripting Introduction - Hello World!
Tigase Scripting Version 4.4.x Update for Administrators
Tigase and Python
Offline Messages
Offline Message Limits
Storing offline messages without body content
Adding Custom Storage Paths
Message Receipts
Disabling Offline Messages
Licensing
Registering for a License
Unauthorized use
Statistics Sent
Tigase Advanced Options
Using CAPTCHA for in-band registration
Enabling Support for storing offline messages without body content
Enabling Empty Nicknames
Account Registration Limits
Enable Silent Ignore on Packets Delivered to Unavailable Resources
Mechanism to count errors within Tigase
Tigase Clustering
Configuration
Old configuration method
Checking Cluster Connections
Anonymous Users & Authentication
Anonymous Authentication
Anonymous User Features
21. 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
22. Appendix II - Properties Guide
--admins
--auth-db
--auth-db-uri
--auth-domain-repo-pool
--auth-repo-pool
--auth-repo-pool-size
--bind-ext-hostnames
--bosh-close-connection
--bosh-extra-headers-file
--cl-conn-repo-class
--client-access-policy-file
--client-port-delay-listening
--cluster-connect-all
--cluster-mode
--cluster-nodes
--cm-ht-traffic-throttling
--cm-see-other-host
--cm-traffic-throttling
--cmpname-ports
--comp-class
--comp-name
-config-type
--cross-domain-policy-file
--data-repo-pool-size
--debug
--debug-packages
--domain-filter-policy
--elements-number-limit
--ext-comp
--extcomp-repo-class
--external
--hardened-mode
--max-queue-size
--monitoring
--net-buff-high-throughput
--net-buff-standard
--new-connections-throttling
--nonpriority-queue
--queue-implementation
--roster-implementation
--s2s-ejabberd-bug-workaround-active
--s2s-secret
--s2s-skip-tls-hostnames
--script-dir
--sm-cluster-strategy-class
--sm-plugins
--sm-threads-pool
--ssl-certs-location
--ssl-container-class
--ssl-def-cert-domain
stream-error-counter
--stringprep-processor
--test
--tigase-config-repo-class
--tigase-config-repo-uri
--tls-jdk-nss-bug-workaround-active
--trusted
--user-db
--user-db-uri
--user-domain-repo-pool
--user-repo-pool
--user-repo-pool-size
--vhost-anonymous-enabled
--vhost-disable-dns-check
--vhost-max-users
--vhost-message-forward-jid
--vhost-presence-forward-jid
--vhost-register-enabled
--vhost-tls-required
--virt-hosts
--watchdog_delay
--watchdog_ping_type
--watchdog_timeout
--ws-allow-unmasked-frames

List of Tables

9.1. init.d chart
12.1. tig_users
12.2. tig_nodes
12.3. msg_history collection
19.1. tig_socks5_users