Sukurkite pokalbių serverį naudodami „Matrix Synapse“ ir „Riot“ „CentOS 7“.

Matrica yra atviro standarto ryšio protokolas, skirtas decentralizuotam bendravimui realiuoju laiku. Matrix yra įdiegta kaip namų serveriai, kurie yra platinami internetu; todėl nėra vieno kontrolės ar gedimo taško. Matrix teikia RESTful HTTP API, skirtą paskirstytų pokalbių serverių kūrimui ir valdymui, apimančiam pranešimų siuntimą ir gavimą, pokalbių kambario narių kvietimą ir valdymą, vartotojų abonementų tvarkymą ir pažangių pokalbių funkcijų, tokių kaip VoIP ir vaizdo skambučiai, teikimą. Matrix taip pat sukuria saugus sinchronizavimas tarp namų serverių, kurie yra paskirstyti visame pasaulyje.

Synapse yra Matrix namų serverio įdiegimas, kurį parašė Matrix komanda. „Matrix“ ekosistemą sudaro daugelio federacinių namų serverių, paskirstytų visame pasaulyje, tinklas. „Matrix“ vartotojas naudoja pokalbių klientą, kad prisijungtų prie namų serverio, kuris savo ruožtu prisijungia prie „Matrix“ tinklo. Homeserver saugo pokalbių istoriją ir to konkretaus vartotojo prisijungimo informaciją.

Būtinos sąlygos

Šioje pamokoje naudosime matrix.example.comkaip domeno pavadinimą, naudojamą Matrix Synapse. Pakeiskite visus atvejus matrix.example.comtikruoju domeno pavadinimu, kurį norite naudoti savo „Synapse“ namų serveriui.

Atnaujinkite bazinę sistemą naudodami vadovą Kaip atnaujinti CentOS 7 . Kai sistema bus atnaujinta, pereikite prie Python diegimo.

Įdiekite kūrimo įrankius

Kad Matrix Synapse veiktų, reikia Python 2.7. Python 2.7 yra iš anksto įdiegta visuose CentOS serverio egzemplioriuose. Galite patikrinti įdiegtą Python versiją.

python -V

Turėtumėte gauti panašų išvestį.

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

Pakeitus numatytąją Python versiją, gali būti pažeista YUM saugyklos tvarkyklė. Tačiau, jei norite naujausios „Python“ versijos, galite atlikti alternatyvų diegimą, nepakeisdami numatytojo „Python“.

Įdiekite paketus Development toolsgrupėje, kurios reikia diegimo programos failams sudaryti.

sudo yum groupinstall -y "Development tools"

Įdiekite dar keletą būtinų priklausomybių.

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 

Įdiekite Python pip. „Pip“ yra „Python“ paketų priklausomybės tvarkyklė.

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

Įdiekite „Synapse“.

Sukurkite virtualią aplinką savo „Synapse“ programai. Python virtuali aplinka naudojama sukurti izoliuotą virtualią aplinką Python projektui. Virtualioji aplinka turi savo diegimo katalogus ir nebendrina bibliotekų su pasauline ir kita virtualia aplinka.

sudo virtualenv -p python2.7 /opt/synapse

Suteikti katalogo nuosavybės teisę dabartiniam vartotojui.

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

Dabar suaktyvinkite virtualią aplinką.

source /opt/synapse/bin/activate

Įsitikinkite, kad turite naujausią versiją pipir setuptools.

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

Įdiekite naujausią Synapse versiją naudodami pip.

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

Pirmiau nurodyta komanda užtruks šiek tiek laiko, kol ji paims ir įdiegs naujausią „Synapse“ versiją ir visas priklausomybes iš „Github“ saugyklos.

„PostgreSQL“ diegimas ir konfigūravimas

Synapse naudoja SQLite kaip numatytąją duomenų bazę. SQLite saugo duomenis duomenų bazėje, kuri saugoma kaip plokščias failas diske. Naudoti SQLite yra labai paprasta, bet nerekomenduojama gaminti, nes jis yra labai lėtas, palyginti su PostgreSQL.

PostgreSQL yra objektų reliacinė duomenų bazių sistema. Turėsite pridėti PostgreSQL saugyklą savo sistemoje, nes programa nepasiekiama numatytojoje YUM saugykloje.

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

Įdiekite PostgreSQL duomenų bazės serverį.

sudo yum -y install postgresql96-server postgresql96-contrib

Inicijuoti duomenų bazę.

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

Redaguokite, /var/lib/pgsql/9.6/data/pg_hba.confkad įjungtumėte MD5 pagrįstą autentifikavimą.

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

Raskite šias eilutes ir pakeiskite peerį trustir idnetį 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

Atnaujinus konfigūraciją turėtų atrodyti taip.

# 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

Paleiskite PostgreSQL serverį ir įgalinkite jį automatiškai paleisti įkrovos metu.

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

Pakeiskite numatytojo „PostgreSQL“ vartotojo slaptažodį.

sudo passwd postgres

Prisijungti.

sudo su - postgres

Sukurkite naują „Synapse“ „PostgreSQL“ vartotoją.

createuser synapse

PostgreSQL suteikia psqlapvalkalą duomenų bazėje užklausoms vykdyti. Perjunkite į PostgreSQL apvalkalą paleisdami.

psql

Nustatykite naujai sukurto Synapse duomenų bazės vartotojo slaptažodį.

ALTER USER synapse WITH ENCRYPTED password 'DBPassword';

Pakeiskite DBPasswordtvirtu slaptažodžiu ir pasižymėkite jį, nes slaptažodį naudosime vėliau. Sukurkite naują duomenų bazę PostgreSQL duomenų bazei.

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

Išeiti iš psqlapvalkalo.

\q

Perjungti į sudovartotoją iš dabartinio postgresvartotojo.

exit

Taip pat turėsite įdiegti paketus, reikalingus Synapse bendrauti su PostgreSQL duomenų bazės serveriu.

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

„Synapse“ konfigūravimas

Prieš paleidžiant „Synapse“, reikalingas konfigūracijos failas. Konfigūracijos faile saugomi serverio nustatymai. Perjunkite į virtualią aplinką ir sugeneruokite „Synapse“ konfigūraciją.

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

Pakeiskite matrix.example.comtikruoju domeno pavadinimu ir įsitikinkite, kad serverio pavadinimą galima išspręsti pagal jūsų Vultr egzemplioriaus IP adresą. Pateikite, --report-stats=yesjei norite, kad serveriai generuotų ataskaitas, nurodykite, --report-stats=nokad išjungtumėte ataskaitų ir statistikos generavimą.

Turėtumėte pamatyti panašų išvestį.

(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

Pagal numatytuosius nustatymus homeserver.yamlyra sukonfigūruotas naudoti SQLite duomenų bazę. Turime jį modifikuoti, kad galėtume naudoti anksčiau sukurtą PostgreSQL duomenų bazę.

Redaguoti naujai sukurtą homeserver.yaml.

nano homeserver.yaml

Raskite esamą duomenų bazės konfigūraciją, kuri naudoja SQLite3. Komentuokite eilutes, kaip parodyta žemiau. Taip pat pridėkite naują PostgreSQL duomenų bazės konfigūraciją. Įsitikinkite, kad naudojate teisingus duomenų bazės kredencialus.

# 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

Naujo vartotojo registracija iš žiniatinklio sąsajos pagal numatytuosius nustatymus yra išjungta. Norėdami įjungti registravimą, galite nustatyti enable_registration, kad True. Taip pat galite nustatyti slaptą registracijos raktą, kuris leidžia registruotis visiems, turintiems slaptąjį raktą, net jei registracija išjungta.

enable_registration: False

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

Išsaugokite failą ir išeikite iš redaktoriaus. Dabar turėsite užregistruoti pirmąjį vartotoją. Tačiau prieš registruodami naują vartotoją pirmiausia turėsite paleisti programą.

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

Turėtumėte pamatyti šias eilutes.

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

Užregistruokite naują Matrix vartotoją.

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

Turėtumėte pamatyti toliau pateiktą informaciją.

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

Galiausiai, prieš naudodami namų serverį, turėsite leisti 8448 prievadą per ugniasienę. Prievadas 8448naudojamas kaip apsaugotas federacijos prievadas. Namų serveriai naudoja šį prievadą, kad galėtų saugiai bendrauti tarpusavyje. Per šį prievadą taip pat galite naudoti integruotą „Matrix“ žiniatinklio pokalbių klientą.

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.

Sukurkite naują scenarijų, kad atnaujintumėte sertifikatus, ir nukopijuokite atnaujintus sertifikatus į Synapse katalogą.

sudo nano /opt/renew-letsencypt.sh  

Užpildykite failą.

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

Suteikite leidimą vykdyti.

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

Atidarykite cron darbo failą.

sudo crontab -e

Failo pabaigoje pridėkite šią eilutę.

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

Pirmiau nurodytas cron darbas bus vykdomas kiekvieną pirmadienį 5:30 val. Jei baigsis sertifikato galiojimo laikas, jis bus automatiškai atnaujintas.

Dabar galite apsilankyti https://matrix.example.com:8448. Pamatysite, kad prieš prisijungiant nėra SSL įspėjimo.

Nustatykite „Nginx“ naudodami „Let's Encrypt“.

Be apsaugoto susiejimo prievado 8448, Synapse taip pat klauso neapsaugoto kliento prievado 8008. Dabar sukonfigūruosime „Nginx“ kaip atvirkštinį „Synapse“ programos tarpinį serverį.

sudo yum -y install nginx

Sukurkite naują konfigūracijos failą.

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

Užpildykite failą tokiu turiniu.

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;

    }
  }

Paleiskite iš naujo ir įgalinkite „Nginx“ automatiškai paleisti įkrovos metu.

sudo systemctl restart nginx
sudo systemctl enable nginx

Galiausiai galite patikrinti, ar Synapse galima pasiekti per atvirkštinį tarpinį serverį.

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

Turėtumėte gauti panašią produkciją.

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

Sistemos paslaugos nustatymas

Norint valdyti „Synapse“ serverio procesą, rekomenduojama naudoti „Systemd“ paslaugą. Naudodami Systemd užtikrinsite, kad serveris būtų automatiškai paleistas paleidus sistemą ir atsiradus gedimams.

Sukurkite naują Systemd paslaugos failą.

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

Užpildykite failą.

[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

Dabar galite greitai paleisti „Synapse“ serverį.

sudo systemctl start matrix-synapse

Norėdami sustabdyti arba iš naujo paleisti serverį naudodami šias komandas.

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

Galite patikrinti paslaugos būseną.

sudo systemctl status matrix-synapse

Naudojant Riot

Matrix Synapse serveris dabar įdiegtas ir sukonfigūruotas jūsų serveryje. Kadangi įtaisytasis Matrix žiniatinklio klientas yra pasenęs, galite rinktis iš daugybės pokalbiui skirtų kliento programų . „Riot“ yra populiariausias pokalbių klientas, pasiekiamas beveik visose platformose. Galite naudoti „Riot“ žiniatinklio pokalbių kliento priglobtą versiją arba jos kopiją savo serveryje. Be to, taip pat galite naudoti „Riot“ darbalaukio ir mobiliųjų pokalbių programas, kurias galima naudoti „Windows“, „Mac“, „Linux“, „IOS“ ir „Android“.

Jei norite priglobti savo „Riot“ žiniatinklio kliento kopiją, toliau skaitykite instrukcijas, kaip įdiegti „Riot“ savo serveryje. Jei naudojate priglobtą, stalinį ir mobilųjį klientą, galite naudoti savo vartotojo vardą ir slaptažodį, kad prisijungtumėte tiesiai prie savo namų serverio. Tiesiog pasirinkite parinktį my Matrix IDišskleidžiamajame meniu Sign Inir pateikite vartotojo vardą ir slaptažodį, kuriuos sukūrėte registruodamiesi naujam vartotojui. Spustelėkite Custom serverir naudokite savo Synapse egzemplioriaus domeno pavadinimą. Kadangi jau sukonfigūravome „Nginx“, galime naudoti tik https://matrix.example.comkaip namų serverį ir https://matrix.orgkaip tapatybės serverio URL.

Riot prisijungimo pavyzdys

Nustatykite Riot savo serveryje.

Riot taip pat yra atvirojo kodo ir nemokama priegloba jūsų serveryje. Tam nereikia jokios duomenų bazės ar priklausomybių. Kadangi jau veikia Nginx serveris, galime jį talpinti tame pačiame serveryje.

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.

Atsisiųskite „Riot“ į savo serverį.

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

Nuorodą į naujausią versiją visada galite rasti Riot's Github .

Išskleiskite archyvą.

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

Kad būtų patogiau tvarkyti, pervardykite katalogą.

sudo mv riot-v*/ riot/

Kadangi jau įdiegėme Certbot, sertifikatus galime generuoti tiesiogiai. Įsitikinkite, kad jūsų naudojamas domenas arba padomenis yra nukreiptas į serverį.

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

Sugeneruoti sertifikatai greičiausiai bus saugomi /etc/letsencrypt/live/riot.example.com/kataloge.

Sukurkite virtualų „Riot“ programos pagrindinį kompiuterį.

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

Užpildykite failą.

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;

  }

Nukopijuokite konfigūracijos failo pavyzdį.

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

Dabar redaguokite konfigūracijos failą, kad atliktumėte keletą pakeitimų.

sudo nano /opt/riot/config.json

Raskite šias eilutes.

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

Pakeiskite numatytojo namų serverio URL reikšmę savo Matrix serverio URL. Tapatybės serverio URL galite naudoti numatytąją parinktį arba taip pat galite pateikti jo reikšmę Matrix tapatybės serveriui, kuris yra https://matrix.org.

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

Išsaugokite failą ir išeikite. Suteikite failų nuosavybės teisę Nginx vartotojui.

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

Iš naujo paleiskite Nginx.

sudo systemctl restart nginx

Riot galite pasiekti naudodami https://riot.example.com. Dabar galite prisijungti naudodami vartotojo vardą ir slaptažodį, kuriuos sukūrėte anksčiau. Galite prisijungti naudodami numatytąjį serverį, nes mes jau pakeitėme savo programos numatytąjį Matrix serverį.

Dabar turite ir veikia Matrix Synapse namų serveris. Taip pat turite priglobtą „Riot“ kopiją, kurią galite naudoti norėdami siųsti žinutę kitiems žmonėms, naudodami jų Matrix ID, el. pašto adresą arba mobiliojo telefono numerį. Pradėkite sukurdami pokalbių kambarį savo serveryje ir pakvieskite savo draugus Matrix prisijungti prie jūsų sukurto pokalbių kambario.


Įdiekite „Plesk“ „CentOS 7“.

Įdiekite „Plesk“ „CentOS 7“.

Naudojate kitą sistemą? Plesk yra patentuotas žiniatinklio prieglobos valdymo skydelis, leidžiantis vartotojams administruoti savo asmenines ir (arba) klientų svetaines, duomenų bazes

Kaip įdiegti „Squid“ tarpinį serverį „CentOS“.

Kaip įdiegti „Squid“ tarpinį serverį „CentOS“.

Squid yra populiari nemokama „Linux“ programa, leidžianti sukurti persiuntimo žiniatinklio tarpinį serverį. Šiame vadove pamatysite, kaip įdiegti „Squid“ „CentOS“, kad paverstumėte jus

Kaip įdiegti „Lighttpd“ (LLMP Stack) „CentOS 6“.

Kaip įdiegti „Lighttpd“ (LLMP Stack) „CentOS 6“.

Įvadas Lighttpd yra „Apache“ šakutė, skirta daug mažiau išteklių imti. Jis yra lengvas, todėl jo pavadinimas ir yra gana paprastas naudoti. Įdiegti

Statinio tinklo ir IPv6 konfigūravimas CentOS 7

Statinio tinklo ir IPv6 konfigūravimas CentOS 7

VULTR neseniai atliko pakeitimus, ir dabar viskas turėtų veikti gerai, kai įjungta „NetworkManager“. Jei norite išjungti

„Icinga2“ modifikavimas, kad būtų naudojamas pagrindinis / kliento modelis „CentOS 6“ arba „CentOS 7“.

„Icinga2“ modifikavimas, kad būtų naudojamas pagrindinis / kliento modelis „CentOS 6“ arba „CentOS 7“.

Icinga2 yra galinga stebėjimo sistema, o kai naudojama pagrindinio kliento modelyje, ji gali pakeisti NRPE pagrįstų stebėjimo patikrų poreikį. Meistras-klientas

Kaip įdiegti „Apache Cassandra 3.11.x“ „CentOS 7“.

Kaip įdiegti „Apache Cassandra 3.11.x“ „CentOS 7“.

Naudojate kitą sistemą? Apache Cassandra yra nemokama ir atviro kodo NoSQL duomenų bazių valdymo sistema, skirta užtikrinti mastelio keitimą, hig.

Kaip įdiegti „Mattermost 4.1“ „CentOS 7“.

Kaip įdiegti „Mattermost 4.1“ „CentOS 7“.

Naudojate kitą sistemą? Mattermost yra atvirojo kodo, savarankiškai priglobta alternatyva Slack SAAS pranešimų paslaugai. Kitaip tariant, naudodami Mattermost, jūs apytiksliai

Leidžia šifruoti Plesk

Leidžia šifruoti Plesk

„Plesk“ valdymo skydelyje yra labai graži „Lets Encrypt“ integracija. „Lets Encrypt“ yra vienas iš vienintelių SSL teikėjų, išduodančių visus sertifikatus

Leidžia šifruoti „cPanel“.

Leidžia šifruoti „cPanel“.

„Lets Encrypt“ yra sertifikatų institucija, skirta nemokamai teikti SSL sertifikatus. cPanel sukūrė tvarkingą integraciją, kad jūs ir jūsų klientas

Kaip įdiegti „Concrete5“ „CentOS 7“.

Kaip įdiegti „Concrete5“ „CentOS 7“.

Naudojate kitą sistemą? Concrete5 yra atvirojo kodo TVS, kuri siūlo daug išskirtinių ir naudingų funkcijų, padedančių redaktoriams lengvai sukurti turinį

Kaip įdiegti apžvalgos lentą „CentOS 7“.

Kaip įdiegti apžvalgos lentą „CentOS 7“.

Naudojate kitą sistemą? „Review Board“ yra nemokamas atvirojo kodo įrankis, skirtas šaltinio kodui, dokumentacijai, vaizdams ir daugeliui kitų peržiūrėti. Tai internetinė programinė įranga

Nustatykite HTTP autentifikavimą naudodami „Nginx“ „CentOS 7“.

Nustatykite HTTP autentifikavimą naudodami „Nginx“ „CentOS 7“.

Šiame vadove sužinosite, kaip nustatyti HTTP autentifikavimą Nginx žiniatinklio serveriui, kuriame veikia CentOS 7. Reikalavimai Norėdami pradėti, jums reikės

Kaip įdiegti YOURLS „CentOS 7“.

Kaip įdiegti YOURLS „CentOS 7“.

YOURLS (Your Own URL Shortener) yra atvirojo kodo URL sutrumpinimo ir duomenų analizės programa. Šiame straipsnyje apžvelgsime diegimo procesą

Kaip įdiegti ir konfigūruoti „ArangoDB“ „CentOS 7“.

Kaip įdiegti ir konfigūruoti „ArangoDB“ „CentOS 7“.

Naudojate kitą sistemą? Įvadas ArangoDB yra atvirojo kodo NoSQL duomenų bazė su lanksčiu duomenų modeliu dokumentams, grafikams ir raktų reikšmėms. tai yra

Etckeeper naudojimas versijai valdyti /etc

Etckeeper naudojimas versijai valdyti /etc

Įvadas Katalogas /etc/ vaidina lemiamą vaidmenį veikiant Linux sistemai. Taip yra todėl, kad beveik visos sistemos konfigūracijos

Kodėl turėtumėte naudoti SSHFS? Kaip prijungti nuotolinę failų sistemą su SSHFS „CentOS 6“.

Kodėl turėtumėte naudoti SSHFS? Kaip prijungti nuotolinę failų sistemą su SSHFS „CentOS 6“.

Daugelis sistemos administratorių valdo didelius serverių kiekius. Kai failus reikia pasiekti skirtinguose serveriuose, prisijungiant prie kiekvieno atskirai apytiksliai

„Half Life 2“ serverio nustatymas „CentOS 6“.

„Half Life 2“ serverio nustatymas „CentOS 6“.

Ši pamoka apims Half Life 2 žaidimų serverio diegimą CentOS 6 sistemoje. 1 veiksmas: būtinų sąlygų įdiegimas Norėdami nustatyti ou

Kaip įdiegti „Laravel GitScrum“ „CentOS 7“.

Kaip įdiegti „Laravel GitScrum“ „CentOS 7“.

Laravel GitScrum arba GitScrum yra atvirojo kodo produktyvumo įrankis, skirtas padėti kūrimo komandoms įgyvendinti Scrum metodiką panašiai

Kaip įdiegti „PowerDNS“ „CentOS“.

Kaip įdiegti „PowerDNS“ „CentOS“.

Įvadas Šiame „Vultr“ vadove sužinosite, kaip įdiegti „PowerDNS“. PowerDNS yra programa, skirta paleisti savo vardų serverius. Tai labai naudinga, kai

Įdiekite „Wordpress“ naudodami „Apache“, PHP ir „MySQL“ (automatinis paleisties scenarijus)

Įdiekite „Wordpress“ naudodami „Apache“, PHP ir „MySQL“ (automatinis paleisties scenarijus)

Galite nukopijuoti ir įklijuoti šį bash scenarijų į Vultr valdymo skydelio paleisties scenarijaus sritį. Jis įdiegs visus reikalingus paketus į ru

Mašinų augimas: AI pritaikymas realiame pasaulyje

Mašinų augimas: AI pritaikymas realiame pasaulyje

Dirbtinis intelektas nėra ateityje, jis čia, dabartyje Šiame tinklaraštyje Skaitykite, kaip dirbtinio intelekto programos paveikė įvairius sektorius.

DDOS atakos: trumpa apžvalga

DDOS atakos: trumpa apžvalga

Ar taip pat esate DDOS atakų auka ir esate sumišęs dėl prevencijos metodų? Perskaitykite šį straipsnį, kad išspręstumėte savo užklausas.

Ar kada nors susimąstėte, kaip įsilaužėliai uždirba pinigų?

Ar kada nors susimąstėte, kaip įsilaužėliai uždirba pinigų?

Galbūt girdėjote, kad įsilaužėliai uždirba daug pinigų, bet ar kada susimąstėte, kaip jie uždirba tokius pinigus? padiskutuokime.

Revoliuciniai „Google“ išradimai, kurie palengvins jūsų gyvenimą.

Revoliuciniai „Google“ išradimai, kurie palengvins jūsų gyvenimą.

Ar norite pamatyti revoliucinius „Google“ išradimus ir kaip šie išradimai pakeitė kiekvieno žmogaus gyvenimą šiandien? Tada skaitykite tinklaraštį, kad pamatytumėte „Google“ išradimus.

Penktadienio esminiai dalykai: kas atsitiko AI varomiems automobiliams?

Penktadienio esminiai dalykai: kas atsitiko AI varomiems automobiliams?

Savavaledžių automobilių koncepcija, kuri išvažiuotų į kelius su dirbtinio intelekto pagalba, yra svajonė, kurią jau kurį laiką svajojame. Tačiau nepaisant kelių pažadų, jų niekur nematyti. Skaitykite šį tinklaraštį, kad sužinotumėte daugiau…

Technologinis išskirtinumas: tolima žmogaus civilizacijos ateitis?

Technologinis išskirtinumas: tolima žmogaus civilizacijos ateitis?

Kadangi mokslas sparčiai vystosi, perimdamas daug mūsų pastangų, taip pat didėja rizika, kad pateksime į nepaaiškinamą singuliarumą. Skaitykite, ką mums gali reikšti išskirtinumas.

Duomenų saugojimo raida – infografika

Duomenų saugojimo raida – infografika

Duomenų saugojimo metodai gali būti tobulinami nuo pat Duomenų gimimo. Šiame tinklaraštyje, remiantis infografika, aprašoma duomenų saugojimo raida.

Didžiųjų duomenų atskaitos architektūros sluoksnių funkcijos

Didžiųjų duomenų atskaitos architektūros sluoksnių funkcijos

Skaitykite tinklaraštį, kad paprasčiausiai sužinotumėte apie skirtingus didžiųjų duomenų architektūros sluoksnius ir jų funkcijas.

6 nuostabūs išmaniųjų namų įrenginių privalumai

6 nuostabūs išmaniųjų namų įrenginių privalumai

Šiame skaitmeniniu būdu pagrįstame pasaulyje išmanieji namų įrenginiai tapo svarbia gyvenimo dalimi. Štai keletas nuostabių išmaniųjų namų įrenginių privalumų, kaip jie daro mūsų gyvenimą vertą gyventi ir paprastesnį.

„macOS Catalina 10.15.4“ priedo atnaujinimas kelia daugiau problemų, nei sprendžia

„macOS Catalina 10.15.4“ priedo atnaujinimas kelia daugiau problemų, nei sprendžia

Neseniai „Apple“ išleido „macOS Catalina 10.15.4“ priedą, skirtą problemoms išspręsti, tačiau atrodo, kad dėl atnaujinimo kyla daugiau problemų, dėl kurių „Mac“ įrenginiai blokuojami. Norėdami sužinoti daugiau, perskaitykite šį straipsnį