This is an old revision of the document!
The most feature rich server for Matrix is the Matrix.org Foundation's own Synapse server.
You can read installation instructions here: https://github.com/matrix-org/synapse/blob/master/INSTALL.md
The basic steps for a Debian/Ubuntu machine are:
sudo apt-get install build-essential python3-dev libffi-dev python3-pip python3-setuptools sqlite3 libssl-dev virtualenv libjpeg-dev libxslt1-dev
sudo apt install -y lsb-release wget apt-transport-https sudo wget -O /usr/share/keyrings/matrix-org-archive-keyring.gpg https://packages.matrix.org/debian/matrix-org-archive-keyring.gpg echo "deb [signed-by=/usr/share/keyrings/matrix-org-archive-keyring.gpg] https://packages.matrix.org/debian/ $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/matrix-org.list sudo apt update sudo apt install matrix-synapse-py3
Then just edit your /etc/matrix-synapse/homeserver.yaml
file and set your SSL certifcate, host name and port.