Cómo instalar OpenProject en Ubuntu 22.04
OpenProject es un sistema de gestión de proyectos de código abierto y basado en la web. Proporciona una forma segura de que los equipos se conecten, estructuren su trabajo y consigan resultados. Con OpenProject, puedes organizar tus propias tareas y asignar tareas a un compañero de equipo en un solo lugar. Su edición Community ofrece una amplia gama de funciones y plugins, y es gratuita. Ofrece una amplia gama de funciones, como Planificación y programación de proyectos, Wikis, Foros, Agile y Scrum, Seguimiento de errores y mucho más.
Este post explicará cómo instalar OpenProject con Docker en Ubuntu 22.04.
Requisitos previos
- Un servidor con Ubuntu 22.04.
- Una contraseña de root configurada en el servidor.
Cómo empezar
En primer lugar, tendrás que actualizar y mejorar los paquetes de tu sistema a la última versión. Puedes hacerlo con el siguiente comando:
apt update -y apt upgrade -y
Una vez actualizados todos los paquetes, puedes pasar al siguiente paso.
Instalar Docker
A continuación, tendrás que instalar el motor Docker en tu servidor. Puedes instalarlo ejecutando el siguiente comando:
apt install docker.io -y
Una vez instalado Docker, puedes verificar la versión de Docker mediante el siguiente comando:
docker --version
Deberías obtener la versión de Docker en la siguiente salida:
Docker version 20.10.12, build 20.10.12-0ubuntu4
También puedes comprobar el estado de Docker con el siguiente comando:
systemctl status docker
Obtendrás la siguiente salida:
? docker.service - Docker Application Container Engine Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled) Active: active (running) since Mon 2022-09-12 03:55:27 UTC; 27min ago TriggeredBy: ? docker.socket Docs: https://docs.docker.com Main PID: 2188 (dockerd) Tasks: 18 Memory: 175.3M CPU: 2min 52.389s CGroup: /system.slice/docker.service ??2188 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock Sep 12 04:05:02 ubuntu2204 dockerd[2188]: time="2022-09-12T04:05:02.260137217Z" level=info msg="Container failed to exit within 10s of signal> Sep 12 04:05:02 ubuntu2204 dockerd[2188]: time="2022-09-12T04:05:02.288143240Z" level=info msg="ignoring event" container=c69a4c77c21fcc30bf5> Sep 12 04:05:02 ubuntu2204 dockerd[2188]: time="2022-09-12T04:05:02.313368392Z" level=info msg="ignoring event" container=1e168552ee6decb4d38> Sep 12 04:05:02 ubuntu2204 dockerd[2188]: time="2022-09-12T04:05:02.346672185Z" level=info msg="ignoring event" container=4f042da15c0abe50ac0> Sep 12 04:05:03 ubuntu2204 dockerd[2188]: time="2022-09-12T04:05:03.128611054Z" level=info msg="ignoring event" container=d07c7ddcf4c5c8e1df3> Sep 12 04:05:03 ubuntu2204 dockerd[2188]: time="2022-09-12T04:05:03.471773239Z" level=info msg="ignoring event" container=f0095298f0394b4e97c> Sep 12 04:05:03 ubuntu2204 dockerd[2188]: time="2022-09-12T04:05:03.860303969Z" level=info msg="ignoring event" container=7c591187d6dea45ad9c> Sep 12 04:10:05 ubuntu2204 dockerd[2188]: time="2022-09-12T04:10:05.733958315Z" level=info msg="ignoring event" container=a9126dced469461963a> Sep 12 04:17:00 ubuntu2204 dockerd[2188]: time="2022-09-12T04:17:00.365019409Z" level=info msg="ignoring event" container=317a71b1e5e2810e618> Sep 12 04:19:40 ubuntu2204 dockerd[2188]: time="2022-09-12T04:19:40.133136639Z" level=info msg="ignoring event" container=e5fa71f4c2a7d8f3dc4>
Descargar e Iniciar OpenProject Container
La forma más sencilla y fácil de instalar OpenProject es lanzarlo con un contenedor Docker. Puedes descargarlo y ejecutarlo ejecutando el siguiente comando:
docker run -dit -p 8080:80 -e OPENPROJECT_SECRET_KEY_BASE=secret -e OPENPROJECT_HOST__NAME=127.0.0.1:8080 -e OPENPROJECT_HTTPS=false openproject/community:12
Esto descargará la imagen Docker de la comunidad OpenProject y la iniciará como se muestra a continuación:
Unable to find image 'openproject/community:12' locally 12: Pulling from openproject/community 76dff75df4d9: Pull complete 3e8c90a1c4bb: Pull complete b3662c105080: Pull complete ad5dcb7dd592: Pull complete fa57cc7ce341: Pull complete 9b3a1f58f992: Pull complete 3ba44da7772d: Pull complete bb99cfe1d593: Pull complete d9be85920c31: Pull complete 887163836f1b: Pull complete 8d9b5634408e: Pull complete 40cd37c7c054: Pull complete 8f3f7ae1eab6: Pull complete 0bad647edadc: Pull complete 7604d9da2c69: Pull complete 5064bcba96f5: Pull complete a31fefd0310b: Pull complete 57856090623a: Pull complete c5788f49d4cb: Pull complete Digest: sha256:5b3850c813b44e0e83b31ee3ee7e65a22a05009f5101132caee51b4c799adaa9 Status: Downloaded newer image for openproject/community:12 cecc63dbe7c8263cdf9813a5dee5d5cfda3e2f8b8cdb78b3d038679507fa7769
Puedes verificar la imagen Docker descargada con el siguiente comando:
docker images
Obtendrás la siguiente salida:
REPOSITORY TAG IMAGE ID CREATED SIZE openproject/community 12 88f613862e98 11 days ago 1.93GB
Para comprobar el estado del contenedor OpenProject, ejecuta el siguiente comando:
docker ps
Deberías ver que el contenedor OpenProject está iniciado y escucha en el puerto 8080:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES cecc63dbe7c8 openproject/community:12 "./docker/prod/entry…" 12 seconds ago Up 11 seconds 5432/tcp, 0.0.0.0:8080->80/tcp, :::8080->80/tcp silly_fermi
También puedes verificar los registros del contenedor OpenProject utilizando el siguiente comando:
docker logs cecc63dbe7c8
Obtendrás la siguiente salida:
=> Booting Puma => Rails 7.0.3.1 application starting in production => Run `bin/rails server --help` for more startup options I, [2022-09-12T04:25:12.466164 #138] INFO -- : Using schema cache file /app/db/schema_cache.yml [138] Puma starting in cluster mode... [138] * Puma version: 5.6.4 (ruby 3.1.2-p20) ("Birdie's Version") [138] * Min threads: 4 [138] * Max threads: 16 [138] * Environment: production [138] * Master PID: 138 [138] * Workers: 2 [138] * Restarts: (?) hot (?) phased [138] * Preloading application [138] * Listening on http://0.0.0.0:8080 [138] Use Ctrl-C to stop [138] - Worker 1 (PID: 337) booted in 0.01s, phase: 0 [138] - Worker 0 (PID: 336) booted in 0.02s, phase: 0
Configurar Apache como Proxy Inverso para OpenProject
Como puedes ver, OpenProject escucha en el puerto 8080. Así que se recomienda configurar Apache como proxy inverso para acceder al OpenProject a través del puerto 80.
En primer lugar, instala el paquete del servidor web Apache utilizando el siguiente comando:
apt install apache2 -y
Una vez instalado Apache, habilita los módulos necesarios con el siguiente comando:
a2enmod proxy_http headers rewrite
A continuación, crea un archivo de configuración del host virtual Apache con el siguiente comando:
nano /etc/apache2/sites-available/openproject.conf
Añade las siguientes configuraciones:
<VirtualHost *:80> ServerName openproject.linuxbuz.com RewriteEngine on RewriteRule "^$" "/" [R,L] ProxyRequests off <Location "/"> ProxyPreserveHost On ProxyPass http://127.0.0.1:8080/ ProxyPassReverse http://127.0.0.1:8080/ </Location> </VirtualHost>
Guarda y cierra el archivo, luego activa el host virtual OpenProject con el siguiente comando:
a2ensite openproject.conf
Por último, reinicia el servicio Apache para aplicar los cambios:
systemctl reload apache2
También puedes comprobar el estado de Apache con el siguiente comando:
systemctl status apache2
Obtendrás la siguiente salida:
? apache2.service - The Apache HTTP Server Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled) Active: active (running) since Mon 2022-09-12 04:26:23 UTC; 1min 30s ago Docs: https://httpd.apache.org/docs/2.4/ Process: 14508 ExecReload=/usr/sbin/apachectl graceful (code=exited, status=0/SUCCESS) Main PID: 14058 (apache2) Tasks: 55 (limit: 4579) Memory: 5.4M CPU: 98ms CGroup: /system.slice/apache2.service ??14058 /usr/sbin/apache2 -k start ??14512 /usr/sbin/apache2 -k start ??14513 /usr/sbin/apache2 -k start Sep 12 04:26:23 ubuntu2204 systemd[1]: Starting The Apache HTTP Server...
Asegura OpenProject con Let’s Encrypt SSL
También se recomienda activar SSL en el sitio web de OpenProject. Primero, instala el paquete cliente de Certbot con el siguiente comando:
apt install python3-certbot-apache -y
A continuación, ejecuta el siguiente comando para descargar e instalar Let’s Encrypt SSL para el dominio de tu sitio web.
certbot --apache -d openproject.linuxbuz.com
Responde a todas las preguntas como se muestra a continuación para instalar Let’s Encrypt SSL:
Saving debug log to /var/log/letsencrypt/letsencrypt.log Enter email address (used for urgent renewal and security notices) (Enter 'c' to cancel): [email protected] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Please read the Terms of Service at https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017-w-v1.3-notice.pdf. You must agree in order to register with the ACME server. Do you agree? - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (Y)es/(N)o: (Y)es/(N)o: Y - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Would you be willing, once your first certificate is successfully issued, to share your email address with the Electronic Frontier Foundation, a founding partner of the Let's Encrypt project and the non-profit organization that develops Certbot? We'd like to send you email about our work encrypting the web, EFF news, campaigns, and ways to support digital freedom. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (Y)es/(N)o: Y Account registered. Requesting a certificate for openproject.linuxbuz.com Successfully received certificate. Certificate is saved at: /etc/letsencrypt/live/openproject.linuxbuz.com/fullchain.pem Key is saved at: /etc/letsencrypt/live/openproject.linuxbuz.com/privkey.pem This certificate expires on 2022-12-11. These files will be updated when the certificate renews. Certbot has set up a scheduled task to automatically renew this certificate in the background. Deploying certificate Successfully deployed certificate for openproject.linuxbuz.com to /etc/apache2/sites-available/openproject-le-ssl.conf Added an HTTP->HTTPS rewrite in addition to other RewriteRules; you may wish to check for overall consistency. Congratulations! You have successfully enabled HTTPS on https://openproject.linuxbuz.com We were unable to subscribe you the EFF mailing list because your e-mail address appears to be invalid. You can try again later by visiting https://act.eff.org. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - If you like Certbot, please consider supporting our work by: * Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate * Donating to EFF: https://eff.org/donate-le - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Accede a la interfaz web de OpenProject
Ahora, abre tu navegador web y accede a OpenProject utilizando la URL https://openproject.linuxbuz.com. Deberías ver la página de bienvenida de OpenProject:
Haz clic en el botón Iniciar sesión. Deberías ver la página de inicio de sesión de OpenProject:
Introduce el nombre de usuario y la contraseña por defecto como admin / admin, y pulsa el botón Iniciar sesión. Deberías ver la pantalla de cambio de contraseña:
Cambia tu contraseña por defecto y pulsa el botón Guardar. Deberías ver el panel de control de OpenProject en la siguiente pantalla:
Conclusión
Enhorabuena! has instalado correctamente OpenProject con Docker en Ubuntu 22.04. Ya puedes implantar OpenProject en tu organización y empezar a gestionar y hacer el seguimiento de tu proyecto desde la ubicación central.