Cómo instalar Redmine en Rhel 8 / Centos 8 Linux
- 1389
- 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
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 sudo dominio. |
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 sudo dominiops - 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
sudo
acceso. 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
rueda
Grupo de usuarios, a quien se le permite usarsudo
para ejecutar comandos privilegiados. Para verificar que este grupo esté configurado comosudoer
, podemosgrep
el/etc/sudoers
archivo:# 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
rojizo
usuario alrueda
grupo:# 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
tarball
conwget
al 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
/optar
directorio. 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ólico
Para 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
rojizo
Usuario 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 -put
Sistema operativo usuario creado de forma predeterminada en la instalación de la base de datos:# SU - Postgres
Iniciaremos sesión en
PSQL
Como 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ón
archivo, ubicado de forma predeterminada en/var/lib/pgsql/data
Por 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ón
subdirectorio del archivo extraído. Podemos hacer una copia de este archivo (usando elrojizo
usuario):$ 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.YML
debe 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
RMDB
base 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íz
acceso, algunos se instalarán en nombre delrojizo
usuario, 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
aglutinante
con elrojizo
usuario, pero también necesitaremosraíz
para instalar o repararGemas de rubí
, Entonces sugiero abrir otro terminal, cambiar arojizo
usuario, y navegar al/OPT/REDMINE
directorio, al tiempo que mantiene abierta la consola raíz. - Como
rojizo
Usuario, iniciamos la instalación en el/OPT/REDMINE
directorio:$ BUNDLE INSTALACIÓN -Sin prueba de desarrollo RMAGICK
Se instalarán muchas dependencias, y para algunos el instalador solicita el
sudo
contraseña: que es la contraseña delrojizo
usuario. 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 anteriormanojo
El comando se puede ejecutar nuevamente en la consola del usuario de Redmine. Lo que se necesitaba instalarse en mi caso conraíz
son 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
aglutinante
El 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
manojo
El 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_lang
Pará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.
Las credenciales predeterminadas son
administración
para 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
rojizo
usuario delrueda
grupo, 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