Android

Como instalar e configurar o redmine no centos 7

Установка Redmine на CentOS 7 / Installing Redmine on CentOS 7

Установка Redmine на CentOS 7 / Installing Redmine on CentOS 7

Índice:

Anonim

O Redmine é uma das ferramentas de software de gerenciamento de projetos de código aberto mais populares e de rastreamento de problemas. É multiplataforma e multi-banco de dados e construído sobre a estrutura do Ruby on Rails.

O Redmine inclui suporte para vários projetos, wikis, sistema de rastreamento de problemas, fóruns, calendários, notificações por email e muito mais.

Neste tutorial, abordaremos as etapas necessárias para instalar e configurar a versão mais recente do Redmine em um servidor CentOS 7 usando o MariaDB como back-end de banco de dados e o Passenger + Nginx como servidor de aplicativos Ruby.

Pré-requisitos

Verifique se você atendeu aos seguintes pré-requisitos antes de continuar com este tutorial:

  • Nome de domínio apontando para o IP público do servidor. Neste tutorial, usaremos example.com Conectado como um usuário com privilégios de sudo.

Instale os pacotes necessários para construir o Redmine e Ruby a partir da fonte:

sudo yum install curl gpg gcc gcc-c++ make patch autoconf automake bison libffi-devel libtool sudo yum install readline-devel sqlite-devel zlib-devel openssl-develh readline glibc-headers glibc-devel sudo yum install mariadb-devel zlib libyaml-devel bzip2 iconv-devel ImageMagick ImageMagick-devel

Criando banco de dados MySQL

O Redmine suporta MySQL / MariaDB, Microsoft SQL Server, SQLite 3 e PostgreSQL. Neste tutorial, usaremos o MariaDB como um back-end de banco de dados.

Se você não possui o MariaDB ou o MySQL instalado no servidor CentOS, pode instalá-lo seguindo estas instruções.

Entre no shell do MySQL digitando o seguinte comando:

sudo mysql

No shell do MySQL, execute a seguinte instrução SQL para criar um novo banco de dados:

CREATE DATABASE redmine CHARACTER SET utf8;

Em seguida, crie uma conta de usuário MySQL e conceda acesso ao banco de dados:

GRANT ALL ON redmine.* TO 'redmine'@'localhost' IDENTIFIED BY 'change-with-strong-password'; Certifique-se de alterar a change-with-strong-password forte.

Depois de concluído, saia do shell do mysql digitando:

EXIT;

Instalando o Passenger e o Nginx

O Passenger é um servidor de aplicativos da web rápido e leve para Ruby, Node.js e Python que pode ser integrado ao Apache e Nginx. Instalaremos o Passenger como um módulo Nginx.

Instale o repositório EPEL e os pacotes necessários:

sudo yum install epel-release yum-utils pygpgme sudo yum-config-manager --enable epel

Habilite o repositório Phusionpassenger:

sudo yum-config-manager --add-repo

Depois que o repositório estiver ativado, atualize a lista de pacotes e instale o Nginx e o Passenger com:

sudo yum install nginx passenger passenger-devel

Criando novo usuário do sistema

Crie um novo usuário e grupo, que executará a instância do Redmine, para simplificar, redmine o usuário redmine :

sudo useradd -m -U -r -d /opt/redmine redmine

Adicione o usuário nginx ao novo grupo de usuários e altere as permissões do diretório /opt/redmine para que o Nginx possa acessá-lo:

sudo usermod -a -G redmine nginx sudo chmod 750 /opt/redmine

Instalando o Ruby

A versão do Ruby nos repositórios do CentOS está bastante desatualizada e não é suportada pelo Redmine. Instalaremos o Ruby usando o RVM.

Alterne para o usuário redmine digitando:

sudo su - redmine

Importe as chaves GPG e instale o RVM:

gpg --keyserver hkp://pool.sks-keyservers.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB curl -sSL https://get.rvm.io | bash -s stable curl -sSL https://get.rvm.io | bash -s stable

Para começar a usar a fonte RVM, o arquivo rvm :

source /opt/redmine/.rvm/scripts/rvm

Agora podemos instalar o Ruby executando:

rvm install 2.5 rvm --default use 2.5 Se você deseja instalar o Ruby via Rbenv, consulte este guia.

Instalando o Redmine no CentOS

No momento da redação deste artigo, a versão estável mais recente do Redmine é a versão 4.0.1.

Antes de continuar com as próximas etapas, verifique a página de download do Redmine para ver se uma versão mais recente está disponível.

Verifique se você está executando as etapas a seguir como redmine user.

1. Baixando o Redmine

Faça o download do archive do Redmine com o seguinte comando curl:

curl -L http://www.redmine.org/releases/redmine-4.0.1.tar.gz -o redmine.tar.gz

Após a conclusão do download, extraia o arquivo:

tar -xvf redmine.tar.gz

2. Configurando o Redmine Database

Copie o arquivo de configuração do banco de dados de exemplo do Redmine:

cp /opt/redmine/redmine-4.0.1/config/database.yml.example /opt/redmine/redmine-4.0.1/config/database.yml

Abra o arquivo com seu editor de texto:

nano /opt/redmine/redmine-4.0.1/config/database.yml

Procure a seção de production e insira o banco de dados MySQL e as informações do usuário que criamos anteriormente:

/opt/redmine/redmine-4.0.1/config/database.yml

production: adapter: mysql2 database: redmine host: localhost username: redmine password: "change-with-strong-password" encoding: utf8

Uma vez feito, salve o arquivo e saia do editor.

3. Instalando dependências do Ruby

Navegue para o diretório redmine-4.0.1 e instale o bundler e outras dependências do Ruby:

cd ~/redmine-4.0.1 gem install bundler --no-rdoc --no-ri bundle install --without development test postgresql sqlite

4. Gere chaves e migre o banco de dados

Execute o seguinte comando para gerar chaves e migrar o banco de dados:

bundle exec rake generate_secret_token RAILS_ENV=production bundle exec rake db:migrate

Configurando o Nginx

Volte para o seu usuário sudo:

exit

Abra seu editor de texto e crie o seguinte arquivo de bloqueio do servidor Nginx:

sudo nano /etc/nginx/conf.d/example.com.conf /etc/nginx/conf.d/example.com.conf

passenger_root /usr/share/ruby/vendor_ruby/phusion_passenger/locations.ini; passenger_ruby /opt/redmine/.rvm/gems/default/wrappers/ruby; passenger_instance_registry_dir /var/run/passenger-instreg; server { listen 80; server_name example.com www.example.com; root /opt/redmine/redmine-4.0.1/public; # log files access_log /var/log/nginx/example.com.access.log; error_log /var/log/nginx/example.com.error.log; passenger_enabled on; passenger_min_instances 1; client_max_body_size 10m; } Não se esqueça de substituir example.com pelo seu domínio Redmine.

Antes de reiniciar o serviço Nginx, faça um teste para garantir que não haja erros de sintaxe:

sudo nginx -t

Se não houver erros, a saída deve ser assim:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful

Por fim, reinicie o serviço Nginx digitando:

sudo systemctl restart nginx

Configurar Nginx com SSL

Depois que o certificado for gerado, edite a configuração do Nginx do domínio da seguinte maneira:

sudo nano /etc/nginx/conf.d/example.com.conf /etc/nginx/conf.d/example.com

passenger_root /usr/share/ruby/vendor_ruby/phusion_passenger/locations.ini; passenger_ruby /opt/redmine/.rvm/gems/default/wrappers/ruby; passenger_instance_registry_dir /var/run/passenger-instreg; # Redirect HTTP -> HTTPS server { listen 80; server_name www.example.com example.com; include snippets/letsencrypt.conf; return 301 https://example.com$request_uri; } # Redirect WWW -> NON WWW server { listen 443 ssl http2; server_name www.example.com; ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem; include snippets/ssl.conf; return 301 https://example.com$request_uri; } server { listen 443 ssl http2; server_name example.com; root /opt/redmine/redmine-4.0.1/public; # SSL parameters ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem; include snippets/ssl.conf; include snippets/letsencrypt.conf; # log files access_log /var/log/nginx/example.com.access.log; error_log /var/log/nginx/example.com.error.log; passenger_enabled on; passenger_min_instances 1; client_max_body_size 10m; } Não se esqueça de substituir example.com pelo seu domínio Redmine e defina o caminho correto para os arquivos de certificado SSL. Todas as solicitações HTTP serão redirecionadas para

Acessando o Redmine

Abra seu navegador, digite seu domínio e, assumindo que a instalação foi bem-sucedida, uma tela semelhante à seguinte será exibida:

Depois de alterar a senha, você será redirecionado para a página da conta de usuário.

Conclusão

Você instalou o Redmine com sucesso no seu sistema CentOS. Agora você deve verificar a documentação do Redmine e aprender mais sobre como configurar e usar o Redmine.

centos redmine ruby ​​mysql mariadb nginx