Cómo instalar Redmine en Rhel 8 / Centos 8 Linux
 
                - 1435
- 257
- Mateo Pantoja
RedMine es una popular aplicación web de administración de proyectos de código abierto. Admite bases de datos de alcalde como MySQL y PostgreSQL como backend, y también puede cambiar el frontend a Apache desde el servidor web de Webrick (recomendado para uso de producción) enviado con la instalación. En este artículo instalaremos la última Redmine en Rhel 8 / Centos 8, utilizando PostgreSQL como backend, pero dejaremos el Webrick predeterminado como frontend, que servirá a nuestras pruebas perfectamente.
No espere que este proceso sea fácil, ni sin errores. Incluso siguiendo estos pasos a la carta, seguramente ocurrirán algunos errores, la configuración parece manejar sudo Pasos de manera algo inconsistente, pero también se incluyen las soluciones que guiarán a través de estos errores.
En este tutorial aprenderás:
- Cómo instalar paquetes de sistema operativo requeridos
- Cómo configurar la base de datos
- Cómo instalar la aplicación RedMine
- Cómo iniciar e iniciar sesión en la aplicación
 Página de configuración de Redmine en RHEL 8.
 Página de configuración de Redmine en RHEL 8.   Requisitos y convenciones de software utilizados
| Categoría | Requisitos, convenciones o versión de software utilizada | 
|---|---|
| Sistema | RHEL 8 / CENTOS 8 | 
| Software | Redmine 4.0.3, PostgreSQL 10.5 | 
| Otro | Acceso privilegiado a su sistema Linux como root o a través del sudodominio. | 
| Convenciones | # - requiere que los comandos de Linux dados se ejecuten con privilegios raíz directamente como un usuario raíz o mediante el uso de sudodominiops - Requiere que los comandos de Linux dados se ejecuten como un usuario regular no privilegiado | 
Cómo instalar RedMine en Redhat 8 instrucciones paso a paso
Redmine es una aplicación Ruby. Para la instalación tendremos que usar rubygems y aglutinante, y compilar muchas dependencias, por lo que llevará un tiempo. Utilizaremos los repositorios de Red Hat disponibles después de habilitar la gestión de suscripción para resolver las dependencias del sistema operativo. Puede consultar la Guía de instalación de PostgreSQL en RHEL8 para obtener la configuración detallada de la base de datos en general, en este artículo solo cubriremos los pasos necesarios para RedMine. Si la configuración de la base de datos es nueva, no olvide completar el initdb Paso en la guía mencionada o el inicio de la base de datos fallará.
- Crearemos un usuario que será el propietario de la aplicación y le daremos temporalmente sudoacceso. Podemos revocar este acceso una vez que se complete la instalación.# UserAdd Redmine Tenemos que establecer una contraseña para el nuevo usuario, que usaremos cuando usemos sudo:# passwd Redmine En las distribuciones basadas en Rhel, hay un ruedaGrupo de usuarios, a quien se le permite usarsudopara ejecutar comandos privilegiados. Para verificar que este grupo esté configurado comosudoer, podemosgrepel/etc/sudoersarchivo:# grep " %wheel" /etc /sudoers %wheel all = (all) all # %wheel all = (all) nopasswd: todos Se comenta la segunda línea con la opción nopasswd, que se adapta a nuestras necesidades. Con la configuración anterior en su lugar, todo lo que necesitamos hacer es agregar el rojizousuario alruedagrupo:# usermod -a -g Wheel Redmine 
- Para instalar los paquetes que proporcionará el sistema operativo, utilizaremos DNF:# DNF Instalar Kernel-Devel Kernel-Headers GCC Postgresql-devel Ruby-devel Rubygems 
- Para obtener la aplicación, visite el sitio de descarga oficial (que se ejecuta en Redmine). Desde aquí podemos descargar el comprimido tarballconwgetal sistema objetivo:# wget https: // www.rojizo.org/liberaciones/Redmine-4.0.3.alquitrán.GZ -O /OPT /REDMINE -4.0.3.alquitrán.GZ Como sugiere el comando anterior, instalaremos la aplicación en el /optardirectorio. Cambiaremos a este directorio y extraemos el archivo:# CD /OPT # TAR -XZF REDMINE -4.0.3.alquitrán.GZ Opcionalmente también podemos crear un enlace simbólicoPara un acceso más fácil: de esta manera no necesitamos recordar la versión exacta:# ln -s /opt /redmine -4.0.3 /opt /Redmine Ahora podemos configurar el rojizoUsuario como propietario de la jerarquía de directorio extraída, recursivamente:# Chown -R Redmine: Redmine /Opt /Redmine* 
- Para configurar la base de datos para la conexión de la aplicación, tenemos que iniciarla si aún no se está ejecutando: # SystemCTL Inicio PostgreSQL 
- Tendremos que crear una base de datos vacía donde la aplicación almacenará sus datos. Para hacerlo, cambiaremos a la post -putSistema operativo usuario creado de forma predeterminada en la instalación de la base de datos:# SU - Postgres Iniciaremos sesión en PSQLComo el superusador de la base de datos:$ PSQL PSQL (10.5) Escriba "ayuda" para obtener ayuda. Postgres =# Crearemos un rol que será utilizado por la aplicación (tenga en cuenta el nombre de usuario y la contraseña): Postgres =# Crear rol RedMine Iniciar contraseña encriptada 'R3DM1N3' Noinherit válido hasta 'Infinity'; También creamos una nueva base de datos con el propietario creado anteriormente: Postgres =# Crear base de datos RMDB con encoding = "utf8" propietario = redmine; Necesitaremos el nombre de usuario, la contraseña, la codificación y el nombre de la base de datos en un paso posterior. 
- Ahora que el usuario está configurado, debemos permitir el inicio de sesión en el servidor de la base de datos. El usuario de RedMine se conectará localmente, por lo que agregamos la siguiente línea al PG_HBA.confusiónarchivo, ubicado de forma predeterminada en/var/lib/pgsql/dataPor defecto en las distribuciones basadas en RHEL:Anfitrión RMDB Redmine 127.0.0.1/32 MD5 Consulte su archivo de configuración para ver lo siguiente: # Conexiones locales IPv4: Host todas las 127.0.0.1/32 Ident Si tiene esa línea, comentela, entrará en conflicto con el inicio de sesión que planeamos configurar. 
- Con eso en su lugar, necesitamos reiniciar la base de datos para la configuración para entrar en vigencia: # SystemCTL reiniciar PostgreSQL 
- Ahora tenemos toda la información necesaria para decirle a la aplicación dónde y cómo encontrará la base de datos. Hay un ejemplo del archivo de configuración de conexión de la base de datos con todas las bases de datos compatibles en la configuraciónsubdirectorio del archivo extraído. Podemos hacer una copia de este archivo (usando elrojizousuario):$ CP config/base de datos.YML.Ejemplo de configuración/base de datos.YML Podemos eliminar o comentar todas las configuraciones de ejemplo además de las relacionadas con PostgreSQL, o simplemente crear un archivo vacío con la configuración necesaria (menos basura permanecerá en el archivo de esa manera). Al final, el /opt/redmine/config/database.YMLdebe contener lo siguiente:
 Copiar# PostgreSQL Configuración Producción: Adaptador: PostgreSQL Base de datos: RMDB Host: 127.0.0.1 Nombre de usuario: RedMine Contraseña: "R3DM1N3"Tenga en cuenta que utilizamos la información de conexión de la base de datos que configuramos en los últimos dos pasos. 
- Para reducir la cantidad de problemas posibles, probemos que podamos iniciar sesión en el RMDBbase de datos con las credenciales proporcionadas en el archivo de configuración. Es más fácil depurar problemas de conexión con el conjunto de herramientas PostgreSQL que cualquier otro:$ PSQL -D RMDB -U REDMINE -W CONTRASEÑA PARA USUARIO REDMINE: PSQL (10.5) Escriba "ayuda" para obtener ayuda. rmdb => 
- Aquí es donde termina la parte fácil. Ahora instalaremos varios paquetes de ruby RedMine depende. Algunos de ellos necesitan raízacceso, algunos se instalarán en nombre delrojizousuario, y luego algunos probablemente necesitarán una reparación. En serio. En primer lugar, necesitaremosaglutinante:# GEM Instalar Bundler Obtención: Bundler-2.0.1.GEM (100%) instaló con éxito Bundler-2.0.1 1 gema instalada Usaremos aglutinantecon elrojizousuario, pero también necesitaremosraízpara instalar o repararGemas de rubí, Entonces sugiero abrir otro terminal, cambiar arojizousuario, y navegar al/OPT/REDMINEdirectorio, al tiempo que mantiene abierta la consola raíz.
- Como rojizoUsuario, iniciamos la instalación en el/OPT/REDMINEdirectorio:$ BUNDLE INSTALACIÓN -Sin prueba de desarrollo RMAGICK Se instalarán muchas dependencias, y para algunos el instalador solicita el sudocontraseña: que es la contraseña delrojizousuario. Parece que esta funcionalidad de sudo de alguna manera está rota un poco y puede manejar algunas de las instalaciones de paquetes privilegiados de raíz, y no puede seguir adelante con otros. Los que fallan se pueden instalar en la consola raíz y lo anteriormanojoEl comando se puede ejecutar nuevamente en la consola del usuario de Redmine. Lo que se necesitaba instalarse en mi caso conraízson los siguientes:# install gem nokogiri -v '1.10.2 '--source' https: // rubygems.org/' # gem install pg -v' 1.1.4 ' - -Source' https: // rubygems.org/' También hay algunos paquetes que pueden romperse durante la instalación. Estos se pueden reparar en la consola raíz también. Al igual que con los pasos de instalación del paquete fallidos anteriores, la salida del aglutinanteEl comando dirá qué paquete tiene problemas y cómo resolverlo. En mi caso, los siguientes paquetes necesitaban reparación:# gem prístino nio4r --versión 2.3.1 # gem prístino rojo rojo --versión 3.4.0 # gem prístino websocket-conductor-Versión 0.7.0 Tenga en cuenta que si está instalando otra versión de RedMine, los números de versión de los paquetes probablemente diferirán. Después de arreglar todos los paquetes rotos y faltantes, el manojoEl comando debe completarse sin errores, con el siguiente extremo de la salida:[…] Instalación de frascos roadie 1.3.0 Reting Rouge 3.3.0 Instalación de Rouge 3.3.0 paquete completo! 26 Dependencias de Gemfile, 57 gemas ahora instaladas. No se instalaron gemas en el desarrollo de grupos, la prueba y la rmagick. Use 'Información del paquete [Gemname]' para ver dónde está instalada una gema agrupada. 
- Con la parte difícil hecha, necesitamos generar un token que se usará para codificar cookies de sesión: $ Bundle Exec Rake Generate_Secret_Token 
- A continuación, generamos los objetos de la base de datos que necesitan la aplicación: $ Rails_env = Productle Bundle Exec Rake DB: migrar Además de crear los objetos de base de datos necesarios, este paso generará una gran cantidad de salida registrando todos los pasos a la consola. Veremos que muchas entradas parecen similares a las siguientes: ).0082S == 20180913072918 AddverifypeRtoauthSouthSouts: migrado (0.0083S) =============== == 20180923082945 CAMPOSQLITEBOOLEANSTO0And1: Migrating ======================== == 20180923082945 CAMPOS QUIPSQLITEBOOLEANSSTO0AND1: Migrated (0.0000s) ============= Este proceso debería completarse en unos segundos. 
- Podemos verificar la base de datos poblada con PSQL:rmdb => \ dt Lista de esquema de relaciones | Nombre | Tipo | Propietario --------+-------------------------------------+- -----+--------- público | ar_internal_metadata | mesa | Redmine Public | Adjuntos | mesa | Redmine Public | Auth_sources | mesa | Redmine Public | tableros | mesa | Redmine Public | cambios | mesa | Redmine […] 
- El último paso de la instalación es cargar los datos predeterminados en la base de datos. Proporcionando el Redmine_langParámetro podemos guardarnos de cualquier pregunta durante la carga inicial.$ Rails_env = Production RedMine_Lang = en Bundle Exec RAKE REDMINE: load_default_data Datos de configuración predeterminados cargados. 
- La instalación se ha completado. Podemos iniciar la aplicación: $ Bundle Exec Rails Server Webrick -e Production => Booting Webrick => Rails 5.2.2.1 aplicación que comienza en producción en http: // 0.0.0.0: 3000 => Ejecutar 'Rails Server -h' para más opciones de inicio [2019-04-14 18:39:12] Información Webrick 1.4.2 [2019-04-14 18:39:12] Información Ruby 2.5.1 (2018-03-29) [x86_64-linux] [2019-04-14 18:39:12] Información Webrick :: Httpserver#Start: PID = 30062 Port = 3000 
- La aplicación ahora se está ejecutando y se puede acceder con un navegador. De la salida anterior podemos adivinar que está accesible en el puerto 3000, Entonces, si tenemos un firewall que se ejecuta en la máquina de destino, necesitamos abrir este puerto para acceder al servicio de forma remota:# firewall-cmd --zone = public --add-puerto = 3000/tcp --Permanent # firewall-cmd--Reload 
- Al abrir un navegador y señalarlo a la dirección de la máquina y al puerto 3000 (http: // 192.168.1.14: 3000 en la siguiente captura de pantalla), podemos acceder a la interfaz basada en la web de nuestra nueva instalación de Redmine fresca.    Página de inicio de sesión de Redmine. Página de inicio de sesión de Redmine.Las credenciales predeterminadas son administraciónpara nombre de usuario, y también para contraseña. Al iniciar sesión primero, la aplicación de bienestar solicitará un cambio de contraseña para esta cuenta privilegiada. A partir de ahí, el servicio es nuestro para poblar, configurar y disfrutar.
- Con la instalación completa, podemos eliminar el rojizousuario delruedagrupo, eliminando el orificio de seguridad necesario durante el proceso:# GPASSWD -D REDMINE REMOLACIÓN REDMINE DEL USUARIO DE LA RUEDA GROUP # ID REDMINE UID = 1008 (REDMINE) GID = 1008 (Redmine) Grupos = 1008 (RedMine) 
Tutoriales de Linux relacionados:
- Ubuntu 20.04 Instalación de PostgreSQL
- Ubuntu 22.04 Instalación de PostgreSQL
- Instale MySQL en Ubuntu 20.04 LTS Linux
- Ubuntu 20.04 WordPress con instalación de Apache
- Cómo instalar MySQL en Almalinux
- Cómo configurar el servidor Linux Apache MySQL Python
- Cosas para instalar en Ubuntu 20.04
- Aplicaciones gráficas de interfaz de usuario (GUI) para administrar ..
- Cómo persistir los datos a PostgreSQL en Java
- Cosas para instalar en Ubuntu 22.04
 
                    