Creeu un servidor de xat amb Matrix Synapse i Riot a CentOS 7

Matrix és un protocol de comunicació estàndard obert per a la comunicació descentralitzada en temps real. Matrix s'implementa com a servidors domèstics que es distribueixen per Internet; per tant, no hi ha un únic punt de control o fallada. Matrix proporciona una API HTTP RESTful per crear i gestionar els servidors de xat distribuïts que inclou enviar i rebre missatges, convidar i gestionar membres de la sala de xat, mantenir els comptes d'usuari i proporcionar funcions de xat avançades com VoIP i videotrucades, etc. Matrix també estableix un sincronització segura entre servidors domèstics que es distribueixen per tot el món.

Synapse és la implementació del servidor domèstic de Matrix escrit per l'equip de Matrix. L'ecosistema Matrix consisteix en la xarxa de molts servidors domèstics federats distribuïts per tot el món. Un usuari de Matrix utilitza un client de xat per connectar-se al servidor domèstic, que al seu torn es connecta a la xarxa de Matrix. Homeserver emmagatzema l'historial de xat i la informació d'inici de sessió d'aquest usuari en concret.

Requisits previs

En aquest tutorial, utilitzarem matrix.example.comcom a nom de domini utilitzat per a Matrix Synapse. Substituïu totes les ocurrències de matrix.example.compel vostre nom de domini real que voleu utilitzar per al vostre servidor de casa de Synapse.

Actualitzeu el vostre sistema base mitjançant la guia Com actualitzar CentOS 7 . Un cop actualitzat el sistema, procediu a instal·lar Python.

Instal·lar eines de desenvolupament

Matrix Synapse necessita Python 2.7 per funcionar. Python 2.7 ve preinstal·lat a totes les instàncies del servidor CentOS. Podeu comprovar la versió instal·lada de Python.

python -V

Hauríeu d'obtenir una sortida similar.

[user@vultr ~]$ python -V
Python 2.7.5

Canviar la versió predeterminada de Python pot trencar el gestor de dipòsits YUM. Tanmateix, si voleu la versió més recent de Python, podeu fer una instal·lació alternativa, sense substituir el Python predeterminat.

Instal·leu els paquets del Development toolsgrup necessaris per compilar els fitxers d'instal·lació.

sudo yum groupinstall -y "Development tools"

Instal·leu algunes dependències més necessàries.

sudo yum -y install libtiff-devel libjpeg-devel libzip-devel freetype-devel lcms2-devel libwebp-devel tcl-devel tk-devel redhat-rpm-config python-virtualenv libffi-devel openssl-devel 

Instal·leu Python pip. Pip és el gestor de dependències dels paquets Python.

wget https://bootstrap.pypa.io/get-pip.py
sudo python get-pip.py

Instal·leu Synapse

Creeu un entorn virtual per a la vostra aplicació Synapse. L'entorn virtual Python s'utilitza per crear un entorn virtual aïllat per a un projecte Python. Un entorn virtual conté els seus propis directoris d'instal·lació i no comparteix biblioteques amb entorns virtuals globals i altres.

sudo virtualenv -p python2.7 /opt/synapse

Proporcioneu la propietat del directori a l'usuari actual.

sudo chown -R $USER:$USER /opt/synapse/

Ara activeu l'entorn virtual.

source /opt/synapse/bin/activate

Assegureu-vos que teniu la versió més recent de pipi setuptools.

pip install --upgrade pip 
pip install --upgrade setuptools

Instal·leu la darrera versió de Synapse amb pip.

pip install https://github.com/matrix-org/synapse/tarball/master

L'ordre anterior trigarà un temps a executar-se mentre extreu i instal·la la darrera versió de Synapse i totes les dependències del dipòsit de Github.

Instal·lació i configuració de PostgreSQL

Synapse utilitza SQLite com a base de dades predeterminada. SQLite emmagatzema les dades en una base de dades que es conserva com a fitxer pla al disc. L'ús de SQLite és molt senzill, però no es recomana per a la producció, ja que és molt lent en comparació amb PostgreSQL.

PostgreSQL és un sistema de bases de dades relacionals d'objectes. Haureu d'afegir el repositori PostgreSQL al vostre sistema, ja que l'aplicació no està disponible al repositori YUM predeterminat.

sudo rpm -Uvh https://download.postgresql.org/pub/repos/yum/9.6/redhat/rhel-7-x86_64/pgdg-centos96-9.6-3.noarch.rpm

Instal·leu el servidor de bases de dades PostgreSQL.

sudo yum -y install postgresql96-server postgresql96-contrib

Inicialitzar la base de dades.

sudo /usr/pgsql-9.6/bin/postgresql96-setup initdb

Editeu /var/lib/pgsql/9.6/data/pg_hba.confper habilitar l'autenticació basada en MD5.

sudo nano /var/lib/pgsql/9.6/data/pg_hba.conf

Busca les línies següents i canvia peera trusti idneta md5.

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# "local" is for Unix domain socket connections only
local   all             all                                     peer
# IPv4 local connections:
host    all             all             127.0.0.1/32            idnet
# IPv6 local connections:
host    all             all             ::1/128                 idnet

Un cop actualitzada, la configuració hauria de ser així.

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# "local" is for Unix domain socket connections only
local   all             all                                     trust
# IPv4 local connections:
host    all             all             127.0.0.1/32            md5
# IPv6 local connections:
host    all             all             ::1/128                 md5

Inicieu el servidor PostgreSQL i activeu-lo perquè s'iniciï automàticament a l'arrencada.

sudo systemctl start postgresql-9.6
sudo systemctl enable postgresql-9.6

Canvieu la contrasenya de l'usuari PostgreSQL predeterminat.

sudo passwd postgres

Iniciar Sessió.

sudo su - postgres

Creeu un nou usuari de PostgreSQL per a Synapse.

createuser synapse

PostgreSQL proporciona l' psqlintèrpret d'ordres per executar consultes a la base de dades. Canvieu a l'intèrpret d'ordres PostgreSQL executant.

psql

Establiu una contrasenya per a l'usuari acabat de crear per a la base de dades Synapse.

ALTER USER synapse WITH ENCRYPTED password 'DBPassword';

Substituïu-la DBPasswordper una contrasenya segura i anoteu-la, ja que la farem servir més endavant. Creeu una nova base de dades per a la base de dades PostgreSQL.

CREATE DATABASE synapse ENCODING 'UTF8' LC_COLLATE='C' LC_CTYPE='C' template=template0 OWNER synapse;

Sortida de la psqlclosca.

\q

Canvia a l' sudousuari de l' postgresusuari actual .

exit

També haureu d'instal·lar els paquets necessaris perquè Synapse es comuniqui amb el servidor de bases de dades PostgreSQL.

sudo yum -y install postgresql-devel libpqxx-devel.x86_64
source /opt/synapse/bin/activate
pip install psycopg2

Configuració de Synapse

Synapse requereix un fitxer de configuració abans que es pugui iniciar. El fitxer de configuració emmagatzema la configuració del servidor. Canvieu a l'entorn virtual i genereu la configuració de Synapse.

source /opt/synapse/bin/activate
cd /opt/synapse
python -m synapse.app.homeserver --server-name matrix.example.com --config-path homeserver.yaml --generate-config --report-stats=yes

Substituïu-lo matrix.example.compel vostre nom de domini real i assegureu-vos que el nom del servidor es pugui resoldre a l'adreça IP de la vostra instància Vultr. Proporcioneu --report-stats=yessi voleu que els servidors generin els informes, proporcioneu --report-stats=noper desactivar la generació d'informes i estadístiques.

Hauríeu de veure una sortida similar.

(synapse)[user@vultr synapse]$ python -m synapse.app.homeserver --server-name matrix.example.com --config-path homeserver.yaml --generate-config --report-stats=yes
A config file has been generated in 'homeserver.yaml' for server name 'matrix.example.com' with corresponding SSL keys and self-signed certificates. Please review this file and customise it to your needs.
If this server name is incorrect, you will need to regenerate the SSL certificates

Per defecte, homeserver.yamlestà configurat per utilitzar una base de dades SQLite. Hem de modificar-lo per utilitzar la base de dades PostgreSQL que hem creat anteriorment.

Editeu el nou creat homeserver.yaml.

nano homeserver.yaml

Trobeu la configuració de la base de dades existent que utilitza SQLite3. Comenta les línies tal com es mostra a continuació. A més, afegiu la nova configuració de base de dades per a PostgreSQL. Assegureu-vos que feu servir les credencials de la base de dades correctes.

# Database configuration
#database:
  # The database engine name
  #name: "sqlite3"
  # Arguments to pass to the engine
  #args:
    # Path to the database
    #database: "/opt/synapse/homeserver.db"


database:
    name: psycopg2
    args:
        user: synapse
        password: DBPassword
        database: synapse
        host: localhost
        cp_min: 5
        cp_max: 10

Registration of a new user from a web interface is disabled by default. To enable registration, you can set enable_registration to True. You can also set a secret registration key, which allows anyone to register who has the secret key, even if registration is disabled.

enable_registration: False

registration_shared_secret: "YPPqCPYqCQ-Rj,ws~FfeLS@maRV9vz5MnnV^r8~pP.Q6yNBDG;"

Save the file and exit from the editor. Now you will need to register your first user. Before you can register a new user, though, you will need to start the application first.

source /opt/synapse/bin/activate && cd /opt/synapse
synctl start

You should see the following lines.

2017-09-05 11:10:41,921 - twisted - 131 - INFO - - SynapseSite starting on 8008
2017-09-05 11:10:41,921 - twisted - 131 - INFO - - Starting factory <synapse.http.site.SynapseSite instance at 0x44bbc68>
2017-09-05 11:10:41,921 - synapse.app.homeserver - 201 - INFO - - Synapse now listening on port 8008
2017-09-05 11:10:41,922 - synapse.app.homeserver - 442 - INFO - - Scheduling stats reporting for 3 hour intervals
started synapse.app.homeserver('homeserver.yaml')

Register a new Matrix user.

register_new_matrix_user -c homeserver.yaml https://localhost:8448

You should see the following.

(synapse)[user@vultr synapse]$ register_new_matrix_user -c homeserver.yaml https://localhost:8448
New user localpart [user]: admin
Password:
Confirm password:
Make admin [no]: yes
Sending registration request...
Success.

Finally, before you can use the Homeserver, you will need to allow port 8448 through the Firewall. Port 8448 is used as the secured federation port. Homeservers use this port to communicate with each other securely. You can also use the built-in Matrix web chat client through this port.

sudo firewall-cmd --permanent --zone=public --add-port=8448/tcp
sudo firewall-cmd --reload

You can now log in to the Matrix web chat client by going to https://matrix.example.com:8448 through your favorite browser. You will see a warning about the SSL certificate as the certificates used are self-signed. We will not use this web chat client as it is outdated and not maintained anymore. Just try to check if you can log in using the user account you just created.

Setting up Let's Encrypt Certificates

Instead of using a self-signed certificate for securing federation port, we can use Let's Encrypt free SSL. Let's Encrypt free SSL can be obtained through the official Let's Encrypt client called Certbot.

Install Certbot.

sudo yum -y install certbot

Adjust your firewall setting to allow the standard HTTP and HTTPS ports through the firewall. Certbot needs to make an HTTP connection to verify the domain authority.

sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload

To obtain certificates from Let's Encrypt CA, you must ensure that the domain for which you wish to generate the certificates is pointed towards the server. If it is not, then make the necessary changes to the DNS records of your domain and wait for the DNS to propagate before making the certificate request again. Certbot checks the domain authority before providing the certificates.

Now use the built-in web server in Certbot to generate the certificates for your domain.

sudo certbot certonly --standalone -d matrix.example.com

The generated certificates are likely to be stored in /etc/letsencrypt/live/matrix.example.com/. The SSL certificate will be stored as fullchain.pem and the private key will be stored as privkey.pem.

Copy the certificates.

sudo cp /etc/letsencrypt/live/matrix.example.com/fullchain.pem /opt/synapse/letsencrypt-fullchain.pem

sudo cp /etc/letsencrypt/live/matrix.example.com/privkey.pem /opt/synapse/letsencrypt-privkey.pem

You will need to change the path to the certificates and keys from the homeserver.yaml file. Edit the configuration.

nano /opt/synapse/homeserver.yaml

Find the following lines and modify the path.

tls_certificate_path: "/opt/synapse/letsencrypt-fullchain.pem"

# PEM encoded private key for TLS
tls_private_key_path: "/opt/synapse/letsencrypt-privkey.pem"

Save the file and exit from the editor. Restart the Synapse server so that the changes can take effect.

source /opt/synapse/bin/activate && cd /opt/synapse
synctl restart

Let's Encrypt certificates are due to expire in 90 days, so it is recommended that you setup auto renewal for the certificates using cron jobs. Cron is a system service which is used to run periodic tasks.

Create a new script to renew certificates and copy the renewed certificates to the Synapse directory.

sudo nano /opt/renew-letsencypt.sh  

Populate the file.

#!/bin/sh

/usr/bin/certbot renew --quiet --nginx
cp /etc/letsencrypt/live/matrix.example.com/fullchain.pem /opt/synapse/letsencrypt-fullchain.pem
cp /etc/letsencrypt/live/matrix.example.com/privkey.pem /opt/synapse/letsencrypt-privkey.pem

Provide the execution permission.

sudo chmod +x /opt/renew-letsencypt.sh

Open the cron job file.

sudo crontab -e

Add the following line at the end of the file.

30 5 * * 1 /opt/renew-letsencypt.sh

The above cron job will run every Monday at 5:30 AM. If the certificate is due to expire, it will automatically renew them.

Now you can visit https://matrix.example.com:8448. You will see that there is no SSL warning before connection.

Setup Nginx With Let's Encrypt

Apart from the secured federation port 8448, Synapse also listens to the unsecured client port 8008. We will now configure Nginx as a reverse proxy to the Synapse application.

sudo yum -y install nginx

Create a new configuration file.

sudo nano /etc/nginx/conf.d/synapse.conf

Populate the file with the following content.

server {
    listen 80;
    server_name matrix.example.com;
    return 301 https://$host$request_uri;
}
server {

    listen 443;
    server_name matrix.example.com;

    ssl_certificate           /etc/letsencrypt/live/matrix.example.com/fullchain.pem;
    ssl_certificate_key       /etc/letsencrypt/live/matrix.example.com/privkey.pem;

    ssl on;
    ssl_session_cache  builtin:1000  shared:SSL:10m;
    ssl_protocols  TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4;
    ssl_prefer_server_ciphers on;

    access_log    /var/log/nginx/synapse.access.log;

    location /_matrix {

      proxy_pass          http://localhost:8008;
      proxy_set_header X-Forwarded-For $remote_addr;

    }
  }

Restart and enable Nginx to automatically start at boot time.

sudo systemctl restart nginx
sudo systemctl enable nginx

Finalment, podeu verificar si es pot accedir a Synapse mitjançant el servidor intermediari invers.

curl https://matrix.example.com/_matrix/key/v2/server/auto

Hauríeu d'obtenir una sortida similar.

[user@vultr ~]$ curl https://matrix.example.com/_matrix/key/v2/server/auto
{"old_verify_keys":{},"server_name":"matrix.example.com","signatures":{"matrix.example.com":{"ed25519:a_ffMf":"T/Uq/UN5vyc4w7v0azALjPIJeZx1vQ+HC6ohUGkTSqiFI4WI/ojGpb2763arwSSQLr/tP/2diCi1KLU2DEnOCQ"}},"tls_fingerprints":[{"sha256":"eorhQj/kubI2PEQZyBZvGV7K1x3EcQ7j/AO2MtZMplw"}],"valid_until_ts":1504876080512,"verify_keys":{"ed25519:a_ffMf":{"key":"Gc1hxkpPmQv71Cvjyk+uzR5UtrpmgV/UwlsLtosawEs"}}}

Configuració del servei Systemd

Es recomana utilitzar el servei Systemd per gestionar el procés del servidor Synapse. Si feu servir Systemd, s'assegurarà que el servidor s'iniciï automàticament a l'inici i errors del sistema.

Creeu un fitxer de servei Systemd nou.

sudo nano /etc/systemd/system/matrix-synapse.service

Omple el fitxer.

[Unit]
Description=Matrix Synapse service
After=network.target

[Service]
Type=forking
WorkingDirectory=/opt/synapse/
ExecStart=/opt/synapse/bin/synctl start
ExecStop=/opt/synapse/bin/synctl stop
ExecReload=/opt/synapse/bin/synctl restart
Restart=always
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=synapse

[Install]
WantedBy=multi-user.target

Ara podeu iniciar ràpidament el servidor Synapse.

sudo systemctl start matrix-synapse

Per aturar o reiniciar el servidor mitjançant les ordres següents.

sudo systemctl stop matrix-synapse
sudo systemctl restart matrix-synapse

Podeu consultar l'estat del servei.

sudo systemctl status matrix-synapse

Utilitzant Riot

Ara el servidor Matrix Synapse està instal·lat i configurat al vostre servidor. Com que el client web integrat per a Matrix està obsolet, podeu triar entre la varietat d'aplicacions de client disponibles per al xat. Riot és el client de xat més popular, que està disponible a gairebé totes les plataformes. Podeu utilitzar la versió allotjada del client de xat web de Riot, o també podeu allotjar-ne una còpia al vostre propi servidor. A part d'això, també podeu utilitzar els clients de xat mòbil i d'escriptori de Riot, que estan disponibles per a Windows, Mac, Linux, IOS i Android.

Si voleu allotjar la vostra pròpia còpia del client web de Riot, podeu llegir més informació per obtenir les instruccions per instal·lar Riot al vostre servidor. Per al client allotjat, d'escriptori i mòbil, podeu utilitzar el vostre nom d'usuari i contrasenya per iniciar sessió directament al vostre servidor domèstic. Només has de triar my Matrix IDal menú desplegable de l' Sign Inopció i proporcionar el nom d'usuari i la contrasenya que has creat durant el registre d'un nou usuari. Feu clic a Custom serveri utilitzeu el nom de domini de la vostra instància de Synapse. Com ja hem configurat Nginx, només podem utilitzar-lo https://matrix.example.comcom a servidor d'inici i https://matrix.orgcom a URL del servidor d'identitat.

Exemple d'inici de sessió de Riot

Configura Riot al teu propi servidor.

Riot també és de codi obert i gratuït per allotjar-se al vostre propi servidor. No requereix cap base de dades ni dependències. Com que ja tenim un servidor Nginx en execució, podem allotjar-lo al mateix servidor.

The domain or subdomain you are using for Synapse and Riot must be different to avoid cross-site scripting. However, you can use two subdomains of the same domain. In this tutorial, we will be using riot.example.com as the domain for the Riot application. Replace all occurrence of riot.example.com with your actual domain or subdomain for the Riot application.

Descarrega Riot al teu servidor.

cd /opt/
sudo wget https://github.com/vector-im/riot-web/releases/download/v0.12.3/riot-v0.12.3.tar.gz

Sempre podeu trobar l'enllaç a la darrera versió al Github de Riot .

Extraieu l'arxiu.

sudo tar -xzf riot-v*.tar.gz

Canvieu el nom del directori per a més comoditat.

sudo mv riot-v*/ riot/

Com que ja hem instal·lat Certbot, podem generar els certificats directament. Assegureu-vos que el domini o subdomini que utilitzeu estigui orientat cap al servidor.

sudo systemctl stop nginx
sudo certbot certonly --standalone -d riot.example.com

És probable que els certificats generats s'emmagatzemin al /etc/letsencrypt/live/riot.example.com/directori.

Creeu un host virtual per a l'aplicació Riot.

sudo nano /etc/nginx/conf.d/riot.conf

Omple el fitxer.

server {
    listen 80;
    server_name riot.example.com;
    return 301 https://$host$request_uri;
}
server {

    listen 443;
    server_name riot.example.com;

    ssl_certificate           /etc/letsencrypt/live/riot.example.com/fullchain.pem;
    ssl_certificate_key       /etc/letsencrypt/live/riot.example.com/privkey.pem;

    ssl on;
    ssl_session_cache  builtin:1000  shared:SSL:10m;
    ssl_protocols  TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4;
    ssl_prefer_server_ciphers on;

    root /opt/riot;
    index index.html index.htm;

    location / {
            try_files $uri $uri/ =404;
    }

    access_log    /var/log/nginx/riot.access.log;

  }

Copieu el fitxer de configuració de mostra.

sudo cp /opt/riot/config.sample.json /opt/riot/config.json

Ara editeu el fitxer de configuració per fer alguns canvis.

sudo nano /opt/riot/config.json

Busca les línies següents.

"default_hs_url": "https://matrix.org",
"default_is_url": "https://vector.im",

Substituïu el valor de l'URL del servidor domèstic predeterminat per l'URL del vostre servidor Matrix. Per a l'URL del servidor d'identitats, podeu utilitzar l'opció predeterminada o també podeu proporcionar el seu valor al servidor d'identitats de Matrix, que és https://matrix.org.

"default_hs_url": "https://matrix.example.com",
"default_is_url": "https://matrix.org",

Desa el fitxer i surt. Proporcioneu la propietat dels fitxers a l'usuari de Nginx.

sudo chown -R nginx:nginx /opt/riot/

Reinicieu Nginx.

sudo systemctl restart nginx

Podeu accedir a Riot a https://riot.example.com. Ara podeu iniciar sessió amb el nom d'usuari i la contrasenya que heu creat anteriorment. Podeu connectar-vos mitjançant el servidor predeterminat, ja que ja hem canviat el servidor Matrix predeterminat per a la nostra aplicació.

Ara teniu un servidor domèstic Matrix Synapse en funcionament. També teniu una còpia allotjada de Riot, que podeu utilitzar per enviar un missatge a altres persones mitjançant el seu identificador de Matrix, correu electrònic o número de mòbil. Comenceu creant una sala de xat al vostre servidor i convida els teus amics de Matrix a unir-se a la sala de xat que has creat.


Instal·leu Plesk a CentOS 7

Instal·leu Plesk a CentOS 7

Utilitzeu un sistema diferent? Plesk és un tauler de control d'amfitrió web propietari que permet als usuaris administrar els seus llocs web personals i/o de clients, bases de dades

Com instal·lar Squid Proxy a CentOS

Com instal·lar Squid Proxy a CentOS

Squid és un popular programa Linux gratuït que us permet crear un servidor intermediari web de reenviament. En aquesta guia, veureu com instal·lar Squid a CentOS per convertir-vos-hi

Com instal·lar Lighttpd (LLMP Stack) a CentOS 6

Com instal·lar Lighttpd (LLMP Stack) a CentOS 6

Introducció Lighttpd és una bifurcació d'Apache destinada a ser molt menys intensiu en recursos. És lleuger, d'aquí el seu nom, i és bastant senzill d'utilitzar. Instal·lant

Configuració de xarxes estàtiques i IPv6 a CentOS 7

Configuració de xarxes estàtiques i IPv6 a CentOS 7

Recentment, VULTR ha fet canvis al seu extrem, i ara tot hauria de funcionar bé des de la caixa amb NetworkManager habilitat. Si voleu desactivar

Modificació dIcinga2 per utilitzar el model mestre/client a CentOS 6 o CentOS 7

Modificació dIcinga2 per utilitzar el model mestre/client a CentOS 6 o CentOS 7

Icinga2 és un sistema de supervisió potent i, quan s'utilitza en un model de client mestre, pot substituir la necessitat de controls de monitoratge basats en NRPE. El mestre-client

Com instal·lar Apache Cassandra 3.11.x a CentOS 7

Com instal·lar Apache Cassandra 3.11.x a CentOS 7

Utilitzeu un sistema diferent? Apache Cassandra és un sistema de gestió de bases de dades NoSQL gratuït i de codi obert dissenyat per proporcionar escalabilitat, alta

Com instal·lar Microweber a CentOS 7

Com instal·lar Microweber a CentOS 7

Utilitzeu un sistema diferent? Microweber és un CMS d'arrossegar i deixar anar de codi obert i una botiga en línia. El codi font de Microweber està allotjat a GitHub. Aquesta guia us mostrarà

Com instal·lar Vanilla Forum a CentOS 7

Com instal·lar Vanilla Forum a CentOS 7

Utilitzeu un sistema diferent? Vanilla Forum és una aplicació de fòrum de codi obert escrita en PHP. És totalment personalitzable, fàcil d'utilitzar i admet externa

Com instal·lar Mattermost 4.1 a CentOS 7

Com instal·lar Mattermost 4.1 a CentOS 7

Utilitzeu un sistema diferent? Mattermost és una alternativa autoallotjada de codi obert al servei de missatgeria Slack SAAS. En altres paraules, amb Mattermost, ca

Creació duna xarxa de servidors de Minecraft amb BungeeCord a Debian 8, Debian 9 o CentOS 7

Creació duna xarxa de servidors de Minecraft amb BungeeCord a Debian 8, Debian 9 o CentOS 7

Què necessitareu Un Vultr VPS amb almenys 1 GB de RAM. Accés SSH (amb privilegis d'arrel/administrador). Pas 1: instal·lació de BungeeCord Primer de tot

Permet xifrar a Plesk

Permet xifrar a Plesk

El tauler de control de Plesk inclou una integració molt agradable per Lets Encrypt. Lets Encrypt és un dels únics proveïdors SSL que ofereix certificats complets

Permet xifrar a cPanel

Permet xifrar a cPanel

Lets Encrypt és una autoritat de certificació dedicada a proporcionar certificats SSL de manera gratuïta. cPanel ha creat una integració perfecta perquè tu i el teu client

Com instal·lar Concrete5 a CentOS 7

Com instal·lar Concrete5 a CentOS 7

Utilitzeu un sistema diferent? Concrete5 és un CMS de codi obert que ofereix moltes característiques distintives i útils per ajudar els editors a produir continguts fàcilment i

Com instal·lar el tauler de revisió a CentOS 7

Com instal·lar el tauler de revisió a CentOS 7

Utilitzeu un sistema diferent? Review Board és una eina gratuïta i de codi obert per revisar el codi font, la documentació, les imatges i molts més. És un programari basat en web

Configura lautenticació HTTP amb Nginx a CentOS 7

Configura lautenticació HTTP amb Nginx a CentOS 7

En aquesta guia, aprendràs a configurar l'autenticació HTTP per a un servidor web Nginx que s'executa a CentOS 7. Requisits Per començar, necessitareu el

Com instal·lar GoAccess a CentOS 7

Com instal·lar GoAccess a CentOS 7

Utilitzeu un sistema diferent? GoAccess és un analitzador de registres web de codi obert. Podeu utilitzar-lo per analitzar els registres en temps real al terminal o

Com instal·lar YOURLS a CentOS 7

Com instal·lar YOURLS a CentOS 7

YOURLS (Your Own URL Shortener) és una aplicació d'anàlisi de dades i escurçament d'URL de codi obert. En aquest article, tractarem el procés d'instal·lació

Com instal·lar i configurar ArangoDB a CentOS 7

Com instal·lar i configurar ArangoDB a CentOS 7

Utilitzeu un sistema diferent? Introducció ArangoDB és una base de dades NoSQL de codi obert amb un model de dades flexible per a documents, gràfics i claus-valors. És

Utilitzant Etckeeper per al control de versions de /etc

Utilitzant Etckeeper per al control de versions de /etc

Introducció El directori /etc/ té un paper crític en el funcionament d'un sistema Linux. La raó d'això és perquè gairebé totes les configuracions del sistema

Per què hauríeu dutilitzar SSHFS? Com muntar un sistema de fitxers remot amb SSHFS a CentOS 6

Per què hauríeu dutilitzar SSHFS? Com muntar un sistema de fitxers remot amb SSHFS a CentOS 6

Molts administradors de sistemes gestionen grans quantitats de servidors. Quan s'hagi d'accedir als fitxers a través de diferents servidors, inicieu sessió a cadascun individualment ca

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

La Intel·ligència Artificial no està en el futur, és aquí mateix en el present. En aquest bloc Llegiu com les aplicacions d'Intel·ligència Artificial han afectat diversos sectors.

Atacs DDOS: una breu visió general

Atacs DDOS: una breu visió general

També ets víctima d'atacs DDOS i estàs confós sobre els mètodes de prevenció? Llegiu aquest article per resoldre les vostres consultes.

Us heu preguntat mai com guanyen diners els pirates informàtics?

Us heu preguntat mai com guanyen diners els pirates informàtics?

Potser haureu sentit que els pirates informàtics guanyen molts diners, però us heu preguntat mai com guanyen aquest tipus de diners? anem a discutir.

Invents revolucionaris de Google que us facilitaran la vida.

Invents revolucionaris de Google que us facilitaran la vida.

Vols veure els invents revolucionaris de Google i com aquests invents van canviar la vida de tots els éssers humans actuals? A continuació, llegiu al bloc per veure els invents de Google.

Divendres essencial: què va passar amb els cotxes impulsats per IA?

Divendres essencial: què va passar amb els cotxes impulsats per IA?

El concepte de cotxes autònoms per sortir a les carreteres amb l'ajuda de la intel·ligència artificial és un somni que tenim des de fa temps. Però malgrat les diverses promeses, no es veuen enlloc. Llegeix aquest blog per saber-ne més...

Singularitat tecnològica: un futur llunyà de la civilització humana?

Singularitat tecnològica: un futur llunyà de la civilització humana?

A mesura que la ciència evoluciona a un ritme ràpid, fent-se càrrec de molts dels nostres esforços, també augmenten els riscos de sotmetre'ns a una singularitat inexplicable. Llegeix, què pot significar per a nosaltres la singularitat.

Evolució de lemmagatzematge de dades – Infografia

Evolució de lemmagatzematge de dades – Infografia

Els mètodes d'emmagatzematge de les dades que han anat evolucionant poden ser des del naixement de les dades. Aquest bloc tracta l'evolució de l'emmagatzematge de dades a partir d'una infografia.

Funcionalitats de les capes darquitectura de referència de Big Data

Funcionalitats de les capes darquitectura de referència de Big Data

Llegeix el blog per conèixer de la manera més senzilla les diferents capes de l'Arquitectura Big Data i les seves funcionalitats.

6 avantatges sorprenents de tenir dispositius domèstics intel·ligents a les nostres vides

6 avantatges sorprenents de tenir dispositius domèstics intel·ligents a les nostres vides

En aquest món digital, els dispositius domèstics intel·ligents s'han convertit en una part crucial de les vides. A continuació, es mostren alguns avantatges sorprenents dels dispositius domèstics intel·ligents sobre com fan que la nostra vida valgui la pena i sigui més senzilla.

Lactualització del suplement de macOS Catalina 10.15.4 està causant més problemes que no pas solucions

Lactualització del suplement de macOS Catalina 10.15.4 està causant més problemes que no pas solucions

Recentment, Apple va llançar macOS Catalina 10.15.4, una actualització de suplements per solucionar problemes, però sembla que l'actualització està causant més problemes que provoquen el bloqueig de les màquines Mac. Llegiu aquest article per obtenir més informació