Cómo instalar y configurar OrangeScrum en Ubuntu 20.04

Orangescrum es una aplicación de colaboración y gestión de proyectos gratuita y de código abierto. Es ideal para pequeñas y medianas empresas y te ayuda a crear y gestionar tus proyectos, equipos, documentos y tareas, y a comunicarte con los demás miembros del equipo. Es una aplicación de gestión de proyectos muy útil con una interfaz sencilla que te ayuda a planificar, organizar y gestionar tus tareas para cualquier proyecto. Viene con un montón de características, incluyendo, Scrum Board, Planificación de Sprint e Informes, Story Points, Project Backlog, y muchas más.

En este tutorial, te mostraremos cómo instalar la herramienta de gestión de proyectos OrangeScrum en un servidor Ubuntu 20.04.

Requisitos previos

  • Un servidor con Ubuntu 20.04.
  • Un nombre de dominio válido apuntado con la IP de tu servidor.
  • Una contraseña de root configurada en el servidor.

Instalar Apache, MariaDB y PHP

En primer lugar, instala el servidor web Apache y el servidor de bases de datos MariaDB con el siguiente comando:

apt-get install apache2 mariadb-server -y

Después de instalar los paquetes anteriores, tendrás que instalar la versión 7.2 de PHP y otras extensiones necesarias en tu sistema. Por defecto, Ubuntu 20.04 viene con la versión 7.4 de PHP, por lo que tendrás que añadir el repositorio Ondrej en tu sistema.

Primero, instala los paquetes necesarios con el siguiente comando:

apt-get install software-properties-common gnupg2 -y

A continuación, añade el repositorio Ondrej con el siguiente comando:

add-apt-repository ppa:ondrej/php

A continuación, actualiza el repositorio e instala PHP junto con otros paquetes necesarios con el siguiente comando:

apt-get install php7.2 php7.2-bcmath php7.2-cgi php7.2-cli php7.2-common php7.2-curl php7.2-dba php7.2-enchant php7.2-fpm php7.2-gd php7.2-imap php7.2-intl php7.2-ldap php7.2-mbstring php7.2-mysql php7.2-opcache php7.2-imagick php7.2-memcache php7.2-soap php7.2-tidy php7.2-xml php7.2-zip libapache2-mod-php7.2 xvfb libfontconfig wkhtmltopdf unzip wget -y

Una vez instalados todos los paquetes, edita el archivo php.ini y cambia algunos ajustes necesarios:

nano /etc/php/7.2/apache2/php.ini

Cambia los siguientes valores:

post_max_size = 200M
upload_max_filesize = 200M
max_execution_time = 300
memory_limit = 512M
max_input_vars = 5000
date.timezone = Asia/Kolkata

Guarda y cierra el archivo y reinicia el servicio Apache para aplicar los cambios:

systemctl restart apache2

Cuando hayas terminado, puedes pasar al siguiente paso.

Crear una base de datos para OrangeScrum

A continuación, tendrás que crear una base de datos y un usuario para OrangeScrum. En primer lugar, inicia sesión en el intérprete de comandos MariaDB con el siguiente comando:

mysql

Una vez iniciada la sesión, crea una base de datos y un usuario con el siguiente comando:

MariaDB [(none)]> CREATE DATABASE orangescrumdb;
MariaDB [(none)]> GRANT ALL PRIVILEGES ON orangescrumdb.* TO 'orangescrumuser'@'localhost' IDENTIFIED BY 'password';

A continuación, vacía los privilegios y sal del intérprete de comandos MariaDB con el siguiente comando:

MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> exit;

A continuación, tendrás que desactivar el modo estricto para MariaDB. Puedes hacerlo creando el archivo disable_strict_mode.cnf:

nano /etc/mysql/conf.d/disable_strict_mode.cnf

Añade las siguientes líneas:

[mysqld]
sql_mode="IGNORE_SPACE,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"

Guarda y cierra el archivo. A continuación, reinicia MariaDB para aplicar todos los cambios:

systemctl restart mariadb

Instalar OrangeScrum

En primer lugar, tendrás que descargar la última versión de OrangeScrum desde su sitio web oficial. Tras descargarla, descomprime el archivo descargado con el siguiente comando:

unzip orangescrum-master.zip

A continuación, mueve el directorio extraído al directorio raíz de Apache con el siguiente comando:

mv orangescrum-master /var/www/html/orangescrum

A continuación, cambia el directorio a Orangescrum e importa la base de datos OrangeScrum a tu base de datos:

cd /var/www/html/orangescrum
mysql -u orangescrumuser -p orangescrumdb < database.sql

Introduce la contraseña que hayas elegido para el usuario MySQL ‘orangescrumuser’ cuando te lo pida el comando mysql.

A continuación, edita el archivo database.php y define la configuración de tu base de datos:

nano app/Config/database.php

Cambia las siguientes líneas:

class DATABASE_CONFIG {

        public $default = array(
                'datasource' => 'Database/Mysql',
                'persistent' => false,
                'host' => 'localhost',
                'login' => 'orangescrumuser',
                'password' => 'password',
                'database' => 'orangescrumdb',
                'prefix' => '',
                'encoding' => 'utf8',
        );
}

Guarda y cierra el archivo cuando hayas terminado.

A continuación, da los permisos adecuados al directorio orangescrum:

chown -R www-data:www-data /var/www/html/orangescrum
chmod -R 775 /var/www/html/orangescrum

Configurar Apache para OrangeScrum

A continuación, tendrás que crear un nuevo archivo de configuración del host virtual de Apache para OrangeScrum. Puedes crearlo con el siguiente comando:

nano /etc/apache2/sites-available/orangescrum.conf

Añade las siguientes líneas:

<VirtualHost *:80>
        ServerAdmin [email protected]
        DocumentRoot /var/www/html/orangescrum/
        ServerName orangescrum.example.com
    <Directory /var/www/html/orangescrum/>
             DirectoryIndex index.php index.html
             AllowOverride All
             Allow from all
             Order allow,deny
             Options Indexes FollowSymlinks
    </Directory>
</VirtualHost>

Guarda y cierra el archivo y, a continuación, habilita el archivo de host virtual de Apache con el siguiente comando:

a2ensite orangescrum.conf

A continuación, habilita los módulos necesarios con el siguiente comando:

phpenmod mbstring
a2enmod rewrite
a2enmod headers

A continuación, reinicia el servicio Apache para aplicar los cambios:

systemctl restart apache2

Ahora puedes verificar el estado de Apache con el siguiente comando:

systemctl status apache2

Deberías obtener la siguiente salida:

? apache2.service - The Apache HTTP Server
     Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
     Active: active (running) since Thu 2020-09-17 15:36:20 UTC; 5min ago
       Docs: https://httpd.apache.org/docs/2.4/
    Process: 40670 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS)
   Main PID: 40689 (apache2)
      Tasks: 11 (limit: 2353)
     Memory: 47.1M
     CGroup: /system.slice/apache2.service
             ??40689 /usr/sbin/apache2 -k start
             ??40690 /usr/sbin/apache2 -k start
             ??40692 /usr/sbin/apache2 -k start
             ??40694 /usr/sbin/apache2 -k start
             ??40698 /usr/sbin/apache2 -k start
             ??40699 /usr/sbin/apache2 -k start
             ??40700 /usr/sbin/apache2 -k start
             ??40706 /usr/sbin/apache2 -k start
             ??40808 /usr/sbin/apache2 -k start
             ??40809 /usr/sbin/apache2 -k start
             ??40810 /usr/sbin/apache2 -k start

Sep 17 15:36:20 ubuntu2004 systemd[1]: Starting The Apache HTTP Server...

Asegura OrangeScrum con Let’s Encrypt SSL

A continuación, se recomienda asegurar OrangeScrum con Let’s Encrypt SSL. Primero, instala el cliente Certbot para gestionar el SSL.

apt-get install python3-certbot-apache -y

Tras instalar el cliente Certbot, ejecuta el siguiente comando para instalar Let’s Encrypt SSL para tu dominio:

certbot --apache -d orangescrum.example.com

Se te pedirá que proporciones tu correo electrónico y aceptes las condiciones del servicio, como se muestra a continuación:

Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator apache, Installer apache
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.pdf. You must
agree in order to register with the ACME server at
https://acme-v02.api.letsencrypt.org/directory
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(A)gree/(C)ancel: A

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Would you be willing 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
Obtaining a new certificate
Performing the following challenges:
http-01 challenge for orangescrum.example.com
Enabled Apache rewrite module
Waiting for verification...
Cleaning up challenges
Created an SSL vhost at /etc/apache2/sites-available/orangescrum-le-ssl.conf
Enabled Apache socache_shmcb module
Enabled Apache ssl module
Deploying Certificate to VirtualHost /etc/apache2/sites-available/orangescrum-le-ssl.conf
Enabling available site: /etc/apache2/sites-available/orangescrum-le-ssl.conf

A continuación, elige si deseas o no redirigir el tráfico HTTP a HTTPS, como se muestra a continuación:

Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2

Escribe 2 y pulsa Intro para continuar. Una vez finalizada la instalación, deberías ver el siguiente resultado:

Enabled Apache rewrite module
Redirecting vhost in /etc/apache2/sites-enabled/orangescrum.conf to ssl vhost in /etc/apache2/sites-available/orangescrum-le-ssl.conf

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations! You have successfully enabled https://orangescrum.example.com

You should test your configuration at:
https://www.ssllabs.com/ssltest/analyze.html?d=orangescrum.example.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/orangescrum.example.com/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/orangescrum.example.com/privkey.pem
   Your cert will expire on 2020-11-11. To obtain a new or tweaked
   version of this certificate in the future, simply run certbot again
   with the "certonly" option. To non-interactively renew *all* of
   your certificates, run "certbot renew"
 - 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

Ahora, puedes acceder a tu sitio web de Clasificados Abiertos de forma segura utilizando la URL https://orangescrum.example.com.

Acceder a OrangeScrum

Ahora, abre tu navegador web y escribe la URL https://orangescrum.example.com. Deberías ver la pantalla de registro de OrangeScrum:

Configurar nombre de host, nombre de usuario y contraseña

Proporciona tus datos SMTP o haz clic en el botón Omitir este paso . Deberías ver la siguiente pantalla:

Constitución de la empresa

Introduce tu nombre de sitio, correo electrónico, contraseña y haz clic en el botón Registrarse. Serás redirigido al panel de control de Orangescrum en la siguiente página:

Panel OrangeScrum

Conclusión

Enhorabuena! has instalado correctamente OrangeScrum con Let’s Encrypt SSL en el servidor Ubuntu 20.04. Ahora puedes crear tu primer proyecto, invitar a usuarios y crear y asignarles una tarea. No dudes en preguntarme si tienes alguna duda.

Scroll al inicio