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
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.
Neste tutorial, usaremos 192.168.1.1
como 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.
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
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
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.
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 sudo
usuário novamente, pois não precisamos executar mais nenhum comando usando o root
usuário.
exit
É 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>
.
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.so
comando
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 admin
e a senha admin
. No seu primeiro login, o Redmine solicitará que você atualize a senha.
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.
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, 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.
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+
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.
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
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
À 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
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.