Como instalar o Redmine no Ubuntu 16.04

O Redmine é uma ferramenta de gerenciamento de projetos gratuita e de código aberto baseada na Web. Está escrito em Ruby on Rails e suporta vários servidores de banco de dados para armazenar o banco de dados. É um aplicativo rico em recursos que suporta vários projetos, ACL baseado em funções e um sistema de rastreamento de problemas. Ele também possui suporte a gráficos e calendário de Gantt, gerenciamento de arquivos, por wiki e fórum do projeto, além de muitos outros recursos. Ele suporta sistemas de controle de versão como Git, SVN ou CVS. Também é multilíngue, suportando até 49 idiomas.

Pré-requisitos

  • Uma instância do servidor Vultr Ubuntu 16.04.
  • Um usuário sudo .
  • Um nome de domínio apontado para o servidor.

Neste tutorial, usaremos 192.168.1.1como endereço IP público e redmine.example.com como nome de domínio apontado para a instância do Vultr. Certifique-se de substituir todas as ocorrências do exemplo de nome de domínio e endereço IP pelo nome real.

Atualize seu sistema base usando o guia Como atualizar o Ubuntu 16.04 . Depois que seu sistema for atualizado, continue com a instalação das dependências.

Instale o Apache

O Redmine é escrito em Ruby on Rails, portanto, exigiremos que o Phusion Passenger se integre ao servidor da web Apache para atender ao aplicativo.

Instale o Apache.

sudo apt -y install apache2 apache2-dev libcurl4-openssl-dev

Para construir o Ruby e o Passenger, precisaremos de algumas ferramentas de desenvolvimento também. Instale as ferramentas necessárias.

sudo apt -y install imagemagick libmagickwand-dev git build-essential automake libgmp-dev

Instale o PostgreSQL

O Redmine suporta vários tipos de servidores de banco de dados, como MySQL, PostgreSQL e MSSQL. Neste tutorial, usaremos o PostgreSQL para hospedar o servidor de banco de dados Redmine.

O PostgreSQL é um sistema de banco de dados objeto-relacional. O repositório Ubuntu padrão contém uma versão antiga do PostgreSQL; portanto, adicione o repositório PostgreSQL ao sistema.

echo "deb http://apt.postgresql.org/pub/repos/apt/ xenial-pgdg main" | sudo tee /etc/apt/sources.list.d/pgdg.list
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
sudo apt update

Instale o servidor de banco de dados PostgreSQL.

sudo apt -y install postgresql

Inicie o servidor PostgreSQL e ative-o automaticamente no momento da inicialização.

sudo systemctl start postgresql
sudo systemctl enable postgresql

Mude a senha do usuário padrão do PostgreSQL.

sudo passwd postgres

Efetue login como usuário do PostgreSQL.

sudo su - postgres

Crie um novo usuário do PostgreSQL para o Redmine.

createuser redmine

Você tem permissão para usar qualquer nome de usuário em vez de redmine. O PostgreSQL fornece o psql shell para executar consultas no banco de dados. Mude para o shell do PostgreSQL.

psql

Defina uma senha para o usuário recém-criado para o banco de dados Redmine.

ALTER USER redmine WITH ENCRYPTED password 'DBPassword';

Substitua DBPassword por uma senha segura. Crie um novo banco de dados para a instalação do Redmine.

CREATE DATABASE redmine WITH ENCODING='UTF8' OWNER=redmine;

Saia do psql shell.

\q

Mude para o sudo usuário.

exit

Instale mais algumas dependências necessárias do PostgreSQL.

sudo apt -y install libpqxx-dev protobuf-compiler

Instale o Ruby

Instalaremos a versão mais recente do Ruby usando o RVM. É usado para instalar e gerenciar várias versões do Ruby.

Adicione o repositório RVM.

sudo apt-add-repository -y ppa:rael-gc/rvm
sudo apt update

Instale o RVM.

sudo apt -y install rvm

Como precisamos instalar o sistema Ruby em geral, mudaremos temporariamente para o usuário root.

sudo -i

Atualize as variáveis ​​de ambiente.

echo "source /etc/profile.d/rvm.sh" | tee -a /etc/profile
source /etc/profile.d/rvm.sh

Instale a versão mais recente do Ruby.

rvm install 2.5.1

Nota: Se você estiver usando uma versão diferente do Ruby, atualize o caminho do Ruby adequadamente.

Use a versão instalada do Ruby.

rvm use 2.5.1 --default

Você pode verificar sua versão.

ruby -v

Você verá uma saída semelhante.

root@vultr:~# ruby -v
ruby 2.5.1p57 (2018-03-29 revision 63029) [x86_64-linux]

Instalar bundler, que é o gerenciador de dependência do aplicativo Ruby.

gem install bundler

Ruby agora está instalado. Antes de instalar o Redmine, precisaremos instalar o Phusion Passenger.

Instalar passageiro

Execute o seguinte comando para instalar o Passenger.

gem install passenger

Instale o módulo Apache para Passenger.

passenger-install-apache2-module

O script do instalador fará algumas perguntas. Primeiro, ele fornecerá informações sobre o processo de instalação. Em seguida, ele solicitará que você selecione o idioma que você usará. Como nosso aplicativo está escrito em Ruby on Rails, selecione Ruby no menu e pressione ENTERpara continuar.

Which languages are you interested in?

Use <space> to select.
If the menu doesn't display correctly, press '!'

 ‣ ⬢  Ruby
   ⬢  Python
   ⬡  Node.js
   ⬡  Meteor

O instalador agora verificará os requisitos. O instalador não encontrará dependências ausentes e prosseguirá automaticamente para compilar e instalar o módulo.

Depois que o módulo estiver instalado, você será solicitado a adicionar o módulo ao arquivo de configuração do Apache.

Almost there!

Please edit your Apache configuration file, and add these lines:

   LoadModule passenger_module /usr/share/rvm/gems/ruby-2.5.1/gems/passenger-5.2.3/buildout/apache2/mod_passenger.so
   <IfModule mod_passenger.c>
     PassengerRoot /usr/share/rvm/gems/ruby-2.5.1/gems/passenger-5.2.3
     PassengerDefaultRuby /usr/share/rvm/gems/ruby-2.5.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.

Ignoraremos isso por enquanto e o concluiremos posteriormente no tutorial. Pressione ENTERpara pular esta etapa.

Por fim, o script do instalador validará a instalação e você verá um aviso informando que o módulo Passenger não está especificado na configuração do 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/apache2/apache2.conf.


Detected 0 error(s), 1 warning(s).
Press ENTER to continue.

Agora que instalamos o módulo Passenger para Apache, faça o download e instale o Redmine. Alterne para o sudousuário novamente, pois não precisamos executar mais nenhum comando usando o rootusuário.

exit

Instale o Redmine

É recomendável usar um usuário sem privilégios para executar o aplicativo para mantê-lo isolado do restante do sistema. Crie um novo usuário para o Redmine e alterne para o usuário recém-criado.

sudo adduser --disabled-password --gecos "Redmine User" redmine
sudo su - redmine

Faça o download da versão mais recente do Redmine na página oficial de download do Redmine .

cd ~
wget http://www.redmine.org/releases/redmine-3.4.4.tar.gz

Extraia o arquivo morto e renomeie o diretório por conveniência.

tar -xf redmine-*.tar.gz
mv redmine-*/ redmine/

Copie os arquivos de configuração de exemplo para seu local de produção.

cd redmine
cp config/configuration.yml.example config/configuration.yml
cp config/database.yml.example config/database.yml

Abra o arquivo de configuração do banco de dados que acabamos de copiar para inserir os detalhes do banco de dados.

nano config/database.yml

Por padrão, o arquivo de banco de dados está configurado para o MySQL. Encontre as configurações para produção e desenvolvimento, e teste que usa o adaptador MySQL. Comente todas essas linhas.

#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, encontre as linhas comentadas, com production configuração para o postgresql adaptador. Remova o comentário dessas linhas e atualize o nome do banco de dados e as credenciais do usuário. Certifique-se de usar o recuo correto, que é dois espaços.

production:
  adapter: postgresql
  database: redmine
  host: localhost
  username: redmine
  password: "DBPassword"

Configure o aplicativo para usar a configuração do PostgreSQL.

bundle config build.pg --with-pg-config=/usr/bin/pg_config

Instale as dependências requeridas pelo aplicativo.

bundle install --path vendor/bundle --without development test

Você verá a seguinte mensagem no final da instalação.

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.
Bundled gems are installed into `./vendor/bundle`

O comando a seguir gera tokens secretos usados ​​para codificar os dados da sessão.

bundle exec rake generate_secret_token

Escreva o banco de dados PostgreSQL.

RAILS_ENV=production bundle exec rake db:migrate

Execute o seguinte comando, que grava os dados padrão no banco de dados PostgreSQL.

RAILS_ENV=production bundle exec rake redmine:load_default_data

O comando acima solicitará que você escolha o idioma padrão a ser usado com o aplicativo. A opção padrão é inglês; escolha de acordo com sua preferência.

[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.

A instalação do aplicativo Redmine está concluída. Altere a propriedade e as permissões dos diretórios e arquivos.

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

Configuramos tudo o que precisamos do usuário não privilegiado. Volte para o sudo usuário executando su - <username>.

Configurar Apache

Adicione o módulo Passenger para Apache ao arquivo de configuração do Apache. Isso carregará automaticamente o módulo Passenger.

echo "LoadModule passenger_module /usr/share/rvm/gems/ruby-2.5.1/gems/passenger-5.2.3/buildout/apache2/mod_passenger.so" | sudo tee -a /etc/apache2/apache2.conf

Nota: O caminho para o módulo Passenger pode mudar quando houver uma nova versão do Passenger. Para encontrar o caminho para o módulo, use o sudo find / -name mod_passenger.socomando

Crie um novo arquivo de host virtual para o seu aplicativo Redmine.

sudo nano /etc/apache2/sites-available/redmine.conf

Preencha o arquivo com o seguinte conteúdo.

<VirtualHost *:80>
    ServerName redmine.example.com

    DocumentRoot /home/redmine/redmine/public

    PassengerRoot /usr/share/rvm/gems/ruby-2.5.1/gems/passenger-5.2.3
    PassengerDefaultRuby /usr/share/rvm/gems/ruby-2.5.1/wrappers/ruby
    PassengerUser redmine

    <Directory /home/redmine/redmine/public>
      Allow from all
      Options -MultiViews
      Require all granted
    </Directory>
</VirtualHost>

Certifique-se de substituir redmine.example.com pelo seu nome de domínio real. Além disso, verifique se o caminho para PassengerRoot e PassengerDefaultRuby está correto. O caminho para os binários pode mudar quando houver uma nova versão do Ruby ou do Passenger. Para encontrar esses caminhos, execute o seguinte comando.

passenger-config about ruby-command

Você receberá a seguinte saída.

user@vultr:~$ passenger-config about ruby-command
passenger-config was invoked through the following Ruby interpreter:
  Command: /usr/share/rvm/gems/ruby-2.5.1/wrappers/ruby
  Version: ruby 2.5.1p57 (2018-03-29 revision 63029) [x86_64-linux]
  To use in Apache: PassengerRuby /usr/share/rvm/gems/ruby-2.5.1/wrappers/ruby
  To use in Nginx : passenger_ruby /usr/share/rvm/gems/ruby-2.5.1/wrappers/ruby
  To use with Standalone: /usr/share/rvm/gems/ruby-2.5.1/wrappers/ruby /usr/share/rvm/gems/ruby-2.5.1/gems/passenger-5.2.3/bin/passenger start


## Notes for RVM users
Do you want to know which command to use for a different Ruby interpreter? 'rvm use' that Ruby interpreter, then re-run 'passenger-config about ruby-command'.

Depois que o arquivo host virtual é criado. Ative a configuração.

sudo a2ensite redmine

Reinicie o servidor da web Apache.

sudo systemctl restart apache2

Agora você pode acessar sua interface do Redmine http://redmine.example.com. Entre com o nome de usuário admine a senha admin. No seu primeiro login, o Redmine solicitará que você atualize a senha.

Protegendo o Apache com Let's Encrypt SSL

Como nossa instalação do Redmine está em um servidor público, é recomendável usar o SSL para garantir a troca de dados do servidor.

Adicione o repositório Certbot.

sudo add-apt-repository --yes ppa:certbot/certbot
sudo apt-get update

Instale o Certbot, que é o aplicativo cliente do Let's Encrypt CA.

sudo apt -y install certbot

Nota: Para obter certificados da Let's Encrypt CA, o domínio para o qual os certificados devem ser gerados deve estar apontado para o servidor. Caso contrário, faça as alterações necessárias nos registros DNS do domínio e aguarde a propagação do DNS antes de fazer a solicitação de certificado novamente. O Certbot verifica a autoridade do domínio antes de fornecer os certificados.

Gere os certificados SSL.

sudo certbot certonly --webroot -w /home/redmine/redmine/public -d redmine.example.com

É provável que os certificados gerados sejam armazenados /etc/letsencrypt/live/redmine.example.com/. O certificado SSL será armazenado como cert.pem e a chave privada será armazenada como privkey.pem.

Os certificados Let's Encrypt expiram em 90 dias, portanto, é recomendável configurar a renovação automática dos certificados usando trabalhos Cron.

Abra o arquivo de trabalho Cron para o root usuário.

sudo crontab -e

Adicione a seguinte linha no final do arquivo.

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

O trabalho acima de Cron será executado todos os dias às 5:30 da manhã. Se o certificado estiver vencido, ele será renovado automaticamente.

Ative o módulo SSL para Apache.

sudo a2enmod ssl

Edite o arquivo do host virtual que criamos anteriormente para o Redmine.

sudo nano /etc/apache2/sites-available/redmine.conf

Modifique o arquivo host virtual para ser semelhante ao seguinte.

<VirtualHost *:80>
    ServerName redmine.example.com
    Redirect permanent / https://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 /usr/share/rvm/gems/ruby-2.5.1/gems/passenger-5.2.3
    PassengerDefaultRuby /usr/share/rvm/gems/ruby-2.5.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>

Salve o arquivo e saia do editor.

Reinicie o Apache para que as alterações tenham efeito.

sudo systemctl restart apache2

Agora você pode acessar o Redmine HTTPS em https://redmine.example.com.

Parabéns, você instalou o Redmine com êxito na sua instância do Ubuntu 16.04. Comece a desenvolver seu projeto, criando ou importando seu projeto.



Leave a Comment

Como instalar a plataforma LiteCart Shopping Cart no Ubuntu 16.04

Como instalar a plataforma LiteCart Shopping Cart no Ubuntu 16.04

LiteCart é uma plataforma de carrinho de compras de código aberto e gratuita escrita em PHP, jQuery e HTML 5. É um software de comércio eletrônico simples, leve e fácil de usar

Configuração inicial segura do servidor Ubuntu 18.04

Configuração inicial segura do servidor Ubuntu 18.04

Introdução Neste tutorial, você aprenderá como configurar um nível básico de segurança em uma nova máquina virtual Vultr VC2 executando o Ubunt

Instalando o McMyAdmin no Ubuntu 14.10

Instalando o McMyAdmin no Ubuntu 14.10

McMyAdmin é um painel de controle do servidor Minecraft usado para administrar seu servidor. Embora o McMyAdmin seja gratuito, há várias edições, algumas das quais são pai

Configurar um TeamTalk Server no Linux

Configurar um TeamTalk Server no Linux

O TeamTalk é um sistema de conferência que permite aos usuários ter conversas de áudio / vídeo de alta qualidade, bate-papo por texto, transferir arquivos e compartilhar telas. É eu

Como instalar e configurar o CyberPanel no servidor CentOS 7

Como instalar e configurar o CyberPanel no servidor CentOS 7

Usando um sistema diferente? Introdução O CyberPanel é um dos primeiros painéis de controle do mercado, tanto de código aberto quanto de OpenLiteSpeed. What thi

Instale o Grafana no Ubuntu 16.04 LTS

Instale o Grafana no Ubuntu 16.04 LTS

Usando um sistema diferente? Introdução O Grafana é um software de código aberto que transforma vários feeds de sistemas como Graphite, Telegraf, um

Instale o phpBB com Apache no Ubuntu 16.04

Instale o phpBB com Apache no Ubuntu 16.04

PhpBB é um programa de boletim de código aberto. Este artigo mostra como instalar o phpBB em cima de um servidor Apache no Ubuntu 16.04. Foi writte

Como instalar o Foreman no Ubuntu 16.04 LTS

Como instalar o Foreman no Ubuntu 16.04 LTS

Usando um sistema diferente? O Foreman é uma ferramenta gratuita e de código aberto que ajuda na configuração e gerenciamento de servidores físicos e virtuais. Forema

Configurar um usuário não root com Sudo Access no Ubuntu

Configurar um usuário não root com Sudo Access no Ubuntu

Ter apenas um usuário, que é root, pode ser perigoso. Então vamos consertar isso. O Vultr nos dá a liberdade de fazer o que quisermos com nossos usuários e servidores

Instale o eSpeak no CentOS 7

Instale o eSpeak no CentOS 7

Usando um sistema diferente? O ESpeak pode gerar arquivos de áudio de conversão de texto em fala (TTS). Isso pode ser útil por vários motivos, como criar seu próprio Turim

Instalando o Fuel CMS no Ubuntu 16.04 LTS

Instalando o Fuel CMS no Ubuntu 16.04 LTS

Usando um sistema diferente? O Fuel CMS é um sistema de gerenciamento de conteúdo baseado em CodeIgniter. Seu código fonte está hospedado no GitHub. Este guia mostra como você pode

Como instalar o Couch CMS 2.0 em um VPS Debian 9 LAMP

Como instalar o Couch CMS 2.0 em um VPS Debian 9 LAMP

Usando um sistema diferente? O Couch CMS é um sistema de gerenciamento de conteúdo (CMS) simples e flexível, gratuito e de código aberto que permite que os web designers

Monitore seus dispositivos usando o LibreNMS no CentOS 7

Monitore seus dispositivos usando o LibreNMS no CentOS 7

Usando um sistema diferente? O LibreNMS é um sistema de monitoramento de rede de código aberto completo. Ele usa o SNMP para obter os dados de diferentes dispositivos. Uma variedade

Como usar o Sudo no Debian, CentOS e FreeBSD

Como usar o Sudo no Debian, CentOS e FreeBSD

Usar um usuário sudo para acessar um servidor e executar comandos no nível raiz é uma prática muito comum entre o Linux e o Unix Systems Administrator. O uso de um sud

Como instalar o RabbitMQ no CentOS 7

Como instalar o RabbitMQ no CentOS 7

Usando um sistema diferente? O RabbitMQ é um intermediário de mensagens de código aberto amplamente usado, escrito na linguagem de programação Erlang. Como um middleware orientado a mensagens

Como ativar o TLS 1.3 no Apache no Fedora 30

Como ativar o TLS 1.3 no Apache no Fedora 30

Usando um sistema diferente? O TLS 1.3 é uma versão do protocolo TLS (Transport Layer Security) publicada em 2018 como um padrão proposto no RFC 8446

Configurando um Chroot no Debian

Configurando um Chroot no Debian

Este artigo ensinará como configurar uma prisão chroot no Debian. Presumo que você esteja usando o Debian 7.x. Se você estiver executando o Debian 6 ou 8, isso pode funcionar, mas

Como instalar o PiVPN no Debian

Como instalar o PiVPN no Debian

Introdução Uma maneira fácil de configurar um servidor VPN no Debian é com o PiVPN. PiVPN é um instalador e wrapper para o OpenVPN. Ele cria comandos simples para você t

Configurar o Nginx-RTMP no CentOS 7

Configurar o Nginx-RTMP no CentOS 7

Usando um sistema diferente? O RTMP é ótimo para veicular conteúdo ao vivo. Quando o RTMP é emparelhado com o FFmpeg, os fluxos podem ser convertidos em várias qualidades. Vultr i

Como instalar e configurar o CyberPanel no Ubuntu 18.04 LTS

Como instalar e configurar o CyberPanel no Ubuntu 18.04 LTS

Usando um sistema diferente? Introdução O CyberPanel é um dos primeiros painéis de controle do mercado, tanto de código aberto quanto de OpenLiteSpeed. What thi

A IA pode lutar contra o aumento do número de ataques de ransomware

A IA pode lutar contra o aumento do número de ataques de ransomware

Os ataques de ransomware estão aumentando, mas a IA pode ajudar a lidar com os vírus de computador mais recentes? AI é a resposta? Leia aqui para saber se é AI boone ou bane

ReactOS: Este é o futuro do Windows?

ReactOS: Este é o futuro do Windows?

ReactOS, um sistema operacional de código aberto e gratuito está aqui com a versão mais recente. Será que ela pode atender às necessidades dos usuários modernos do Windows e derrubar a Microsoft? Vamos descobrir mais sobre esse estilo antigo, mas uma experiência de sistema operacional mais recente.

Fique conectado por meio do aplicativo WhatsApp Desktop 24 * 7

Fique conectado por meio do aplicativo WhatsApp Desktop 24 * 7

O Whatsapp finalmente lançou o aplicativo Desktop para usuários de Mac e Windows. Agora você pode acessar o Whatsapp do Windows ou Mac facilmente. Disponível para Windows 8+ e Mac OS 10.9+

Como a IA pode levar a automação de processos ao próximo nível?

Como a IA pode levar a automação de processos ao próximo nível?

Leia isto para saber como a Inteligência Artificial está se tornando popular entre as empresas de pequena escala e como está aumentando as probabilidades de fazê-las crescer e dar vantagem a seus concorrentes.

A atualização do suplemento do macOS Catalina 10.15.4 está causando mais problemas do que resolvendo

A atualização do suplemento do macOS Catalina 10.15.4 está causando mais problemas do que resolvendo

Recentemente, a Apple lançou o macOS Catalina 10.15.4, uma atualização suplementar para corrigir problemas, mas parece que a atualização está causando mais problemas, levando ao bloqueio de máquinas mac. Leia este artigo para saber mais

13 Ferramentas de Extração de Dados Comerciais de Big Data

13 Ferramentas de Extração de Dados Comerciais de Big Data

13 Ferramentas de Extração de Dados Comerciais de Big Data

O que é um sistema de arquivos de registro no diário e como ele funciona?

O que é um sistema de arquivos de registro no diário e como ele funciona?

Nosso computador armazena todos os dados de uma maneira organizada conhecida como sistema de arquivos Journaling. É um método eficiente que permite ao computador pesquisar e exibir arquivos assim que você clicar em search.https: //wethegeek.com/? P = 94116 & preview = true

Singularidade tecnológica: um futuro distante da civilização humana?

Singularidade tecnológica: um futuro distante da civilização humana?

À medida que a ciência evolui em um ritmo rápido, assumindo muitos de nossos esforços, os riscos de nos sujeitarmos a uma singularidade inexplicável também aumentam. Leia, o que a singularidade pode significar para nós.

Uma visão sobre 26 técnicas analíticas de Big Data: Parte 1

Uma visão sobre 26 técnicas analíticas de Big Data: Parte 1

Uma visão sobre 26 técnicas analíticas de Big Data: Parte 1

O impacto da inteligência artificial na saúde 2021

O impacto da inteligência artificial na saúde 2021

A IA na área da saúde deu grandes saltos nas últimas décadas. Portanto, o futuro da IA ​​na área da saúde ainda está crescendo dia a dia.