Vytvořte HTML 5 RDP/SSH frontend pomocí Guacamole na Ubuntu 16.04 LTS

Úvod

Cílem tohoto tutoriálu je zbavit se veřejných připojení SSH a veřejných RDP. Umístěním tohoto všeho za velmi pohodlného klienta HTML5 můžeme přidat vrstvu zabezpečení pro přístup k našemu cloudu.

Guacamole také zaznamenává jakýkoli vzdálený přístup, takže neoprávněný přístup je mnohem lépe sledovatelný.

Poznámka: Pro Let's encrypt (možnost B) potřebujeme název domény. Pokud jej nemáte, můžete tento krok přeskočit a jednoduše provést volbu A .

Krok 1 - Příprava systému

Začněte roztočením VPS ve vaší požadované zóně Vultr. 1024 MBVPS bude stačit, jak guacamole není tak náročná.

Povolení soukromé IP

Začněte povolením privátní sítě na VPS. To je dobře zdokumentována zde

Příprava firewallu

Nejprve obrázek trochu přitvrdíme. A zkontrolujme, zda byl zřízený obraz ufwpovolen.

root@vultr:~# ufw status
Status: inactive

Ve výchozím nastavení je zakázáno, takže budeme muset přidat několik pravidel.

  • Pravidlo 1: ssh: TCP port 22
  • Pravidlo 2: http: TCP port 8080 (dočasné testovací pravidlo pro Guacamole)

Začněme konfigurací těchto portů.

ufw allow 22/tcp
ufw allow 8080/tcp

Dále povolte firewall.

ufw enable

Nedělejte si starosti, pokud obdržíte varování. Pokud jste přidali port 22, nebudete čelit žádným problémům.

root@vultr:~# ufw enable
Command may disrupt existing ssh connections. Proceed with operation (y|n)? y
Firewall is active and enabled on system startup

Po aktivaci si vyžádejte stav brány firewall a my uvidíme konfiguraci našeho portu.

ufw status

Status: active

To                         Action      From
--                         ------      ----
22/tcp                     ALLOW       Anywhere
8080/tcp                   ALLOW       Anywhere
22/tcp (v6)                ALLOW       Anywhere (v6)
8080/tcp (v6)              ALLOW       Anywhere (v6)

Krok 2 – Instalace Guacamole

Instalace všech závislostí

Než začneme s instalací, musíme aktualizovat a upgradovat repo. U balíčků, jako je Tomcat, který je založen na Javě, existuje neustálý proud objevených chyb a jejich souvisejících oprav. Obvykle je dobré to udělat jako první místo toho, abyste spěchali přímo do naší instalace.

apt-get update
apt-get -y upgrade 

Další na řadě jsou všechny závislosti. Guacamole jich má poměrně dost. (Úplný seznam závislostí a jejich funkce naleznete zde ). Pokračujme instalací všech z nich.

apt-get -y install build-essential tomcat8 freerdp libcairo2-dev libjpeg-turbo8-dev libpng12-dev libossp-uuid-dev libavcodec-dev libavutil-dev libfreerdp-dev libpango1.0-dev libssh2-1-dev libtelnet-dev libvorbis-dev libwebp-dev mysql-server mysql-client mysql-common mysql-utilities libswscale-dev libvncserver-dev libpulse-dev libssl-dev

Když instalační program požádá o kořenové heslo MySQL, poskytněte ho a nezapomeňte si ho poznamenat. Toto heslo použijeme později k vytvoření databáze Guacamole.

Stahování Guacamole

Nyní, když máme všechny naše závislosti, můžeme pokračovat ve stahování Guacamole. Guacamole samotné přichází většinou ve zdrojové formě a ne binární. Nejprve se přesuneme do /tmpsložky, abychom se vyhnuli nepořádku v dalších částech disku. Poté si stáhněte celý zdrojový kód.

Ke stažení jsou čtyři zdrojové/binární soubory:

  • guacamole-0.9.13-incubating.war: Toto je webová aplikace. WARSoubor je zazipovaný web balíček poskytuje jednotné webové stránky umístěny na webových stránkách Tomcat
  • guacamole-server-0.9.13-incubating.tar.gz: Tento soubor poskytne backendovou guacdaplikaci. Tím se vytvoří proudy přes RDP a SSH.
  • guacamole-auth-jdbc-0.9.13-incubating.tar.gz: Budeme používat lokální databázi MySQL, takže potřebujeme přidružený JDBCkonektor.
  • mysql-connector-java-5.1.43.tar.gz: Bez ovladače databáze konektor JDBC nedělá nic. Tento soubor poskytuje samotný tým MySQL.

Poznámka: Stahování bylo vyřešeno na nejbližší server .

cd /tmp
wget http://apache.belnet.be/incubator/guacamole/0.9.13-incubating/binary/guacamole-0.9.13-incubating.war
wget http://apache.cu.be/incubator/guacamole/0.9.13-incubating/source/guacamole-server-0.9.13-incubating.tar.gz
wget http://apache.cu.be/incubator/guacamole/0.9.13-incubating/binary/guacamole-auth-jdbc-0.9.13-incubating.tar.gz
wget https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-5.1.43.tar.gz

Jakmile stáhneme všechny tyto soubory, extrahujte tar.gz's.

tar -xzvf guacamole-server-0.9.13-incubating.tar.gz
tar -xzvf guacamole-auth-jdbc-0.9.13-incubating.tar.gz
tar -xzvf mysql-connector-java-5.1.43.tar.gz

Kompilace Guacamole

Nyní, když jsme extrahovali veškerý zdrojový kód, udělejme několik guacamolesložek, které bude používat aplikace guacamole a její závislosti.

mkdir -p /etc/guacamole/lib
mkdir -p /etc/guacamole/extensions

Vše je připraveno pro naše nové binární soubory Guacamole. Nyní můžeme zahájit proces kompilace a instalace. Přesuňte se do extrahované složky serveru Guacamole.

cd /tmp/guacamole-server-0.9.13-incubating

Nakonfigurujte aplikaci tak, aby také vytvořila init.dsoubor pro pozdější spuštění jako služby.

./configure --with-init-dir=/etc/init.d

Příkaz by měl končit 'ano' u všech knihoven a protokolů. Pokud ne, vraťte se a zkontrolujte příkaz apt-get, abyste se ujistili, že vám žádný balíček neunikl.

------------------------------------------------
guacamole-server version 0.9.13-incubating
------------------------------------------------

   Library status:

     freerdp ............. yes
     pango ............... yes
     libavcodec .......... yes
     libavutil ........... yes
     libssh2 ............. yes
     libssl .............. yes
     libswscale .......... yes
     libtelnet ........... yes
     libVNCServer ........ yes
     libvorbis ........... yes
     libpulse ............ yes
     libwebp ............. yes

   Protocol support:

      RDP ....... yes
      SSH ....... yes
      Telnet .... yes
      VNC ....... yes

   Services / tools:

      guacd ...... yes
      guacenc .... yes

   Init scripts: /etc/init.d

Type "make" to compile guacamole-server.

Dále zkompilujte a nainstalujte server Gucamole.

make && make install

Jakmile je toto vše hotovo, spusťte ldconfigznovu sestavení vyhledávací cesty pro knihovny, které byly přidány.

ldconfig

Pokračujte pomocí systemctlnastavení guacd(Daemon Guacamole) pro spuštění při bootování.

systemctl enable guacd

Binární soubory Guacamole jsou nyní nainstalovány. Nyní připravíme webovou aplikaci pro Tomcat.

Začněte přesunutím warsouboru do guacamolesložky, kterou jsme právě vytvořili, a jakmile to uděláte, vytvořte logický odkaz v adresáři kocourků, aby ukazoval na náš warsoubor.

cd /tmp
mv guacamole-0.9.13-incubating.war /etc/guacamole/guacamole.war
ln -s /etc/guacamole/guacamole.war /var/lib/tomcat8/webapps/

Pak potřebujeme konektor mysql a JDBC. Ovladač JDBC je potřeba ve extensionssložce, konektor ve libsložce.

cp mysql-connector-java-5.1.43/mysql-connector-java-5.1.43-bin.jar /etc/guacamole/lib/
cp guacamole-auth-jdbc-0.9.13-incubating/mysql/guacamole-auth-jdbc-mysql-0.9.13-incubating.jar /etc/guacamole/extensions/

Konfigurace Guacamole a Tomcat

Once the connector and JDBC are in place, we need to edit the tocamt8 file. This file contains a lot of tomcat8 settings, and in our case we need to add the GUACAMOLE_HOME variable at the end of the file.

nano /etc/default/tomcat8

Append with the following.

GUACAMOLE_HOME=/etc/guacamole

Creating the database

Next up is creating the database. Guacamole stores its connection configuration in a database, not inside a file.

Login with the root password you used during the installation.

mysql -u root -p

The first step is to create a database called 'guacamole_db'.

create database guacamole_db;

Then run the create user command. This will create a user with a password mysupersecretpassword, this user will only be able to connect from localhost.

create user 'guacamole_user'@'localhost' identified by "mysupersecretpassword";

Grant CRUD operations to this user for the database guacamole_db.

GRANT SELECT,INSERT,UPDATE,DELETE ON guacamole_db.* TO 'guacamole_user'@'localhost';

Flush privileges and exit the shell.

flush privileges;
exit

Finish up by adding the Guacamole schema to our newly created database.

cat /tmp/guacamole-auth-jdbc-0.9.13-incubating/mysql/schema/*.sql | mysql -u root -p guacamole_db

Once this is done, we need to edit the guacamole.properties file. This file contains our recently created MySQL server configuration.

nano /etc/guacamole/guacamole.properties

Append the MySQL connection details and credentials.

mysql-hostname: localhost
mysql-port: 3306
mysql-database: guacamole_db
mysql-username: guacamole_user
mysql-password: mysupersecretpassword

Finish up by creating a symbolic link to the tomcat share folder, as this is where the WAR file will search these properties.

ln -s /etc/guacamole /usr/share/tomcat8/.guacamole

Testing the setup

End by restarting the tomcat8 server and start the guacd server daemon.

service tomcat8 restart
service guacd start

You can verify by using the status command.

service tomcat8 status
service guacd status

Now you can browse to your VPS on port 8080

http://<yourpublicip>:8080/guacamole/

Use the username guacadmin and the same password guacadmin. This will grant you access to an empty Guacamole server.

Click in the top right corner on your username guacadmin and select Settings. Once you are in the settings page go to the Users tab and select the user guacadmin.

Now change your password to something else or create a new admin user and delete the default guacadmin one.

Step 3 - Fine tuning and cleanup

These are the final steps: cleaning up after you are done.

Delete the downloaded source code and binaries from the /tmp folder.

rm -rf /tmp/guacamole-*
rm -rf /tmp/mysql-connector-java-*

Also, make the Guacamole web application the default one. In the tomcat ecosystem the application that gets the ROOT folder is the one that is started by default when you access the website.

Delete the old ROOT placeholder.

rm -rf /var/lib/tomcat8/webapps/ROOT

And make a symbolic link for the guacamole server to be the ROOT one.

ln -s /var/lib/tomcat8/webapps/guacamole /var/lib/tomcat8/webapps/ROOT

This requires a tomcat restart.

service tomcat8 restart

Step 4 (option A) - Running on HTTP only

  • If you are not going to use Let's Encrypt certificates and not use a DNS, execute the actions in this step and afterwards go directly to Step 6. - Option A
  • If you want to create a more secure site and you have a DNS ready, you can skip this and go straight to option B (Step 5).

Edit the tomcat8/server.xml file and change the connector port.

nano /etc/tomcat8/server.xml

Search for the Connector port.

<Connector port="8080" protocol="HTTP/1.1"
           connectionTimeout="20000"
           URIEncoding="UTF-8"
           redirectPort="8443" />

And replace 8080 with 80.

By default, tomcat doesn't allow the binding of ports below 1024. To enable this we need to tell tomcat8 to create authenticated binds.

Edit the default file of tomcat8 and uncomment the AUTHBIND line and use the option yes

nano /etc/default/tomcat8

AUTHBIND=yes

Once this is done, intall authbind.

apt-get install authbind

Configure it so that port 80 can be claimed by tomcat8.

touch /etc/authbind/byport/80
chmod 500 /etc/authbind/byport/80
chown tomcat8 /etc/authbind/byport/80

Allow port 80 through the firewall and delete the rule for 8080.

ufw allow 80/tcp
ufw delete allow 8080/tcp

Restart tomcat.

service tomcat8 restart

That's it, now Guacamole should be running on port 80.

Step 5 (option B) - Setting up Nginx

Installation and configuration of Nginx

Tomcat really isn't one of the best and most robust applications to use with certbot. Luckily Nginx is. We will just to proxy tomcat to Nginx. It uses the out-of-the-box functionality of certbot at the cost of sacrificing a little bit of RAM.

apt-get install nginx

Once installed, edit the default configuration.

nano /etc/nginx/sites-available/default

Delete all example configurations and add the following configuration.

server {      
  listen 0.0.0.0:80;

  proxy_request_buffering off;
  proxy_buffering off;

  location / {
     proxy_pass http://127.0.0.1:8080;
     proxy_redirect     off;
        proxy_set_header   Host $host;
        proxy_set_header   X-Real-IP $remote_addr;
        proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header   X-Forwarded-Host $server_name;
  }
}

This will create a proxy for the website running at 8080. Restart Nginx, and enable it at boot.

systemctl restart nginx
systemctl enable nginx

Check if everything is working.

systemctl status nginx

Disable the testing port 8080 and allow traffic on port 80.

ufw allow 80/tcp
ufw delete allow 8080/tcp

Installing Let's Encrypt

Before we can use certbot, we need to add the correct ppa to the system containing our certbot packages.

add-apt-repository ppa:certbot/certbot

Press "ENTER" to accept the configuration change.

Update apt to gather the new packages.

apt-get update

Finally, install the Nginx module for assigning the certificates.

apt-get -y install python-certbot-nginx

Configure Nginx to use certificates

Configure the firewall to allow HTTPS.

ufw allow 443/tcp

Before we can request new certificates, we need a DNS name.

nano /etc/nginx/sites-available/default

Add the following server_name setting.

server_name rdp.example.com;

Change the configuration to reflect this new setting.

server {
  server_name rdp.example.com;

  listen 0.0.0.0:80;

  proxy_request_buffering off;
  proxy_buffering off;

  location / {
     proxy_pass http://127.0.0.1:8080;
     proxy_redirect     off;
        proxy_set_header   Host $host;
        proxy_set_header   X-Real-IP $remote_addr;
        proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header   X-Forwarded-Host $server_name;
  }
}

Check if all is working and restart Nginx.

nginx -t
service nginx restart

Now request a certificate with certbot.

certbot --nginx -d rdp.example.com

Zadejte svůj e-mail a odsouhlaste otázky kladené instalačním technikem. ( NoPro sdílení e-mailu můžete bezpečně zvolit " ".) Certbot se automaticky zeptá, co má dělat s HTTPS. Použijeme možnost 2: redirect to HTTPS.

Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
-------------------------------------------------------------------------------
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
-------------------------------------------------------------------------------
Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2

Poslední věcí, kterou budeme dělat, je aktualizace DHparametrů. Ty jsou standardně pro standardy roku 2017 trochu slabé.

Vytvořte nějaké nové.

openssl dhparam -out /etc/ssl/certs/dhparam.pem 2048

Dále je přidejte na výchozí web v Nginx.

nano /etc/nginx/sites-available/default

Přidejte je do konfigurace serveru.

server {
  server_name rdp.example.com;

  listen 0.0.0.0:80;
  ssl_dhparam /etc/ssl/certs/dhparam.pem;

  proxy_request_buffering off;
  proxy_buffering off;

  location / {
     proxy_pass http://127.0.0.1:8080;
     proxy_redirect     off;
        proxy_set_header   Host $host;
        proxy_set_header   X-Real-IP $remote_addr;
        proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header   X-Forwarded-Host $server_name;
  }
}

Zkontrolujte chyby.

nginx -t

Aplikujte změny restartováním serveru.

service nginx restart

Vyčistěte staré 8080pravidlo

ufw delete allow 8080/tcp

Poznámka: Pokud byste měli obdržet "502 Bad Gateway", budete muset restartovat tomcat8 .

service tomcat8 restart

Automatická obnova certifikátů

Certifikáty Let's Encrypt vyžadují obnovení. Můžeme pro to vytvořit úlohu cron. Začněte úpravou souboru crontab.

crontab -e

Přidejte následující řádek.

00 2 * * * /usr/bin/certbot renew --quiet

To ve 2:00 zkontroluje, zda nějaké certifikáty vyžadují obnovení, a pokud ano, obnoví je.

Krok 6 – Otestujte vše

Přejděte na svůj server Guacamole (buď http://<ip>/nebo https://rdp.example.com)).

Pro tento test budete potřebovat dvě další instance: jeden virtuální počítač s Linuxem a další Windows Server 2012 R2 se soukromou IP povolenou na obou.

Přidání připojení Windows RDP

Klikněte na „ username“ v pravém horním rohu a přejděte na „ Settings“. Poté přejděte na „ Connections“ a vyberte „ New Connection“.

Vyplňte následující nastavení (ostatní můžete ponechat jako výchozí).

Name: Windows Server 2012 R2
Location: ROOT
Protocol: RDP
Maximum number of connections: 1
Maximum number of connections per user: 1
Parameters > Hostname: 10.99.0.12
Parameters > Port: 3389
Username: Administrator
Password: <password> (provided by Vultr)
Security mode: Any
Ignore server certificate: <checked>

Stiskněte " save" a vraťte se na domovskou obrazovku. Nyní můžete kliknout na připojení " Windows Server 2012 R2" a provede se RDP k tomuto počítači.

Přidání připojení Linux SSH

Stiskněte " Ctrl+Shift+Alt". Tím se zobrazí nabídka na straně. Zde se můžete odpojit nebo provádět jiné administrativní úkoly pro Guacamole.

Klikněte usernamena v horní části nabídky a přejděte na „ Settings“. Poté přejděte na Connectionskartu „ “ a vyberte „ New Connection“.

Vyplňte následující nastavení (ostatní můžete ponechat jako výchozí).

Name: Linux
Location: ROOT
Protocol: SSH
Maximum number of connections: 5
Maximum number of connections per user: 2
Parameters > Hostname: 10.99.0.11
Parameters > Port: 22
Username: root
Password: <password> (provided by Vultr)

Stiskněte " save" a vraťte se na domovskou obrazovku. Nyní můžete kliknout na toto nově vytvořené připojení a být připojeni k vašemu linuxovému serveru přes SSH.

Závěr

Nyní máte webovou bránu RDP/SSH HTML5. Nyní můžete firewallovat veřejný přístup RDP a SSH vaší platformy a přistupovat ke svému prostředí z jakéhokoli moderního prohlížeče. Pro více informací o tom, co může nabídnout guacamole, tam je velký video ukazující všechny mo platformy zde .


Nainstalujte Plesk na CentOS 7

Nainstalujte Plesk na CentOS 7

Používáte jiný systém? Plesk je proprietární ovládací panel webového hostitele, který umožňuje uživatelům spravovat jejich osobní a/nebo klientské webové stránky, databáze

Nainstalujte Lets Encrypt SSL na aplikaci WordPress One-Click

Nainstalujte Lets Encrypt SSL na aplikaci WordPress One-Click

Úvod Lets Encrypt je služba certifikační autority, která nabízí bezplatné certifikáty TLS/SSL. Proces instalace zjednodušil Certbot,

Jak nastavit klasický server Tekkit na Ubuntu 16.10

Jak nastavit klasický server Tekkit na Ubuntu 16.10

Používáte jiný systém? Co je Tekkit Classic? Tekkit Classic je modpack pro hru, kterou každý zná a miluje; Minecraft. Obsahuje některé z ver

Vytvoření blogu Jekyll na Ubuntu 16.04

Vytvoření blogu Jekyll na Ubuntu 16.04

Používáte jiný systém? Jekyll je skvělá alternativa k WordPressu pro blogování nebo sdílení obsahu. Nevyžaduje žádné databáze a je velmi snadné i

Jak nastavit bezobslužné upgrady na Debian 9 (Stretch)

Jak nastavit bezobslužné upgrady na Debian 9 (Stretch)

Používáte jiný systém? Pokud si zakoupíte server Debian, měli byste mít vždy nejnovější bezpečnostní záplaty a aktualizace, ať už spíte nebo ne

Jak nainstalovat a nakonfigurovat PHP 7.0 nebo PHP 7.1 na Ubuntu 16.04

Jak nainstalovat a nakonfigurovat PHP 7.0 nebo PHP 7.1 na Ubuntu 16.04

PHP a související balíčky jsou nejčastěji používané komponenty při nasazování webového serveru. V tomto článku se naučíme, jak nastavit PHP 7.0 nebo PHP 7.1 o

Jak nainstalovat Squid Proxy na CentOS

Jak nainstalovat Squid Proxy na CentOS

Squid je populární bezplatný linuxový program, který vám umožňuje vytvořit webový proxy pro předávání. V této příručce uvidíte, jak nainstalovat Squid na CentOS, aby vás otočil

Jak nainstalovat Lighttpd (LLMP Stack) na CentOS 6

Jak nainstalovat Lighttpd (LLMP Stack) na CentOS 6

Úvod Lighttpd je fork Apache, jehož cílem je být mnohem méně náročný na zdroje. Je lehký, odtud jeho název, a jeho použití je docela jednoduché. Installin

Nastavení aplikace Yii na Ubuntu 14.04

Nastavení aplikace Yii na Ubuntu 14.04

Yii je PHP framework, který vám umožňuje vyvíjet aplikace rychleji a snadněji. Instalace Yii na Ubuntu je přímočará, jak se přesně dozvíte

Použití obrazovky na Ubuntu 14.04

Použití obrazovky na Ubuntu 14.04

Screen je aplikace, která umožňuje vícenásobné použití terminálových relací v rámci jednoho okna. To vám umožňuje simulovat více oken terminálu, kde to má

Nastavte si svůj vlastní DNS server na Debian/Ubuntu

Nastavte si svůj vlastní DNS server na Debian/Ubuntu

Tento tutoriál vysvětluje, jak nastavit DNS server pomocí Bind9 na Debianu nebo Ubuntu. V celém článku nahraďte odpovídajícím způsobem název-vaše-domény.com. Při čt

Konfigurace statické sítě a IPv6 na CentOS 7

Konfigurace statické sítě a IPv6 na CentOS 7

VULTR nedávno provedl změny na jejich konci a vše by nyní mělo fungovat dobře po vybalení s povoleným NetworkManagerem. Pokud si přejete deaktivovat

Úprava Icinga2 pro použití modelu Master/Client na CentOS 6 nebo CentOS 7

Úprava Icinga2 pro použití modelu Master/Client na CentOS 6 nebo CentOS 7

Icinga2 je výkonný monitorovací systém a při použití v modelu master-client může nahradit potřebu monitorovacích kontrol založených na NRPE. Hlavní klient

Nastavte Red5 Media Server na Ubuntu 16.04

Nastavte Red5 Media Server na Ubuntu 16.04

Používáte jiný systém? Red5 je open source mediální server implementovaný v Javě, který vám umožňuje spouštět aplikace Flash pro více uživatelů, jako je živé streamování

Zkompilujte a nainstalujte Nginx pomocí modulu PageSpeed ​​na Debian 8

Zkompilujte a nainstalujte Nginx pomocí modulu PageSpeed ​​na Debian 8

V tomto článku uvidíme, jak zkompilovat a nainstalovat hlavní řadu Nginx z oficiálních zdrojů Nginx pomocí modulu PageSpeed, který vám umožňuje

Jak nainstalovat Apache Cassandra 3.11.x na Ubuntu 16.04 LTS

Jak nainstalovat Apache Cassandra 3.11.x na Ubuntu 16.04 LTS

Používáte jiný systém? Apache Cassandra je bezplatný a otevřený systém pro správu databází NoSQL, který je navržen tak, aby poskytoval škálovatelnost, vysokou

Jak nainstalovat Apache Cassandra 3.11.x na CentOS 7

Jak nainstalovat Apache Cassandra 3.11.x na CentOS 7

Používáte jiný systém? Apache Cassandra je bezplatný a otevřený systém pro správu databází NoSQL, který je navržen tak, aby poskytoval škálovatelnost, vysokou

Jak nainstalovat Vanilla Forum na Ubuntu 16.04

Jak nainstalovat Vanilla Forum na Ubuntu 16.04

Používáte jiný systém? Vanilla forum je open source aplikace fóra napsaná v PHP. Je plně přizpůsobitelný, snadno použitelný a podporuje externí

Jak nainstalovat Kanboard na Ubuntu 18.04 LTS

Jak nainstalovat Kanboard na Ubuntu 18.04 LTS

Používáte jiný systém? Úvod Kanboard je bezplatný a otevřený softwarový program pro správu projektů, který je navržen tak, aby usnadnil a vizualizoval

Jak nainstalovat Kanboard na Debian 9

Jak nainstalovat Kanboard na Debian 9

Používáte jiný systém? Úvod Kanboard je bezplatný a otevřený softwarový program pro správu projektů, který je navržen tak, aby usnadnil a vizualizoval

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Umělá inteligence není v budoucnosti, je zde přímo v současnosti V tomto blogu si přečtěte, jak aplikace umělé inteligence ovlivnily různé sektory.

Útoky DDOS: Stručný přehled

Útoky DDOS: Stručný přehled

Jste také obětí DDOS útoků a nemáte jasno v metodách prevence? Chcete-li vyřešit své dotazy, přečtěte si tento článek.

Přemýšleli jste někdy, jak hackeři vydělávají peníze?

Přemýšleli jste někdy, jak hackeři vydělávají peníze?

Možná jste slyšeli, že hackeři vydělávají spoustu peněz, ale napadlo vás někdy, jak takové peníze vydělávají? Pojďme diskutovat.

Revoluční vynálezy od Googlu, které vám usnadní život.

Revoluční vynálezy od Googlu, které vám usnadní život.

Chcete vidět revoluční vynálezy Google a jak tyto vynálezy změnily život každého dnešního člověka? Pak si přečtěte na blogu a podívejte se na vynálezy od Googlu.

Friday Essential: Co se stalo s auty řízenými umělou inteligencí?

Friday Essential: Co se stalo s auty řízenými umělou inteligencí?

Koncept aut s vlastním pohonem, která vyrazí na silnice s pomocí umělé inteligence, je snem, který už nějakou dobu máme. Ale přes několik slibů nejsou nikde vidět. Přečtěte si tento blog a dozvíte se více…

Technologická singularita: vzdálená budoucnost lidské civilizace?

Technologická singularita: vzdálená budoucnost lidské civilizace?

Jak se věda vyvíjí rychlým tempem a přebírá mnoho našeho úsilí, stoupá také riziko, že se vystavíme nevysvětlitelné singularitě. Přečtěte si, co pro nás může znamenat singularita.

Evoluce ukládání dat – Infografika

Evoluce ukládání dat – Infografika

Způsoby ukládání dat se mohou vyvíjet od narození dat. Tento blog se zabývá vývojem ukládání dat na základě infografiky.

Funkcionality vrstev referenční architektury velkých dat

Funkcionality vrstev referenční architektury velkých dat

Přečtěte si blog, abyste co nejjednodušším způsobem poznali různé vrstvy v architektuře velkých dat a jejich funkce.

6 úžasných výhod toho, že máme v životě zařízení pro chytrou domácnost

6 úžasných výhod toho, že máme v životě zařízení pro chytrou domácnost

V tomto digitálním světě se chytrá domácí zařízení stala klíčovou součástí života. Zde je několik úžasných výhod chytrých domácích zařízení o tom, jak náš život stojí za to žít a zjednodušit jej.

Aktualizace doplňku macOS Catalina 10.15.4 způsobuje více problémů než řešení

Aktualizace doplňku macOS Catalina 10.15.4 způsobuje více problémů než řešení

Apple nedávno vydal doplňkovou aktualizaci macOS Catalina 10.15.4, která opravuje problémy, ale zdá se, že aktualizace způsobuje další problémy, které vedou k zablokování počítačů mac. Přečtěte si tento článek a dozvíte se více