Matrix Synapse is an open-source chat server that allows you to host decentralized, real-time communication. Element is the most popular web-based client for Matrix, providing a modern interface for users to chat and collaborate. In this guide, we’ll walk you through the steps to install and create your own chat server using Matrix Synapse and Element on Rocky Linux 9. If you want a high-performance, scalable environment, consider deploying this setup on a WindowsVPS server to optimize your chat server's performance and reliability.
Step 1: Prepare Your VPS Server
Before starting, ensure that your VPS server is up to date. Rocky Linux is known for its stability, and with a VPS server, you can ensure that your Matrix chat server runs smoothly. Start by updating your system:
sudo dnf update -y
If you’re hosting on a WindowsVPS, this ensures you get the best performance and security features for your chat server deployment.
Step 2: Install Matrix Synapse
Matrix Synapse is the backend server for Matrix, enabling decentralized communication. First, add the Matrix Synapse repository:
sudo dnf install https://packages.matrix.org/rpm/el/9/matrix-org-repo-1.0.0-1.el9.noarch.rpm
Next, install Matrix Synapse:
sudo dnf install matrix-synapse -y
During the installation, you will be prompted to enter your domain name. This should be the domain where your chat server will be hosted. If you're using a VPS server from WindowsVPS, ensure that your domain is correctly configured to point to your VPS server's IP address.
Step 3: Configure Matrix Synapse
After installation, you’ll need to edit the Synapse configuration file to finalize the setup. Open the configuration file:
sudo nano /etc/matrix-synapse/homeserver.yaml
Ensure the following settings are properly configured:
- Set the correct server name (your domain).
- Enable registration if you want public sign-ups.
- Configure your TLS settings or set up a reverse proxy for HTTPS.
Once you’ve configured Synapse, start and enable the service:
sudo systemctl enable matrix-synapse --now
Step 4: Install and Configure Nginx
To secure your chat server with HTTPS, you’ll need to set up a reverse proxy using Nginx. First, install Nginx:
sudo dnf install nginx -y
Create a new configuration file for your Matrix Synapse setup:
sudo nano /etc/nginx/conf.d/matrix.conf
Add the following configuration to proxy requests to your Matrix Synapse server:
server {
listen 80;
server_name your-domain.com;
location / {
proxy_pass http://localhost:8008;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
Replace your-domain.com
with your actual domain name. Then, restart Nginx to apply the changes:
sudo systemctl restart nginx
If you’re using a WindowsVPS, this setup ensures your Matrix chat server is accessible with enhanced performance, security, and scalability.
Step 5: Install Element Web Client
Element is the recommended web client for Matrix. It provides a modern and user-friendly interface for users to interact with your chat server. To install Element, first download the latest Element release:
wget https://github.com/vector-im/element-web/releases/download/v1.11.5/element-v1.11.5.tar.gz
Extract the downloaded archive and move it to your web server directory:
tar -xvzf element-v1.11.5.tar.gz
sudo mv element-v1.11.5 /var/www/element
Create a new Nginx configuration for Element:
sudo nano /etc/nginx/conf.d/element.conf
Add the following configuration:
server {
listen 80;
server_name chat.your-domain.com;
root /var/www/element;
index index.html;
location / {
try_files $uri $uri/ =404;
}
}
Make sure to replace chat.your-domain.com
with your actual domain name. Restart Nginx to apply the configuration:
sudo systemctl restart nginx
Step 6: Access Your Chat Server
Your Matrix Synapse and Element installation is now complete. You can access the chat server at http://chat.your-domain.com
and log in using the credentials created during the Matrix Synapse setup. Hosting your chat server on a WindowsVPS gives you better performance, security, and scalability for real-time communication, especially when managing multiple users.
Conclusion
Setting up a chat server using Matrix Synapse and Element on Rocky Linux 9 is a powerful solution for decentralized communication. By hosting it on a reliable VPS server from WindowsVPS, you ensure that your chat server can handle the demands of real-time messaging with excellent uptime and performance.
For more information on VPS hosting and how to optimize your chat server setup, visit WindowsVPS.