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
Buildbot è uno strumento di integrazione continua open source basato su Python per automatizzare la creazione, il test e la distribuzione del software. Buildbot è composto da uno o più master Buildbot e un numero di lavoratori. Buildbot master o Buildmaster ha il comando centrale del sistema. È responsabile della gestione dell'ambiente di costruzione, dei lavoratori e prende tutte le decisioni relative all'invio di lavori ai lavoratori. Buildmaster rileva le modifiche nel repository di codice e invia i comandi o i lavori ai lavoratori da eseguire. I lavoratori eseguono i lavori e restituiscono il risultato a Buildmaster. Buildmaster avvisa quindi gli sviluppatori attraverso più canali supportati. In questo tutorial installeremo il master e worker Buildbot su CentOS 7. Configureremo anche l'autenticazione e Nginx come proxy inverso protetto.
Per questo tutorial, utilizzeremo 192.168.1.1
come indirizzo IP pubblico e ci.example.com
come nome di dominio puntato verso l'istanza Vultr. Assicurati di sostituire tutte le occorrenze del nome di dominio e dell'indirizzo IP di esempio con quello 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 Pip, che è un gestore di pacchetti per Python.
sudo yum -y install epel-release
sudo yum -y install python-pip gcc python-devel git
sudo pip install --upgrade pip
Buildbot supporta più tipi di server di database come MySQL, PostgreSQL e SQLite. In questo tutorial, useremo PostgreSQL per ospitare il server di database Buildbot.
PostgreSQL è un sistema di database relazionale ad oggetti, noto per la sua stabilità e velocità. Il yum
repository predefinito contiene una vecchia versione di PostgreSQL, quindi aggiungi il repository PostgreSQL.
sudo yum -y install https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-7-x86_64/pgdg-centos10-10-1.noarch.rpm
Installa il server di database PostgreSQL.
sudo yum -y install postgresql10-server postgresql10-contrib postgresql10
Inizializza il database.
sudo /usr/pgsql-10/bin/postgresql-10-setup initdb
Avviare il server PostgreSQL e abilitarlo ad avviarsi automaticamente all'avvio.
sudo systemctl start postgresql-10
sudo systemctl enable postgresql-10
Cambia la password per l'utente PostgreSQL predefinito.
sudo passwd postgres
Accedi come utente PostgreSQL.
sudo su - postgres
Crea un nuovo utente PostgreSQL per Buildbot.
createuser bb_user
Puoi utilizzare qualsiasi nome utente anziché bb_user
, se preferisci. PostgreSQL fornisce la psql
shell per eseguire query sul database. Passa alla shell PostgreSQL.
psql
Imposta una password per l'utente appena creato.
ALTER USER bb_user WITH ENCRYPTED password 'DBPassword';
Sostituisci DBPassword
con una password sicura.
Crea un nuovo database per l'installazione di Buildbot.
CREATE DATABASE buildbot OWNER bb_user;
Esci dalla psql
shell.
\q
Passa sudo
all'utente.
exit
Modifica il pg_hba.conf
file per abilitare l'autenticazione basata su MD5.
sudo nano /var/lib/pgsql/10/data/pg_hba.conf
Individuare le seguenti righe e modificare i valori peer
e ident
, nella METHOD
colonna, per trust
e 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 apparirà come il seguente testo.
# 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
Salvare il file ed uscire dall'editor. Installa l'adattatore database PostgreSQL per Python.
sudo pip install psycopg2
Riavvia PostgreSQL per rendere effettive le modifiche.
sudo systemctl restart postgresql-10
Installa Buildbot usando Pip.
sudo pip install 'buildbot[bundle]' pyopenssl service_identity
Il comando installerà Buildbot insieme buildbot-www
, buildbot-worker
e vari web plugin come buildbot-waterfall-view
.
Per assicurarsi che Buildbot sia stato installato correttamente, è possibile verificare controllando la versione di Buildbot.
buildbot --version
L'output dovrebbe assomigliare al seguente testo.
[user@vultr ~]$ buildbot --version
Buildbot version: 0.9.15.post1
Twisted version: 17.9.0
Modifica le regole del firewall per consentire la porta 8010
. Buildbot utilizza questa porta per ascoltare le richieste Web.
sudo firewall-cmd --zone=public --add-port=8010/tcp --permanent
sudo firewall-cmd --reload
Crea un nuovo utente senza privilegi per eseguire i processi master e worker di Buildbot. Non è consigliabile eseguire i servizi master Buildbot come root
utente.
sudo adduser buildbot
sudo passwd buildbot
Accedi come l' buildbot
utente appena creato .
sudo su - buildbot
Imposta il master Buildbot nella /home/buildbot/master
directory. Questa directory conterrà i file di configurazione, stato e registro di ogni build.
buildbot create-master --db 'postgresql://bb_user:DBPassword@localhost/buildbot' ~/master
Assicurarsi di sostituire le credenziali dell'utente del database nel comando sopra.
Nota: se si desidera utilizzare il database SQLite anziché PostgreSQL, è sufficiente omettere l' --db 'postgresql://bb_user:DBpassword@localhost/buildbot'
opzione. Il database SQLite verrà creato nella stessa directory.
Il comando sopra creerà la ~/master
directory per memorizzare i file Buildmaster. Scriverà anche i dati nel database PostgreSQL. Otterrai il seguente output.
[buildbot@vultr ~]$ buildbot create-master --db 'postgresql://bb_user:DBPassword@localhost/buildbot' ~/master
mkdir /home/buildbot/master
creating /home/buildbot/master/master.cfg.sample
creating database (postgresql://bb_user:DBPassword@localhost/buildbot)
buildmaster configured in /home/buildbot/master
Copia il file di configurazione di esempio in un file di configurazione live.
cp ~/master/master.cfg.sample ~/master/master.cfg
Modifica il file di configurazione.
nano ~/master/master.cfg
Trova le seguenti righe.
c['workers'] = [worker.Worker("example-worker", "pass")]
...
c['builders'].append(
util.BuilderConfig(name="runtests",
workernames=["example-worker"],
factory=factory))
...
c['title'] = "Hello World CI"
c['titleURL'] = "https://buildbot.github.io/hello-world/"
...
c['buildbotURL'] = "http://localhost:8010/"
...
c['db'] = {
'db_url' : "postgresql://bb_user:DBpassword@localhost/buildbot",
}
La configurazione sopra ha una voce per un lavoratore di esempio. Modificheremo la voce di esempio per il lavoratore su cui saremo in esecuzione localhost
. Modificare il example-worker
nome con un nome adatto per il localhost
lavoratore e cambiare pass
con un'altra password. Prendi nota del nome e della password del lavoratore, come sarà richiesto più avanti nel tutorial. Cambia il nome del lavoratore nell'elenco dei costruttori. Modifica il nome dell'applicazione e l'URL del progetto in base alle tue esigenze.
Cambia l'URL Buildbot dal localhost
tuo attuale nome di dominio o indirizzo IP pubblico. Inoltre, verificare che le informazioni del database nel file di configurazione corrispondano alle credenziali del database effettivo.
Alla fine del file, aggiungi c['buildbotNetUsageData'] = None
. Questo parametro disabilita l'invio agli sviluppatori delle informazioni sulla versione del software e dei dettagli sull'utilizzo del plug-in. Tuttavia, per abilitare l'invio delle informazioni sugli usi, modificare l'opzione in Full
.
La configurazione dovrebbe apparire come il seguente testo.
c['workers'] = [worker.Worker("localhost-worker", "Password123")]
...
c['builders'].append(
util.BuilderConfig(name="runtests",
workernames=["localhost-worker"],
factory=factory))
...
c['title'] = "My Application CI"
c['titleURL'] = "https://example.com/my-app"
...
c['buildbotURL'] = "http://192.168.1.1:8010/"
...
c['db'] = {
'db_url' : "postgresql://bb_user:DBpassword@localhost/buildbot",
}
...
c['buildbotNetUsageData'] = None
Salvare il file ed uscire dall'editor. Controlla gli errori nel file di configurazione.
buildbot checkconfig ~/master
Se il file di configurazione non presenta errori, verrà visualizzato il seguente output.
[buildbot@vultr ~]$ buildbot checkconfig ~/master
Config file is good!
Ora che tutto è configurato correttamente, puoi avviare il master Buildbot.
buildbot start ~/master
Vedrai il seguente output.
[buildbot@vultr ~]$ buildbot start ~/master
Following twistd.log until startup finished..
The buildmaster appears to have (re)started correctly.
Ora che il master Buildbot è stato avviato correttamente, l'interfaccia utente Web è accessibile all'indirizzo http://192.168.1.1:8010
. Dovresti vedere la seguente interfaccia Buildbot.
Poiché abbiamo già modificato la configurazione di worker in ~/master/master.cfg
, possiamo procedere con la creazione di un nuovo worker.
buildbot-worker create-worker ~/worker localhost localhost-worker Password123
Assicurarsi di utilizzare lo stesso nome lavoratore e la stessa password indicati nel ~/master/master.cfg
file. In caso di mancata corrispondenza nel nome o nella password del lavoratore, il lavoratore non sarà in grado di connettersi al master Buildbot. Vedrai il seguente output dopo una corretta esecuzione.
[buildbot@vultr ~]$ buildbot-worker create-worker ~/worker localhost example-worker pass
mkdir /home/buildbot/worker
mkdir /home/buildbot/worker/info
Creating info/admin, you need to edit it appropriately.
Creating info/host, you need to edit it appropriately.
Not creating info/access_uri - add it if you wish
Please edit the files in /home/buildbot/worker/info appropriately.
worker configured in /home/buildbot/worker
Le informazioni sul lavoratore sono archiviate nella /info
directory. Modifica le informazioni amministrative sullo sviluppatore.
nano ~/worker/info/admin
Sostituisci il nome di esempio con il tuo vero nome ed e-mail.
Your Name <[email protected]>
Ora, apri il file contenente informazioni sull'host.
nano ~/worker/info/host
Sostituire l'istruzione di esempio con le informazioni effettive sul sistema host.
Localhost, CentOS 7
Le informazioni sull'amministratore e sull'host del lavoratore vengono utilizzate solo per comunicare agli utenti il sistema. Puoi anche aggiungere ulteriori informazioni sul sistema come la versione Buildbot e la versione Twisted.
Inizia il lavoratore.
buildbot-worker start ~/worker
L'output sarà simile al seguente testo.
[buildbot@vultr ~]$ buildbot-worker start ~/worker
Following twistd.log until startup finished..
The buildbot-worker appears to have (re)started correctly.
Per verificare se il lavoratore è registrato, vai all'interfaccia web di Buildbot e naviga Builds >> Workers
dalla barra di navigazione a sinistra. Dovresti vedere che il lavoratore è pronto e pronto per la creazione.
Per eseguire una build di esempio, per verificare se il lavoratore Buildbot è in esecuzione correttamente, accedere a Builds >> Builders
. Fare clic sul runtests
nome del builder per aprire l'interfaccia del builder e fare clic sul Force
pulsante per forzare una build. Fornisci il tuo nome e fai clic sul Start Build
pulsante per avviare la compilazione. Poiché si tratta di un test di build di esempio per controllare l'ambiente Buildbot, si concluderà in un paio di secondi. Riceverai un messaggio di successo e il risultato della creazione.
Sebbene il master e il lavoratore Buildbot possano essere facilmente avviati utilizzando i comandi precedenti, si consiglia di utilizzare le unità Systemd per eseguire e gestire i servizi Buildbot. Ciò garantirà che vengano avviati automaticamente al riavvio del sistema e agli errori.
Nota: Passare alla sudo
all'utente di nuovo eseguendo uno exit
o su <username>
. D'ora in poi tutti i comandi devono essere eseguiti sudo
dall'utente.
Arresta il lavoratore e il servizio principale Buildbot in esecuzione.
sudo su buildbot -c "buildbot stop /home/buildbot/master"
sudo su buildbot -c "buildbot-worker stop ~/worker"
Creare un nuovo file di unità Systemd per il master Buildbot.
sudo nano /etc/systemd/system/buildbot.service
Popolare il file.
[Unit]
Description=BuildBot master service
After=network.target
[Service]
Type=forking
User=buildbot
Group=buildbot
WorkingDirectory=/home/buildbot/master
ExecStart=/usr/bin/buildbot start
ExecStop=/usr/bin/buildbot stop
ExecReload=/usr/bin/buildbot restart
[Install]
WantedBy=multi-user.target
Avviare il master Buildbot e abilitare l'avvio automatico all'avvio.
sudo systemctl start buildbot
sudo systemctl enable buildbot
Creare un nuovo file di unità Systemd per il lavoratore Buildbot.
sudo nano /etc/systemd/system/buildbot-worker.service
Popolare il file.
[Unit]
Description=BuildBot worker service
After=network.target
[Service]
Type=forking
User=buildbot
Group=buildbot
WorkingDirectory=/home/buildbot/worker
ExecStart=/usr/bin/buildbot-worker start
ExecStop=/usr/bin/buildbot-worker stop
ExecReload=/usr/bin/buildbot-worker restart
[Install]
WantedBy=multi-user.target
Avviare il lavoratore Buildbot e abilitarlo ad avviarsi automaticamente all'avvio.
sudo systemctl start buildbot-worker
sudo systemctl enable buildbot-worker
Puoi controllare lo stato dei servizi.
sudo systemctl status buildbot buildbot-worker
Se i servizi funzionano senza problemi, lo vedrai nell'output.
[user@vultr ~]$ sudo systemctl status buildbot buildbot-worker
● buildbot.service - BuildBot master service
...
Active: active (running) since Fri 2018-01-12 16:00:59 UTC; 1min 25s ago
...
Jan 12 16:00:59 vultr.guest systemd[1]: Started BuildBot master service.
● buildbot-worker.service - BuildBot worker service
...
Active: active (running) since Fri 2018-01-12 16:02:00 UTC; 24s ago
...
Jan 12 16:02:00 vultr.guest systemd[1]: Started BuildBot worker service.
Per impostazione predefinita, l'autenticazione non è abilitata nell'interfaccia web di Buildbot. Per i siti Internet, si consiglia vivamente di configurare l'autenticazione in modo che solo gli utenti autorizzati possano eseguire attività amministrative. Per impostare l'autenticazione, riaprire il file di configurazione principale Buildbot.
sudo su buildbot -c "nano /home/buildbot/master/master.cfg"
Aggiungi le seguenti righe alla fine del file.
c['www']['authz'] = util.Authz(
allowRules = [
util.AnyEndpointMatcher(role="admins")
],
roleMatchers = [
util.RolesFromUsername(roles=['admins'], usernames=['admin_user'])
]
)
c['www']['auth'] = util.UserPasswordAuth({'admin_user': 'AdminPassword'})
Sostituisci entrambe le occorrenze admin_user
con il nome utente effettivo che desideri utilizzare e AdminPassword
con una password complessa.
Controlla errori nel file di configurazione.
sudo su buildbot -c "buildbot checkconfig /home/buildbot/master"
Riavvia il servizio principale Buildbot in modo che le modifiche abbiano effetto.
sudo systemctl restart buildbot
Naviga nuovamente nell'interfaccia web per vedere che gli utenti anonimi possono solo visualizzare i dettagli di base sul server di build. Ora accedi utilizzando le credenziali impostate nel master.cfg
file e vedrai che tutte le altre funzioni amministrative sono disponibili solo per l'utente amministratore connesso.
Per impostazione predefinita, Buildbot ascolta la porta 8010
su connessioni non protette. HTTPS
Si consiglia di proteggere l'interfaccia Web per garantire che i dati siano al sicuro durante il trasporto dal browser al server. In questa sezione del tutorial, installeremo e proteggeremo Nginx con Let's Encrypt certificati SSL gratuiti. Il web server Nginx funzionerà come proxy inverso per inoltrare le richieste in arrivo all'endpoint HTTP di Buildbot.
Installa Nginx.
sudo yum -y install nginx
Avvia Nginx e abilita l'avvio automatico all'avvio.
sudo systemctl start nginx
sudo systemctl enable nginx
Installa Certbot, che è l'applicazione client per Let's Encrypt CA.
sudo yum -y install certbot
Prima di poter richiedere i certificati, è necessario consentire porte 80
e / 443
o standard HTTP
e HTTPS
servizi attraverso il firewall. Inoltre, rimuovere la porta 8010
, che ascolta le connessioni non protette.
sudo firewall-cmd --zone=public --add-service=http --permanent
sudo firewall-cmd --zone=public --add-service=https --permanent
sudo firewall-cmd --zone=public --remove-port=8010/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.pem
e la chiave privata verrà archiviata come privkey.pem
.
Let's Encrypt certificati scadranno tra 90 giorni, quindi si consiglia di impostare il rinnovo automatico dei certificati utilizzando i processi Cron.
Aprire il file di lavoro cron per l' root
utente.
sudo crontab -e
Aggiungi la seguente riga alla fine del file.
30 5 * * * /usr/bin/certbot renew --quiet
Il precedente cron job verrà eseguito ogni giorno alle 5:30. Se il certificato è in scadenza, lo rinnoverà automaticamente.
Ora, modifica il file di configurazione predefinito di Nginx per eliminare la default_server
riga.
sudo sed -i 's/default_server//g' /etc/nginx/nginx.conf
Crea un nuovo file di configurazione per l'interfaccia web Buildbot.
sudo nano /etc/nginx/conf.d/buildbot.conf
Popolare il file.
upstream buildbot {
server 127.0.0.1:8010;
}
server {
listen 80 default_server;
server_name ci.example.com;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl http2 default_server;
server_name ci.example.com;
root html;
index index.html index.htm;
ssl on;
ssl_certificate /etc/letsencrypt/live/ci.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/ci.example.com/privkey.pem;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 1440m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4;
ssl_prefer_server_ciphers on;
add_header Strict-Transport-Security "max-age=31536000; includeSubdomains;";
access_log /var/log/nginx/buildbot.access.log;
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_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-Host $host;
location / {
proxy_pass http://buildbot;
}
location /sse/ {
proxy_buffering off;
proxy_pass http://buildbot/sse/;
}
location /ws {
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_pass http://buildbot/ws;
proxy_read_timeout 6000s;
}
}
Controlla gli errori nel nuovo file di configurazione.
sudo nginx -t
Se viene visualizzato il seguente output, la configurazione è priva di errori.
[user@vultr ~]$ sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Se hai ricevuto qualche tipo di errore, assicurati di ricontrollare il percorso dei certificati SSL. Riavviare il server Web Nginx per implementare la modifica della configurazione.
sudo systemctl restart nginx
Apri il file di configurazione di Buildmaster.
sudo su buildbot -c "nano /home/buildbot/master/master.cfg"
Individua la seguente riga.
c['buildbotURL'] = "http://192.168.1.1:8010/"
Modifica l'URL in base al nome di dominio che stai utilizzando.
c['buildbotURL'] = "https://ci.example.com/"
Riavvia il servizio principale Buildbot.
sudo systemctl restart buildbot
Ora puoi accedere alla dashboard di Buildbot all'indirizzo https://ci.example.com
. Vedrai che le connessioni a Buildbot sono ora protette con SSL.
Accedi utilizzando le credenziali di amministratore e aggiungi la tua prima pipeline per iniziare a creare la tua applicazione.
Usi un sistema diverso? Introduzione CyberPanel è uno dei primi pannelli di controllo sul mercato che è sia open source che utilizza OpenLiteSpeed. Che cosa
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
Usi un sistema diverso? Apache OpenMeetings è unapplicazione per conferenze Web open source. È scritto in Java e supporta più server di database. io
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
Usando un sistema diverso? RabbitMQ è un broker di messaggi open source ampiamente utilizzato scritto nel linguaggio di programmazione Erlang. Come middleware orientato ai messaggi
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
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
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
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.
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:
Usi un sistema diverso? Apache Cassandra è un sistema di gestione di database NoSQL gratuito e open source progettato per fornire scalabilità, alta
In questo tutorial imparerai bene come configurare un server multiplayer Just Cause 2. Prerequisiti Assicurarsi che il sistema sia completamente aggiornato prima di iniziare
Usando un sistema diverso? In questo tutorial, spiegherò come impostare un server Starbound su CentOS 7. Prerequisiti Devi possedere questo gioco su di te
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
Django è un popolare framework Python per la scrittura di applicazioni Web. Con Django, puoi creare applicazioni più velocemente, senza reinventare la ruota. Se vuoi
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
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
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
Cosa ti serve Un VPS Vultr con almeno 1 GB di RAM. Accesso SSH (con privilegi di root / amministrativi). Passaggio 1: installare prima BungeeCord
MaraDNS è un programma server DNS open source leggero ma robusto. Rispetto ad altre applicazioni dello stesso tipo, come ISC BIND, PowerDNS e djbdns
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, 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.
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+
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.
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 l'estrazione dei dati dai Big Data
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
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
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.