Come installare e configurare Concourse CI su CentOS 7

introduzione

L'integrazione continua è una pratica di sviluppo software DevOps che consente agli sviluppatori di unire frequentemente il codice modificato nel repository condiviso più volte al giorno. Dopo ogni unione, vengono eseguiti build e test automatici per rilevare problemi nel codice. Consente agli sviluppatori di trovare e risolvere rapidamente gli errori per migliorare la qualità del software e fornire la consegna continua del software. Passare avanti e indietro da Concourse è molto semplice in quanto mantiene tutta la sua configurazione in file dichiarativi che possono essere controllati nel controllo della versione. Fornisce inoltre un'interfaccia utente Web che visualizza le informazioni sulla build in modo interattivo.

Componenti dell'atrio.
  • ATC è il componente principale del Concourse. È responsabile per l'esecuzione dell'interfaccia utente Web e dell'API. Si occupa anche di tutta la programmazione della pipeline.
  • TSA è un server SSH personalizzato. È responsabile della registrazione sicura di un lavoratore presso ATC.
  • I lavoratori gestiscono inoltre due diversi servizi:
    1. Garden è un runtime contenitore e un'interfaccia per orchestrare contenitori in remoto su un lavoratore.
    2. Baggageclaim è un server di gestione cache e artefatti.
  • Fly è un'interfaccia a riga di comando utilizzata per interagire con l'ATC per configurare Concourse Pipelines.

Prerequisiti

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

Assicurati di sostituire tutte le occorrenze di 192.0.2.1e ci.example.comcon il tuo attuale indirizzo IP pubblico Vultr e il nome di dominio effettivo.

Aggiorna il tuo sistema di base usando la guida Come aggiornare CentOS 7 . Dopo aver aggiornato il sistema, procedere con l'installazione di PostgreSQL.

Installa e configura il database PostgreSQL

PostgreSQL è un sistema di database relazionale di oggetti. Concourse memorizza i dati della pipeline in un database PostgreSQL. Aggiungi il repository PostgreSQL.

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

Installa il server di database PostgreSQL.

sudo yum -y install postgresql96-server postgresql96-contrib

Inizializza il database.

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

initdbcrea un nuovo cluster di database PostgreSQL, che è una raccolta di database gestiti da una singola istanza del server. Modifica il pg_hba.conffile per abilitare l'autenticazione basata su MD5.

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

Individuare le seguenti righe e modificare i valori peere identnella METHODcolonna truste md5, rispettivamente.

# 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            ident
# IPv6 local connections:
host    all             all             ::1/128                 ident

Una volta aggiornata, la configurazione dovrebbe apparire così.

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# "local" is for Unix domain socket connections only
local   all             all                                     trust
# IPv4 local connections:
host    all             all             127.0.0.1/32            md5
# IPv6 local connections:
host    all             all             ::1/128                 md5

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

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

Cambia la password per l'utente PostgreSQL predefinito.

sudo passwd postgres

Accedi come utente PostgreSQL:

sudo su - postgres

Crea un nuovo utente PostgreSQL per Concourse CI.

createuser concourse

Nota : l'utente PostgreSQL predefinito può essere utilizzato per l'autenticazione del database, ma si consiglia di utilizzare un utente dedicato per l'autenticazione del database Concourse in una configurazione di produzione.

PostgreSQL fornisce una shell per eseguire query sul database. Passa alla shell PostgreSQL eseguendo:

psql

Impostare una password per l'utente del database Concourse appena creato.

ALTER USER concourse WITH ENCRYPTED password 'DBPassword';

Importante : sostituire DBPasswordcon una password complessa. Prendi nota della password poiché sarà richiesta più avanti nel tutorial.

Crea un nuovo database per Concourse.

CREATE DATABASE concourse OWNER concourse;

Esci dalla psqlshell.

\q

Passa all'utente sudo dell'utente postgres corrente.

exit

Scarica e installa Concourse CI

Scarica l'ultima versione dell'eseguibile di Concourse e memorizzala in /usr/binmodo che possa essere eseguita direttamente. L'ultima versione dei binari Concourse e Fly è disponibile nella pagina di download di Concourse . Le nuove versioni sono molto frequenti. Sostituisci il link in basso con il nuovo link per la versione più recente.

sudo wget https://github.com/concourse/concourse/releases/download/v3.4.1/concourse_linux_amd64 -O /usr/bin/concourse

Allo stesso modo, scarica l'ultima versione dell'eseguibile fly e memorizzala in /usr/bin.

sudo wget https://github.com/concourse/concourse/releases/download/v3.4.1/fly_linux_amd64 -O /usr/bin/fly

Fly è l'interfaccia della riga di comando per connettersi all'API ATC di Concourse CI. Fly è disponibile per più piattaforme come Linux, Windows e MacOS.

Assegna l'autorizzazione di esecuzione ai file scaricati concoursee flybinari.

sudo chmod +x /usr/bin/concourse /usr/bin/fly

Controlla se Concourse e Fly funzionano correttamente controllandone la versione.

concourse -version
fly -version

Genera e configura chiavi RSA

Le coppie di chiavi RSA forniscono un modo per crittografare la comunicazione tra i componenti del Concourse.

Perché Concourse funzioni, devono essere generate almeno tre coppie di chiavi. Per crittografare i dati della sessione, generare a session_signing_key. Questa chiave verrà utilizzata anche da TSA per firmare le richieste che invia all'ATC. Per proteggere il server SSH TSA, generare a tsa_host_key. Infine, genera un worker_keyper ogni lavoratore.

Creare una nuova directory per archiviare le chiavi e la configurazione relative a Concourse CI.

sudo mkdir /opt/concourse

Genera le chiavi richieste.

sudo ssh-keygen -t rsa -q -N '' -f /opt/concourse/session_signing_key
sudo ssh-keygen -t rsa -q -N '' -f /opt/concourse/tsa_host_key
sudo ssh-keygen -t rsa -q -N '' -f /opt/concourse/worker_key

Autorizzare la chiave pubblica dei lavoratori copiandone il contenuto nel authorized_worker_keysfile:

sudo cp /opt/concourse/worker_key.pub /opt/concourse/authorized_worker_keys

Concourse iniziale

Concourse fornisce due componenti separati che devono essere avviati, il web e il lavoratore. Avvia il Web Concourse.

sudo concourse web \
  --basic-auth-username admin \
  --basic-auth-password StrongPass \
  --session-signing-key /opt/concourse/session_signing_key \
  --tsa-host-key /opt/concourse/tsa_host_key \
  --tsa-authorized-keys /opt/concourse/authorized_worker_keys \
  --postgres-user=concourse \
  --postgres-password=DBPassword \
  --postgres-database=concourse \
  --external-url http://192.0.2.1:8080

Modificare il nome utente e la password del basic-authse desiderato. Assicurarsi che il percorso dei file delle chiavi sia corretto e assicurarsi che sia fornito il valore corretto per nome utente e password nella configurazione del database PostgreSQL.

Nota : ATC ascolterà la porta predefinita 8080e TSA ascolterà la porta 2222. Se non si desidera l'autenticazione, passare l' --no-really-i-dont-want-any-authopzione dopo aver rimosso le opzioni di autenticazione di base.

Una volta avviato il web server, dovrebbe essere visualizzato il seguente output.

{"timestamp":"1503657859.661247969","source":"tsa","message":"tsa.listening","log_level":1,"data":{}}
{"timestamp":"1503657859.666907549","source":"atc","message":"atc.listening","log_level":1,"data":{"debug":"127.0.0.1:8079","http":"0.0.0.0:8080"}}

Arrestare il server per ora, poiché è ancora necessario configurare alcune altre cose.

Avviare Concourse CI Worker.

sudo concourse worker \
  --work-dir /opt/concourse/worker \
  --tsa-host 127.0.0.1 \
  --tsa-public-key /opt/concourse/tsa_host_key.pub \
  --tsa-worker-private-key /opt/concourse/worker_key

Il comando sopra presupporrà che TSA sia in esecuzione su localhost e ascolti la porta predefinita 2222.

Sebbene Concourse web e worker possano essere avviati facilmente utilizzando i comandi precedenti, si consiglia di utilizzare Systemd per gestire il server.

Configurare l'ambiente e il servizio Systemd

L'uso del servizio Systemd per la gestione dell'applicazione garantisce che l'applicazione venga avviata automaticamente in caso di errori e all'avvio. Il server Concourse non accetta i dati da nessun file di configurazione, ma può accedere ai dati dalle variabili di ambiente. Invece di impostare le variabili di ambiente globali, creare un nuovo file per archiviare le variabili di ambiente e quindi passare le variabili all'IC Concourse utilizzando il servizio Systemd.

Crea un nuovo file di ambiente per Concourse web.

sudo nano /opt/concourse/web.env

Popolare il file.

CONCOURSE_SESSION_SIGNING_KEY=/opt/concourse/session_signing_key
CONCOURSE_TSA_HOST_KEY=/opt/concourse/tsa_host_key
CONCOURSE_TSA_AUTHORIZED_KEYS=/opt/concourse/authorized_worker_keys

CONCOURSE_POSTGRES_USER=concourse
CONCOURSE_POSTGRES_PASSWORD=DBPassword
CONCOURSE_POSTGRES_DATABASE=concourse

CONCOURSE_BASIC_AUTH_USERNAME=admin
CONCOURSE_BASIC_AUTH_PASSWORD=StrongPass
CONCOURSE_EXTERNAL_URL=http://192.0.2.1:8080

Modificare il nome utente e la password del BASIC_AUTHse desiderato. Assicurarsi che il percorso dei file delle chiavi sia corretto e assicurarsi che sia fornito il valore corretto per nome utente e password nella configurazione del database PostgreSQL.

Allo stesso modo, creare un file di ambiente per il lavoratore.

sudo nano /opt/concourse/worker.env

Popolare il file.

CONCOURSE_WORK_DIR=/opt/concourse/worker
CONCOURSE_TSA_WORKER_PRIVATE_KEY=/opt/concourse/worker_key
CONCOURSE_TSA_PUBLIC_KEY=/opt/concourse/tsa_host_key.pub
CONCOURSE_TSA_HOST=127.0.0.1

Poiché i file di ambiente contengono nome utente e password, modificane le autorizzazioni in modo che non possano accedervi da altri utenti.

sudo chmod 600 /opt/concourse/*.env

Ora crea un nuovo utente per Concourse per eseguire l'ambiente web. Ciò garantirà che il server Web sia in esecuzione in un ambiente isolato.

sudo adduser --system concourse

Assegnare all'utente dell'atrio la proprietà della directory del file Concourse CI.

sudo chown -R concourse:concourse /opt/concourse

Creare un nuovo file di servizio systemd per il servizio Web Concourse.

sudo nano /etc/systemd/system/concourse-web.service

Popolare il file.

[Unit]
Description=Concourse CI web server
After=postgresql-9.6.service

[Service]
Type=simple
User=concourse
Group=concourse
Restart=on-failure
EnvironmentFile=/opt/concourse/web.env
ExecStart=/usr/bin/concourse web
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=concourse_web

[Install]
WantedBy=multi-user.target

Salva e chiudi il file. Creare un nuovo file di servizio per il servizio di lavoratore Concourse.

sudo nano /etc/systemd/system/concourse-worker.service

Popolare il file.

[Unit]
Description=Concourse CI worker process
After=concourse-web.service

[Service]
Type=simple
User=root
Group=root
Restart=on-failure
EnvironmentFile=/opt/concourse/worker.env
ExecStart=/usr/bin/concourse worker
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=concourse_worker

[Install]
WantedBy=multi-user.target

Il servizio Web e di lavoro ora può essere avviato direttamente eseguendo:

sudo systemctl start concourse-web concourse-worker

Per abilitare l'avvio automatico del processo di lavoro e Web all'avvio, eseguire:

sudo systemctl enable concourse-worker concourse-web

Per verificare lo stato dei servizi, eseguire:

sudo systemctl status concourse-worker concourse-web

Se il servizio non è avviato o nello FAILEDstato, rimuovere la cache dalla /tmpdirectory.

sudo rm -rf /tmp/*

Riavvia i servizi.

sudo systemctl restart concourse-worker concourse-web

Si noti che questa volta i servizi sono stati avviati correttamente. L'output al momento della verifica dello stato dei servizi dovrebbe essere simile.

[user@vultr ~]$ sudo systemctl status concourse-worker concourse-web
● concourse-worker.service - Concourse CI worker process
   Loaded: loaded (/etc/systemd/system/concourse-worker.service; enabled; vendor preset: disabled)
   Active: active (running) since Sat 2017-08-26 07:27:37 UTC; 55s ago
 Main PID: 3037 (concourse)
   CGroup: /system.slice/concourse-worker.service
           └─3037 /usr/bin/concourse worker

Aug 26 07:27:42 vultr.guest concourse_worker[3037]: {"timestamp":"1503732462.934722900","source":"tsa","message":"t...""}}
Aug 26 07:27:42 vultr.guest concourse_worker[3037]: {"timestamp":"1503732462.941227913","source":"guardian","messag...0"}}
...

● concourse-web.service - Concourse CI web server
   Loaded: loaded (/etc/systemd/system/concourse-web.service; enabled; vendor preset: disabled)
   Active: active (running) since Sat 2017-08-26 07:27:37 UTC; 55s ago
 Main PID: 3036 (concourse)
   CGroup: /system.slice/concourse-web.service
           └─3036 /usr/bin/concourse web

Aug 26 07:27:57 vultr.guest concourse_web[3036]: {"timestamp":"1503732477.925554752","source":"tsa","message":"tsa...ve"}}
Aug 26 07:28:02 vultr.guest concourse_web[3036]: {"timestamp":"1503732482.925430775","source":"tsa","message":"tsa...ve"}}
...
Hint: Some lines were ellipsized, use -l to show in full.

Regola il firewall per consentire la porta 8080, su cui è in esecuzione ATS e la porta 2222, su cui è in esecuzione TSA.

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

Connessione al server

Una volta avviato il server, è possibile accedere all'interfaccia Web di Concourse CI accedendo a http://192.0.2.1:8080qualsiasi browser. Accedi utilizzando il nome utente e la password forniti nel file di ambiente.

Per connettersi al server tramite Fly, eseguire:

fly -t my-ci login -c http://192.0.2.1:8080

Il comando precedente viene utilizzato per l'accesso iniziale al server. -tviene utilizzato per fornire un nome di destinazione. sostituire my-cicon qualsiasi nome di destinazione desiderato. Il comando sopra accederà al team predefinito main. Chiederà il nome utente e la password forniti nel file di ambiente.

L'output sarà simile al seguente.

[user@vultr ~]$ fly -t my-ci login -c http://192.0.2.1:8080
logging in to team 'main'

username: admin
password:

target saved

L'accesso target verrà salvato per un giorno. Successivamente, scadrà.

Per disconnettersi immediatamente.

fly -t my-ci logout

fly può essere utilizzato per accedere al server al di fuori della rete, ma solo se il server ha un indirizzo IP pubblico ed è accessibile dall'esterno della rete. Il file binario Windows o MacOS può essere scaricato dal sito di download o dall'interfaccia utente Web del server.

Impostazione del proxy inverso Nginx

Gli accessi e altre informazioni inviate tramite l'interfaccia utente Web al server Concourse non sono protetti. La connessione non è crittografata. Un proxy inverso Nginx può essere impostato con un SSL gratuito Let's Encrypt.

Installare il server Web Nginx e Certbot, che è l'applicazione client per Let's Encrypt CA.

sudo yum -y install certbot-nginx nginx

Avvia e abilita Nginx ad avviarsi automaticamente all'avvio:

sudo systemctl start nginx
sudo systemctl enable nginx

Prima di poter effettuare una richiesta per i certificati, è necessario abilitare attraverso il firewall le porte 80 e 443 o i servizi HTTP e HTTPS standard. Certbot controllerà l'autorità di dominio prima di emettere certificati.

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

La porta 8080 non deve più essere consentita attraverso il firewall poiché Concourse verrà ora eseguito sulla porta HTTPS standard. Rimuovere la voce del firewall per consentire la porta 8080.

sudo firewall-cmd --zone=public --remove-port=8080/tcp --permanent
sudo firewall-cmd --reload

Nota

Per ottenere certificati da Let's Encrypt CA, il dominio per il quale devono essere generati i certificati deve essere puntato verso il server. In caso contrario, apportare le modifiche necessarie ai record DNS del dominio e attendere la propagazione del DNS prima di effettuare nuovamente la richiesta di certificato. Certbot controlla l'autorità di dominio prima di fornire i certificati.

Genera i certificati SSL.

sudo certbot certonly --webroot -w /usr/share/nginx/html -d ci.example.com

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

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

Apri il file di lavoro cron.

sudo crontab -e

Aggiungi la seguente riga alla fine del file.

30 5 * * 1 /usr/bin/certbot renew --quiet

Il processo cron sopra riportato verrà eseguito ogni lunedì alle 5:30. Se il certificato è in scadenza, verrà automaticamente rinnovato.

Crea un nuovo host virtuale.

sudo nano /etc/nginx/conf.d/concourse-ssl.conf

Popolare il file.

server {
    listen 80;
    server_name ci.example.com;
    return 301 https://$host$request_uri;
}
server {

    listen 443;
    server_name ci.example.com;

    ssl_certificate           /etc/letsencrypt/live/ci.example.com/fullchain.pem;
    ssl_certificate_key       /etc/letsencrypt/live/ci.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/concourse.access.log;

    location / {

      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-Proto $scheme;
      proxy_pass          http://localhost:8080;
      proxy_read_timeout  90;

      proxy_redirect      http://localhost:8080 https://ci.example.com;
    }
  }

Nota : sostituire ci.example.comcon il dominio effettivo.

Modifica il file Environment creato per l'atrio Web.

sudo nano /opt/concourse/web.env

Modifica il valore di CONCOURSE_EXTERNAL_URLe aggiungi anche altre due righe alla fine del file.

CONCOURSE_EXTERNAL_URL=https://ci.example.com
CONCOURSE_BIND_IP=127.0.0.1
CONCOURSE_BIND_PORT=8080

Salvare il file e riavviare Concourse Web, Worker e Nginx web server:

sudo systemctl restart concourse-worker concourse-web nginx

Tutti i dati inviati da e verso il browser sono ora protetti con crittografie SSL.



Leave a Comment

Come installare e configurare CyberPanel sul server CentOS 7

Come installare e configurare CyberPanel sul server CentOS 7

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

Come installare e configurare Sensu Monitoring su CentOS 7

Come installare e configurare Sensu Monitoring su CentOS 7

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

Come installare OpenMeetings su CentOS 7

Come installare OpenMeetings su CentOS 7

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

Come usare Sudo su Debian, CentOS e FreeBSD

Come usare Sudo su Debian, CentOS e FreeBSD

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

Come installare RabbitMQ su CentOS 7

Come installare RabbitMQ su CentOS 7

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

Installazione di Nginx-RTMP su CentOS 7

Installazione di Nginx-RTMP su CentOS 7

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

Come installare TaskBoard 0.3.1 su CentOS 7

Come installare TaskBoard 0.3.1 su CentOS 7

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

Come installare Gradle su CentOS 7

Come installare Gradle su CentOS 7

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

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

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

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

Installazione di Netdata su CentOS 7

Installazione di Netdata su CentOS 7

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

Come installare Apache Cassandra 3.11.x su CentOS 7

Come installare Apache Cassandra 3.11.x su CentOS 7

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

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

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

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

Come installare Starbound Server su CentOS 7

Come installare Starbound Server su CentOS 7

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

Installazione e configurazione di ZNC su CentOS 7

Installazione e configurazione di ZNC su CentOS 7

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

Come installare Django su CentOS 7

Come installare Django su CentOS 7

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

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

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

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

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

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

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

Come installare Directus 6.4 CMS su un VPS CentOS 7 LAMP

Come installare Directus 6.4 CMS su un VPS CentOS 7 LAMP

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

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

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

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

Come installare MaraDNS su CentOS 6

Come installare MaraDNS su CentOS 6

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

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

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

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

ReactOS: è questo il futuro di Windows?

ReactOS: è questo il futuro di Windows?

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

Rimani connesso tramite lapp desktop WhatsApp 24*7

Rimani connesso tramite lapp desktop WhatsApp 24*7

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

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

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

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

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

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

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

13 strumenti commerciali per lestrazione dei dati dai Big Data

13 strumenti commerciali per lestrazione dei dati dai Big Data

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

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

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

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

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

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

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

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

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

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

Limpatto dellintelligenza artificiale nella sanità 2021

Limpatto dellintelligenza artificiale nella sanità 2021

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