Comment installer MODX Revolution sur un VPS CentOS 7 LAMP
Vous utilisez un système différent? MODX Revolution est un système de gestion de contenu (CMS) de niveau entreprise rapide, flexible, évolutif, gratuit et open source écrit i
Le but de ce didacticiel est de se débarrasser des connexions SSH publiques et RDP publiques. En plaçant tout cela derrière un client HTML5 très pratique, nous pouvons ajouter une couche de sécurité pour accéder à notre cloud.
Guacamole enregistre également tout accès à distance, de sorte que l'accès non autorisé devient beaucoup plus traçable.
Remarque: Pour chiffrer (option B), nous avons besoin d'un nom de domaine. Si vous ne l' avez pas, vous pouvez sauter cette étape et juste exécuter l' option A .
Commencez par faire tourner un VPS dans la zone Vultr souhaitée. Un 1024 MB
VPS suffira, car Guacamole n'est pas si exigeant.
Commencez par activer le réseau privé sur le VPS. Ceci est bien documenté ici
Durcissons d'abord un peu l'image. Et vérifions si l'image qui a été mise à disposition a été ufw
activée.
root@vultr:~# ufw status
Status: inactive
Par défaut, il est désactivé, nous devrons donc ajouter quelques règles.
Commençons par configurer ces ports.
ufw allow 22/tcp
ufw allow 8080/tcp
Activez ensuite le pare-feu.
ufw enable
Ne vous inquiétez pas si vous recevez un avertissement. Si vous avez ajouté un port 22
, vous ne rencontrerez aucun problème.
root@vultr:~# ufw enable
Command may disrupt existing ssh connections. Proceed with operation (y|n)? y
Firewall is active and enabled on system startup
Une fois activé, demandez l'état du pare-feu et nous verrons la configuration de notre port.
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)
Avant de commencer l'installation, nous devons mettre à jour et mettre à niveau le référentiel. Avec des packages tels que Tomcat
, qui est basé sur Java, il existe un flux constant de bogues découverts et leurs corrections de bogues associées. C'est généralement une bonne idée de le faire d'abord au lieu de se précipiter directement dans notre installation.
apt-get update
apt-get -y upgrade
Ensuite, toutes les dépendances. Guacamole en a plusieurs. (Une liste complète des dépendances et de leur fonction peut être trouvée ici ). Continuons en les installant tous.
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
Lorsque le programme d'installation demande un mot de passe root MySQL, fournissez-en un et assurez-vous d'en prendre note. Nous utiliserons ce mot de passe plus tard pour créer la base de données Guacamole.
Maintenant que nous avons toutes nos dépendances, nous pouvons continuer à télécharger Guacamole. Le guacamole lui-même se présente principalement sous forme source, et non sous forme binaire. D'abord, nous allons déplacer vers le /tmp
dossier pour éviter d'encombrer d'autres parties du disque. Téléchargez ensuite tout le code source.
Il y a quatre fichiers source / binaires à télécharger:
guacamole-0.9.13-incubating.war
: Ceci est l'application Web. Un WAR
fichier est un package Web compressé fournissant un site Web unique hébergé sur un site Web Tomcatguacamole-server-0.9.13-incubating.tar.gz
: Ce fichier fournira l' guacd
application backend . Cela crée les flux via RDP et SSH.guacamole-auth-jdbc-0.9.13-incubating.tar.gz
: Nous utiliserons une base de données MySQL locale, nous avons donc besoin du JDBC
connecteur associé .mysql-connector-java-5.1.43.tar.gz
: Sans pilote de base de données, le connecteur JDBC ne fait rien. Ce fichier est fourni par l'équipe MySQL elle-même.Remarque: les téléchargements ont été résolus sur le serveur le plus proche .
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
Une fois que nous avons téléchargé tous ces fichiers, extrayez les fichiers tar.gz
.
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
Maintenant que nous avons extrait tout le code source, créons quelques guacamole
dossiers, ceux-ci seront utilisés par l'application guacamole et ses dépendances.
mkdir -p /etc/guacamole/lib
mkdir -p /etc/guacamole/extensions
Tout est prêt pour nos nouveaux binaires Guacamole. Nous pouvons maintenant démarrer le processus de compilation et d'installation. Passez au dossier Guacamole Server extrait.
cd /tmp/guacamole-server-0.9.13-incubating
Configurez l'application pour créer également un init.d
fichier pour l'exécuter en tant que service ultérieurement.
./configure --with-init-dir=/etc/init.d
La commande doit se terminer par un «oui» sur toutes les bibliothèques et tous les protocoles. Sinon, revenez en arrière et vérifiez la commande apt-get pour vous assurer que vous n'avez raté aucun paquet.
------------------------------------------------
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.
Ensuite, compilez et installez le serveur Gucamole.
make && make install
Une fois que tout est terminé, exécutez ldconfig
pour reconstruire le chemin de recherche des bibliothèques qui ont été ajoutées.
ldconfig
Procédez en utilisant systemctl
pour configurer guacd
(Guacamole Daemon) pour démarrer au démarrage.
systemctl enable guacd
Les binaires de guacamole sont maintenant installés. Nous allons maintenant préparer l'application Web pour Tomcat.
Commencez par déplacer le war
fichier vers le guacamole
dossier que nous venons de créer, une fois cela fait, créez un lien logique dans le répertoire tomcat pour pointer vers notre war
fichier.
cd /tmp
mv guacamole-0.9.13-incubating.war /etc/guacamole/guacamole.war
ln -s /etc/guacamole/guacamole.war /var/lib/tomcat8/webapps/
Ensuite, nous avons besoin du connecteur mysql et de JDBC. Le pilote JDBC est nécessaire dans le extensions
dossier, le connecteur dans le lib
dossier.
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/
Une fois le connecteur et JDBC en place, nous devons modifier le tocamt8
fichier. Ce fichier contient beaucoup de tomcat8
paramètres, et dans notre cas, nous devons ajouter la GUACAMOLE_HOME
variable à la fin du fichier.
nano /etc/default/tomcat8
Ajoutez ce qui suit.
GUACAMOLE_HOME=/etc/guacamole
La prochaine étape consiste à créer la base de données. Guacamole stocke sa configuration de connexion dans une base de données, pas à l'intérieur d'un fichier.
Connectez-vous avec le que root password
vous avez utilisé lors de l'installation.
mysql -u root -p
La première étape consiste à créer une base de données appelée 'guacamole_db'.
create database guacamole_db;
Exécutez ensuite la create user
commande. Cela créera un utilisateur avec un mot de passe mysupersecretpassword
, cet utilisateur ne pourra se connecter qu'à partir de localhost
.
create user 'guacamole_user'@'localhost' identified by "mysupersecretpassword";
Accordez des CRUD
opérations à cet utilisateur pour la base de données guacamole_db
.
GRANT SELECT,INSERT,UPDATE,DELETE ON guacamole_db.* TO 'guacamole_user'@'localhost';
Vider les privilèges et quitter le shell.
flush privileges;
exit
Terminez en ajoutant le schéma Guacamole à notre base de données nouvellement créée.
cat /tmp/guacamole-auth-jdbc-0.9.13-incubating/mysql/schema/*.sql | mysql -u root -p guacamole_db
Une fois cela fait, nous devons modifier le guacamole.properties
fichier. Ce fichier contient notre configuration de serveur MySQL récemment créée.
nano /etc/guacamole/guacamole.properties
Ajoutez les détails de connexion et les informations d'identification MySQL.
mysql-hostname: localhost
mysql-port: 3306
mysql-database: guacamole_db
mysql-username: guacamole_user
mysql-password: mysupersecretpassword
Terminez en créant un lien symbolique vers le dossier de partage tomcat, car c'est là que le WAR
fichier recherchera ces propriétés.
ln -s /etc/guacamole /usr/share/tomcat8/.guacamole
Terminez en redémarrant le tomcat8
serveur et démarrez le guacd
démon du serveur.
service tomcat8 restart
service guacd start
Vous pouvez vérifier en utilisant la commande status.
service tomcat8 status
service guacd status
Vous pouvez maintenant accéder à votre VPS sur le port 8080
http://<yourpublicip>:8080/guacamole/
Utilisez le nom d'utilisateur guacadmin
et le même mot de passe guacadmin
. Cela vous donnera accès à un serveur Guacamole vide.
Cliquez dans le coin supérieur droit de votre nom d'utilisateur guacadmin
et sélectionnez Settings
. Une fois dans la page des paramètres, allez dans l' Users
onglet et sélectionnez l'utilisateur guacadmin
.
Maintenant, changez votre mot de passe pour autre chose ou créez un nouvel utilisateur administrateur et supprimez celui par défaut guacadmin
.
Ce sont les étapes finales: le nettoyage après avoir terminé.
Supprimez le code source téléchargé et les fichiers binaires du /tmp
dossier.
rm -rf /tmp/guacamole-*
rm -rf /tmp/mysql-connector-java-*
Faites également de l'application Web Guacamole celle par défaut. Dans l'écosystème tomcat, l'application qui obtient le ROOT
dossier est celle qui est lancée par défaut lorsque vous accédez au site Web.
Supprimez l'ancien ROOT
espace réservé.
rm -rf /var/lib/tomcat8/webapps/ROOT
Et faites un lien symbolique pour que le serveur guacamole soit celui- ROOT
là.
ln -s /var/lib/tomcat8/webapps/guacamole /var/lib/tomcat8/webapps/ROOT
Cela nécessite un redémarrage de Tomcat.
service tomcat8 restart
Modifiez le tomcat8/server.xml
fichier et changez le port du connecteur.
nano /etc/tomcat8/server.xml
Recherchez le fichier Connector port
.
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
URIEncoding="UTF-8"
redirectPort="8443" />
Et remplacez 8080
par 80
.
Par défaut, tomcat n'autorise pas la liaison des ports ci-dessous 1024
. Pour activer cela, nous devons dire à tomcat8 de créer des liaisons authentifiées.
Modifiez le default
fichier de tomcat8 et décommentez la AUTHBIND
ligne et utilisez l'optionyes
nano /etc/default/tomcat8
AUTHBIND=yes
Une fois cela fait, intall authbind
.
apt-get install authbind
Configurez-le pour que le port 80
puisse être revendiqué par tomcat8.
touch /etc/authbind/byport/80
chmod 500 /etc/authbind/byport/80
chown tomcat8 /etc/authbind/byport/80
Autorisez le port à 80
travers le pare-feu et supprimez la règle pour 8080
.
ufw allow 80/tcp
ufw delete allow 8080/tcp
Redémarrez Tomcat.
service tomcat8 restart
Ça y est, maintenant Guacamole devrait fonctionner sur le port 80
.
Tomcat n'est vraiment pas l'une des applications les meilleures et les plus robustes à utiliser certbot
. Heureusement, Nginx l'est. Nous allons simplement envoyer un proxy tomcat à Nginx. Il utilise la fonctionnalité prête à l'emploi de certbot au prix de sacrifier un peu de RAM.
apt-get install nginx
Une fois installé, modifiez la configuration par défaut.
nano /etc/nginx/sites-available/default
Supprimez tous les exemples de configuration et ajoutez la configuration suivante.
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;
}
}
Cela créera un proxy pour le site Web fonctionnant sur 8080
. Redémarrez Nginx et activez-le au démarrage.
systemctl restart nginx
systemctl enable nginx
Vérifiez si tout fonctionne.
systemctl status nginx
Désactivez le port de test 8080
et autorisez le trafic sur le port 80
.
ufw allow 80/tcp
ufw delete allow 8080/tcp
Avant de pouvoir l'utiliser certbot
, nous devons ajouter le correct ppa
au système contenant nos packages certbot.
add-apt-repository ppa:certbot/certbot
Appuyez sur " ENTER
" pour accepter le changement de configuration.
Mettez apt
à jour pour rassembler les nouveaux packages.
apt-get update
Enfin, installez le module Nginx pour l'attribution des certificats.
apt-get -y install python-certbot-nginx
Configurez le pare-feu pour autoriser HTTPS
.
ufw allow 443/tcp
Avant de pouvoir demander de nouveaux certificats, nous avons besoin d'un nom DNS.
nano /etc/nginx/sites-available/default
Ajoutez le server_name
paramètre suivant .
server_name rdp.example.com;
Modifiez la configuration pour refléter ce nouveau paramètre.
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;
}
}
Vérifiez si tout fonctionne et redémarrez Nginx.
nginx -t
service nginx restart
Demandez maintenant un certificat avec certbot.
certbot --nginx -d rdp.example.com
Fournissez votre e-mail et acceptez les questions posées par l'installateur. (Vous pouvez choisir " No
" en toute sécurité pour partager votre e-mail.) Certbot demandera automatiquement ce qu'il doit faire HTTPS
. Nous utiliserons l' option 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
La dernière chose que nous allons faire est de mettre à jour les DH
paramètres. Ce sont, par défaut, un peu faibles pour les normes 2017.
Créez-en de nouveaux.
openssl dhparam -out /etc/ssl/certs/dhparam.pem 2048
Ensuite, ajoutez-les au site par défaut dans Nginx.
nano /etc/nginx/sites-available/default
Ajoutez-les à la configuration du serveur.
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;
}
}
Vérifiez les erreurs.
nginx -t
Appliquez les modifications en redémarrant le serveur.
service nginx restart
Nettoyer l'ancienne 8080
règle
ufw delete allow 8080/tcp
Remarque: si vous devez recevoir une "502 Bad Gateway", vous devrez redémarrer tomcat8 .
service tomcat8 restart
Les certificats Let's Encrypt nécessitent un renouvellement. Nous pouvons créer un travail cron pour cela. Commencez par éditer le fichier crontab
.
crontab -e
Ajoutez la ligne suivante.
00 2 * * * /usr/bin/certbot renew --quiet
Cela vérifiera à 2h00 si des certificats nécessitent un renouvellement et les renouvellera s'ils le font.
Accédez à votre serveur Guacamole (soit http://<ip>/
ou https://rdp.example.com)
).
Pour ce test, vous aurez besoin de deux autres instances: une machine virtuelle Linux et une autre Windows Server 2012 R2 avec une adresse IP privée activée sur les deux.
Cliquez sur le " username
" dans le coin supérieur droit et allez à " Settings
". Allez ensuite dans " Connections
" et sélectionnez " New Connection
".
Remplissez les paramètres suivants (vous pouvez laisser les autres par défaut).
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>
Appuyez sur " save
" et revenez à l'écran d'accueil. Vous pouvez maintenant cliquer sur la Windows Server 2012 R2
connexion " " et elle sera RDP vers cette machine.
Appuyez sur " Ctrl+Shift+Alt
". Cela fera apparaître le menu sur le côté. Ici, vous pouvez déconnecter ou effectuer d'autres tâches administratives pour Guacamole.
Cliquez username
sur le haut du menu et allez à " Settings
". Allez ensuite dans l' Connections
onglet " " et sélectionnez " New Connection
".
Remplissez les paramètres suivants (vous pouvez laisser les autres par défaut).
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)
Appuyez sur " save
" et revenez à l'écran d'accueil. Vous pouvez maintenant cliquer sur cette connexion nouvellement créée et être connecté à votre serveur Linux via SSH.
Vous disposez maintenant d'une passerelle Web RDP / SSH HTML5. Vous pouvez maintenant pare-feu l'accès public RDP et SSH de votre plate-forme et accéder à votre environnement à partir de n'importe quel navigateur moderne. Pour plus d'informations sur ce que Guacamole peut offrir, voici une superbe vidéo montrant toutes les possibilités de la plateforme ici .
Vous utilisez un système différent? MODX Revolution est un système de gestion de contenu (CMS) de niveau entreprise rapide, flexible, évolutif, gratuit et open source écrit i
McMyAdmin est un panneau de contrôle de serveur Minecraft utilisé pour administrer votre serveur. Bien que McMyAdmin soit gratuit, il existe plusieurs éditions, dont certaines sont pai
TeamTalk est un système de conférence qui permet aux utilisateurs davoir des conversations audio / vidéo de haute qualité, un chat textuel, de transférer des fichiers et de partager des écrans. Cest moi
Vous utilisez un système différent? Introduction CyberPanel est lun des premiers panneaux de contrôle du marché à la fois open source et utilisant OpenLiteSpeed. Quest-ce que
PhpBB est un programme de babillard open source. Cet article vous montrera comment installer phpBB sur un serveur Web Apache sur Ubuntu 16.04. Cétait écrit
Avoir un seul utilisateur, qui est root, peut être dangereux. Permet donc de résoudre ce problème. Vultr nous donne la liberté de faire ce que nous voulons avec nos utilisateurs et nos serveurs
Vous utilisez un système différent? ESpeak peut générer des fichiers audio de synthèse vocale (TTS). Ceux-ci peuvent être utiles pour de nombreuses raisons, telles que la création de votre propre Turin
Vous utilisez un système différent? Thelia est un outil open source pour la création de sites Web de commerce électronique et la gestion de contenu en ligne, écrit en PHP. Code source Thelia i
Vous utilisez un système différent? Fuel CMS est un système de gestion de contenu basé sur CodeIgniter. Son code source est hébergé sur GitHub. Ce guide vous montrera comment
Introduction Vous avez des problèmes de connectivité lorsque des visiteurs dautres pays accèdent à votre site Web? Vous vous demandez pourquoi la vitesse de téléchargement de votre Foreig
Vous utilisez un système différent? Ghost est une plate-forme de blogs open source qui gagne en popularité auprès des développeurs et des utilisateurs ordinaires depuis sa 201
Pip est un outil de gestion des packages Python. Lutilisation dun gestionnaire de packages permet une gestion efficace de votre serveur. Dans ce tutoriel, je vais expliquer comment t
BBR (Bottleneck Bandwidth and RTT) est un nouvel algorithme de contrôle de congestion qui est contribué à la pile TCP du noyau Linux par Google. Avec BBR en place,
Icinga 2 est un système de surveillance des ressources réseau open source largement utilisé, et Icinga Web 2 est linterface Web officielle pour Icinga 2. Dans ce didacticiel,
YOURLS (Your Own URL Shortener) est une application open source de raccourcissement dURL et danalyse de données. Dans cet article, nous couvrirons le processus dinstallation
Vous utilisez un système différent? TLS 1.3 est une version du protocole TLS (Transport Layer Security) qui a été publiée en 2018 en tant que norme proposée dans la RFC 8446
Cet article vous apprendra comment configurer une prison chroot sur Debian. Je suppose que vous utilisez Debian 7.x. Si vous utilisez Debian 6 ou 8, cela peut fonctionner, bu
Introduction Un moyen facile de configurer un serveur VPN sur Debian est avec PiVPN. PiVPN est un installateur et un wrapper pour OpenVPN. Il crée des commandes simples pour vous t
Vous utilisez un système différent? Alfresco Community Edition est une version open source des services de contenu Alfresco. Il est écrit en Java et utilise PostgreSQL t
Vous utilisez un système différent? RTMP est idéal pour diffuser du contenu en direct. Lorsque RTMP est associé à FFmpeg, les flux peuvent être convertis en différentes qualités. Vultr i
Découvrez comment générer une clé SSH pour accéder à votre serveur sans mot de passe. Suivez nos étapes faciles à comprendre pour créer et ajouter des clés SSH.
Découvrez comment créer un serveur de messagerie avec hMailServer sous Windows pour recevoir des e-mails facilement.
Les attaques de ransomware sont en augmentation, mais l'IA peut-elle aider à lutter contre le dernier virus informatique ? L'IA est-elle la réponse ? Lisez ici, sachez que l'IA est un boone ou un fléau
ReactOS, un système d'exploitation open source et gratuit est ici avec la dernière version. Cela peut-il suffire aux besoins des utilisateurs de Windows modernes et faire tomber Microsoft ? Découvrons-en plus sur cet ancien style, mais une expérience de système d'exploitation plus récente.
Whatsapp a finalement lancé l'application de bureau pour les utilisateurs Mac et Windows. Vous pouvez désormais accéder facilement à Whatsapp depuis Windows ou Mac. Disponible pour Windows 8+ et Mac OS 10.9+
Lisez ceci pour savoir comment l'intelligence artificielle devient populaire parmi les petites entreprises et comment elle augmente les probabilités de les faire grandir et de donner à leurs concurrents un avantage.
Récemment, Apple a publié macOS Catalina 10.15.4, une mise à jour supplémentaire pour résoudre les problèmes, mais il semble que la mise à jour cause davantage de problèmes, ce qui entraîne le bridage des machines mac. Lisez cet article pour en savoir plus
13 outils commerciaux d'extraction de données de Big Data
Notre ordinateur stocke toutes les données d'une manière organisée connue sous le nom de système de fichiers de journalisation. C'est une méthode efficace qui permet à l'ordinateur de rechercher et d'afficher des fichiers dès que vous appuyez sur la recherche.https://wethegeek.com/?p=94116&preview=true
Alors que la science évolue à un rythme rapide, prenant le pas sur une grande partie de nos efforts, les risques de nous soumettre à une Singularité inexplicable augmentent également. Lisez, ce que la singularité pourrait signifier pour nous.