GNU/Linux >> Tutoriales Linux >  >> Cent OS

Cómo instalar Redmine 3 con Nginx en CentOS 7

Redmine es una aplicación web de código abierto para la gestión de proyectos y el seguimiento de problemas. Redmine se basa en Ruby on Rails Framework, tiene soporte multiplataforma y multibase de datos y viene con traducciones para 42 idiomas. El software le permite realizar un seguimiento de múltiples proyectos, integra noticias, gestión de documentos y archivos y un wiki de soporte por proyecto. Las cuentas de usuario se pueden autenticar en un directorio LDAP y el software de terceros se puede conectar a través de una API REST.

En este tutorial, instalaremos Redmine 3.2 con Nginx como servidor web, MySQL como servidor de base de datos en un sistema operativo CentOS 7 (64 bits).

Requisito previo

  • CentOS 7:64 bits.
  • Privilegios de raíz.

Paso 1 - Instalar las dependencias de Redmine

Redmine tiene muchas dependencias que instalaremos primero. Inicie sesión en su servidor CentOS 7 como usuario root:

ssh [email protected]

Instale todas las dependencias requeridas por Redmine y los paquetes necesarios para ruby ​​y rvm con el siguiente comando yum:

yum install zlib-devel curl-devel openssl-devel httpd-devel apr-devel apr-util-devel mysql-devel ftp wget ImageMagick-devel gcc-c++ patch readline readline-devel zlib libyaml-devel libffi-devel make bzip2 autoconf automake libtool bison iconv-devel subversion

La instalación le pedirá una contraseña de MySQL. Escriba su nueva contraseña raíz de MySQL cuando se le solicite.

Paso 2:instalar Ruby y RVM

En este paso, instalaremos rvm (última versión) y ruby ​​2.2. Redmine 3.2 es compatible con la versión 2.2 de Ruby. RVM (Ruby Version Manager) es una herramienta de línea de comandos que le permite instalar, administrar y trabajar con múltiples entornos Ruby en el mismo servidor.

gpg2 --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3
curl -L https://get.rvm.io | bash -s stable --ruby=2.2.5

Cuando finalice la instalación, debemos recargar RVM y agregarlo al archivo .bashrc para la recarga automática:

source /usr/local/rvm/scripts/rvm
echo '[[ -s "/usr/local/rvm/scripts/rvm" ]] && source "/usr/local/rvm/scripts/rvm"' >> ~/.bashrc

Vuelva a cargar el archivo .bashrc y verifique la versión de Ruby y RVM.

source ~/.bashrc
ruby -v
rvm -v

Paso 3:configurar la base de datos para Redmine

En este paso, instalaremos el paquete mysql-server desde el repositorio oficial de MySQL.

Agregue el repositorio Oracle MySQL y verifique la lista de repositorios.

rpm -Uvh https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm
yum repolist

para asegurarse de que el repositorio del servidor MySQL se haya agregado correctamente.

Instale el servidor MySQL con este comando yum.

yum install mysql-server

Cuando finalice la instalación, inicie el servicio mysqld y configure la contraseña de root de MySQL.

systemctl start mysqld

Se ha iniciado el servidor Mysql. Ahora obtenga la contraseña raíz temporal para el servidor mysql con el siguiente comando grep:

grep 'temporary password' /var/log/mysqld.log

Verá un resultado similar a este:

2016-10-31T23:06:50.974555Z 1 [Note] A temporary password is generated for [email protected]: />y.)uWui8j*

Entonces sabemos que la contraseña raíz para el servidor MySQL es:/>y.)uWui8j*

Ahora estableceremos una nueva contraseña de root para el servidor mysql. Inicie sesión en mysql shell con el usuario root y la contraseña generada:

mysql -u root -p
GENERATED PASSWORD: />y.)uWui8j*

Establezca una nueva contraseña de usuario raíz con la siguiente consulta mysql:

ALTER USER 'root'@'localhost' IDENTIFIED BY '[email protected]!';

A continuación, cree una nueva base de datos llamada "redmine" y cree un nuevo usuario 'redmine' con la contraseña 'redmine' (¡use una contraseña segura en su servidor aquí!). Luego otorgue todos los privilegios para el usuario a la base de datos 'redmine'.

create database redmine;
create user [email protected] identified by '[email protected]!';
grant all privileges on redmine.* to [email protected] identified by '[email protected]!';
flush privileges;
exit

Se han creado la base de datos y el usuario.

Paso 4:instalar Phusion Passenger y Nginx

Phusion Passenger es un servidor de aplicaciones web que se puede usar junto con apache y nginx. Soporta múltiples lenguajes:Ruby, Python y Nodejs. Es fácil para nosotros, rápido, puede manejar más tráfico y proporciona mejoras de seguridad.

En este capítulo, instalaremos Phusion Passenger y lo integraremos con nuestro servidor web nginx. Instale el pasajero con el comando de gema a continuación, luego ejecute el comando Passenger-nginx-module.

gem install passenger --no-ri --no-rdoc
passenger-install-nginx-module

El comando le preguntará qué lenguaje de programación se utilizará, seleccione Ruby y Python .

Se le preguntará sobre la instalación de nginx; seleccione "Sí:descargue, compile e instale Nginx por mí. (recomendado) ".

Se le pedirá el directorio de instalación nginx, use el predeterminado '/opt/nginx/' , simplemente presione "Entrar ".

Paso 5:configurar Nginx

Cuando haya terminado la instalación de nginx, vaya al directorio de instalación y edite el archivo nginx.conf con un editor.

cd /opt/nginx/
cd conf/
vim nginx.conf

Pegue la siguiente configuración en la línea 24:

include vhost/*.conf;

Guarde el archivo y salga del editor.

Cree un nuevo directorio 'vhost' para la configuración del host virtual.

mkdir -p /opt/nginx/conf/vhost

Vaya al directorio vhost y cree la configuración de redmine virtualhost con vim:

cd /opt/nginx/conf/vhost/
vim redmine.conf

Pegue la configuración del host virtual a continuación:

    server {
        listen       80;
        server_name  www.redmine.me;

        root /var/www/redmine/public;
        passenger_enabled on;
        client_max_body_size      10m; # Max attachemnt size

        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }

Guarde el archivo.

Ubuntu 16.04 usa systemd como sistema de inicio. A continuación, configuramos nginx para systemd. Vaya al directorio systemd y cree un nuevo archivo de servicio llamado 'nginx.service'.

cd /lib/systemd/system/
vim nginx.service

Pegue el script nginx para systemd a continuación:

[Unit]
Description=The NGINX HTTP and reverse proxy server
After=syslog.target network.target remote-fs.target nss-lookup.target

[Service]
Type=forking
PIDFile=/opt/nginx/logs/nginx.pid
ExecStartPre=/opt/nginx/sbin/nginx -t
ExecStart=/opt/nginx/sbin/nginx
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true

[Install]
WantedBy=multi-user.target

Guardar y salir.

Vuelva a cargar el servicio systemd e intente iniciar nginx con el comando systemctl:

systemctl daemon-reload
systemctl start nginx

Si desea verificar nginx, verifique el puerto abierto 80:

netstat -plntu | grep nginx

El resultado debería ser así:

tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      4871/nginx

Paso 6 - Instalar Redmine

Cree un nuevo directorio para la instalación de Redmine. Usaré el directorio '/var/www/' aquí.

mkdir -p /var/www/

Vaya al directorio '/var/www/' y descargue Redmine con el comando svn:

cd /var/www/
svn co https://svn.redmine.org/redmine/branches/3.2-stable redmine

Vaya al directorio de Redmine y copie el archivo de configuración y el archivo de configuración de la base de datos:

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

Edite el archivo base de datos.yml con vim:

vim config/database.yml

En la línea de la sección de producción, complete el nombre de la base de datos, usuario y contraseña:

production:
  adapter: mysql2
  database: redmine
  host: localhost
  username: redmine
  password: "[email protected]!"
  encoding: utf8

Guarde el archivo.

En el directorio de redmine, cree algunos directorios nuevos y cambie el propietario a usuario y grupo nadie:

mkdir -p tmp tmp/pdf public/plugin_assets
sudo chown -R nobody:nobody files log tmp public/plugin_assets
sudo chmod -R 775 files log tmp public/plugin_assets

Instale el paquete y las dependencias de gemas para redmine:

gem install bundler
bundle install --without development test

Genere el token secreto, luego genere la base de datos:

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

Reinicie nginx y visite el nombre de dominio de redmine con un navegador web:

systemctl restart nginx

Visite la instalación de redmine, la mía es:www.redmine.co

Inicie sesión en la página de administración:www.redmine.co/login

El usuario y la contraseña predeterminados son 'admin'.

Cree un nuevo proyecto de muestra.

Ejemplo de página de proyecto.

La instalación de Redmine con Nginx y MySQL en CentOS 7 ha sido exitosa.

Conclusión

Redmine es una aplicación web para la gestión de proyectos y el seguimiento de problemas. Redmine es multiplataforma, por lo que podemos ejecutarlo en Windows, Linux o Mac OS. Redmine tiene soporte para muchas bases de datos como MySQL, PostgreSQL, Microsoft SQL Server y SQLite. Redmine es fácil de instalar y configurar, podemos usar Apache o Nginx como servidor web. Redmine es muy potente y tiene muchas funciones, como compatibilidad con varios idiomas, administración de archivos, wiki y una API REST. Redmine es una de las mejores soluciones gratuitas si desea crear su propia gestión de proyectos con seguimiento de problemas.


Cent OS
  1. Cómo instalar MySQL en CentOS 8

  2. Cómo instalar phpMyAdmin con Nginx en CentOS 7 / RHEL 7

  3. Cómo instalar Redmine en CentOS 7

  4. Cómo instalar Redmine en CentOS 8

  5. Cómo instalar MySQL 5.6 en CentOS 6.x

Cómo instalar phpMyAdmin con Nginx en CentOS 8 / RHEL 8

Cómo instalar Redmine en CentOS 8

Cómo instalar Nginx con ngx_pagespeed en CentOS

Cómo instalar Nginx con PHP-FastCGI en CentOS 6

Cómo instalar Magento con Nginx en CentOS 7

Cómo instalar Laravel con Nginx en CentOS 8