En este tutorial, le mostraremos cómo instalar Redmine en CentOS 8. Para aquellos de ustedes que no sabían, Redmine es una aplicación web de administración de proyectos que permite a los usuarios administrar proyectos de manera flexible al tiempo que ofrece sólidas herramientas de monitoreo y una amplia biblioteca de complementos. Esta solución gratuita y de código abierto ofrece un sustituto para las herramientas de administración de trabajos pagas y contiene soporte para wikis, foros, calendarios y programas de visualización de información.
Este artículo asume que tiene al menos conocimientos básicos de Linux, sabe cómo usar el shell y, lo que es más importante, aloja su sitio en su propio VPS. La instalación es bastante simple y asume que se están ejecutando en la cuenta raíz, si no, es posible que deba agregar 'sudo
' a los comandos para obtener privilegios de root. Te mostraré la instalación paso a paso de la aplicación web de gestión de proyectos de Redmine en un servidor CentOS 8.
Requisitos previos
- Un servidor que ejecuta uno de los siguientes sistemas operativos:CentOS 8.
- Se recomienda que utilice una instalación de sistema operativo nueva para evitar posibles problemas.
- Un
non-root sudo user
o acceder alroot user
. Recomendamos actuar como unnon-root sudo user
, sin embargo, puede dañar su sistema si no tiene cuidado al actuar como root.
Instalar Redmine en CentOS 8
Paso 1. Primero, comencemos asegurándonos de que su sistema esté actualizado.
sudo dnf update
Paso 2. Cree un usuario del sistema Redmine.
Crearemos un usuario que será el propietario de la aplicación y le daremos sudo
temporal acceso:
useradd -r -m -d /opt/redmine redmine
Paso 3. Instalación del servidor Apache HTTP.
Para instalar el servidor Apache HTTP en CentOS 8:
dnf install httpd
Luego, inicie los servicios de Apache:
systemctl enable httpd --now
Luego, dado que usaremos Apache como nuestro servidor HTTP, agregue Apache al grupo Redmine:
usermod -aG redmine apache
Paso 4. Instalación del servidor MariaDB.
Para instalar MariaDB 10.4, debe instalar su repositorio YUM.
cat << EOF > /etc/yum.repos.d/mariadb.repo [mariadb] name = MariaDB-10.4 baseurl=http://yum.mariadb.org/10.4/centos8-amd64 gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB gpgcheck=1 EOF
A continuación, instale la clave de firma del repositorio MariaDB YUM:
rpm --import https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
Instala MariaDB usando el siguiente comando:
sudo dnf update yum --disablerepo=AppStream install MariaDB-server MariaDB-client
Ahora inicie mysqld
servicio usando systemctl
comando como se muestra a continuación:
sudo systemctl start mysqld sudo systemctl enable mariadb
De forma predeterminada, MariaDB no está reforzado. Puede proteger MariaDB utilizando mysql_secure_installation
texto. Debe leer y seguir cada paso cuidadosamente, que establecerá una contraseña raíz, eliminará a los usuarios anónimos, no permitirá el inicio de sesión raíz remoto y eliminará la base de datos de prueba y el acceso a MySQL seguro.
mysql_secure_installation
Configúralo así:
- Set root password? [Y/n] y - Remove anonymous users? [Y/n] y - Disallow root login remotely? [Y/n] y - Remove test database and access to it? [Y/n] y - Reload privilege tables now? [Y/n] y
A continuación, debemos iniciar sesión en la consola de MariaDB y crear una base de datos para Redmine. Ejecute el siguiente comando:
mysql -u root -p
Esto le pedirá una contraseña, así que ingrese su contraseña raíz de MySQL y presione Enter. Una vez que haya iniciado sesión en su servidor de base de datos, debe crear una base de datos para Instalación de Redmine:
CREATE DATABASE redmin GRANT ALL PRIVILEGES ON redmine.* TO 'redmine'@'localhost' IDENTIFIED BY 'PASSWORD'; FLUSH PRIVILEGES; \q
Paso 5. Descarga e instala Redmine en CentOS.
- Instalar dependencias requeridas
Primero, instale EPEL y habilite los repositorios de PowerTools:
dnf install epel-release dnf config-manager --set-enabled PowerTools
A continuación, proceda a instalar las dependencias:
dnf install ruby-devel rpm-build libxml2-devel make automake libtool ImageMagick ImageMagick-devel mariadb-devel gcc httpd-devel libcurl-devel gcc-c++
Redmine también requiere un intérprete de Ruby que se puede instalar ejecutando el comando:
dnf install ruby
Ahora ejecute el siguiente comando como se muestra a continuación para comprobar la versión de Ruby:
ruby -v
- Instalar Redmine en CentOS
Primero, descarga la última versión de Redmine, al momento de escribir este artículo es la versión 4.0:
wget http://www.redmine.org/releases/redmine-4.0.5.tar.gz -P /tmp
Extraiga el tarball de Redmine al directorio de inicio del usuario de Redmine:
sudo -u redmine tar xzf /tmp/redmine-4.0.5.tar.gz -C /opt/redmine/ --strip-components=1
A continuación, cambie el directorio de trabajo actual y los archivos de configuración de ejemplo:
su - redmine
Cambie el nombre de la configuración de ejemplo de Redmine.
cp config/configuration.yml{.example,}
Cambie el nombre del archivo de configuración CGI de despacho de muestra en la carpeta pública como se muestra a continuación;
cp public/dispatch.fcgi{.example,}
Cambie el nombre de la muestra al archivo de configuración de la base de datos.
cp config/database.yml{.example,}
Luego, abra el archivo de configuración de la base de datos para editarlo y configurarlo:
nano config/database.yml
... production: adapter: mysql2 database: redmin host: localhost username: redmine password: "Your_PassWd" encoding: utf8 ...
Instalar dependencias de Ruby:
su - redmine
A continuación, instale Bundler para administrar dependencias de gemas:
gem install bundler
Una vez finalizada la instalación del paquete, ahora puede instalar las dependencias de gemas requeridas:
bundle install --without development test --path vendor/bundle
Generar token de sesión secreta:
bundle exec rake generate_secret_token
Crear objetos de esquema de base de datos:
RAILS_ENV=production bundle exec rake db:migrate
Una vez que se realiza la migración de la base de datos, inserte los datos de configuración predeterminados en la base de datos ejecutando:
RAILS_ENV=production REDMINE_LANG=en bundle exec rake redmine:load_default_data
Configurar permisos del sistema de archivos:
for i in tmp tmp/pdf public/plugin_assets; do [ -d $i ] || mkdir -p $i; done chown -R redmine:redmine files log tmp public/plugin_assets chmod -R 755 /opt/redmine/
Paso 6. Configure el Firewall para Redmine.
Abra el puerto 3000/TCP en firewalld. Ejecute los siguientes comandos como usuario privilegiado:
firewall-cmd --add-port=3000/tcp --permanent firewall-cmd --reload
Paso 7. Probar la instalación de Redmine
Puedes probar Redmine usando WEBrick ejecutando el siguiente comando:
bundle exec rails server webrick -e production
Entonces, ahora puede acceder a Redmine a través del navegador usando la dirección, http://Your-Server-IP:3000/
. Haga clic en iniciar sesión y use las credenciales, Usuario:admin y Contraseña:admin para iniciar sesión.
Paso 8. Configure Apache para Redmine.
Cambie al usuario de Redmine creado anteriormente para instalar el módulo Phusion Passenger Apache:
su - redmine gem install passenger --no-rdoc --no-ri
A continuación, instale el módulo Apache de Passenger. Reemplace la versión de Passenger según corresponda:
passenger-install-apache2-module
Una vez que se completa la compilación del módulo, se le indica cómo configurar el módulo en Apache:
... Please edit your Apache configuration file, and add these lines: LoadModule passenger_module /opt/redmine/.gem/ruby/gems/passenger-6.0.4/buildout/apache2/mod_passenger.so PassengerRoot /opt/redmine/.gem/ruby/gems/passenger-6.0.4 PassengerDefaultRuby /usr/bin/ruby ...
Antes de que pueda presionar Enter para completar la instalación y configuración del módulo, abra una nueva sesión de inicio de sesión como usuario privilegiado y edite el archivo de configuración de Apache:
echo "LoadModule passenger_module /opt/redmine/.gem/ruby/gems/passenger-6.0.4/buildout/apache2/mod_passenger.so" \ > /etc/httpd/conf.modules.d/00-passenger.conf
Luego, cree una configuración de host virtual de Apache para Redmine con el siguiente contenido:
Listen 3000
<IfModule mod_passenger.c>
PassengerRoot /opt/redmine/.gem/ruby/gems/passenger-6.0.4
PassengerDefaultRuby /usr/bin/ruby
</IfModule>
<VirtualHost *:3000>
ServerName redmine.kifarunix-demo.com
DocumentRoot "/opt/redmine/public"
CustomLog logs/redmine_access.log combined
ErrorLog logs/redmine_error_log
LogLevel warn
<Directory "/opt/redmine/public">
Options Indexes ExecCGI FollowSymLinks
Require all granted
AllowOverride all
</Directory>
</VirtualHost>
Verifique la sintaxis de configuración de Apache:
httpd -t Syntax OK
Una vez completada la instalación y configuración del módulo Apache Passenger, reinicie Apache:
systemctl restart httpd
Paso 9. Acceso a Redmine desde el navegador.
Debería poder acceder a la interfaz web de Redmine ahora:
http://Your-server-IP-or-Hostname:3000
¡Felicitaciones! Ha instalado correctamente Redmine. Gracias por utilizar este tutorial para instalar la aplicación web de gestión de proyectos de Redmine en sistemas CentOS 8. Para obtener ayuda adicional o información útil, le recomendamos que consulte la Sitio web de Redmine.