Cómo instalar la herramienta de gestión de proyectos ágiles GitScrum en Ubuntu 20.04 LTS

GitScrum es una herramienta de gestión de proyectos de código abierto basada en el framework Laravel y diseñada para ayudar a los equipos de desarrollo a utilizar Git y Scrum para la gestión de tareas para que sean más ágiles. Se puede integrar con Github, Gitlab o Bitbucket. Está diseñado para que las startups, las ventas, las agencias de marketing, los desarrolladores y los freelancers puedan gestionar sus proyectos fácilmente. Ofrece funciones muy útiles, como Product Backlog, user Story, Sprint Backlog, Issues y otras.

En este tutorial, explicaremos cómo instalar GitScrum en un servidor Ubuntu 20.04.

Requisitos previos

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

Cómo empezar

En primer lugar, tendrás que actualizar los paquetes de tu sistema a la última versión. Puedes actualizarlos con el siguiente comando:

apt-get update -y
apt-get upgrade -y

Una vez actualizado tu sistema, reinícialo para aplicar los cambios.

Instala Apache, MariaDB y PHP

GitScrum se ejecuta en el servidor web, utiliza MariaDB/MySQL para el backend de la base de datos y se basa en el framework Laravel. Así que tendrás que instalar el servidor web Apache, MariaDB, PHP y las extensiones PHP necesarias en tu sistema. Puedes instalarlos todos ejecutando el siguiente comando:

apt-get install apache2 mariadb-server libapache2-mod-php7.4 php7.4 php7.4-cli php7.4-mysql php7.4-zip php7.4-json php7.4-gd php7.4-mbstring php7.4-curl php7.4-xml php-pear php7.4-bcmath php7.4-common git openssl unzip -y

Una vez instalados todos los paquetes, edita el archivo php.ini y cámbialo con algunos valores deseados:

nano /etc/php/7.4/apache2/php.ini

Cambia las siguientes líneas:

memory_limit = 256M
upload_max_filesize = 100M
max_execution_time = 360
date.timezone = America/Chicago

Guarda y cierra el archivo cuando hayas terminado. A continuación, inicia el servicio de Apache y MariaDB, y permite que se inicien al reiniciar el sistema con el siguiente comando:

systemctl start apache2
systemctl start mariadb
systemctl enable apache2
systemctl enable mariadb

Una vez que hayas terminado, puedes pasar al siguiente paso.

Configurar la base de datos para GitScrum

En primer lugar, tendrás que asegurar la instalación de MariaDB y establecer una contraseña de root de MariaDB. Puedes hacerlo ejecutando el siguiente script:

mysql_secure_installation

Este script establecerá la contraseña de root de MariaDB, eliminará los usuarios anónimos, no permitirá el inicio de sesión de root de forma remota y eliminará la base de datos de prueba, como se muestra a continuación:

Enter current password for root (enter for none):
OK, successfully used password, moving on...
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

Una vez asegurada la MariaDB, entra en el shell de MariaDB con el siguiente comando:

mysql -u root -p

Proporciona tu contraseña de root de MariaDB cuando se te pida y luego crea una base de datos y un usuario para GitScrum con el siguiente comando:

MariaDB [(none)]> CREATE DATABASE gitscrum;
MariaDB [(none)]> CREATE USER 'gitscrum'@'localhost' IDENTIFIED BY 'password';

A continuación, concede todos los privilegios al gitscrum con el siguiente comando:

MariaDB [(none)]> GRANT ALL ON gitscrum.* TO 'gitscrum'@'localhost' WITH GRANT OPTION;

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

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

Una vez configurada tu base de datos, puedes pasar al siguiente paso.

Instalar Composer

A continuación, tendrás que instalar Composer en tu sistema. Composer es un gestor de dependencias para PHP y se utiliza para instalar las dependencias de PHP necesarias para tu proyecto.

Puedes instalar Composer con el siguiente comando:

apt-get install composer -y

Una vez instalado, puedes verificar la versión instalada de Composer con el siguiente comando:

composer --version

Deberías ver la siguiente salida:

Composer 1.10.1 2020-03-13 20:34:27

Una vez que hayas terminado, puedes pasar al siguiente paso.

Descargar GitScrum

En primer lugar, cambia el directorio al directorio raíz de la web de Apache y descarga la última versión de GitScrum desde el repositorio Git con el siguiente comando:

cd /var/www/html
git clone https://github.com/GitScrum-Community/laravel-gitscrum.git

Una vez completada la descarga, cambia el directorio a laravel-gitscrum y actualiza los paquetes de GitScrum con el siguiente comando:

cd laravel-gitscrum
composer update
composer run-script post-root-package-install

Deberías ver la siguiente salida:

> @php -r "file_exists('.env') || copy('.env.example', '.env');"

Una vez que hayas terminado, puedes pasar al siguiente paso.

Configurar GitScrum

Para integrar GitScrum con GitLab, tendrás que iniciar sesión en GitLab y crear una aplicación.

Puedes crearla visitando la URL https://gitlab.com/profile/applications. Deberías ver la pantalla de inicio de sesión de GitLab:

Gitlab

Proporciona tu nombre de usuario y contraseña de GitLab, y haz clic en el botón Iniciar sesión. Deberías ver la siguiente pantalla:

Añadir la aplicación GitScrum

Configurar los permisos

Proporciona el nombre de tu aplicación, la URL de redireccionamiento, selecciona los ámbitos y haz clic en el botón Guardar aplicación. Deberías ver el ID y el secreto de tu aplicación en la siguiente pantalla.

Aplicación creada con éxito

A continuación, tendrás que definir el ID y el Secreto de tu aplicación en el archivo .env.

nano /var/www/html/laravel-gitscrum/.env

Define los detalles de tu base de datos, la URL de la aplicación, el ID de GitLab y el Secreto como se muestra a continuación:

DB_CONNECTION=mysql
DB_HOST=localhost
DB_PORT=3306
DB_DATABASE=gitscrum
DB_USERNAME=gitscrum
DB_PASSWORD=password
APP_URL=http://gitscrum.linuxbuz.com
GITLAB_KEY=19ed6d8500710c32049e703c537e0c2251f41bdaedb6ca3f9d3276a0ea2fe484
GITLAB_SECRET=efe24736031571d59a5994d860f561c69d7c3bb46ab4a4fdae6406972df21565
GITLAB_INSTANCE_URI=https://gitlab.com/

Guarda y cierra el archivo cuando hayas terminado. A continuación, migra la base de datos con el siguiente comando:

php artisan migrate
php artisan db:seed

Deberías ver la siguiente salida:

Seeding: ConfigIssueEffortsTableSeeder
Seeding: ConfigPrioritiesTableSeeder
Seeding: IssueTypesTableSeeder
Seeding: ConfigStatusesTableSeeder

A continuación, cambia la propiedad y el permiso del laravel-gitscrum con el siguiente comando:

chown -R www-data:www-data /var/www/html/laravel-gitscrum
chmod -R 775 /var/www/html/laravel-gitscrum

Una vez que hayas terminado, puedes pasar al siguiente paso.

Configurar Apache para GitScrum

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

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

Añade las siguientes líneas:

<VirtualHost *:80>
     ServerAdmin [email protected]
     DocumentRoot /var/www/html/laravel-gitscrum/public/
     ServerName gitscrum.linuxbuz.com
     ErrorLog /var/log/apache2/gitscrum-error.log
     CustomLog /var/log/apache2/gitscrum-access.log combined
 
     <Directory /var/www/html/laravel-gitscrum/public/>
        Options +FollowSymlinks
        AllowOverride All
        Require all granted
     </Directory>

</VirtualHost>

Guarda y cierra el archivo cuando hayas terminado. A continuación, comprueba si Apache tiene algún error de configuración con el siguiente comando

apachectl configtest

Si todo está bien, deberías ver la siguiente salida:

Syntax OK

A continuación, habilita el host virtual GitScrum con el siguiente comamnd:

a2ensite gitscrum.conf

A continuación, habilita el módulo de reescritura de Apache y reinicia el servicio de Apache para aplicar los cambios:

a2enmod rewrite
systemctl restart apache2

También puedes verificar el estado del servicio 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-07-03 07:42:29 UTC; 4min 35s ago
       Docs: https://httpd.apache.org/docs/2.4/
    Process: 16070 ExecReload=/usr/sbin/apachectl graceful (code=exited, status=0/SUCCESS)
   Main PID: 13697 (apache2)
      Tasks: 6 (limit: 2353)
     Memory: 23.5M
     CGroup: /system.slice/apache2.service
             ??13697 /usr/sbin/apache2 -k start
             ??16074 /usr/sbin/apache2 -k start
             ??16075 /usr/sbin/apache2 -k start
             ??16076 /usr/sbin/apache2 -k start
             ??16077 /usr/sbin/apache2 -k start
             ??16078 /usr/sbin/apache2 -k start

July 03 07:42:29 ubuntu20 systemd[1]: Starting The Apache HTTP Server...

En este punto, el servidor web Apache está configurado para servir a GitScrum. Ahora puedes pasar al siguiente paso.

Accede a la interfaz web de GitScrum

Ahora, abre tu navegador web y escribe la URL http://gitscrum.linuxbuz.com. Serás redirigido a la siguiente página:

Acceder a la interfaz de GitScrum

Haz clic en el botón GitLab para iniciar sesión con GitLab. Deberías ver la siguiente pantalla:

Acceder a GitLab

Introduce tu nombre de usuario y contraseña de GitLab y haz clic en el botón Iniciar sesión. Deberías ver la siguiente pantalla:

Conceder acceso a GitScrum a la cuenta de Gitlab

Ahora, haz clic en el botón Autorizar para autorizar a GitScrum a utilizar tu cuenta. Deberías ver la siguiente pantalla:

Importar repositorios a GitScrum

Ahora, puedes importar tu repositorio a GitScrum y empezar a trabajar.

Conclusión

Enhorabuena! has instalado con éxito GitScrum y lo has integrado con GitLab en el servidor Ubuntu 20.04. Ahora puedes desplegar GitScrum en el entorno de desarrollo y empezar a utilizar Git con Scrum para la gestión de tareas. Para más información, visita la documentación oficial de GitScrum. No dudes en preguntarme si tienes alguna duda.

También te podría gustar...