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
Matrix è un protocollo di comunicazione standard aperto per la comunicazione decentralizzata in tempo reale. Matrix è implementato come server domestici distribuiti su Internet; quindi non esiste un singolo punto di controllo o fallimento. Matrix fornisce un'API HTTP RESTful per la creazione e la gestione dei server di chat distribuiti che include l'invio e la ricezione di messaggi, l'invito e la gestione dei membri della chat room, la gestione degli account utente e la fornitura di funzionalità di chat avanzate come VoIP e videochiamate, ecc. Matrix stabilisce anche un sincronizzazione sicura tra server domestici distribuiti in tutto il mondo.
Synapse è l'implementazione del server principale Matrix scritta dal team Matrix. L'ecosistema Matrix è costituito dalla rete di numerosi server domestici federati distribuiti in tutto il mondo. Un utente Matrix utilizza un client di chat per connettersi al server principale, che a sua volta si connette alla rete Matrix. Homeserver memorizza la cronologia della chat e le informazioni di accesso di quel particolare utente.
In questo tutorial, useremo matrix.example.com
come nome di dominio utilizzato per Matrix Synapse. Sostituisci tutte le occorrenze matrix.example.com
con il tuo vero nome di dominio che desideri utilizzare per il tuo server principale Synapse.
Aggiorna il tuo sistema di base usando la guida Come aggiornare CentOS 7 . Una volta aggiornato il sistema, procedere con l'installazione di Python.
Matrix Synapse ha bisogno di Python 2.7 per funzionare. Python 2.7 viene preinstallato in tutte le istanze del server CentOS. Puoi controllare la versione installata di Python.
python -V
Dovresti ottenere un risultato simile.
[user@vultr ~]$ python -V
Python 2.7.5
La modifica della versione predefinita di Python potrebbe interrompere la gestione del repository YUM. Tuttavia, se si desidera la versione più recente di Python, è possibile effettuare un'installazione alternativa, senza sostituire Python predefinito.
Installare i pacchetti nel Development tools
gruppo necessari per compilare i file di installazione.
sudo yum groupinstall -y "Development tools"
Installa alcune dipendenze in più.
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
Installa pip Python. Pip è il gestore delle dipendenze per i pacchetti Python.
wget https://bootstrap.pypa.io/get-pip.py
sudo python get-pip.py
Creare un ambiente virtuale per l'applicazione Synapse. L'ambiente virtuale Python viene utilizzato per creare un ambiente virtuale isolato per un progetto Python. Un ambiente virtuale contiene le proprie directory di installazione e non condivide le librerie con ambienti globali e altri ambienti virtuali.
sudo virtualenv -p python2.7 /opt/synapse
Fornire la proprietà della directory all'utente corrente.
sudo chown -R $USER:$USER /opt/synapse/
Ora attiva l'ambiente virtuale.
source /opt/synapse/bin/activate
Assicurarsi di disporre dell'ultima versione di pip
e setuptools
.
pip install --upgrade pip
pip install --upgrade setuptools
Installa l'ultima versione di Synapse usando pip.
pip install https://github.com/matrix-org/synapse/tarball/master
Il comando sopra richiederà del tempo per essere eseguito mentre estrae e installa l'ultima versione di Synapse e tutte le dipendenze dal repository Github.
Synapse utilizza SQLite come database predefinito. SQLite archivia i dati in un database che viene mantenuto come file flat su disco. L'uso di SQLite è molto semplice, ma non è raccomandato per la produzione in quanto è molto lento rispetto a PostgreSQL.
PostgreSQL è un sistema di database relazionale di oggetti. Dovrai aggiungere il repository PostgreSQL nel tuo sistema, poiché l'applicazione non è disponibile nel repository YUM predefinito.
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
Modifica /var/lib/pgsql/9.6/data/pg_hba.conf
per abilitare l'autenticazione basata su MD5.
sudo nano /var/lib/pgsql/9.6/data/pg_hba.conf
Trova le seguenti righe e modifica peer
in trust
e idnet
in 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
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
Accesso.
sudo su - postgres
Crea un nuovo utente PostgreSQL per Synapse.
createuser synapse
PostgreSQL fornisce la psql
shell per eseguire query sul database. Passa alla shell PostgreSQL eseguendo.
psql
Impostare una password per l'utente appena creato per il database Synapse.
ALTER USER synapse WITH ENCRYPTED password 'DBPassword';
Sostituisci DBPassword
con una password complessa e prendine nota poiché la password verrà utilizzata in seguito. Creare un nuovo database per il database PostgreSQL.
CREATE DATABASE synapse ENCODING 'UTF8' LC_COLLATE='C' LC_CTYPE='C' template=template0 OWNER synapse;
Esci dalla psql
shell.
\q
Passa sudo
all'utente postgres
dall'utente corrente .
exit
Sarà inoltre necessario installare i pacchetti richiesti affinché Synapse comunichi con il server di database PostgreSQL.
sudo yum -y install postgresql-devel libpqxx-devel.x86_64
source /opt/synapse/bin/activate
pip install psycopg2
Synapse richiede un file di configurazione prima che possa essere avviato. Il file di configurazione memorizza le impostazioni del server. Passa all'ambiente virtuale e genera la configurazione per Synapse.
source /opt/synapse/bin/activate
cd /opt/synapse
python -m synapse.app.homeserver --server-name matrix.example.com --config-path homeserver.yaml --generate-config --report-stats=yes
Sostituisci matrix.example.com
con il tuo vero nome di dominio e assicurati che il nome del server sia risolvibile con l'indirizzo IP dell'istanza Vultr. Fornire --report-stats=yes
se si desidera che i server generino i report, --report-stats=no
disattivare la generazione di report e statistiche.
Dovresti vedere un output simile.
(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
Per impostazione predefinita, homeserver.yaml
è configurato per utilizzare un database SQLite. Dobbiamo modificarlo per utilizzare il database PostgreSQL che abbiamo creato in precedenza.
Modifica il nuovo creato homeserver.yaml
.
nano homeserver.yaml
Trova la configurazione del database esistente che utilizza SQLite3. Commenta le righe come mostrato di seguito. Inoltre, aggiungi la nuova configurazione del database per PostgreSQL. Assicurarsi di utilizzare le credenziali del database corrette.
# 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
La registrazione di un nuovo utente da un'interfaccia Web è disabilitata per impostazione predefinita. Per abilitare la registrazione, è possibile impostare enable_registration
su True
. È inoltre possibile impostare una chiave di registrazione segreta, che consente a chiunque di registrarsi chi ha la chiave segreta, anche se la registrazione è disabilitata.
enable_registration: False
registration_shared_secret: "YPPqCPYqCQ-Rj,ws~FfeLS@maRV9vz5MnnV^r8~pP.Q6yNBDG;"
Salvare il file ed uscire dall'editor. Ora dovrai registrare il tuo primo utente. Prima di poter registrare un nuovo utente, tuttavia, è necessario avviare prima l'applicazione.
source /opt/synapse/bin/activate && cd /opt/synapse
synctl start
Dovresti vedere le seguenti righe.
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')
Registra un nuovo utente Matrix.
register_new_matrix_user -c homeserver.yaml https://localhost:8448
Dovresti vedere quanto segue.
(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.
Infine, prima di poter utilizzare Homeserver, sarà necessario consentire la porta 8448 attraverso il firewall. Porta 8448
viene utilizzata come porta federata protetta. I server di case utilizzano questa porta per comunicare tra loro in modo sicuro. È inoltre possibile utilizzare il client di chat Web Matrix integrato tramite questa porta.
sudo firewall-cmd --permanent --zone=public --add-port=8448/tcp
sudo firewall-cmd --reload
Ora puoi accedere al client di chat web Matrix accedendo al https://matrix.example.com:8448
tuo browser preferito. Verrà visualizzato un avviso sul certificato SSL poiché i certificati utilizzati sono autofirmati. Non utilizzeremo questo client di chat Web poiché è obsoleto e non è più gestito. Prova a controllare se riesci ad accedere utilizzando l'account utente che hai appena creato.
Invece di utilizzare un certificato autofirmato per proteggere la porta della federazione, possiamo usare Let's Encrypt SSL gratuito. Let's Encrypt SSL gratuito può essere ottenuto tramite il client Let's Encrypt ufficiale chiamato Certbot.
Installa Certbot.
sudo yum -y install certbot
Modifica le impostazioni del firewall per consentire lo standard HTTP
e le HTTPS
porte attraverso il firewall. Certbot deve stabilire una HTTP
connessione per verificare l'autorità di dominio.
sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload
Per ottenere certificati da Let's Encrypt CA, è necessario assicurarsi che il dominio per il quale si desidera generare i certificati sia puntato verso il server. In caso contrario, apporta le modifiche necessarie ai record DNS del tuo dominio e attendi che il DNS si propaghi prima di effettuare nuovamente la richiesta di certificato. Certbot controlla l'autorità di dominio prima di fornire i certificati.
Ora usa il web server integrato in Certbot per generare i certificati per il tuo dominio.
sudo certbot certonly --standalone -d matrix.example.com
È probabile che i certificati generati siano archiviati in /etc/letsencrypt/live/matrix.example.com/
. Il certificato SSL verrà archiviato come fullchain.pem
e la chiave privata verrà archiviata come privkey.pem
.
Copia i certificati.
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
Sarà necessario modificare il percorso dei certificati e delle chiavi dal homeserver.yaml
file. Modifica la configurazione.
nano /opt/synapse/homeserver.yaml
Trova le seguenti righe e modifica il percorso.
tls_certificate_path: "/opt/synapse/letsencrypt-fullchain.pem"
# PEM encoded private key for TLS
tls_private_key_path: "/opt/synapse/letsencrypt-privkey.pem"
Salvare il file ed uscire dall'editor. Riavviare il server Synapse in modo che le modifiche abbiano effetto.
source /opt/synapse/bin/activate && cd /opt/synapse
synctl restart
Let's Encrypt i certificati scadranno tra 90 giorni, quindi si consiglia di impostare il rinnovo automatico per i certificati utilizzando cron job. Cron è un servizio di sistema che viene utilizzato per eseguire attività periodiche.
Crea un nuovo script per rinnovare i certificati e copia i certificati rinnovati nella directory Synapse.
sudo nano /opt/renew-letsencypt.sh
Popolare il file.
#!/bin/sh
/usr/bin/certbot renew --quiet --nginx
cp /etc/letsencrypt/live/matrix.example.com/fullchain.pem /opt/synapse/letsencrypt-fullchain.pem
cp /etc/letsencrypt/live/matrix.example.com/privkey.pem /opt/synapse/letsencrypt-privkey.pem
Fornire il permesso di esecuzione.
sudo chmod +x /opt/renew-letsencypt.sh
Apri il file di lavoro cron.
sudo crontab -e
Aggiungi la seguente riga alla fine del file.
30 5 * * 1 /opt/renew-letsencypt.sh
Il processo cron sopra riportato verrà eseguito ogni lunedì alle 5:30. Se il certificato scade, li rinnoverà automaticamente.
Adesso puoi visitare https://matrix.example.com:8448
. Vedrai che non c'è nessun avviso SSL prima della connessione.
Oltre alla porta federata protetta 8448
, Synapse ascolta anche la porta client non protetta 8008
. Ora configureremo Nginx come proxy inverso per l'applicazione Synapse.
sudo yum -y install nginx
Crea un nuovo file di configurazione.
sudo nano /etc/nginx/conf.d/synapse.conf
Popolare il file con il seguente contenuto.
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;
}
}
Riavvia e abilita Nginx ad avviarsi automaticamente all'avvio.
sudo systemctl restart nginx
sudo systemctl enable nginx
Infine, puoi verificare se è possibile accedere a Synapse tramite il proxy inverso.
curl https://matrix.example.com/_matrix/key/v2/server/auto
Dovresti ottenere un output simile.
[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"}}}
Si consiglia di utilizzare il servizio Systemd per gestire il processo del server Synapse. L'uso di Systemd assicurerà che il server venga avviato automaticamente all'avvio del sistema e agli errori.
Creare un nuovo file di servizio Systemd.
sudo nano /etc/systemd/system/matrix-synapse.service
Popolare il file.
[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
Ora puoi avviare rapidamente il server Synapse.
sudo systemctl start matrix-synapse
Per arrestare o riavviare il server utilizzando i seguenti comandi.
sudo systemctl stop matrix-synapse
sudo systemctl restart matrix-synapse
Puoi controllare lo stato del servizio.
sudo systemctl status matrix-synapse
Il server Matrix Synapse è ora installato e configurato sul tuo server. Poiché il client Web incorporato per Matrix è obsoleto, è possibile scegliere tra la varietà di applicazioni client disponibili per la chat. Riot è il client di chat più popolare, disponibile su quasi tutte le piattaforme. Puoi utilizzare la versione ospitata del client di chat web di Riot oppure puoi anche ospitarne una copia sul tuo server. Oltre a questo, puoi anche utilizzare i client di chat desktop e mobile di Riot, disponibili per Windows, Mac, Linux, IOS e Android.
Se si desidera ospitare la propria copia del client Web Riot, è possibile leggere ulteriormente le istruzioni per installare Riot sul proprio server. Per client ospitati, desktop e mobili, è possibile utilizzare il nome utente e la password per accedere direttamente al homeserver. Basta scegliere my Matrix ID
dal menu a discesa Sign In
dell'opzione e fornire il nome utente e la password creati durante la registrazione di un nuovo utente. Fare clic su Custom server
e utilizzare il nome di dominio dell'istanza di Synapse. Dato che abbiamo già configurato Nginx, possiamo semplicemente utilizzare https://matrix.example.com
come server principale e https://matrix.org
come URL del server di identità.
Esempio di accesso antisommossa
Riot è anche open source e gratuito per l'hosting sul proprio server. Non richiede alcun database o dipendenze. Poiché disponiamo già di un server Nginx, possiamo ospitarlo sullo stesso server.
Il dominio o sottodominio che si sta utilizzando per Synapse e Riot deve essere diverso per evitare lo scripting tra siti. Tuttavia, puoi utilizzare due sottodomini dello stesso dominio. In questo tutorial, useremo
riot.example.com
come dominio l'applicazione Riot. Sostituisci tutte le occorrenze diriot.example.com
con il tuo dominio o sottodominio effettivo per l'applicazione Riot.
Scarica Riot sul tuo server.
cd /opt/
sudo wget https://github.com/vector-im/riot-web/releases/download/v0.12.3/riot-v0.12.3.tar.gz
Puoi sempre trovare il link all'ultima versione su Riot's Github .
Estrai l'archivio.
sudo tar -xzf riot-v*.tar.gz
Rinominare la directory per comodità d'uso.
sudo mv riot-v*/ riot/
Poiché abbiamo già installato Certbot, possiamo generare direttamente i certificati. Assicurati che il dominio o il sottodominio che stai utilizzando sia puntato verso il server.
sudo systemctl stop nginx
sudo certbot certonly --standalone -d riot.example.com
È probabile che i certificati generati siano archiviati nella /etc/letsencrypt/live/riot.example.com/
directory.
Creare un host virtuale per l'applicazione Riot.
sudo nano /etc/nginx/conf.d/riot.conf
Popolare il file.
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;
}
Copia il file di configurazione di esempio.
sudo cp /opt/riot/config.sample.json /opt/riot/config.json
Ora modifica il file di configurazione per apportare alcune modifiche.
sudo nano /opt/riot/config.json
Trova le seguenti righe.
"default_hs_url": "https://matrix.org",
"default_is_url": "https://vector.im",
Sostituisci il valore dell'URL del server principale predefinito con l'URL del tuo server Matrix. Per l'URL del server identità, è possibile utilizzare l'opzione predefinita oppure è possibile fornire il proprio valore al server identità Matrix, ovvero https://matrix.org
.
"default_hs_url": "https://matrix.example.com",
"default_is_url": "https://matrix.org",
Salva il file ed esci. Fornire la proprietà dei file all'utente Nginx.
sudo chown -R nginx:nginx /opt/riot/
Riavvia Nginx.
sudo systemctl restart nginx
Puoi accedere a Riot su https://riot.example.com
. Ora puoi accedere usando il nome utente e la password che hai creato in precedenza. Puoi connetterti utilizzando il server predefinito poiché abbiamo già modificato il server Matrix predefinito per la nostra applicazione.
Ora hai un server principale Matrix Synapse attivo e funzionante. Hai anche una copia ospitata di Riot, che puoi usare per inviare un messaggio ad altre persone usando il loro ID Matrix, e-mail o numero di cellulare. Inizia creando una chat room sul tuo server e invita i tuoi amici su Matrix a unirsi alla chat room che hai creato.
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.