Crea un server di chat usando Matrix Synapse e Riot su CentOS 7

Matrix è un protocollo di comunicazione standard aperto per la comunicazione decentralizzata in tempo reale. Matrix è implementato come server domestici distribuiti su Internet; quindi non esiste un singolo punto di controllo o fallimento. Matrix fornisce un'API HTTP RESTful per la creazione e la gestione dei server di chat distribuiti che include l'invio e la ricezione di messaggi, l'invito e la gestione dei membri della chat room, la gestione degli account utente e la fornitura di funzionalità di chat avanzate come VoIP e videochiamate, ecc. Matrix stabilisce anche un sincronizzazione sicura tra server domestici distribuiti in tutto il mondo.

Synapse è l'implementazione del server principale Matrix scritta dal team Matrix. L'ecosistema Matrix è costituito dalla rete di numerosi server domestici federati distribuiti in tutto il mondo. Un utente Matrix utilizza un client di chat per connettersi al server principale, che a sua volta si connette alla rete Matrix. Homeserver memorizza la cronologia della chat e le informazioni di accesso di quel particolare utente.

Prerequisiti

  • Un'istanza del server Vultr CentOS 7.
  • Un utente sudo .

In questo tutorial, useremo matrix.example.comcome nome di dominio utilizzato per Matrix Synapse. Sostituisci tutte le occorrenze matrix.example.comcon il tuo vero nome di dominio che desideri utilizzare per il tuo server principale Synapse.

Aggiorna il tuo sistema di base usando la guida Come aggiornare CentOS 7 . Una volta aggiornato il sistema, procedere con l'installazione di Python.

Installa strumenti di sviluppo

Matrix Synapse ha bisogno di Python 2.7 per funzionare. Python 2.7 viene preinstallato in tutte le istanze del server CentOS. Puoi controllare la versione installata di Python.

python -V

Dovresti ottenere un risultato simile.

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

La modifica della versione predefinita di Python potrebbe interrompere la gestione del repository YUM. Tuttavia, se si desidera la versione più recente di Python, è possibile effettuare un'installazione alternativa, senza sostituire Python predefinito.

Installare i pacchetti nel Development toolsgruppo necessari per compilare i file di installazione.

sudo yum groupinstall -y "Development tools"

Installa alcune dipendenze in più.

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 

Installa pip Python. Pip è il gestore delle dipendenze per i pacchetti Python.

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

Installa Synapse

Creare un ambiente virtuale per l'applicazione Synapse. L'ambiente virtuale Python viene utilizzato per creare un ambiente virtuale isolato per un progetto Python. Un ambiente virtuale contiene le proprie directory di installazione e non condivide le librerie con ambienti globali e altri ambienti virtuali.

sudo virtualenv -p python2.7 /opt/synapse

Fornire la proprietà della directory all'utente corrente.

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

Ora attiva l'ambiente virtuale.

source /opt/synapse/bin/activate

Assicurarsi di disporre dell'ultima versione di pipe setuptools.

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

Installa l'ultima versione di Synapse usando pip.

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

Il comando sopra richiederà del tempo per essere eseguito mentre estrae e installa l'ultima versione di Synapse e tutte le dipendenze dal repository Github.

Installazione e configurazione di PostgreSQL

Synapse utilizza SQLite come database predefinito. SQLite archivia i dati in un database che viene mantenuto come file flat su disco. L'uso di SQLite è molto semplice, ma non è raccomandato per la produzione in quanto è molto lento rispetto a PostgreSQL.

PostgreSQL è un sistema di database relazionale di oggetti. Dovrai aggiungere il repository PostgreSQL nel tuo sistema, poiché l'applicazione non è disponibile nel repository YUM predefinito.

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

Installa il server di database PostgreSQL.

sudo yum -y install postgresql96-server postgresql96-contrib

Inizializza il database.

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

Modifica /var/lib/pgsql/9.6/data/pg_hba.confper abilitare l'autenticazione basata su MD5.

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

Trova le seguenti righe e modifica peerin truste idnetin 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

Una volta aggiornata, la configurazione dovrebbe apparire così.

# 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

Avviare il server PostgreSQL e abilitarlo ad avviarsi automaticamente all'avvio.

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

Cambia la password per l'utente PostgreSQL predefinito.

sudo passwd postgres

Accesso.

sudo su - postgres

Crea un nuovo utente PostgreSQL per Synapse.

createuser synapse

PostgreSQL fornisce la psqlshell per eseguire query sul database. Passa alla shell PostgreSQL eseguendo.

psql

Impostare una password per l'utente appena creato per il database Synapse.

ALTER USER synapse WITH ENCRYPTED password 'DBPassword';

Sostituisci DBPasswordcon una password complessa e prendine nota poiché la password verrà utilizzata in seguito. Creare un nuovo database per il database PostgreSQL.

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

Esci dalla psqlshell.

\q

Passa sudoall'utente postgresdall'utente corrente .

exit

Sarà inoltre necessario installare i pacchetti richiesti affinché Synapse comunichi con il server di database PostgreSQL.

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

Configurazione di Synapse

Synapse richiede un file di configurazione prima che possa essere avviato. Il file di configurazione memorizza le impostazioni del server. Passa all'ambiente virtuale e genera la configurazione per 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

Sostituisci matrix.example.comcon il tuo vero nome di dominio e assicurati che il nome del server sia risolvibile con l'indirizzo IP dell'istanza Vultr. Fornire --report-stats=yesse si desidera che i server generino i report, --report-stats=nodisattivare la generazione di report e statistiche.

Dovresti vedere un output simile.

(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 impostazione predefinita, homeserver.yamlè configurato per utilizzare un database SQLite. Dobbiamo modificarlo per utilizzare il database PostgreSQL che abbiamo creato in precedenza.

Modifica il nuovo creato homeserver.yaml.

nano homeserver.yaml

Trova la configurazione del database esistente che utilizza SQLite3. Commenta le righe come mostrato di seguito. Inoltre, aggiungi la nuova configurazione del database per PostgreSQL. Assicurarsi di utilizzare le credenziali del database corrette.

# 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

La registrazione di un nuovo utente da un'interfaccia Web è disabilitata per impostazione predefinita. Per abilitare la registrazione, è possibile impostare enable_registrationsu True. È inoltre possibile impostare una chiave di registrazione segreta, che consente a chiunque di registrarsi chi ha la chiave segreta, anche se la registrazione è disabilitata.

enable_registration: False

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

Salvare il file ed uscire dall'editor. Ora dovrai registrare il tuo primo utente. Prima di poter registrare un nuovo utente, tuttavia, è necessario avviare prima l'applicazione.

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

Dovresti vedere le seguenti righe.

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')

Registra un nuovo utente Matrix.

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

Dovresti vedere quanto segue.

(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.

Infine, prima di poter utilizzare Homeserver, sarà necessario consentire la porta 8448 attraverso il firewall. Porta 8448viene utilizzata come porta federata protetta. I server di case utilizzano questa porta per comunicare tra loro in modo sicuro. È inoltre possibile utilizzare il client di chat Web Matrix integrato tramite questa porta.

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

Ora puoi accedere al client di chat web Matrix accedendo al https://matrix.example.com:8448tuo browser preferito. Verrà visualizzato un avviso sul certificato SSL poiché i certificati utilizzati sono autofirmati. Non utilizzeremo questo client di chat Web poiché è obsoleto e non è più gestito. Prova a controllare se riesci ad accedere utilizzando l'account utente che hai appena creato.

Impostazione Let's Encrypt Certificates

Invece di utilizzare un certificato autofirmato per proteggere la porta della federazione, possiamo usare Let's Encrypt SSL gratuito. Let's Encrypt SSL gratuito può essere ottenuto tramite il client Let's Encrypt ufficiale chiamato Certbot.

Installa Certbot.

sudo yum -y install certbot

Modifica le impostazioni del firewall per consentire lo standard HTTPe le HTTPSporte attraverso il firewall. Certbot deve stabilire una HTTPconnessione per verificare l'autorità di dominio.

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

Per ottenere certificati da Let's Encrypt CA, è necessario assicurarsi che il dominio per il quale si desidera generare i certificati sia puntato verso il server. In caso contrario, apporta le modifiche necessarie ai record DNS del tuo dominio e attendi che il DNS si propaghi prima di effettuare nuovamente la richiesta di certificato. Certbot controlla l'autorità di dominio prima di fornire i certificati.

Ora usa il web server integrato in Certbot per generare i certificati per il tuo dominio.

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

È probabile che i certificati generati siano archiviati in /etc/letsencrypt/live/matrix.example.com/. Il certificato SSL verrà archiviato come fullchain.peme la chiave privata verrà archiviata come privkey.pem.

Copia i certificati.

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

Sarà necessario modificare il percorso dei certificati e delle chiavi dal homeserver.yamlfile. Modifica la configurazione.

nano /opt/synapse/homeserver.yaml

Trova le seguenti righe e modifica il percorso.

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

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

Salvare il file ed uscire dall'editor. Riavviare il server Synapse in modo che le modifiche abbiano effetto.

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

Let's Encrypt i certificati scadranno tra 90 giorni, quindi si consiglia di impostare il rinnovo automatico per i certificati utilizzando cron job. Cron è un servizio di sistema che viene utilizzato per eseguire attività periodiche.

Crea un nuovo script per rinnovare i certificati e copia i certificati rinnovati nella directory Synapse.

sudo nano /opt/renew-letsencypt.sh  

Popolare il 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

Fornire il permesso di esecuzione.

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

Apri il file di lavoro cron.

sudo crontab -e

Aggiungi la seguente riga alla fine del file.

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

Il processo cron sopra riportato verrà eseguito ogni lunedì alle 5:30. Se il certificato scade, li rinnoverà automaticamente.

Adesso puoi visitare https://matrix.example.com:8448. Vedrai che non c'è nessun avviso SSL prima della connessione.

Installa Nginx con Let's Encrypt

Oltre alla porta federata protetta 8448, Synapse ascolta anche la porta client non protetta 8008. Ora configureremo Nginx come proxy inverso per l'applicazione Synapse.

sudo yum -y install nginx

Crea un nuovo file di configurazione.

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

Popolare il file con il seguente contenuto.

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;

    }
  }

Riavvia e abilita Nginx ad avviarsi automaticamente all'avvio.

sudo systemctl restart nginx
sudo systemctl enable nginx

Infine, puoi verificare se è possibile accedere a Synapse tramite il proxy inverso.

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

Dovresti ottenere un output simile.

[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"}}}

Impostazione del servizio Systemd

Si consiglia di utilizzare il servizio Systemd per gestire il processo del server Synapse. L'uso di Systemd assicurerà che il server venga avviato automaticamente all'avvio del sistema e agli errori.

Creare un nuovo file di servizio Systemd.

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

Popolare il file.

[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

Ora puoi avviare rapidamente il server Synapse.

sudo systemctl start matrix-synapse

Per arrestare o riavviare il server utilizzando i seguenti comandi.

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

Puoi controllare lo stato del servizio.

sudo systemctl status matrix-synapse

Usando Riot

Il server Matrix Synapse è ora installato e configurato sul tuo server. Poiché il client Web incorporato per Matrix è obsoleto, è possibile scegliere tra la varietà di applicazioni client disponibili per la chat. Riot è il client di chat più popolare, disponibile su quasi tutte le piattaforme. Puoi utilizzare la versione ospitata del client di chat web di Riot oppure puoi anche ospitarne una copia sul tuo server. Oltre a questo, puoi anche utilizzare i client di chat desktop e mobile di Riot, disponibili per Windows, Mac, Linux, IOS e Android.

Se si desidera ospitare la propria copia del client Web Riot, è possibile leggere ulteriormente le istruzioni per installare Riot sul proprio server. Per client ospitati, desktop e mobili, è possibile utilizzare il nome utente e la password per accedere direttamente al homeserver. Basta scegliere my Matrix IDdal menu a discesa Sign Indell'opzione e fornire il nome utente e la password creati durante la registrazione di un nuovo utente. Fare clic su Custom servere utilizzare il nome di dominio dell'istanza di Synapse. Dato che abbiamo già configurato Nginx, possiamo semplicemente utilizzare https://matrix.example.comcome server principale e https://matrix.orgcome URL del server di identità.

Esempio di accesso antisommossa

Installa Riot sul tuo server.

Riot è anche open source e gratuito per l'hosting sul proprio server. Non richiede alcun database o dipendenze. Poiché disponiamo già di un server Nginx, possiamo ospitarlo sullo stesso server.

Il dominio o sottodominio che si sta utilizzando per Synapse e Riot deve essere diverso per evitare lo scripting tra siti. Tuttavia, puoi utilizzare due sottodomini dello stesso dominio. In questo tutorial, useremo riot.example.comcome dominio l'applicazione Riot. Sostituisci tutte le occorrenze di riot.example.comcon il tuo dominio o sottodominio effettivo per l'applicazione Riot.

Scarica Riot sul tuo server.

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

Puoi sempre trovare il link all'ultima versione su Riot's Github .

Estrai l'archivio.

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

Rinominare la directory per comodità d'uso.

sudo mv riot-v*/ riot/

Poiché abbiamo già installato Certbot, possiamo generare direttamente i certificati. Assicurati che il dominio o il sottodominio che stai utilizzando sia puntato verso il server.

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

È probabile che i certificati generati siano archiviati nella /etc/letsencrypt/live/riot.example.com/directory.

Creare un host virtuale per l'applicazione Riot.

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

Popolare il file.

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;

  }

Copia il file di configurazione di esempio.

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

Ora modifica il file di configurazione per apportare alcune modifiche.

sudo nano /opt/riot/config.json

Trova le seguenti righe.

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

Sostituisci il valore dell'URL del server principale predefinito con l'URL del tuo server Matrix. Per l'URL del server identità, è possibile utilizzare l'opzione predefinita oppure è possibile fornire il proprio valore al server identità Matrix, ovvero https://matrix.org.

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

Salva il file ed esci. Fornire la proprietà dei file all'utente Nginx.

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

Riavvia Nginx.

sudo systemctl restart nginx

Puoi accedere a Riot su https://riot.example.com. Ora puoi accedere usando il nome utente e la password che hai creato in precedenza. Puoi connetterti utilizzando il server predefinito poiché abbiamo già modificato il server Matrix predefinito per la nostra applicazione.

Ora hai un server principale Matrix Synapse attivo e funzionante. Hai anche una copia ospitata di Riot, che puoi usare per inviare un messaggio ad altre persone usando il loro ID Matrix, e-mail o numero di cellulare. Inizia creando una chat room sul tuo server e invita i tuoi amici su Matrix a unirsi alla chat room che hai creato.



Come installare e configurare CyberPanel sul server CentOS 7

Come installare e configurare CyberPanel sul server CentOS 7

Usi un sistema diverso? Introduzione CyberPanel è uno dei primi pannelli di controllo sul mercato che è sia open source che utilizza OpenLiteSpeed. Che cosa

Come installare e configurare Sensu Monitoring su CentOS 7

Come installare e configurare Sensu Monitoring su CentOS 7

Introduzione Sensu è una soluzione di monitoraggio gratuita e open source che può essere utilizzata per monitorare server, applicazioni e vari servizi di sistema. Sensu i

Come installare OpenMeetings su CentOS 7

Come installare OpenMeetings su CentOS 7

Usi un sistema diverso? Apache OpenMeetings è unapplicazione per conferenze Web open source. È scritto in Java e supporta più server di database. io

Come usare Sudo su Debian, CentOS e FreeBSD

Come usare Sudo su Debian, CentOS e FreeBSD

Luso di un utente sudo per accedere a un server ed eseguire comandi a livello di root è una pratica molto comune tra Linux e Unix Systems Administrator. Luso di un sud

Come installare RabbitMQ su CentOS 7

Come installare RabbitMQ su CentOS 7

Usando un sistema diverso? RabbitMQ è un broker di messaggi open source ampiamente utilizzato scritto nel linguaggio di programmazione Erlang. Come middleware orientato ai messaggi

Installazione di Nginx-RTMP su CentOS 7

Installazione di Nginx-RTMP su CentOS 7

Usi un sistema diverso? RTMP è ottimo per pubblicare contenuti live. Quando RTMP è associato a FFmpeg, i flussi possono essere convertiti in varie qualità. Vultr i

Come installare TaskBoard 0.3.1 su CentOS 7

Come installare TaskBoard 0.3.1 su CentOS 7

TaskBoard è unapp Web di gestione del tempo gratuita e open source. Ispirato da Kanban, TaskBoard può aiutarti a tenere traccia delle cose che devono essere fatte in a

Come installare Gradle su CentOS 7

Come installare Gradle su CentOS 7

Usi un sistema diverso? Gradle è un set di strumenti di automazione di build gratuito e open source basato sui concetti di Apache Ant e Apache Maven. Gradle fornisce

Installa un server FTP con ProFTPd su CentOS 6 o CentOS 7

Installa un server FTP con ProFTPd su CentOS 6 o CentOS 7

Usi un sistema diverso? In questa guida, vedremo come configurare un server FTP (ProFTPd) per trasferire file tra il tuo PC e il tuo server.

Installazione di Netdata su CentOS 7

Installazione di Netdata su CentOS 7

Usando un sistema diverso? Netdata è una stella nascente nel campo del monitoraggio delle metriche di sistema in tempo reale. Rispetto ad altri strumenti dello stesso tipo, Netdata:

Come installare Apache Cassandra 3.11.x su CentOS 7

Come installare Apache Cassandra 3.11.x su CentOS 7

Usi un sistema diverso? Apache Cassandra è un sistema di gestione di database NoSQL gratuito e open source progettato per fornire scalabilità, alta

Come installare Just Cause 2 (JC2-MP) Server su CentOS 7

Come installare Just Cause 2 (JC2-MP) Server su CentOS 7

In questo tutorial imparerai bene come configurare un server multiplayer Just Cause 2. Prerequisiti Assicurarsi che il sistema sia completamente aggiornato prima di iniziare

Come installare Starbound Server su CentOS 7

Come installare Starbound Server su CentOS 7

Usando un sistema diverso? In questo tutorial, spiegherò come impostare un server Starbound su CentOS 7. Prerequisiti Devi possedere questo gioco su di te

Installazione e configurazione di ZNC su CentOS 7

Installazione e configurazione di ZNC su CentOS 7

ZNC è un buttafuori IRC gratuito e open source che rimane permanentemente connesso a una rete in modo che i client possano ricevere messaggi inviati mentre sono offline. Thi

Come installare Django su CentOS 7

Come installare Django su CentOS 7

Django è un popolare framework Python per la scrittura di applicazioni Web. Con Django, puoi creare applicazioni più velocemente, senza reinventare la ruota. Se vuoi

Come impostare lautenticazione a due fattori (2FA) per SSH su CentOS 6 utilizzando Google Authenticator

Come impostare lautenticazione a due fattori (2FA) per SSH su CentOS 6 utilizzando Google Authenticator

Dopo aver modificato la porta SSH, configurato il port knocking e apportato altre modifiche per la sicurezza SSH, cè forse un altro modo per proteggerti

Come installare MyCLI su Linux (CentOS, Debian, Fedora e Ubuntu)

Come installare MyCLI su Linux (CentOS, Debian, Fedora e Ubuntu)

Introduzione MyCLI è un client da riga di comando per MySQL e MariaDB che ti consente di completare automaticamente e ti aiuta con la sintassi dei tuoi comandi SQL. MyCL

Come installare Directus 6.4 CMS su un VPS CentOS 7 LAMP

Come installare Directus 6.4 CMS su un VPS CentOS 7 LAMP

Usi un sistema diverso? Directus 6.4 CMS è un sistema di gestione dei contenuti senza testa (CMS) potente e flessibile, gratuito e open source che fornisce agli sviluppatori

Creare una rete di server Minecraft con BungeeCord su Debian 8, Debian 9 o CentOS 7

Creare una rete di server Minecraft con BungeeCord su Debian 8, Debian 9 o CentOS 7

Cosa ti serve Un VPS Vultr con almeno 1 GB di RAM. Accesso SSH (con privilegi di root / amministrativi). Passaggio 1: installare prima BungeeCord

Come installare MaraDNS su CentOS 6

Come installare MaraDNS su CentOS 6

MaraDNS è un programma server DNS open source leggero ma robusto. Rispetto ad altre applicazioni dello stesso tipo, come ISC BIND, PowerDNS e djbdns

Lintelligenza artificiale può combattere con un numero crescente di attacchi ransomware?

Lintelligenza artificiale può combattere con un numero crescente di attacchi ransomware?

Gli attacchi ransomware sono in aumento, ma l'intelligenza artificiale può aiutare ad affrontare l'ultimo virus informatico? L'intelligenza artificiale è la risposta? Leggi qui sai è AI boone o bane

ReactOS: è questo il futuro di Windows?

ReactOS: è questo il futuro di Windows?

ReactOS, un sistema operativo open source e gratuito è qui con l'ultima versione. Può essere sufficiente alle esigenze degli utenti Windows moderni e abbattere Microsoft? Scopriamo di più su questo vecchio stile, ma un'esperienza del sistema operativo più recente.

Rimani connesso tramite lapp desktop WhatsApp 24*7

Rimani connesso tramite lapp desktop WhatsApp 24*7

Whatsapp ha finalmente lanciato l'app desktop per utenti Mac e Windows. Ora puoi accedere facilmente a Whatsapp da Windows o Mac. Disponibile per Windows 8+ e Mac OS 10.9+

In che modo lintelligenza artificiale può portare lautomazione dei processi al livello successivo?

In che modo lintelligenza artificiale può portare lautomazione dei processi al livello successivo?

Leggi questo per sapere come l'intelligenza artificiale sta diventando popolare tra le aziende di piccole dimensioni e come sta aumentando le probabilità di farle crescere e dare un vantaggio ai loro concorrenti.

Laggiornamento del supplemento macOS Catalina 10.15.4 sta causando più problemi che risolverli

Laggiornamento del supplemento macOS Catalina 10.15.4 sta causando più problemi che risolverli

Recentemente Apple ha rilasciato macOS Catalina 10.15.4 un aggiornamento supplementare per risolvere i problemi, ma sembra che l'aggiornamento stia causando più problemi che portano al bricking delle macchine mac. Leggi questo articolo per saperne di più

13 strumenti commerciali per lestrazione dei dati dai Big Data

13 strumenti commerciali per lestrazione dei dati dai Big Data

13 strumenti commerciali per l'estrazione dei dati dai Big Data

Che cosè un file system di journaling e come funziona?

Che cosè un file system di journaling e come funziona?

Il nostro computer memorizza tutti i dati in un modo organizzato noto come file system di journaling. È un metodo efficiente che consente al computer di cercare e visualizzare i file non appena si preme search.https://wethegeek.com/?p=94116&preview=true

Singolarità tecnologica: un lontano futuro della civiltà umana?

Singolarità tecnologica: un lontano futuro della civiltà umana?

Man mano che la scienza si evolve a un ritmo rapido, assumendo gran parte dei nostri sforzi, aumentano anche i rischi di sottoporci a una singolarità inspiegabile. Leggi, cosa potrebbe significare per noi la singolarità.

Uno sguardo a 26 tecniche di analisi dei Big Data: Parte 1

Uno sguardo a 26 tecniche di analisi dei Big Data: Parte 1

Uno sguardo a 26 tecniche di analisi dei Big Data: Parte 1

Limpatto dellintelligenza artificiale nella sanità 2021

Limpatto dellintelligenza artificiale nella sanità 2021

L'intelligenza artificiale nell'assistenza sanitaria ha compiuto grandi passi avanti negli ultimi decenni. Pertanto, il futuro dell'IA in sanità continua a crescere giorno dopo giorno.