Skapa en chattserver med Matrix Synapse och Riot på CentOS 7

Matrix är ett öppet standardkommunikationsprotokoll för decentraliserad realtidskommunikation. Matrix implementeras som hemmaservrar som distribueras över internet; därför finns det ingen enda punkt för kontroll eller misslyckande. Matrix tillhandahåller ett RESTful HTTP API för att skapa och hantera de distribuerade chattservrarna som inkluderar att skicka och ta emot meddelanden, bjuda in och hantera chattrumsmedlemmar, underhålla användarkonton och tillhandahålla avancerade chattfunktioner som VoIP och videosamtal, etc. Matrix upprättar också en säker synkronisering mellan hemservrar som är distribuerade över hela världen.

Synapse är implementeringen av Matrix-hemserver skriven av Matrix-teamet. Matrix-ekosystemet består av nätverket av många federerade hemservrar distribuerade över hela världen. En Matrix-användare använder en chattklient för att ansluta till hemservern, som i sin tur ansluter till Matrix-nätverket. Homeserver lagrar chatthistoriken och inloggningsinformationen för just den användaren.

Förutsättningar

I den här handledningen kommer vi att använda matrix.example.comsom domännamn som används för Matrix Synapse. Ersätt alla förekomster av matrix.example.commed ditt faktiska domännamn som du vill använda för din Synapse-hemserver.

Uppdatera ditt bassystem med hjälp av guiden Hur man uppdaterar CentOS 7 . När ditt system har uppdaterats, fortsätt att installera Python.

Installera utvecklingsverktyg

Matrix Synapse behöver Python 2.7 för att fungera. Python 2.7 kommer förinstallerat i alla CentOS-serverinstanser. Du kan kontrollera den installerade versionen av Python.

python -V

Du bör få en liknande utgång.

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

Om du ändrar standardversionen av Python kan YUM-förvarshanteraren bryta. Men om du vill ha den senaste versionen av Python kan du göra en alternativ installation utan att ersätta standard Python.

Installera paketen i Development toolsgruppen som krävs för att kompilera installationsfilerna.

sudo yum groupinstall -y "Development tools"

Installera några fler nödvändiga beroenden.

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 

Installera Python pip. Pip är beroendehanteraren för Python-paket.

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

Installera Synapse

Skapa en virtuell miljö för din Synapse-applikation. Python virtuell miljö används för att skapa en isolerad virtuell miljö för ett Python-projekt. En virtuell miljö innehåller sina egna installationskataloger och delar inte bibliotek med globala och andra virtuella miljöer.

sudo virtualenv -p python2.7 /opt/synapse

Ge den aktuella användaren äganderätten till katalogen.

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

Aktivera nu den virtuella miljön.

source /opt/synapse/bin/activate

Se till att du har den senaste versionen av pipoch setuptools.

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

Installera den senaste versionen av Synapse med pip.

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

Kommandot ovan kommer att ta lite tid att köra när det hämtar och installerar den senaste versionen av Synapse och alla beroenden från Github-förvaret.

Installera och konfigurera PostgreSQL

Synapse använder SQLite som standarddatabas. SQLite lagrar data i en databas som hålls som en platt fil på disk. Att använda SQLite är väldigt enkelt, men rekommenderas inte för produktion eftersom det är väldigt långsamt jämfört med PostgreSQL.

PostgreSQL är ett relationsdatabassystem för objekt. Du måste lägga till PostgreSQL-förvaret i ditt system, eftersom programmet inte är tillgängligt i standardförvaret YUM.

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

Installera PostgreSQL-databasservern.

sudo yum -y install postgresql96-server postgresql96-contrib

Initiera databasen.

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

Redigera för /var/lib/pgsql/9.6/data/pg_hba.confatt aktivera MD5-baserad autentisering.

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

Hitta följande rader och ändra peertill trustoch idnettill 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

När den väl har uppdaterats bör konfigurationen se ut så här.

# 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

Starta PostgreSQL-servern och låt den starta automatiskt vid uppstart.

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

Ändra lösenordet för standardpostgreSQL-användaren.

sudo passwd postgres

Logga in.

sudo su - postgres

Skapa en ny PostgreSQL-användare för Synapse.

createuser synapse

PostgreSQL tillhandahåller psqlskalet för att köra frågor på databasen. Byt till PostgreSQL-skalet genom att köra.

psql

Ställ in ett lösenord för den nyskapade användaren för Synapse-databasen.

ALTER USER synapse WITH ENCRYPTED password 'DBPassword';

Ersätt DBPasswordmed ett starkt lösenord och anteckna det eftersom vi kommer att använda lösenordet senare. Skapa en ny databas för PostgreSQL-databasen.

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

Gå ut ur psqlskalet.

\q

Växla till sudoanvändaren från nuvarande postgresanvändare.

exit

Du måste också installera de paket som krävs för att Synapse ska kunna kommunicera med PostgreSQL-databasservern.

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

Konfigurera Synapse

Synapse kräver en konfigurationsfil innan den kan startas. Konfigurationsfilen lagrar serverinställningarna. Byt till den virtuella miljön och generera konfigurationen för 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

Ersätt matrix.example.commed ditt faktiska domännamn och se till att servernamnet går att lösa till IP-adressen för din Vultr-instans. Ange --report-stats=yesom du vill att servrarna ska generera rapporterna, ange för --report-stats=noatt inaktivera genereringen av rapporter och statistik.

Du bör se en liknande utgång.

(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

Som standard är den homeserver.yamlkonfigurerad att använda en SQLite-databas. Vi måste modifiera den för att använda PostgreSQL-databasen som vi har skapat tidigare.

Redigera den nyskapade homeserver.yaml.

nano homeserver.yaml

Hitta den befintliga databaskonfigurationen som använder SQLite3. Kommentera raderna enligt nedan. Lägg också till den nya databaskonfigurationen för PostgreSQL. Se till att du använder rätt databasuppgifter.

# 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

Registrering av en ny användare från ett webbgränssnitt är inaktiverat som standard. För att aktivera registrering kan du ställa in enable_registrationtill True. Du kan också ställa in en hemlig registreringsnyckel, som gör att alla kan registrera vem som har den hemliga nyckeln, även om registreringen är inaktiverad.

enable_registration: False

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

Spara filen och avsluta redigeraren. Nu måste du registrera din första användare. Innan du kan registrera en ny användare måste du dock starta applikationen först.

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

Du bör se följande rader.

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

Registrera en ny Matrix-användare.

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

Du bör se följande.

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

Slutligen, innan du kan använda hemmaservern, måste du tillåta port 8448 genom brandväggen. Port 8448används som säkrad federationsport. Hemservrar använder denna port för att kommunicera med varandra på ett säkert sätt. Du kan också använda den inbyggda Matrix webbchattklienten via denna 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.

Skapa ett nytt skript för att förnya certifikat och kopiera de förnyade certifikaten till Synapse-katalogen.

sudo nano /opt/renew-letsencypt.sh  

Fyll i filen.

#!/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

Ge exekveringstillståndet.

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

Öppna cron-jobbfilen.

sudo crontab -e

Lägg till följande rad i slutet av filen.

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

Ovanstående cron-jobb kommer att köras varje måndag kl. 05.30. Om certifikatet ska upphöra att gälla förnyas det automatiskt.

Nu kan du besöka https://matrix.example.com:8448. Du kommer att se att det inte finns någon SSL-varning före anslutning.

Ställ in Nginx med Let's Encrypt

Förutom den säkrade federationsporten 8448lyssnar Synapse också på den osäkrade klientporten 8008. Vi kommer nu att konfigurera Nginx som en omvänd proxy till Synapse-applikationen.

sudo yum -y install nginx

Skapa en ny konfigurationsfil.

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

Fyll filen med följande innehåll.

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;

    }
  }

Starta om och aktivera Nginx att starta automatiskt vid uppstart.

sudo systemctl restart nginx
sudo systemctl enable nginx

Slutligen kan du verifiera om Synapse kan nås via den omvända proxyn.

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

Du bör få liknande resultat.

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

Konfigurera Systemd-tjänsten

Det rekommenderas att använda Systemd-tjänsten för att hantera Synapse-serverprocessen. Att använda Systemd kommer att säkerställa att servern startas automatiskt vid systemstart och fel.

Skapa en ny Systemd-tjänstfil.

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

Fyll i filen.

[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

Nu kan du snabbt starta Synapse-servern.

sudo systemctl start matrix-synapse

För att stoppa eller starta om servern med följande kommandon.

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

Du kan kontrollera tjänstens status.

sudo systemctl status matrix-synapse

Använder Riot

Matrix Synapse-servern är nu installerad och konfigurerad på din server. Eftersom den inbyggda webbklienten för Matrix är föråldrad kan du välja bland de olika klientapplikationerna som är tillgängliga för chatt. Riot är den mest populära chattklienten, som är tillgänglig på nästan alla plattformar. Du kan använda den hostade versionen av Riots webbchattklient, eller så kan du även ha en kopia av den på din egen server. Utöver detta kan du även använda Riots stationära och mobila chattklienter, som är tillgängliga för Windows, Mac, Linux, IOS och Android.

Om du vill ha ditt eget exemplar av Riot webbklient kan du läsa vidare för instruktionerna för att installera Riot på din server. För värd, stationär och mobil klient kan du använda ditt användarnamn och lösenord för att logga in direkt på din hemmaserver. Välj bara my Matrix IDfrån rullgardinsmenyn för Sign Inalternativet och ange användarnamnet och lösenordet du skapade under registreringen av en ny användare. Klicka på Custom serveroch använd domännamnet för din Synapse-instans. Eftersom vi redan har konfigurerat Nginx kan vi bara använda https://matrix.example.comsom hemserver och https://matrix.orgsom URL för identitetsserver.

Riot Inloggningsexempel

Installera Riot på din egen server.

Riot är också öppen källkod och gratis att hosta på din egen server. Det kräver ingen databas eller beroenden. Eftersom vi redan har en Nginx-server igång kan vi vara värd för den på samma server.

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.

Ladda ner Riot på din server.

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

Du kan alltid hitta länken till den senaste versionen på Riots Github .

Extrahera arkivet.

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

Byt namn på katalogen för att underlätta hanteringen.

sudo mv riot-v*/ riot/

Eftersom vi redan har installerat Certbot kan vi generera certifikaten direkt. Se till att domänen eller underdomänen du använder pekar mot servern.

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

De genererade certifikaten kommer sannolikt att lagras i /etc/letsencrypt/live/riot.example.com/katalogen.

Skapa en virtuell värd för Riot-applikationen.

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

Fyll i filen.

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;

  }

Kopiera exempel på konfigurationsfilen.

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

Redigera nu konfigurationsfilen för att göra några ändringar.

sudo nano /opt/riot/config.json

Hitta följande rader.

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

Ersätt värdet på standardhemserverns URL med URL:en för din Matrix-server. För identitetsserverns URL kan du använda standardalternativet, eller så kan du också ange dess värde till Matrix-identitetsservern, som är https://matrix.org.

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

Spara filen och avsluta. Ge äganderätten till filerna till Nginx-användaren.

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

Starta om Nginx.

sudo systemctl restart nginx

Du kan komma åt Riot på https://riot.example.com. Du kan nu logga in med det användarnamn och lösenord som du har skapat tidigare. Du kan ansluta med standardservern eftersom vi redan har ändrat standard Matrix-servern för vår applikation.

Du har nu en Matrix Synapse-hemserver igång. Du har också en värdkopia av Riot, som du kan använda för att skicka ett meddelande till andra personer med deras Matrix ID, e-post eller mobilnummer. Börja med att skapa ett chattrum på din server och bjud in dina vänner på Matrix att gå med i chattrum du har skapat.


Installera Plesk på CentOS 7

Installera Plesk på CentOS 7

Använder du ett annat system? Plesk är en egen kontrollpanel för webbhotell som tillåter användare att administrera sina personliga och/eller klienters webbplatser, databaser

Hur man installerar Squid Proxy på CentOS

Hur man installerar Squid Proxy på CentOS

Squid är ett populärt, gratis Linux-program som låter dig skapa en webbproxy för vidarebefordran. I den här guiden ser du hur du installerar Squid på CentOS för att förvandla dig

Hur man installerar Lighttpd (LLMP Stack) på CentOS 6

Hur man installerar Lighttpd (LLMP Stack) på CentOS 6

Inledning Lighttpd är en apachegaffel som syftar till att vara mycket mindre resurskrävande. Den är lätt, därav namnet, och är ganska enkel att använda. Installera

Konfigurera statiskt nätverk och IPv6 på CentOS 7

Konfigurera statiskt nätverk och IPv6 på CentOS 7

VULTR har nyligen gjort ändringar på deras sida, och allt borde nu fungera bra direkt när NetworkManager är aktiverat. Om du vill inaktivera

Ändra Icinga2 för att använda Master/Client Model på CentOS 6 eller CentOS 7

Ändra Icinga2 för att använda Master/Client Model på CentOS 6 eller CentOS 7

Icinga2 är ett kraftfullt övervakningssystem, och när det används i en master-klient-modell kan det ersätta behovet av NRPE-baserade övervakningskontroller. Master-klienten

Hur man installerar Apache Cassandra 3.11.x på CentOS 7

Hur man installerar Apache Cassandra 3.11.x på CentOS 7

Använder du ett annat system? Apache Cassandra är ett gratis NoSQL-databashanteringssystem med öppen källkod som är designat för att ge skalbarhet, hög

Hur man installerar Microweber på CentOS 7

Hur man installerar Microweber på CentOS 7

Använder du ett annat system? Microweber är en öppen källkod för dra och släpp CMS och onlinebutik. Microweber källkod finns på GitHub. Denna guide kommer att visa dig

Hur man installerar Vanilla Forum på CentOS 7

Hur man installerar Vanilla Forum på CentOS 7

Använder du ett annat system? Vanilla forum är en open source forumapplikation skriven i PHP. Det är en helt anpassningsbar, enkel att använda och stöder externa

Hur man installerar Mattermost 4.1 på CentOS 7

Hur man installerar Mattermost 4.1 på CentOS 7

Använder du ett annat system? Mattermost är ett alternativ med öppen källkod, självvärd till meddelandetjänsten Slack SAAS. Med andra ord, med Mattermost, du ca

Skapa ett nätverk av Minecraft-servrar med BungeeCord på Debian 8, Debian 9 eller CentOS 7

Skapa ett nätverk av Minecraft-servrar med BungeeCord på Debian 8, Debian 9 eller CentOS 7

Vad du behöver En Vultr VPS med minst 1 GB RAM. SSH-åtkomst (med root-/administrativa privilegier). Steg 1: Installera BungeeCord Först till kvarn

Låt oss kryptera på Plesk

Låt oss kryptera på Plesk

Plesks kontrollpanel har en mycket trevlig integration för Lets Encrypt. Lets Encrypt är en av de enda SSL-leverantörerna som ger ut certifikat fullständigt

Låter kryptera på cPanel

Låter kryptera på cPanel

Lets Encrypt är en certifikatmyndighet dedikerad till att tillhandahålla SSL-certifikat gratis. cPanel har byggt en snygg integration så att du och din klient

Hur man installerar Concrete5 på CentOS 7

Hur man installerar Concrete5 på CentOS 7

Använder du ett annat system? Concrete5 är ett CMS med öppen källkod som erbjuder många distinkta och användbara funktioner för att hjälpa redaktörer att producera innehåll enkelt och

Hur man installerar Review Board på CentOS 7

Hur man installerar Review Board på CentOS 7

Använder du ett annat system? Review Board är ett gratis och öppen källkodsverktyg för att granska källkod, dokumentation, bilder och många fler. Det är webbaserad mjukvara

Ställ in HTTP-autentisering med Nginx på CentOS 7

Ställ in HTTP-autentisering med Nginx på CentOS 7

I den här guiden lär du dig hur du ställer in HTTP-autentisering för en Nginx-webbserver som körs på CentOS 7. Krav För att komma igång behöver du

Hur man installerar YOURLS på CentOS 7

Hur man installerar YOURLS på CentOS 7

YOURLS (Your Own URL Shortener) är ett webbadressförkortnings- och dataanalysprogram med öppen källkod. I den här artikeln kommer vi att täcka installationsprocessen

Hur man installerar och konfigurerar ArangoDB på CentOS 7

Hur man installerar och konfigurerar ArangoDB på CentOS 7

Använder du ett annat system? Inledning ArangoDB är en NoSQL-databas med öppen källkod med en flexibel datamodell för dokument, grafer och nyckel-värden. Det är

Använda Etckeeper för versionskontroll av /etc

Använda Etckeeper för versionskontroll av /etc

Inledning Katalogen /etc/ spelar en avgörande roll för hur ett Linux-system fungerar. Anledningen till detta är att nästan varje systemkonfiguration

Varför ska du använda SSHFS? Hur man monterar ett fjärrfilsystem med SSHFS på CentOS 6

Varför ska du använda SSHFS? Hur man monterar ett fjärrfilsystem med SSHFS på CentOS 6

Många systemadministratörer hanterar stora mängder servrar. När filer behöver nås över olika servrar, logga in på var och en individuellt ca

Konfigurera en Half Life 2-server på CentOS 6

Konfigurera en Half Life 2-server på CentOS 6

Denna handledning kommer att täcka processen att installera en Half Life 2-spelserver på CentOS 6 System. Steg 1: Installera förutsättningarna För att ställa in ou

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Artificiell intelligens är inte i framtiden, det är här i nuet I den här bloggen Läs hur Artificiell intelligens-applikationer har påverkat olika sektorer.

DDOS-attacker: En kort översikt

DDOS-attacker: En kort översikt

Är du också ett offer för DDOS-attacker och förvirrad över de förebyggande metoderna? Läs den här artikeln för att lösa dina frågor.

Har du någonsin undrat hur hackare tjänar pengar?

Har du någonsin undrat hur hackare tjänar pengar?

Du kanske har hört att hackare tjänar mycket pengar, men har du någonsin undrat hur de tjänar den typen av pengar? låt oss diskutera.

Revolutionerande uppfinningar från Google som gör ditt liv lätt.

Revolutionerande uppfinningar från Google som gör ditt liv lätt.

Vill du se revolutionerande uppfinningar av Google och hur dessa uppfinningar förändrade livet för varje människa idag? Läs sedan till bloggen för att se uppfinningar av Google.

Fredag ​​Essential: Vad hände med AI-drivna bilar?

Fredag ​​Essential: Vad hände med AI-drivna bilar?

Konceptet med att självkörande bilar ska ut på vägarna med hjälp av artificiell intelligens är en dröm vi har ett tag nu. Men trots flera löften finns de ingenstans att se. Läs den här bloggen för att lära dig mer...

Technological Singularity: A Distant Future of Human Civilization?

Technological Singularity: A Distant Future of Human Civilization?

När vetenskapen utvecklas i snabb takt och tar över en hel del av våra ansträngningar, ökar också riskerna för att utsätta oss för en oförklarlig singularitet. Läs, vad singularitet kan betyda för oss.

Utveckling av datalagring – Infographic

Utveckling av datalagring – Infographic

Lagringsmetoderna för data har utvecklats kan vara sedan födelsen av data. Den här bloggen tar upp utvecklingen av datalagring på basis av en infografik.

Funktioner för Big Data Reference Architecture Layers

Funktioner för Big Data Reference Architecture Layers

Läs bloggen för att känna till olika lager i Big Data Architecture och deras funktionaliteter på enklaste sätt.

6 fantastiska fördelar med att ha smarta hemenheter i våra liv

6 fantastiska fördelar med att ha smarta hemenheter i våra liv

I denna digitala värld har smarta hemenheter blivit en avgörande del av livet. Här är några fantastiska fördelar med smarta hemenheter om hur de gör vårt liv värt att leva och enklare.

macOS Catalina 10.15.4 tilläggsuppdatering orsakar fler problem än att lösa

macOS Catalina 10.15.4 tilläggsuppdatering orsakar fler problem än att lösa

Nyligen släppte Apple macOS Catalina 10.15.4, en tilläggsuppdatering för att åtgärda problem, men det verkar som om uppdateringen orsakar fler problem som leder till att mac-datorer blir murade. Läs den här artikeln för att lära dig mer