Opret en chatserver ved hjælp af Matrix Synapse og Riot på CentOS 7

Matrix er en åben standard kommunikationsprotokol til decentraliseret realtidskommunikation. Matrix er implementeret som hjemmeservere, der distribueres over internettet; derfor er der ikke et enkelt punkt for kontrol eller fiasko. Matrix leverer en RESTful HTTP API til at oprette og administrere de distribuerede chatservere, der inkluderer afsendelse og modtagelse af beskeder, invitation og styring af chatrumsmedlemmer, vedligeholdelse af brugerkonti og leverer avancerede chatfunktioner såsom VoIP og videoopkald osv. Matrix etablerer også en sikker synkronisering mellem hjemmeservere, som er distribueret over hele kloden.

Synapse er implementeringen af ​​Matrix-hjemmeserveren skrevet af Matrix-teamet. Matrix-økosystemet består af netværket af mange fødererede hjemmeservere fordelt over hele kloden. En Matrix-bruger bruger en chat-klient til at oprette forbindelse til hjemmeserveren, som igen forbinder til Matrix-netværket. Homeserver gemmer chathistorikken og loginoplysningerne for den pågældende bruger.

Forudsætninger

I denne vejledning vil vi bruge matrix.example.comsom domænenavn, der bruges til Matrix Synapse. Erstat alle forekomster af matrix.example.commed dit faktiske domænenavn, du vil bruge til din Synapse-hjemmeserver.

Opdater dit basissystem ved hjælp af vejledningen Sådan opdaterer du CentOS 7 . Når dit system er opdateret, skal du fortsætte med at installere Python.

Installer udviklingsværktøjer

Matrix Synapse har brug for Python 2.7 for at fungere. Python 2.7 leveres forudinstalleret i alle CentOS-serverforekomster. Du kan tjekke den installerede version af Python.

python -V

Du burde få et lignende output.

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

Ændring af standardversionen af ​​Python kan ødelægge YUM repository manager. Men hvis du vil have den nyeste version af Python, kan du lave en alternativ installation uden at erstatte standard Python.

Installer pakkerne i Development toolsgruppen, der er nødvendige for at kompilere installationsfilerne.

sudo yum groupinstall -y "Development tools"

Installer nogle flere nødvendige afhængigheder.

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 

Installer Python pip. Pip er afhængighedsmanageren for Python-pakker.

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

Installer Synapse

Opret et virtuelt miljø til din Synapse-applikation. Python virtuelt miljø bruges til at skabe et isoleret virtuelt miljø til et Python-projekt. Et virtuelt miljø indeholder sine egne installationsmapper og deler ikke biblioteker med globale og andre virtuelle miljøer.

sudo virtualenv -p python2.7 /opt/synapse

Giv ejerskabet af biblioteket til den aktuelle bruger.

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

Aktiver nu det virtuelle miljø.

source /opt/synapse/bin/activate

Sørg for, at du har den seneste version af pipog setuptools.

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

Installer den seneste version af Synapse ved hjælp af pip.

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

Ovenstående kommando vil tage noget tid at udføre, da den trækker og installerer den seneste version af Synapse og alle afhængigheder fra Github-lageret.

Installation og konfiguration af PostgreSQL

Synapse bruger SQLite som standarddatabase. SQLite gemmer dataene i en database, som opbevares som en flad fil på disken. Brug af SQLite er meget simpelt, men anbefales ikke til produktion, da det er meget langsomt sammenlignet med PostgreSQL.

PostgreSQL er et objektrelationsdatabasesystem. Du skal tilføje PostgreSQL-lageret i dit system, da applikationen ikke er tilgængelig i standard YUM-lageret.

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

Installer PostgreSQL-databaseserveren.

sudo yum -y install postgresql96-server postgresql96-contrib

Initialiser databasen.

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

Rediger for /var/lib/pgsql/9.6/data/pg_hba.confat aktivere MD5-baseret godkendelse.

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

Find følgende linjer og skift peertil trustog idnettil 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 er opdateret, skal konfigurationen se sådan ud.

# 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

Start PostgreSQL-serveren og aktiver den til at starte automatisk ved opstart.

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

Skift adgangskoden til standard PostgreSQL-brugeren.

sudo passwd postgres

Log på.

sudo su - postgres

Opret en ny PostgreSQL-bruger til Synapse.

createuser synapse

PostgreSQL leverer psqlskallen til at køre forespørgsler på databasen. Skift til PostgreSQL-skallen ved at køre.

psql

Indstil en adgangskode til den nyoprettede bruger til Synapse-databasen.

ALTER USER synapse WITH ENCRYPTED password 'DBPassword';

Erstat DBPasswordmed en stærk adgangskode og noter den, da vi vil bruge adgangskoden senere. Opret en ny database til PostgreSQL-databasen.

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

Udgang fra psqlskallen.

\q

Skift til sudobrugeren fra den nuværende postgresbruger.

exit

Du skal også installere de nødvendige pakker for at Synapse kan kommunikere med PostgreSQL-databaseserveren.

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

Konfiguration af Synapse

Synapse kræver en konfigurationsfil, før den kan startes. Konfigurationsfilen gemmer serverindstillingerne. Skift til det virtuelle miljø og generer konfigurationen til 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

Erstat matrix.example.commed dit faktiske domænenavn, og sørg for, at servernavnet kan opløses til IP-adressen på din Vultr-instans. Angiv, --report-stats=yeshvis du vil have serverne til at generere rapporterne, angiv for --report-stats=noat deaktivere generering af rapporter og statistik.

Du bør se et lignende output.

(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 er den homeserver.yamlkonfigureret til at bruge en SQLite-database. Vi er nødt til at ændre den for at bruge den PostgreSQL-database, vi har oprettet tidligere.

Rediger den nyoprettede homeserver.yaml.

nano homeserver.yaml

Find den eksisterende databasekonfiguration, der bruger SQLite3. Kommenter linjerne som vist nedenfor. Tilføj også den nye databasekonfiguration til PostgreSQL. Sørg for, at du bruger de korrekte databaselegitimationsoplysninger.

# 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

Endelig kan du kontrollere, om Synapse kan tilgås via den omvendte proxy.

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

Du bør få lignende output.

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

Opsætning af Systemd Service

Det anbefales at bruge Systemd-tjenesten til at styre Synapse-serverprocessen. Brug af Systemd vil sikre, at serveren automatisk startes ved systemstart og fejl.

Opret en ny Systemd-tjenestefil.

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

Udfyld 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 hurtigt starte Synapse-serveren.

sudo systemctl start matrix-synapse

For at stoppe eller genstarte serveren ved hjælp af følgende kommandoer.

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

Du kan kontrollere status for tjenesten.

sudo systemctl status matrix-synapse

Brug af Riot

Matrix Synapse-serveren er nu installeret og konfigureret på din server. Da den indbyggede webklient til Matrix er forældet, kan du vælge mellem de mange forskellige klientapplikationer, der er tilgængelige til chat. Riot er den mest populære chatklient, som er tilgængelig på næsten alle platforme. Du kan bruge den hostede version af Riots webchatklient, eller du kan også hoste en kopi af den på din egen server. Udover dette kan du også bruge Riots desktop- og mobilchatklienter, som er tilgængelige til Windows, Mac, Linux, IOS og Android.

Hvis du ønsker at være vært for din egen kopi af Riot-webklienten, kan du læse videre for instruktionerne til at installere Riot på din server. For hostede, desktop- og mobilklienter kan du bruge dit brugernavn og adgangskode til at logge direkte på din hjemmeserver. Du skal blot vælge my Matrix IDfra rullemenuen for Sign Inindstillingen og angive det brugernavn og den adgangskode, du har oprettet under registreringen af ​​en ny bruger. Klik på Custom serverog brug domænenavnet på din Synapse-instans. Da vi allerede har konfigureret Nginx, kan vi bare bruge https://matrix.example.comsom hjemmeserver og https://matrix.orgsom identitetsserver-URL.

Eksempel på Riot-login

Opsæt Riot på din egen server.

Riot er også open source og gratis at hoste på din egen server. Det kræver ingen database eller afhængigheder. Da vi allerede har en Nginx-server kørende, kan vi hoste den på den samme 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.

Download 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 altid finde linket til den seneste version på Riots Github .

Uddrag arkivet.

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

Omdøb biblioteket for nem håndtering.

sudo mv riot-v*/ riot/

Fordi vi allerede har installeret Certbot, kan vi generere certifikaterne direkte. Sørg for, at det domæne eller underdomæne, du bruger, peger mod serveren.

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

De genererede certifikater vil sandsynligvis blive gemt i /etc/letsencrypt/live/riot.example.com/mappen.

Opret en virtuel vært til Riot-applikationen.

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

Udfyld 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;

  }

Kopier eksempelkonfigurationsfilen.

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

Rediger nu konfigurationsfilen for at foretage nogle få ændringer.

sudo nano /opt/riot/config.json

Find følgende linjer.

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

Erstat værdien af ​​standardhjemmeserverens URL med URL'en på din Matrix-server. For identitetsserverens URL kan du bruge standardindstillingen, eller du kan også angive dens værdi til Matrix-identitetsserveren, som er https://matrix.org.

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

Gem filen og afslut. Giv ejerskab af filerne til Nginx-brugeren.

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

Genstart Nginx.

sudo systemctl restart nginx

Du kan få adgang til Riot på https://riot.example.com. Du kan nu logge ind med det brugernavn og kodeord, som du har oprettet tidligere. Du kan oprette forbindelse ved hjælp af standardserveren, da vi allerede har ændret standard Matrix-serveren til vores applikation.

Du har nu en Matrix Synapse-hjemmeserver oppe at køre. Du har også en hostet kopi af Riot, som du kan bruge til at sende en besked til andre personer ved hjælp af deres Matrix ID, e-mail eller mobilnummer. Start med at oprette et chatrum på din server og inviter dine venner på Matrix til at deltage i det chatrum, du har oprettet.


Installer Plesk på CentOS 7

Installer Plesk på CentOS 7

Bruger du et andet system? Plesk er et proprietært webhost kontrolpanel, der giver brugerne mulighed for at administrere deres personlige og/eller klienters websteder, databaser

Sådan installeres Squid Proxy på CentOS

Sådan installeres Squid Proxy på CentOS

Squid er et populært, gratis Linux-program, der giver dig mulighed for at oprette en webproxy til videresendelse. I denne vejledning vil du se, hvordan du installerer Squid på CentOS for at gøre dig

Sådan installeres Lighttpd (LLMP Stack) på CentOS 6

Sådan installeres Lighttpd (LLMP Stack) på CentOS 6

Introduktion Lighttpd er en forgrening af Apache, der sigter mod at være meget mindre ressourcekrævende. Den er let, deraf navnet, og den er ret enkel at bruge. Installer

Konfiguration af statisk netværk og IPv6 på CentOS 7

Konfiguration af statisk netværk og IPv6 på CentOS 7

VULTR har for nylig foretaget ændringer i deres ende, og alt skulle nu fungere fint ud af boksen med NetworkManager aktiveret. Skulle du ønske at deaktivere

Ændring af Icinga2 til at bruge Master/Client Model på CentOS 6 eller CentOS 7

Ændring af Icinga2 til at bruge Master/Client Model på CentOS 6 eller CentOS 7

Icinga2 er et kraftfuldt overvågningssystem, og når det bruges i en master-klient-model, kan det erstatte behovet for NRPE-baserede overvågningstjek. Mester-klienten

Sådan installeres Apache Cassandra 3.11.x på CentOS 7

Sådan installeres Apache Cassandra 3.11.x på CentOS 7

Bruger du et andet system? Apache Cassandra er et gratis og open source NoSQL-databasestyringssystem, der er designet til at give skalerbarhed, høj

Sådan installeres Microweber på CentOS 7

Sådan installeres Microweber på CentOS 7

Bruger du et andet system? Microweber er en open source træk og slip CMS og online shop. Microweber-kildekoden er hostet på GitHub. Denne guide vil vise dig

Sådan installeres Mattermost 4.1 på CentOS 7

Sådan installeres Mattermost 4.1 på CentOS 7

Bruger du et andet system? Mattermost er et open source, selvhostet alternativ til Slack SAAS-meddelelsestjenesten. Med andre ord, med Mattermost er du ca

Oprettelse af et netværk af Minecraft-servere med BungeeCord på Debian 8, Debian 9 eller CentOS 7

Oprettelse af et netværk af Minecraft-servere med BungeeCord på Debian 8, Debian 9 eller CentOS 7

Hvad skal du bruge En Vultr VPS med mindst 1 GB RAM. SSH-adgang (med root/administrative rettigheder). Trin 1: Installation af BungeeCord Første ting først

Lad os kryptere på Plesk

Lad os kryptere på Plesk

Plesk-kontrolpanelet har en meget flot integration til Lets Encrypt. Lets Encrypt er en af ​​de eneste SSL-udbydere, der udleverer certifikater komplet

Lader kryptere på cPanel

Lader kryptere på cPanel

Lets Encrypt er en certifikatmyndighed dedikeret til at levere SSL-certifikater gratis. cPanel har bygget en pæn integration, så du og din klient

Sådan installeres Concrete5 på CentOS 7

Sådan installeres Concrete5 på CentOS 7

Bruger du et andet system? Concrete5 er et open source CMS, som tilbyder mange karakteristiske og nyttige funktioner til at hjælpe redaktører med at producere indhold nemt og

Sådan installeres Review Board på CentOS 7

Sådan installeres Review Board på CentOS 7

Bruger du et andet system? Review Board er et gratis og open source-værktøj til gennemgang af kildekode, dokumentation, billeder og mange flere. Det er webbaseret software

Konfigurer HTTP-godkendelse med Nginx på CentOS 7

Konfigurer HTTP-godkendelse med Nginx på CentOS 7

I denne vejledning lærer du, hvordan du opsætter HTTP-godkendelse for en Nginx-webserver, der kører på CentOS 7. Krav For at komme i gang skal du bruge

Sådan installeres YOURLS på CentOS 7

Sådan installeres YOURLS på CentOS 7

YOURLS (Your Own URL Shortener) er en open source URL-forkortelse og dataanalyseapplikation. I denne artikel vil vi dække installationsprocessen

Sådan installeres og konfigureres ArangoDB på CentOS 7

Sådan installeres og konfigureres ArangoDB på CentOS 7

Bruger du et andet system? Introduktion ArangoDB er en open source NoSQL-database med en fleksibel datamodel for dokumenter, grafer og nøgleværdier. det er

Brug af Etckeeper til versionskontrol af /etc

Brug af Etckeeper til versionskontrol af /etc

Introduktion /etc/-biblioteket spiller en afgørende rolle i den måde et Linux-system fungerer på. Årsagen til dette er, at næsten alle systemkonfigurationer

Hvorfor skal du bruge SSHFS? Sådan monteres et eksternt filsystem med SSHFS på CentOS 6

Hvorfor skal du bruge SSHFS? Sådan monteres et eksternt filsystem med SSHFS på CentOS 6

Mange systemadministratorer administrerer store mængder servere. Når filer skal tilgås på tværs af forskellige servere, logges ind på hver enkelt individuelt ca

Opsætning af en Half Life 2-server på CentOS 6

Opsætning af en Half Life 2-server på CentOS 6

Denne vejledning vil dække processen med at installere en Half Life 2-spilserver på CentOS 6 System. Trin 1: Installation af forudsætninger For at opsætte ou

Sådan installeres Laravel GitScrum på CentOS 7

Sådan installeres Laravel GitScrum på CentOS 7

Laravel GitScrum eller GitScrum er et open source-produktivitetsværktøj designet til at hjælpe udviklingsteams med at implementere Scrum-metoden på en måde, der ligner t.

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Kunstig intelligens er ikke i fremtiden, det er her lige i nuet I denne blog Læs, hvordan kunstig intelligens-applikationer har påvirket forskellige sektorer.

DDOS-angreb: et kort overblik

DDOS-angreb: et kort overblik

Er du også et offer for DDOS-angreb og forvirret over forebyggelsesmetoderne? Læs denne artikel for at løse dine spørgsmål.

Har du nogensinde spekuleret på, hvordan tjener hackere penge?

Har du nogensinde spekuleret på, hvordan tjener hackere penge?

Du har måske hørt, at hackere tjener mange penge, men har du nogensinde spekuleret på, hvordan tjener de den slags penge? lad os diskutere.

Revolutionære opfindelser fra Google, der vil gøre dit liv lettere.

Revolutionære opfindelser fra Google, der vil gøre dit liv lettere.

Vil du se revolutionerende opfindelser fra Google, og hvordan disse opfindelser ændrede livet for ethvert menneske i dag? Læs derefter til bloggen for at se opfindelser fra Google.

Fredag ​​Essential: Hvad skete der med AI-drevne biler?

Fredag ​​Essential: Hvad skete der med AI-drevne biler?

Konceptet med selvkørende biler til at køre på vejene ved hjælp af kunstig intelligens er en drøm, vi har haft i et stykke tid nu. Men på trods af flere løfter er de ingen steder at se. Læs denne blog for at lære mere...

Teknologisk singularitet: En fjern fremtid for menneskelig civilisation?

Teknologisk singularitet: En fjern fremtid for menneskelig civilisation?

Efterhånden som videnskaben udvikler sig i et hurtigt tempo og overtager en stor del af vores indsats, stiger risikoen for at udsætte os selv for en uforklarlig Singularitet. Læs, hvad singularitet kunne betyde for os.

Udvikling af datalagring – Infografik

Udvikling af datalagring – Infografik

Opbevaringsmetoderne for dataene har været under udvikling, kan være siden fødslen af ​​dataene. Denne blog dækker udviklingen af ​​datalagring på basis af en infografik.

Funktioner af Big Data Reference Architecture Layers

Funktioner af Big Data Reference Architecture Layers

Læs bloggen for at kende forskellige lag i Big Data-arkitekturen og deres funktionaliteter på den enkleste måde.

6 fantastiske fordele ved at have smarte hjemmeenheder i vores liv

6 fantastiske fordele ved at have smarte hjemmeenheder i vores liv

I denne digitalt drevne verden er smarte hjemmeenheder blevet en afgørende del af livet. Her er et par fantastiske fordele ved smarte hjemmeenheder om, hvordan de gør vores liv værd at leve og enklere.

macOS Catalina 10.15.4-tillægsopdatering forårsager flere problemer end at løse

macOS Catalina 10.15.4-tillægsopdatering forårsager flere problemer end at løse

For nylig udgav Apple macOS Catalina 10.15.4 en supplerende opdatering for at løse problemer, men det ser ud til, at opdateringen forårsager flere problemer, hvilket fører til mursten af ​​mac-maskiner. Læs denne artikel for at lære mere