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
Redmine est un outil de gestion de projet gratuit et open source basé sur le Web. Il est écrit en Ruby on Rails et prend en charge plusieurs serveurs de base de données pour stocker la base de données. Il s'agit d'une application riche en fonctionnalités prenant en charge plusieurs projets, une liste de contrôle d'accès basée sur les rôles et un système de suivi des problèmes. Il prend également en charge le diagramme de Gantt et le calendrier, la gestion des fichiers, par wiki et forum par projet, ainsi que de nombreuses autres fonctionnalités. Il prend en charge les systèmes de contrôle de version tels que Git, SVN ou CVS. Il est également multilingue, prenant en charge jusqu'à 49 langues.
Ce guide a été écrit pour Redmine 3.4.4, mais peut également s'appliquer aux versions plus récentes.
Pour ce didacticiel, nous utiliserons 192.168.1.1
comme adresse IP publique et redmine.example.com
comme nom de domaine pointé vers l'instance Vultr. Veuillez vous assurer de remplacer toutes les occurrences de l'exemple de nom de domaine et de l'adresse IP par celui-ci.
Mettez à jour votre système de base à l'aide du guide Comment mettre à jour CentOS 7 . Une fois votre système mis à jour, procédez à l'installation des dépendances.
Redmine est écrit en Ruby on Rails, nous aurons donc besoin que Phusion Passenger s'intègre au serveur Web Apache pour servir l'application. Installez Apache.
sudo yum -y install httpd httpd-devel libcurl-devel
Pour construire l'application Redmine, nous aurons également besoin d'outils de développement. Installez les outils requis.
sudo yum -y install ImageMagick ImageMagick-devel git libxml2-devel libxslt-devel gcc bzip2 openssl-devel zlib-devel gdbm-devel ncurses-devel autoconf automake bison gcc-c++ libffi-devel libtool patch readline-devel sqlite-devel glibc-headers glibc-devel libyaml-devel libicu-devel libidn-devel
Redmine prend en charge plusieurs types de serveurs de bases de données tels que MySQL, PostgreSQL et MSSQL. Dans ce tutoriel, nous utiliserons PostgreSQL pour héberger le serveur de base de données Redmine.
PostgreSQL est un système de base de données relationnelle objet. Le yum
référentiel par défaut contient une ancienne version de PostgreSQL, alors ajoutez le référentiel PostgreSQL au système.
sudo yum -y install https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-7-x86_64/pgdg-centos10-10-1.noarch.rpm
Installez le serveur de base de données PostgreSQL.
sudo yum -y install postgresql10-server postgresql10-contrib postgresql10
Initialisez la base de données.
sudo /usr/pgsql-10/bin/postgresql-10-setup initdb
Démarrez le serveur PostgreSQL et activez-le pour démarrer automatiquement au démarrage.
sudo systemctl start postgresql-10
sudo systemctl enable postgresql-10
Modifiez le mot de passe de l'utilisateur PostgreSQL par défaut.
sudo passwd postgres
Connectez-vous en tant qu'utilisateur PostgreSQL.
sudo su - postgres
Créez un nouvel utilisateur PostgreSQL pour Redmine.
createuser redmine
Vous êtes autorisé à utiliser n'importe quel nom d'utilisateur au lieu de redmine
. PostgreSQL fournit le psql
shell pour exécuter des requêtes sur la base de données. Basculez vers le shell PostgreSQL.
psql
Définissez un mot de passe pour le nouvel utilisateur créé pour la base de données Redmine.
ALTER USER redmine WITH ENCRYPTED password 'DBPassword';
Remplacez-le DBPassword
par un mot de passe sécurisé. Créez une nouvelle base de données pour l'installation de Redmine.
CREATE DATABASE redmine WITH ENCODING='UTF8' OWNER=redmine;
Sortez du psql
shell.
\q
Passez à l' sudo
utilisateur.
exit
Modifiez le pg_hba.conf
fichier pour activer l'authentification basée sur MD5.
sudo nano /var/lib/pgsql/10/data/pg_hba.conf
Trouvez les lignes suivantes et modifiez les valeurs peer
et ident
dans la METHOD
colonne trust
et md5
, respectivement.
# 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
Une fois mise à jour, la configuration devrait ressembler à ceci.
# 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
Redémarrez PostgreSQL pour que les modifications prennent effet.
sudo systemctl restart postgresql-10
Installez quelques autres dépendances PostgreSQL requises.
sudo yum -y install libpqxx-devel protobuf-devel
Il est recommandé d'utiliser un utilisateur non privilégié pour exécuter l'application afin de la maintenir isolée du reste du système. Créez un nouvel utilisateur pour Redmine et basculez vers l'utilisateur nouvellement créé.
sudo adduser redmine
sudo su - redmine
Nous installerons la dernière version de Ruby à l'aide de Ruby Version Manager ou RVM. Il est utilisé pour installer et gérer plusieurs versions de Ruby.
Ajoutez la clé GPG de RVM à votre serveur.
gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB
Installez RVM.
curl -sSL https://get.rvm.io | bash -s stable
source ~/.rvm/scripts/rvm
Récupérez la liste des versions disponibles de Ruby.
rvm list known
Vous verrez une longue liste de versions Ruby.
[redmine@vultr ~]$ rvm list known
# MRI Rubies
[ruby-]1.8.6[-p420]
[ruby-]1.8.7[-head] # security released on head
[ruby-]1.9.1[-p431]
[ruby-]1.9.2[-p330]
[ruby-]1.9.3[-p551]
[ruby-]2.0.0[-p648]
[ruby-]2.1[.10]
[ruby-]2.2[.7]
[ruby-]2.3[.4]
[ruby-]2.4[.1]
ruby-head
...
Installez la dernière version de Ruby à partir de la liste.
rvm install 2.4
Utilisez la version installée de Ruby.
rvm use 2.4
Vous pouvez vérifier sa version.
ruby -v
Vous verrez une sortie similaire.
[redmine@vultr ~]$ ruby -v
ruby 2.4.1p111 (2017-03-22 revision 58053) [x86_64-linux]
Installez bundler, qui est le gestionnaire de dépendances pour l'application Ruby.
gem install bundler
Ruby est maintenant installé. Avant d'installer Redmine, nous devons installer Phusion Passenger.
Exécutez la commande suivante pour installer Passenger.
gem install passenger
Fournissez l'autorisation d'exécution au répertoire personnel de l' redmine
utilisateur. Le passager doit exécuter les fichiers binaires afin de servir l'application.
chmod o+x "/home/redmine"
Installez le module Apache pour Passenger.
passenger-install-apache2-module
Le script d'installation vous posera quelques questions. Tout d'abord, il vous fournira des informations sur le processus d'installation. Ensuite, il vous demandera de sélectionner la langue que vous utiliserez. Puisque notre application est écrite en Ruby on Rails, sélectionnez Ruby dans le menu et appuyez sur " Enter
" pour continuer.
Which languages are you interested in?
Use <space> to select.
If the menu doesn't display correctly, press '!'
‣ ⬢ Ruby
⬡ Python
⬡ Node.js
⬡ Meteor
Le programme d'installation va maintenant vérifier les exigences. Le programme d'installation ne rencontrera aucune dépendance manquante et procédera automatiquement à la compilation et à l'installation du module.
Une fois le module installé, il vous demandera d'ajouter le module dans le fichier de configuration Apache.
Almost there!
Please edit your Apache configuration file, and add these lines:
LoadModule passenger_module /home/redmine/.rvm/gems/ruby-2.4.1/gems/passenger-5.1.12/buildout/apache2/mod_passenger.so
<IfModule mod_passenger.c>
PassengerRoot /home/redmine/.rvm/gems/ruby-2.4.1/gems/passenger-5.1.12
PassengerDefaultRuby /home/redmine/.rvm/gems/ruby-2.4.1/wrappers/ruby
</IfModule>
After you restart Apache, you are ready to deploy any number of web
applications on Apache, with a minimum amount of configuration!
Press ENTER when you are done editing.
Nous allons ignorer cela pour l'instant et le terminerons plus tard dans le didacticiel, car l'utilisateur avec lequel nous sommes connectés ne dispose pas des sudo
autorisations. Appuyez sur " Enter
" pour ignorer cette étape.
Enfin, le script d'installation validera l'installation et vous verrez un avertissement indiquant que le module Passager n'est pas spécifié dans la configuration Apache.
Validating installation...
* Checking whether this Passenger install is in PATH... ✓
* Checking whether there are no other Passenger installations... ✓
* Checking whether Apache is installed... ✓
* Checking whether the Passenger module is correctly configured in Apache... (!)
You did not specify 'LoadModule passenger_module' in any of your Apache
configuration files. Please paste the configuration snippet that this
installer printed earlier, into one of your Apache configuration files, such
as /etc/httpd/conf/httpd.conf.
Detected 0 error(s), 1 warning(s).
Press ENTER to continue.
Maintenant que nous avons installé le module Passenger pour Apache, téléchargez et installez Redmine.
Téléchargez la dernière version de Redmine à partir de la page de téléchargement officielle de Redmine .
cd ~
wget http://www.redmine.org/releases/redmine-3.4.4.tar.gz
Extrayez l'archive et renommez le répertoire par souci de commodité.
tar -xf redmine-*.tar.gz
mv redmine-*/ redmine/
Copiez les exemples de fichiers de configuration sur son emplacement de production.
cd redmine
cp config/configuration.yml.example config/configuration.yml
cp config/database.yml.example config/database.yml
Ouvrez le fichier de configuration de la base de données que nous venons de copier pour entrer les détails de la base de données.
nano config/database.yml
Par défaut, le fichier de base de données est configuré pour MySQL. Trouvez les configurations de production et de développement et testez qui utilise l'adaptateur MySQL. Mettez en commentaire toutes ces lignes.
#production:
# adapter: mysql2
# database: redmine
# host: localhost
# username: root
# password: ""
# encoding: utf8
#development:
# adapter: mysql2
# database: redmine_development
# host: localhost
# username: root
# password: ""
# encoding: utf8
#test:
# adapter: mysql2
# database: redmine_test
# host: localhost
# username: root
# password: ""
# encoding: utf8
Furthur, retrouvez les lignes qui sont commentées, ayant la production
configuration de l' postgresql
adaptateur. Décommentez ces lignes et mettez à jour le nom de la base de données et les informations d'identification de l'utilisateur. Assurez-vous d'utiliser l'indentation correcte, qui est de deux espaces.
production:
adapter: postgresql
database: redmine
host: localhost
username: redmine
password: "DBPassword"
Configurez l'application pour utiliser la configuration PostgreSQL.
bundle config build.pg --with-pg-config=/usr/pgsql-10/bin/pg_config
Installez les dépendances d'application requises par l'application.
bundle install --without development test
Vous verrez le message suivant à la fin de l'installation.
Installing roadie-rails 1.1.1
Bundle complete! 31 Gemfile dependencies, 55 gems now installed.
Gems in the groups development and test were not installed.
Use `bundle info [gemname]` to see where a bundled gem is installed.
La commande suivante génère des jetons secrets qui sont utilisés pour coder les données de session.
bundle exec rake generate_secret_token
Écrivez la base de données PostgreSQL.
RAILS_ENV=production bundle exec rake db:migrate
Exécutez la commande suivante, qui écrit les données par défaut dans la base de données PostgreSQL.
RAILS_ENV=production bundle exec rake redmine:load_default_data
La commande ci-dessus vous demandera de choisir la langue par défaut à utiliser avec l'application. Le choix par défaut est l'anglais; choisissez selon votre préférence.
[redmine@vultr redmine]$ RAILS_ENV=production bundle exec rake redmine:load_default_data
Select language: ar, az, bg, bs, ca, cs, da, de, el, en, en-GB, es, es-PA, et, eu, fa, fi, fr, gl, he, hr, hu, id, it, ja, ko, lt, lv, mk, mn, nl, no, pl, pt, pt-BR, ro, ru, sk, sl, sq, sr, sr-YU, sv, th, tr, uk, vi, zh, zh-TW [en]
====================================
Default configuration data loaded.
L'installation de l'application Redmine est maintenant terminée. Modifiez la propriété et les autorisations des répertoires et des fichiers.
mkdir -p tmp tmp/pdf public/plugin_assets
chown -R redmine:redmine files log tmp public/plugin_assets
chmod -R 755 files log tmp public/plugin_assets
Nous avons configuré tout ce dont nous avons besoin de l'utilisateur non privilégié. Revenez à l' sudo
utilisateur en exécutant su - <username>
.
Ajoutez le module Passenger pour Apache dans le fichier de configuration Apache. Cela chargera automatiquement le module Passager.
echo "LoadModule passenger_module /home/redmine/.rvm/gems/ruby-2.4.1/gems/passenger-5.1.12/buildout/apache2/mod_passenger.so" | sudo tee -a /etc/httpd/conf.modules.d/00-base.conf
Créez un nouveau fichier hôte virtuel pour votre application Redmine.
sudo nano /etc/httpd/conf.d/redmine.conf
Remplissez le fichier avec le contenu suivant.
<VirtualHost *:80>
ServerName redmine.example.com
DocumentRoot /home/redmine/redmine/public
PassengerRoot /home/redmine/.rvm/gems/ruby-2.4.1/gems/passenger-5.1.12
PassengerRuby /home/redmine/.rvm/gems/ruby-2.4.1/wrappers/ruby
PassengerUser redmine
<Directory /home/redmine/redmine/public>
Allow from all
Options -MultiViews
Require all granted
</Directory>
</VirtualHost>
Assurez-vous de le remplacer redmine.example.com
par votre nom de domaine réel. Assurez-vous également que le chemin d'accès à PassengerRoot
et PassengerRuby
est correct. Le chemin d'accès aux fichiers binaires peut changer lors de la sortie d'une nouvelle version de Ruby ou Passenger. Pour trouver ces chemins, exécutez la commande suivante.
sudo su redmine -c "passenger-config about ruby-command"
Vous obtiendrez la sortie suivante.
[user@vultr ~]$ sudo su redmine -c "passenger-config about ruby-command"
passenger-config was invoked through the following Ruby interpreter:
Command: /home/redmine/.rvm/gems/ruby-2.4.1/wrappers/ruby
Version: ruby 2.4.1p111 (2017-03-22 revision 58053) [x86_64-linux]
To use in Apache: PassengerRuby /home/redmine/.rvm/gems/ruby-2.4.1/wrappers/ruby
To use in Nginx : passenger_ruby /home/redmine/.rvm/gems/ruby-2.4.1/wrappers/ruby
To use with Standalone: /home/redmine/.rvm/gems/ruby-2.4.1/wrappers/ruby /home/redmine/.rvm/gems/ruby-2.4.1/gems/passenger-5.1.12/bin/passenger start
Une fois le fichier hôte virtuel créé, redémarrez le serveur Web Apache.
sudo systemctl restart httpd
Modifiez la configuration du pare-feu pour autoriser le port à 80
travers le pare-feu.
sudo firewall-cmd --zone=public --add-service=http --permanent
sudo firewall-cmd --reload
Vous pouvez maintenant accéder à votre interface Redmine sur http://redmine.example.com
. Connectez-vous avec nom d'utilisateur admin
et mot de passe admin
. Lors de votre première connexion, Redmine vous demandera de mettre à jour le mot de passe.
Comme notre installation Redmine est sur un serveur public, il est recommandé d'utiliser SSL pour sécuriser l'échange des données du serveur.
Installez Certbot, qui est l'application cliente de Let's Encrypt CA.
sudo yum -y install epel-release
sudo yum -y install certbot mod_ssl
Avant de pouvoir demander les certificats, vous devez autoriser le port 80
et / 443
ou la norme HTTP
et les HTTPS
services via le pare-feu. Puisque nous avons déjà autorisé le port 80
plus tôt, autorisons le port 443
.
sudo firewall-cmd --zone=public --add-service=https --permanent
sudo firewall-cmd --reload
Remarque: Pour obtenir des certificats de Let's Encrypt CA, le domaine pour lequel les certificats doivent être générés doit être dirigé vers le serveur. Sinon, apportez les modifications nécessaires aux enregistrements DNS du domaine et attendez que le DNS se propage avant de refaire la demande de certificat. Certbot vérifie l'autorité de domaine avant de fournir les certificats.
Générez les certificats SSL.
sudo certbot certonly --webroot -w /home/redmine/redmine/public -d redmine.example.com
Les certificats générés sont susceptibles d'être stockés dans /etc/letsencrypt/live/redmine.example.com/
. Le certificat SSL sera stocké sous cert.pem
et la clé privée sera stockée sous privkey.pem
.
Les certificats Let's Encrypt expirent dans 90 jours, il est donc recommandé de configurer le renouvellement automatique des certificats à l'aide des tâches Cron.
Ouvrez le fichier de travail Cron pour l' root
utilisateur.
sudo crontab -e
Ajoutez la ligne suivante à la fin du fichier.
30 5 * * * /usr/bin/certbot renew --quiet
Le travail Cron ci-dessus s'exécutera tous les jours à 5h30. Si le certificat doit expirer, il sera automatiquement renouvelé.
Modifiez le fichier hôte virtuel que nous avons créé précédemment pour Redmine.
sudo nano /etc/httpd/conf.d/redmine.conf
Modifiez le fichier hôte virtuel pour qu'il ressemble à ce qui suit.
<VirtualHost *:80>
Redirect permanent / https://www.example.com/
ServerName redmine.example.com
</VirtualHost>
<VirtualHost *:443>
ServerAdmin [email protected]
ServerName redmine.example.com
DocumentRoot "/home/redmine/redmine/public"
<Directory "/home/redmine/redmine/public">
Options None
Require all granted
</Directory>
PassengerAppEnv production
PassengerRoot /home/redmine/.rvm/gems/ruby-2.4.1/gems/passenger-5.1.12
PassengerRuby /home/redmine/.rvm/gems/ruby-2.4.1/wrappers/ruby
PassengerUser redmine
PassengerHighPerformance on
SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/redmine.example.com/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/redmine.example.com/privkey.pem
SSLCertificateChainFile /etc/letsencrypt/live/redmine.example.com/chain.pem
SSLProtocol all -SSLv2 -SSLv3
SSLHonorCipherOrder on
SSLCipherSuite ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!DSS
<IfModule headers_module>
Header always edit Set-Cookie ^(.*)$ $1;HttpOnly;Secure
Header always set Strict-Transport-Security "max-age=15768000; includeSubDomains"
</IfModule>
</VirtualHost>
Enregistrez le fichier et quittez l'éditeur.
Redémarrez Apache pour que les modifications prennent effet.
sudo systemctl restart httpd
Vous pouvez maintenant accéder Redmine plus HTTPS
sur https://redmine.example.com
.
Félicitations, vous avez correctement installé Redmine sur votre instance CentOS 7. Commencez à développer votre projet en créant ou en important votre projet.
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
Vultr vous offre une connectivité réseau privée impressionnante pour les serveurs fonctionnant au même endroit. Mais parfois, vous voulez deux serveurs dans des pays différents
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
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
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,
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? 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
LimeSurvey est un outil de sondage en ligne gratuit et open source qui est largement utilisé pour publier des sondages en ligne et recueillir des commentaires sur les sondages. Dans cet article, je vais
Introduction Java est une plate-forme logicielle populaire qui vous permet de développer et dexécuter des applications et des applets Java dans divers environnements matériels. Il y a
Vous utilisez un système différent? Le forum Vanilla est une application de forum open source écrite en PHP. Il est entièrement personnalisable, facile à utiliser et prend en charge externa
Vous utilisez un système différent? Netdata est une étoile montante dans le domaine de la surveillance des métriques système en temps réel. Par rapport à dautres outils du même type, Netdata:
Dans ce didacticiel, découvrez comment configurer un serveur multijoueur Just Cause 2. Prérequis Veuillez vous assurer que le système est entièrement mis à jour avant de commencer
Vous utilisez un système différent? Dans ce tutoriel, je vais vous expliquer comment configurer un serveur Starbound sur CentOS 7. Prérequis Vous devez posséder ce jeu sur vous
ZNC est un videur IRC gratuit et open-source qui reste connecté en permanence à un réseau afin que les clients puissent recevoir des messages envoyés lorsquils sont hors ligne. Thi
Django est un framework Python populaire pour lécriture dapplications Web. Avec Django, vous pouvez créer des applications plus rapidement, sans réinventer la roue. Si tu veux
ionCube Loader est une extension PHP qui permet à un serveur Web dexécuter des fichiers PHP qui ont été encodés à laide dionCube Encoder et qui est requis pour exécuter e
Vous utilisez un système différent? Reader Self 3.5 est un lecteur RSS auto-hébergé simple et flexible, gratuit et open source et une alternative à Google Reader. Reader Sel
Introduction Dans ce tutoriel, installez bien PufferPanel sur notre Vultr VPS. PufferPanel est un panneau de contrôle open source et gratuit pour vous gérer
Vous utilisez un système différent? Introduction BoltWire est un système de gestion de contenu gratuit et léger écrit en PHP. Comparé à la plupart des autres gestionnaires de contenu
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.
Un aperçu de 26 techniques d'analyse des mégadonnées : partie 1
L'IA dans le domaine de la santé a fait de grands progrès au cours des dernières décennies. Ainsi, l'avenir de l'IA dans les soins de santé continue de croître de jour en jour.